我最终使用了变通方法。这是我解决每个问题的方法:1-我编写了一个Shell脚本,该脚本通过请求api进行更改。然后,我编写了一个正则表达式以从提交消息中取出问题密钥。我只提取了第一个问题的参考。我使用jenkins中的envinject插件将问题ID注入为构建属性,以供以后由工作流程操作步骤进行JIRA插件的进度问题使用。这是shell脚本。
xmlfile=$(curl -s "http:/${BUILD_NUMBER}/api/xml?wrapper=changes&xpath=//changeSet//comment")re="PRJ-([0-9])*"if [[ $xmlfile =~ $re ]]; then issueKey=${BASH_REMATCH[0]}fire2="([0-9])+"if [[ $issueKey =~ $re2 ]]; then echo ISSUE_ID=${BASH_REMATCH[0]} > env.propertiesfi在jira pugin中,我使用issueKey = PRJ- $ ISSUE_ID作为具有状态的jql。
2-对于这一部分,我使用TriggerParametrizedBuild插件并在当前构建失败或不稳定的情况下开始构建。这个新版本仅将工作流程退回到“进行中”



