从 jenkins 2 管道更新 Jira 票证

Updating Jira ticket from jenkins 2 pipeline

您好,我正在实施 jenkins 2 管道。我正在尝试创建一个 groovy 函数来更新 Jira 中的给定故事。我发现有人告诉我应该可以使用以下代码。

step([$class: 'hudson.plugins.jira.JiraIssueUpdater', 
issueSelector: [$class: 'hudson.plugins.jira.selector.DefaultIssueSelector'], 
scm: [$class: 'GitSCM', branches: [[name: '*/master']], 
    userRemoteConfigs: [[url: 'https://github.com/jglick/simple-maven-project-with-tests.git']]]])

我想知道如何使用这个指定票证? 谁能描述这段代码中发生的事情?

我从未使用过 Jira 管道兼容插件,但从 plugin's pipeline documentation 看来,您可以将许多参数传递给 Jira's updater,例如:

  • Jira REST base url
  • Jira Username/Password
  • JQL for selecting issues to be updated
  • Jira comment to be added

我想仔细看看这个 documentation file 会给你所有你需要的信息,一旦你知道你应该能够用这种 [=28] 调用 Jira updater 的参数=]代码:

step([$class: 'hudson.plugins.jira.JiraIssueUpdater',
  restAPIUrl: yourJiraAPIUrl,
  jql: theJQLQueryThatWillFindYourIssuesToUpdate,
  comment: theComment,
  failIfJqlFails: true
)

您提供的示例似乎不正确,因为 issueSelectorscm 这两个参数 不是 JiraIssueUpdater 的有效参数 class.

请参阅 this link 获取示例,例如:

JiraIssueUpdateBuilder usage example

node {
    step([$class: 'hudson.plugins.jira.JiraIssueUpdateBuilder', 
        jqlSearch: "project = EX and labels = 'jenkins' and labels = '${version}'",
        workflowActionName: 'Resolve Issue',
        comment: 'comment'])