如何在 Jenkinsfile 中的 Jenkins 管道代码中添加 gerrit-trigger 事件

Dil*_*era 4 gerrit-trigger jenkins-pipeline

我想在 Jenkinsfile 中添加 gerrit 触发事件,就像我们在 JobDSL 中一样,

        triggers {
            upstream('pipeline_properties', 'UNSTABLE')
            gerrit {
                events {
                    refUpdated()
                }
                project('reg_exp:jenkins', ["plain:${jenkins_branch}"])
            }
        }
Run Code Online (Sandbox Code Playgroud)

这在管道代码中是否可行,可以在触发器下找到诸如 cron 和内容之类的东西,但无法获得如何在其中添加 gerrit-trigger 事件的参考。

Lar*_*Cai 5

这是一个Jenkinsfile涵盖gerrit触发事件部分的工作,请参阅代码段下方的参考

BuildDiscarderProperty&SCMTrigger也用于样品。

#!/usr/bin/env groovy          
特性(
    [
        [
            $class: 'BuildDiscarderProperty',
            策略:[$class:'LogRotator',numToKeepStr:'10']
        ],
        管道触发器([
            [
                $class: 'SCMTrigger',
                scmpoll_spec: "HH 1,15 1-11 *"
            ],
            [
                $class: 'GerritTrigger', gerritProjects: [
                    [
                        $class: "GerritProject", 
                        比较类型:“REG_EXP”,
                        模式:“詹金斯”,
                        分支机构: [
                            [
                                $class: "分支",
                                模式:“\${jenkins_branch}”
                            ]
                        ]
                    ]
                ],
                触发事件:[
                    [$class: "PluginRefUpdatedEvent"]
                ]
            ]
        ])
    ]
)
节点{
    回声'你好世界'
}  

有用的参考

config.xmlJENKINS_HOME工作目录用于调试