繁体   English   中英

通过Powershell进行JIRA API

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM