有没有办法以编程方式知道Jenkins作业中使用的SCM URL?

时间:2013-04-30 07:35:18

标签: maven-2 jenkins

我目前正在创建一个自定义Maven enforcer rule,为了它的目的,我需要知道用于给定作业的SCM(Subversion,Git ...)的URL,即源只是来源由詹金斯的工作检查。 有没有办法获取这些信息?

我查看了参数set in system environment by Jenkins,但没有一个给我这份工作使用的完整SCM网址。此外,API(即http://jenkins-server/job/my-job/api/xml)不包含此信息。

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

感谢。

1 个答案:

答案 0 :(得分:1)

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

对于Subversion,您可以使用环境变量SVN_URL(如果它只是一个网址),或SVN_URL_nn是一个数字(如果它是多个网址),如上所述{{ 3}}

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