jenkins-workflow - Email-ext 和 Workflow/Pipeline - 一些 token 没有被扩展?

标签 jenkins-workflow email-ext

我正在尝试在 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/

相关文章:

jenkins - 如何从作业中设置环境变量并在 Jenkins 的下一个作业中使用它?

email - 如何获取当前 Jenkins 用户的电子邮件地址以在 groovy 脚本中使用

groovy - 如何在Jenkins Workflow中重复一个阶段

groovy - 如何将 Email-Ext groovy 脚本放置在 jenkins 文件系统上

jenkins-workflow - Jenkins 工作流程隐藏扁平文件夹

git - jenkins 下游作业如何通过 email-ext 向上游 git 提交者发送电子邮件通知

jenkins - 如何将文件附加到 Jenkins Pipeline 通知

jenkins - 发送电子邮件时如何在 Jenkins 中获取 SVN 日志条目

Jenkins Email-ext 插件 - token

jenkins - 从 Jenkins 工作流程脚本标记存储库