tgr*_*tgr 3 curl jira jql jira-rest-api
我正在尝试编写一个 shell 脚本,用 JIRA 自动化我的工作流程。我的目标是:
jira_flow start $KEY
Run Code Online (Sandbox Code Playgroud)
脚本的步骤如下:
因此,我需要一种方法来获取问题的摘要。
首先,我尝试使用issue
API 和grep
.
curl http://jira.local:8081/rest/api/2/issue/$KEY | \
json_pp | \
grep sumarry
# produces:
"summary" : "linked issue summary 1"
"summary" : "linked issue summary 2"
"summary" : "sub-task summary 1"
"summary" : "sub-task summary 2"
"summary" : "sub-task summary 3"
"summary" : "issue summary"
Run Code Online (Sandbox Code Playgroud)
这种方法给了我很多结果,因为它还打印了链接的工单和子任务的摘要。
我的第二次尝试是使用search
API 并限制要检索的字段。这种方法失败了,因为我无法通过它的key
.
curl http://jira.local:8081/rest/api/2/search?jql=key=$KEY
# returns:
no matches found: http://jira.local/rest/api/2/search?jql=key=$KEY
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
使用jq
解析JSON和提取所需的字段(S):
$ curl -s "https://jira.atlassian.com/rest/api/2/issue/JRASERVER-66213" | jq ".fields.summary"
"Ship with Java Option PrintConcurrentLocks by Default"
Run Code Online (Sandbox Code Playgroud)
对于您的情况,只需输入正确的 URL。您的第二种方法不起作用,因为过滤字段的参数是field
:
curl -s "https://jira.atlassian.com/rest/api/2/issue/JRASERVER-66213?fields=summary" | jq "."
{
"expand": "renderedFields,names,schema,operations,editmeta,changelog,versionedRepresentations",
"id": "874745",
"self": "https://jira.atlassian.com/rest/api/2/issue/874745",
"key": "JRASERVER-66213",
"fields": {
"summary": "Ship with Java Option PrintConcurrentLocks by Default"
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6006 次 |
最近记录: |