В настоящее время я пытаюсь использовать REST API для вставки данных из Powershell в настраиваемое поле Jira, созданное определенным плагином (Простые ссылки для JIRA).К сожалению, нет документации по необходимому синтаксису.Кто-нибудь, кто сталкивался с этим плагином, знает команды / синтаксис, которые мне понадобятся для использования REST API (это довольно маленький плагин, поэтому я буду удивлен, если кто-нибудь еще видел его)?В противном случае, есть ли у кого-нибудь совет узнать, как использовать API без / плохой документации, т.е. какой-нибудь стандартный метод заставить API возвращать список команд и синтаксиса (предпочтительно с помощью powershell)?
У меня естьпопытался связаться с разработчиком, но не получил от них ответа.
Код, который я использую, здесь, если это полезно:
function Test-Upload(){
Param()
Process{
$data=@"
{
"fields":
{
"project":
{
"key": "CCWASSET"
},
"summary": "Testing Linked Field",
"issuetype":
{
"name": "Asset"
},
"description" : "Testing Linked Field"
},
"update":{
"customfield_10500":[
{
"set":{
"type":{
"name":"Asset PO",
"inward":"Asset",
"outward":"Purchase Order"
},
"outwardIssue":{
"key":""
}
}
}
]
}
}
"@
return Jira-WebRequest -data $data
}
}
function Jira-WebRequest(){
Param(
[Parameter(mandatory=$false)]$data,
[Parameter(mandatory=$false)]$requesttype="issue",
[Parameter(mandatory=$false)]$method="POST",
[Parameter(mandatory=$false)]$ContentType='application/json'
)
Process{
$path = $("/rest/api/2/$requesttype/")
$Uri = ""
[URI]::TryCreate([URI]::new($Settings.Jira.URL),"$path",$([ref]$Uri))
$Params = @{
ContentType = $ContentType
Body = $data #$(@{"vlan_id"=$vlanID;"port_id"="$portID";"port_mode"="$portMode"} | ConvertTo-JSON)
Method = $method
URI = $uri.AbsoluteUri
Headers = $JiraHeaders
#WebSession = $Session
}
try{
$result = Invoke-RestMethod @Params -Verbose
return $result
} Catch [System.Net.WebException] {
$exception = $_.Exception
$respstream = $exception.Response.GetResponseStream()
$sr = new-object System.IO.StreamReader $respstream
$ErrorResult = $sr.ReadToEnd()
return $ErrorResult
}
}
}