[英]JIRA API via powershell
我想通過詹金斯在JIRA中執行過渡。 Jira Issue Updater受到了情感版本的影響,因此我嘗試了卷曲。
效果很好:
curl -D- -u user:pw -X POST --data {\"transition\":{\"id\":\"71\"}} -H "Content-Type: application/json" https://jira.com/rest/api/2/issue/ID/transitions?expand=transitions.fields
但是現在我必須在Windows服務器上使用powershell運行它。
任何人都知道該用例的解決方法,或者如何使用Invoke-WebRequest做到這一點?
您是否使用過https://atlassianps.org/中的cmdlet,我在它們方面取得了很大的成功。 實際上,有一個Invoke-JiraIssueTransition看起來可以滿足您的需要。
找到了這個腳本: 使用Powershell更改受讓人並通過JIRA REST API向發布添加注釋
並對其進行了一些修改:
function ConvertTo-Base64($string) {
$bytes = [System.Text.Encoding]::UTF8.GetBytes($string);
$encoded = [System.Convert]::ToBase64String($bytes);
return $encoded;
}
function Get-HttpBasicHeader([string]$username, [string]$password, $Headers = @{}) {
$b64 = ConvertTo-Base64 "$($username):$($Password)"
$Headers["Authorization"] = "Basic $b64"
$Headers["X-Atlassian-Token"] = "nocheck"
return $Headers
}
function add_comment([string]$issueKey,[string]$comment) {
$body = ('{"body": "'+$comment+'"}')
$comment=(Invoke-RestMethod -uri ($restapiuri +"issue/$issueKey/comment") -Headers $headers -Method POST -ContentType "application/json" -Body $body).id
return $comment
}
function transition([string]$issueKey,[string]$transitionid) {
$body = ('{"transition": "'+$transitionid+'"}')
$comment=(Invoke-RestMethod -uri ($restapiuri +"issue/$issueKey/transitions?expand=transitions.fields") -Headers $headers -Method POST -ContentType "application/json" -Body $body).id
return $comment
}
$restapiuri = "https://jira.com/rest/api/2/"
$headers = Get-HttpBasicHeader "user" "pw"
add_comment "ticket-id" "comment"
transition "ticket-id" "transitionid"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.