2015-06-12 133 views
3

我能够使用CURL命令在JIRA中创建票证并拥有json数据。使用REST API更新JIRA票证状态

卷曲-D- -u:-X POST --data @ <文件名> -H “内容类型:应用/ JSON的” http:// <主机名>:<端口> /休息/ API/2/issue/

我现在正在尝试更新所生成票据的状态,但收到以下错误。 {"errorMessages":[],"errors":{"status":"Field 'status' cannot be set. It is not on the appropriate screen, or unknown."}}

卷曲命令:

卷曲-D- -u <用户>:< PWD> -X PUT --data @ data_update.txt -H “内容类型:应用/ JSON” HTTP:// <主机名>:8100 /休息/ API/2 /问题/ MTF-3

回答

3

状态不处于Jira的一个字段,从而改变飞同样是不可能的。 JIRA API没有为此提供条款。

我们必须遵循转换并相应地改变。

首先,执行'http://localhost:8100/rest/api/latest/issue/MTF -2/transitions?expand = transitions.fields 并知道用于转换的id。

对于例如:对于“停止前进”过渡id为31,“完成”的为41

一旦已知,通过增加值适合您的环境使用下面的链接:

curl -D- -u <USER>:<PASS> -X POST --data '{"transition":{"id":"<TRANSITION_ID>"}}' -H "Content-Type: application/json" <JIRA_URL>:<JIRA_PORT>/rest/api/latest/issue/<JIRA_ISSUE>/transitions?expand=transitions.fields 

参考:检查保罗授予答案 - https://answers.atlassian.com/questions/107630/jira-how-to-change-issue-status-via-rest

+0

当我执行的第一个命令,我得到一个空transitio ns数组。然后执行第二个命令,其中转换ID为5,我得到一个内部服务器错误。 – kaushalpranav

+0

创建问题时,我们可以不设置状态吗?意味着在创建问题的同一请求中。 –