Jenkins DSL:Job SLack 发布者:baseUrl() 方法不可用

Jenkins DSL : Job SLack publisher : baseUrl() method not available

我使用 Jenkins 2.63 和 Slack Notifier 插件 2.2

我需要通过作业 DSL 使用 SlackNotifier 生成作业,但我无法在 DSL 中设置基础 URL,我收到此消息:

错误:(脚本,第 145 行)没有方法签名:baseUrl() 适用于参数类型:(java.lang.String) 值:[https://my.domain.slack.com/services/hooks/jenkins-ci/] 可能的解决方案:authToken()、authTokenCredentialId()、botUser()、commitInfoChoice()、customMessage()、includeCustomMessage()、includeTestSummary()、notifyAborted()、notifyBackToNormal()、notifyFailure()、notifyNotBuilt()、notifyRegression (), notifyRepeatedFailure(), notifySuccess(), notifyUnstable(), room(), sendAs(), startNotification(), teamDomain() 完成:失败

这是我的 DSL 脚本

        publishers  {
          def slackParam = new groovy.json.JsonSlurper().parse(new File(channelFile))

          slackNotifier {
            baseUrl(slackParam.url)
            authTokenCredentialId(slackParam.authTokenCredentialId) 
            includeTestSummary(true) 
            notifyAborted(true) 
            notifyBackToNormal(true) 
            notifyFailure(true) 
            notifyNotBuilt(true) 
            notifyRegression(true) 
            notifyRepeatedFailure(true) 
            notifyUnstable(true)
            room(slackParam.room) 
          }
        }

但是在工作中config.xml我可以找到这个参数。

谁能帮我设置基本 URL 参数?

非常感谢。

使用配置块:https://github.com/jenkinsci/job-dsl-plugin/wiki/The-Configure-Block

  configure { project ->
    project / publishers << 'jenkins.plugins.slack.SlackNotifier' {
      baseUrl("https://whatever.slack.com/services/hooks/jenkins-ci/")
      room("#room")
      notifyAborted(true)
      notifyFailure(true)
      notifyNotBuilt(false)
      notifyUnstable(true)
      notifyBackToNormal(true)
      notifySuccess(true)
      notifyRepeatedFailure(false)
      startNotification(false)
      includeTestSummary(false)
      includeCustomMessage(true)
      customMessage("Environment")
      sendAs(null)
      commitInfoChoice("AUTHORS_AND_TITLES")
      teamDomain("yourDomain")
      authTokenCredentialId("token")
    }
  }

将此放在作业底部的步骤之外。您应该会看到作业的 UI 和 config.xml 中反映的更改。