【问题标题】:Why Pre-send Script was cleared anytime job is executed?为什么每次执行作业时都会清除预发送脚本?
【发布时间】:2022-11-10 08:29:18
【问题描述】:

我使用以下脚本配置所有 jenkins 作业的预发送脚本:

for(job in Hudson.instance.items) {
    def list = job.getPublishersList()
    for (publisher in list) {
        if (publisher instanceof hudson.plugins.emailext.ExtendedEmailPublisher) {
            def preSendScript = "your script here"
            publisher.setPresendScript(preSendScript)
        }
    }
}

从脚本控制台执行脚本后,我发现作业的预发送脚本被修改:

但是当我运行这项工作时,预发送脚本由于它被清除而不起作用。

为什么每次执行作业时都会清除预发送脚本?

【问题讨论】:

    标签: jenkins


    【解决方案1】:

    配置更改未保存。

    我们应该在publisher.setPresendScript(preSendScript) 之后使用job.save()

    工作脚本应该是:

    for(job in Hudson.instance.items) {
        def list = job.getPublishersList()
        for (publisher in list) {
            if (publisher instanceof hudson.plugins.emailext.ExtendedEmailPublisher) {
                def preSendScript = "your script here"
                publisher.setPresendScript(preSendScript)
            }
        }
        // must have
        job.save()
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 1970-01-01
      • 2012-10-10
      • 1970-01-01
      • 1970-01-01
      • 2017-08-15
      相关资源
      最近更新 更多