【问题标题】:How to enabe SCM polling with the Jenkins DSL plugin如何使用 Jenkins DSL 插件启用 SCM 轮询
【发布时间】:2017-06-21 09:57:34
【问题描述】:

我想通过 DSL 代码在 Jenkins 中启用 SCM 轮询。因为它很容易手动(没有 DSL)并且工作得很好,但我正在寻找 DSL 代码 使其启用 -- 检查附加图片以供参考。

我已经检查了下面的链接,但这里没有任何解决方案。 https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.helpers.triggers.TriggerContext.scm

用于 GITScm 轮询的 GitHub 挂钩触发器投票 SCM

click here to check image

我没有使用 Jenkins 管道

【问题讨论】:

  • 你在使用詹金斯管道吗?

标签: jenkins jenkins-plugins jenkins-job-dsl jenkins-groovy


【解决方案1】:

终于找到了解决办法:

以下是启用 scm 轮询的 DSL 代码:

触发器{

   configure {
it / 'triggers' << 'com.cloudbees.jenkins.GitHubPushTrigger'{
    spec''
}
scm('')
            }
    }

我已经测试过了,效果很好

【讨论】:

    【解决方案2】:

    另一种解决方案:

    job('myjob') {
        configure { it / 'triggers' / 'com.cloudbees.jenkins.GitHubPushTrigger' / 'spec' }
    }
    

    【讨论】:

    • 嗨咯咯笑,欢迎来到 StackOverflow。如果您为答案提供更多背景信息,那就太棒了。这段代码 sn-p 去哪儿了?也不要忘记为您的代码 sn-p 添加正确的格式。
    【解决方案3】:

    在尝试为管道启用 scm 轮询时,我遇到了类似的情况。

    我正在通过 job-dsl 和 CasC 配置管道,我特别想启用 SCM 轮询。

    这就是我的工作;我在 pipelineJob 上下文中,但我相信工作上下文的解决方案是相同的:

    pipelineJob('myPipelineName') {
      environmentVariables {
        ...
      }
      definition {
        ...
      }
      configure { project ->
        project / 'properties' / 'org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty' / 'triggers' / 'hudson.triggers.SCMTrigger' {
          'spec'('* * * * *')
        }
      }
    }
    

    我实现这一点的方式是手动更改管道配置(在 UI 中)以启用轮询,然后查看磁盘上作业的 .xml。 您在上面的代码中看到的斜线分隔的东西代表我要更改的值的 xml 标记路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      相关资源
      最近更新 更多