2017-05-16 49 views
4

我有一個通過聲明式管道腳本配置的Jenkins作業。如何從Jenkins管道添加對Jira問題的評論?

我想在構建通過/失敗時爲相關的Jira問題添加註釋。

可用的插件沒有提供關於將它們與流水線一起使用的非常好的文檔。我曾嘗試使用「吉拉插件」,因爲它是在這個答案解釋:

Updating Jira tickets from Jenkins workflow (jenkinsfile)

step([$class: 'hudson.plugins.jira.JiraIssueUpdater', 
    issueSelector: [$class: 'hudson.plugins.jira.selector.DefaultIssueSelector'], 
    scm: [$class: 'GitSCM', branches: [[name: '*/develop']], 
     userRemoteConfigs: [[url: 'https://github.com/something.git']]]]) 

但我得到這個錯誤:

java.lang.IllegalArgumentException: Unsupported run type org.jenkinsci.plugins.workflow.job.WorkflowRun 
at hudson.plugins.jira.JiraIssueUpdater.perform(JiraIssueUpdater.java:69) 
at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:78) 
at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:65) 
at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1$1.call(SynchronousNonBlockingStepExecution.java:49) 
at hudson.security.ACL.impersonate(ACL.java:260) 
at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution$1.run(SynchronousNonBlockingStepExecution.java:46) 
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 

有沒有人成功地做到了這一點通過管道?

回答

0

使用Jenkins Jira plugin

stage('jira') { 
    steps { 
     script { 
      // Get the list of solved issues and loop over it 
      jiraIssueSelector(issueSelector: [$class: 'DefaultIssueSelector']) 
      .each { 
       // jiraComment is provided by Jira-plugin 
       id -> jiraComment(issueKey: id, 
        body: "This issue was mentioned in [${env.BUILD_NUMBER}|${currentBuild.absoluteUrl}]" 
       ) 
      } 
     } 
    } 
} 

一些注意事項:

  • 我覺得應該是有可能做到這一點的腳本{},這將是清潔之外。
  • 我發現these docs會非常有幫助。