2016-05-12 181 views
0

我正在尝试编写一个方法,允许用户使用json关闭JIRA问题。 这里是我使用的网址:JIRA Rest API使用JSON关闭问题

../jira/rest/api/latest/issue/MyProj-524/transitions 

这里是我的JSON字符串:

{ "update" : {"comment": [{"add": {"body":"Fixed"}}]}, "fields" : { "resolution" : {"id":"10000","name":"Done" }}, transition": {"id": "6"}} 

我得到一个400异常(错误请求)和ProtocolError的状态。根据文档,如果没有指定转换,将返回400。

此外,当我查询JIRA服务器从我的浏览器
..:8090/jira/rest/api/latest/issue/MyProj-524/transitions 我得到如下:

{"expand":"transitions","transitions":[{"id":"5","name":"Resolve Issue","to":{"self":"/jira/rest/api/2/status/5","description":"A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.","iconUrl":"..8090/jira/images/icons/statuses/resolved.png","name":"Resolved","id":"5","statusCategory":{"self":"...8090/jira/rest/api/2/statuscategory/3","id":3,"key":"done","colorName":"green","name":"Done"}}},{"id":"2","name":"Close Issue","to":{"self":".:8090/jira/rest/api/2/status/6","description":"The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.","iconUrl":"..8090/jira/images/icons/statuses/closed.png","name":"Closed","id":"6","statusCategory":{"self":"8090/jira/rest/api/2/statuscategory/3","id":3,"key":"done","colorName":"green","name":"Done"}}}]} 

所以它似乎有可供过渡。我们正在使用“经典默认工作流程”,其中包含:打开,已解决,已关闭,重新打开和正在进行。该票的当前状态是:打开。

回答

0

您确定您使用的是正确的转换ID吗?你核对

.../JIRA/REST/API /最新/问题/的Myproj-524 /转换?扩大= transition.fields

您的ID应匹配要转换的过渡。在我的情况下(使用Jira云附带的标准转换,我的ID是31(对于“完成”)

您可能还想确认您的工作流程是否允许将问题从打开到关闭。认为这是由管理员图>问题>工作流程>分配方案>查看图

这里有一些建议:

https://answers.atlassian.com/questions/86247/how-can-i-close-an-issue-via-a-rest-api-call