我正在尝试在 Jenkins 管道作业中使用 email-ext 插件,但是在自由式作业中使用 email-ext 时我认为理所当然的大多数 token 没有被扩展?
例如
node {
emailext body: '${DEFAULT_CONTENT}', mimeType: 'text/html', replyTo: '$DEFAULT_REPLYTO', subject: '${DEFAULT_SUBJECT}', to: '$DEFAULT_RECIPIENTS'
}
生成电子邮件:
主题:
$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
body :
$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS: Check console output at $BUILD_URL to view the results.
公平地说,这是在一般配置中设置的内容。但是,这些标记都没有被扩展,如果我直接从工作流中使用它们,它们也不会被扩展,例如
emailext body: '$PROJECT_NAME', mimeType: 'text/html', replyTo: '$DEFAULT_REPLYTO', subject: '${DEFAULT_SUBJECT}', to: '$DEFAULT_RECIPIENTS'
如果我能够使用 $SCRIPT 引用我现有的基于 Groovy 的电子邮件模板,这将是“好的”,但这些模板也没有扩展。
如果我遗漏了一些非常明显的东西,我深表歉意——我对 Pipeline 还没有太多经验——到目前为止,缺乏 email-ext 支持使我无法跨越。
我今天通过干净安装 Jenkins 1.651、email-ext 2.41.3 和 Pipeline 1.14 进行了测试。
最佳答案
token 与工作流不使用的 AbstractBuild 高度相关。因此,现在不会正确替换 token 。我需要修改 token 宏插件(这是 token 扩展的基础),以便它可以与 Run 对象一起工作,而不仅仅是 AbstractBuild,但这是一项大任务,我还没有进行更改.您可以使用工作流 DSL 生成相同的内容。
关于jenkins-workflow - Email-ext 和 Workflow/Pipeline - 一些 token 没有被扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35793687/