java - 在 JENKINS 中添加 SVN_AUTHOR 和 SVN_COMMIT_MESSAGE 作为环境变量

标签 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中,这样的环境变量不存在。那么有可能创建它们吗?使用什么插件?

伊斯梅尔

最佳答案

点击内容 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/

相关文章:

Github pull 请求插件

java - 为什么不能在 Java 中将类声明为静态?

Java 线程对象与运行线程

svn - 根据环境变量/shell输出构建特定项目

linux - 由于 TLS 错误,无法进行 svn checkout

java - 如果使用 SVN checkin 某些内容,如何配置 Jenkins 自动构建项目?

java - Redis 键被自动删除

java - 如何设置 javapns(iOS 推送通知)?

jenkins - 轮询忽略多分支管道中某些路径中的提交

jenkins - 通过脚本更新 Jenkins 凭据