Jenkins构建通过/失败的电子邮件通知的作业DSL脚本



我想使用Job DSL而不是电子邮件文本插件来配置电子邮件通知。

DSL不提供其他插件的功能,它只是向脚本公开它们的功能。插件仍然需要安装。

根据DSL API文档,DSL支持Jenkins mailer插件(作为标准提供),

job('example') {
    publishers {
        mailer('me@example.com', true, true)
    }
}

这不是特别可定制的——你不能在每次通过构建后都告诉它发电子邮件。

DSL也支持电子邮件扩展插件:

job('example') {
    publishers {
        extendedEmail {
            recipientList('me@halfempty.org')
            defaultSubject('Oops')
            defaultContent('Something broken')
            contentType('text/html')
            triggers {
                beforeBuild()
                stillUnstable {
                    subject('Subject')
                    content('Body')
                    sendTo {
                        developers()
                        requester()
                        culprits()
                    }
                }
            }
        }
    }
}

要在每次构建后发送电子邮件,无论状态如何,使用电子邮件文本,您可以使用始终触发器(代替上例中的stillUnstable触发器)

(为了避免宕机,从链接文档中复制代码示例。)

我正在使用Pipeline/Workflow DSL,并实现了以下功能:

mail from: "", 
   to: "yoyo@example.com",
   subject: """Jenkins ${env.JOB_NAME} [${env.BUILD_NUMBER}]""",
   mimeType: "text/html",
   body: """Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
    <p>Check console output at &QUOT;<a href='${env.BUILD_URL}'>${env.JOB_NAME} [${env.BUILD_NUMBER}]</a>&QUOT;</p>
    <pre>${summary}</pre>"""

相关内容

  • 没有找到相关文章

最新更新