在我的 JENKINS 作业配置中,构建完成后我会向开发人员发送电子邮件。
在这封邮件中,我发送:$PROJECT_NAME
$BUILD_NUMBER
$BUILD_STATUS
$BUILD_URL
和 $ SVN_REVISION
。
我使用电子邮件扩展插件 v 2.38.1。
在我的电子邮件正文中,我想添加:SVN_AUTHOR
和 SVN_COMMIT_MESSAGE
。
在JENKINS中,这样的环境变量不存在。那么有可能创建它们吗?使用什么插件?
伊斯梅尔
最佳答案
点击内容 token 引用旁边的问号,它会向您显示很多可以使用的东西。
试试这个:
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="<b>Changes for Build #%n</b><br>%c<br>", changesFormat="<br>[%a] - (%r) %p<br> %m<br>"}
这将产生如下输出:
Changes for Build #123
[svn-author-name] - (svn-rev) path-to-changed-file
svn commit message here
以下是文档中的相关部分:
format - for each commit listed, a string containing %X, where %X is one of %a for author, %d for date, %m for message, %p for paths, or %r for revision. Not all revision systems support %d and %r. If specified, showPaths is ignored. Defaults to "[%a] %m\n".
以上内容与 Email-ext plugin 相关并且足以满足您在问题中所描述的内容。
但是,如果您确实希望将它们作为环境变量供其他构建步骤和/或脚本使用,则需要:
- 从 SCM 中手动提取它们(可能使用
svn log
命令和一些 grepping/sedding/awking) - 将输出保存到文件,格式为
param=value
- 使用EnvInject plugin 构建步骤,将文件加载为其他构建步骤/脚本的环境变量
关于java - 在 JENKINS 中添加 SVN_AUTHOR 和 SVN_COMMIT_MESSAGE 作为环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25280901/