您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

可以访问Jenkins中的构建变更日志

可以访问Jenkins中的构建变更日志

看起来TestFlight插件会将变量扩展到“构建说明”字段中,所以问题是:如何将当前构建的更改获取到环境变量中?

据我所知,Subversion插件没有通过环境变量提供此信息。但是,所有Jenkins SCM插件都集成了变更日志信息,如您通过Web UI中每个构建版本的“变更”链接所看到的。

即使正在进行构建,也可以通过Jenkins API获得此信息。

例如,如果在运行此命令的位置添加“执行外壳”构建步骤:

curl -s "http://jenkins/job/my-job/$BUILD_NUMBER/api/xml?wrapper=changes&xpath=//changeSet//comment"

您将获得一个类似于以下内容的XML文档:

<changes>
  <comment>First commit.</comment>
  <comment>Second commit.</comment>
</changes>

然后,您可以根据自己的喜好设置此信息的格式,并将其放入一个环境变量中,然后可以在TestFlight“构建说明”部分中进行引用。

但是,认情况下,在构建步骤中设置环境变量不是永久性的-为此,需要使用EnvInject插件

在这种情况下,您可以将更改日志文本写入具有以下内容的临时文件

CHANGELOG="New in this build:\n- First commit.\n- Second commit."

然后,通过使用带有“ 环境属性文件路径”选项的构建步骤来加载该文件,该$CHANGELOG变量将存在于您的环境中,并一直持续到构建结束,从而允许您在“构建说明”字段中使用它。

我自己没有使用TestFlight插件(尽管我快速浏览了代码),并且仅使用Git存储库测试了changes API。同样,我也没有测试应如何使用EnvInject插件编码换行符,否则可能会引起问题。

其他 2022/1/1 18:14:05 有496人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶