我有一个连续的构建,它从 git 中检查代码。我想进一步使用构建中的更改列表。
我知道Email-ext 插件通过环境变量(如CHANGES_SINCE_LAST_SUCCESS
或CHANGES_SINCE_LAST_UNSTABLE
.
当我安装插件时,这些环境变量是否也可以在我的其他构建步骤中使用?
我有一个连续的构建,它从 git 中检查代码。我想进一步使用构建中的更改列表。
我知道Email-ext 插件通过环境变量(如CHANGES_SINCE_LAST_SUCCESS
或CHANGES_SINCE_LAST_UNSTABLE
.
当我安装插件时,这些环境变量是否也可以在我的其他构建步骤中使用?
不,它们将不可用。这些不是环境变量,而是仅在 EmailExt 插件中有意义的标记。
您可以使用通过Groovy 插件运行并利用Jenkins Java API的 Groovy 脚本以编程方式自己获取该信息。
我得到了类似的东西为 darcs 工作,就像这样。这里的一个关键部分是 darcs 设置了一些有用的环境变量,“post hook”函数可以用于这样的通知。如果你能找到一种方法来为 git 初始化一个等效的环境变量,那么你就设置好了!
curl -X HEAD http://ci.example.com/job/my_job/build && sleep 5 && echo description="<pre>$DARCS_PATCHES</pre>" | curl -X POST --data-binary @- http://ci.example.com/job/my_job/lastBuild/submitDescription
理想情况下,有一种方法可以使用 Jenkins 的 REST API 更优雅地做到这一点,但我找不到它。所以首先,触发构建。然后我们休眠几秒钟,因为构建请求是异步的。最后,使用 darcs 提供的最新更改列表更新构建描述。