1

我目前正在创建一个自定义Maven 执行器规则,为此,我需要知道用于给定作业的 SCM(Subversion、Git ...)的 URL,即 Jenkins 作业刚刚签出源的位置. 有没有办法获取这些信息?

我查看了Jenkins 在系统环境中设置的参数,但它们都没有给我作业使用的完整 SCM url。此外,API(即http://jenkins-server/job/my-job/api/xml)不包含此信息。

我知道 中有一个<scm><connection>标签pom.xml,但这个信息可能不可靠。

谢谢。

4

1 回答 1

1

这些值由 SCM 实现设置。要找出构建中实际存在的环境变量,可以使用EnvInject插件。

对于 Subversion,您可以使用环境变量SVN_URL(如果它只是一个 URL),或者SVN_URL_nn一个数字(如果它是多个 URL),如此所述。

您还可以使用Groovy插件中的System Groovy构建步骤直接访问 Jenkins 对象树,例如将此信息写入文件。请注意,如果您不小心,访问内部结构很容易破坏更新,并且容易破坏 Jenkins。

于 2013-04-30T08:36:56.083 回答