Curl 如何通过RESTAPI检索JIRA票证摘要?

Curl 如何通过RESTAPI检索JIRA票证摘要?,curl,jira,jira-rest-api,jql,Curl,Jira,Jira Rest Api,Jql,我正在尝试编写一个shell脚本,用JIRA自动化我的工作流程。我的目标是: jira_flow start $KEY 脚本的步骤应如下所示: 将当前项目部署到sonarqube 根据jira发布密钥和摘要创建新分支机构 因此,我需要一种方法来获得问题的摘要 首先,我尝试使用问题API和grep curl http://jira.local:8081/rest/api/2/issue/$KEY | \ json_pp | \ grep sumarry # produces:

我正在尝试编写一个shell脚本,用JIRA自动化我的工作流程。我的目标是:

jira_flow start $KEY
脚本的步骤应如下所示:

  • 将当前项目部署到sonarqube
  • 根据jira发布密钥和摘要创建新分支机构
因此,我需要一种方法来获得问题的摘要

首先,我尝试使用
问题
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"
这种方法给了我很多结果,因为它还打印链接票据和子任务的摘要

我的第二次尝试是使用
search
API并限制要检索的字段。此方法失败,因为我无法通过其
搜索问题

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
有什么建议吗?

用于解析json并提取所需字段:

对于您的情况,只需输入正确的URL。 第二种方法不起作用,因为筛选字段的参数是
字段

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"                                                         
  }                                                            
} 
使用以下命令:

curl -s https://<JiraServer>.jira.com/rest/api/2/search?jql="< JQL >+"&fields=id,key,summary,description,issuetype";
curl-shttps://.jira.com/rest/api/2/search?jql=“+”&fields=id、key、summary、description、issuetype”;

如果您没有/想要jq,则可以使用
p
o
标志进行grep

 curl -s "https://jira.atlassian.com/rest/api/2/issue/JRASERVER-66213" | grep -Po '"summary":.*?[^\\]"
“摘要”:“默认情况下随Java选项PrintConcurrentLocks一起提供”


我描述过,这种方法在场景中不起作用。请尝试解决问题
TRANS-2459
。由于存在链接问题,这将产生多行摘要。只需将“m”标志设置为1即可。您能提供一个真实的示例吗?我将如何使用此api进行分析?
 curl -s "https://jira.atlassian.com/rest/api/2/issue/JRASERVER-66213" | grep -Po '"summary":.*?[^\\]"