使用 REST API 更新 JIRA 票证状态
Update JIRA ticket status using REST API
我可以使用 CURL 命令在 JIRA 中创建工单,并且手头有 json 数据。
curl -D- -u : -X POST --data @< filename> -H "Content-Type: application/json" http://< hostname>:< port>/rest/api/2/issue/
我现在正尝试更新生成的票证的状态,但出现以下错误。
{"errorMessages":[],"errors":{"status":"Field 'status' cannot be set. It is not on the appropriate screen, or unknown."}}
卷曲命令:
curl -D- -u < user>:< pwd> -X PUT --data @data_update.txt -H
"Content-Type: application/json"
http://< hostname>:8100/rest/api/2/issue/MTF-3
状态不是 Jira 中的一个字段,因此无法即时更改。 JIRA API 没有这方面的规定。
我们必须跟随转换并相应地改变。
首先,执行'http://localhost:8100/rest/api/latest/issue/MTF -2/transitions?expand=transitions.fields
并知道 id 的转换。
例如:“停止进度”的转换 ID 为 31,“完成”的转换 ID 为 41。
了解后,通过添加与您的环境相关的值来使用以下 link:
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
参考:检查Paul grants答案-
https://answers.atlassian.com/questions/107630/jira-how-to-change-issue-status-via-rest
自从长期使用 R 以来,这对我有用。类似的方法应该可以用于 'httr' 库使用的 curl。
library(httr)
library(RJSONIO)
x <- list(fields = list(project = c(key = "xxxxxxx"),
status = "Assign",
issuetype = c(name = "xxxx"),
summary = "xxxxxxx",
description = "xxxxxxx",
customfield_xxxxxx = c(value = "xxxxxx"),
assignee = c(name = "userid"),
customfield_xxxxxx = "xxxxxxxx"
))
# can add more fields as shown above
response <- POST("https://xxxxxxx.atlassian.net/rest/api/2/issue/",body = toJSON(x),
authenticate(username,passcode, "basic"),
add_headers("Content-Type" = "application/json"),
verbose()
)
我可以使用 CURL 命令在 JIRA 中创建工单,并且手头有 json 数据。
curl -D- -u : -X POST --data @< filename> -H "Content-Type: application/json" http://< hostname>:< port>/rest/api/2/issue/
我现在正尝试更新生成的票证的状态,但出现以下错误。
{"errorMessages":[],"errors":{"status":"Field 'status' cannot be set. It is not on the appropriate screen, or unknown."}}
卷曲命令:
curl -D- -u < user>:< pwd> -X PUT --data @data_update.txt -H "Content-Type: application/json" http://< hostname>:8100/rest/api/2/issue/MTF-3
状态不是 Jira 中的一个字段,因此无法即时更改。 JIRA API 没有这方面的规定。
我们必须跟随转换并相应地改变。
首先,执行'http://localhost:8100/rest/api/latest/issue/MTF -2/transitions?expand=transitions.fields 并知道 id 的转换。
例如:“停止进度”的转换 ID 为 31,“完成”的转换 ID 为 41。
了解后,通过添加与您的环境相关的值来使用以下 link:
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
参考:检查Paul grants答案- https://answers.atlassian.com/questions/107630/jira-how-to-change-issue-status-via-rest
自从长期使用 R 以来,这对我有用。类似的方法应该可以用于 'httr' 库使用的 curl。
library(httr)
library(RJSONIO)
x <- list(fields = list(project = c(key = "xxxxxxx"),
status = "Assign",
issuetype = c(name = "xxxx"),
summary = "xxxxxxx",
description = "xxxxxxx",
customfield_xxxxxx = c(value = "xxxxxx"),
assignee = c(name = "userid"),
customfield_xxxxxx = "xxxxxxxx"
))
# can add more fields as shown above
response <- POST("https://xxxxxxx.atlassian.net/rest/api/2/issue/",body = toJSON(x),
authenticate(username,passcode, "basic"),
add_headers("Content-Type" = "application/json"),
verbose()
)