首页 > 解决方案 > pipelineTriggers 的正确语法

问题描述

我有一个基于 DSL 的种子工作。这是看起来的样子

pipelineJob("job name") {
        description('Some explanation')
        triggers {
                cron('@midnight')
                upstream('someJob', 'SUCCESS')
        }
        parameters {
        ...

当我运行作业时,它最终变得不稳定并出现错误消息

Warning: (Builds.groovy, line 53) triggers is deprecated

所以现在我重新编写了代码如下

pipelineJob("job name") {
        description('Some explanation')
        properties {
            pipelineTriggers {
                triggers {
                        cron('@midnight')
                        upstream('someJob', 'SUCCESS')
                }
            }
         parameters {
         ...

现在我得到了错误

ERROR: (unknown source) No signature of method: javaposse.jobdsl.plugin.structs.DescribableListContext.cron() is applicable for argument types: (java.lang.String) values: [@midnight]
Possible solutions: grep(), print(java.io.PrintWriter), print(java.lang.Object), grep(java.lang.Object), wait(), any()

现在我把它改写为

pipelineJob("job name") {
        description('Some explanation')
        properties {
            pipelineTriggers {
                triggers {
                        cron{
                            spec('@midnight')
                        }
                        upstream('someJob', 'SUCCESS')
                }
            }
         parameters {
         ...

但是现在这以错误告终

ERROR: (Builds.groovy, line 72) No signature of method: javaposse.jobdsl.plugin.structs.DescribableListContext.upstream() is applicable for argument types: (java.lang.String, java.lang.String) values: [someJob, SUCCESS]

我在这里还错过了什么?

标签: jenkins-pipelinejenkins-job-dsl

解决方案


使用网址<JENKINS_URL>/plugin/job-dsl/api-viewer/index.html#path/pipelineJob-properties-pipelineTriggers-triggers

我得到了正确的格式

        properties {
            pipelineTriggers {
                triggers {
                        cron {
                            spec('@midnight')
                            }
                        upstream{
                            upstreamProjects('someJob')
                            threshold('SUCCESS')
                        }
                }
            }
        }

推荐阅读