在JENKINS中添加SVN_AUTHOR和SVN_COMMIT_MESSAGE作为env var

时间:2014-08-13 07:56:47

标签: java svn jenkins continuous-integration environment-variables

在我的 JENKINS 作业配置中,我在构建完成时向开发人员发送了一封电子邮件。

在此邮件中,我发送了:$PROJECT_NAME $BUILD_NUMBER $BUILD_STATUS $BUILD_URL$SVN_REVISION

我使用电子邮件地址插件 v 2.38.1

在我的电子邮件正文中,我想添加:SVN_AUTHORSVN_COMMIT_MESSAGE

JENKINS 中,这样的env var不存在。那么有可能创建它们吗?什么插件可以使用?

伊斯梅尔

1 个答案:

答案 0 :(得分:2)

点击内容令牌参考旁边的问号,它会向您显示许多可以使用的内容。

试试这个:

${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="<b>Changes for Build #%n</b><br>%c<br>", changesFormat="<br>[%a] - (%r) %p<br> %m<br>"}

这将产生如下输出:

  

Build#123的更改
  [svn-author-name] - (svn-rev)path-to-changed-file
  svn在这里提交消息

以下是文档中的相关部分:

  

格式 - 对于列出的每个提交,包含%X的字符串,其中%X是作者的%a,日期的%d,消息的%m,路径的%p或修订的%r之一。并非所有修订系统都支持%d和%r。如果指定,则忽略showPaths。   默认为&#34; [%a]%m \ n&#34;。

上述内容与Email-ext plugin相关,并且足以满足您在问题中所描述的内容。

但是,如果您确实希望将其作为环境变量提供给其他构建步骤和/或脚本,则需要:

  • 从SCM手动提取它们(可能使用svn log命令和一些grepping / sedding / awking)
  • 将输出保存为文件,格式为param=value
  • 使用 EnvInject plugin 构建步骤将文件加载为其他构建步骤/脚本的环境变量