3

I'd like to enable SCM polling in Jenkins by DSL code. As it's easily possible manually ( without DSL ) and works perfectly, but I'm looking for DSL code to Make it enable -- check attached image for reference.

I already checked below link, but no any solution here. https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.helpers.triggers.TriggerContext.scm

GitHub hook trigger for GITScm polling and Poll SCM

click here to check image

I'm not using Jenkins pipeline

4

3 回答 3

2

最后我得到了解决方案:

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

触发{

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

我已经测试过,它工作得很好

于 2017-06-22T10:22:51.073 回答
1

另一个解决方案:

job('myjob') {
    configure { it / 'triggers' / 'com.cloudbees.jenkins.GitHubPushTrigger' / 'spec' }
}
于 2018-05-29T20:29:19.657 回答
0

在尝试为管道启用 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 标记路径。

于 2020-05-09T13:13:04.480 回答