Email-ext 和 Workflow/Pipeline - 一些标记没有被扩展?

Email-ext and Workflow/Pipeline - some tokens not being expanded?

我正在尝试在 Jenkins 管道作业中使用 email-ext 插件,但在自由式作业中使用 email-ext 时我认为理所当然的大多数令牌都没有被扩展?

例如

node {
    emailext body: '${DEFAULT_CONTENT}', mimeType: 'text/html', replyTo: '$DEFAULT_REPLYTO', subject: '${DEFAULT_SUBJECT}', to: '$DEFAULT_RECIPIENTS'
}

生成电子邮件:

主题:

$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!

正文:

$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS: Check console output at $BUILD_URL to view the results.

公平地说,这是一般配置中设置的内容。但是,这些标记中的 none 已扩展,如果我直接从工作流中使用它们,它们也不会扩展,例如

emailext body: '$PROJECT_NAME', mimeType: 'text/html', replyTo: '$DEFAULT_REPLYTO', subject: '${DEFAULT_SUBJECT}', to: '$DEFAULT_RECIPIENTS'

如果我能够使用 $SCRIPT 引用我现有的基于 Groovy 的电子邮件模板,这将是 'okay',但这些模板也没有展开。

如果我遗漏了一些非常明显的东西,我深表歉意 - 我对 Pipeline 还没有太多经验 - 缺乏电子邮件分机支持使我无法进行到目前为止。

我今天通过全新安装 Jenkins 1.651、email-ext 2.41.3 和 Pipeline 1.14 进行了测试。

令牌与工作流不使用的 AbstractBuild 高度相关。因此,令牌现在不会被正确替换。我需要修改 token-macro 插件(这是 token 扩展的基础),以便它可以与 运行 对象一起工作,而不仅仅是 AbstractBuild,但这是一项我还没有完成的大任务改做呢。您可以使用工作流 DSL 生成相同的内容。