从詹金斯内部分辨出两个詹金斯工作之间的区别

时间:2019-01-15 11:39:01

标签: jenkins

我正在寻找一种方法来从Jenkins中分辨出两个Jenkins作业(“项目”)JobAJobB之间的区别-例如,使用一些在脚本中运行的Groovy代码控制台或作为构建步骤。

(在Compare Jenkins Configuration for two different jobs中也提出了类似的问题,但该问题集中在对XML作业配置文件进行差异化。由于元素顺序,空白量或包含默认值,这些差异在文本上存在差异在XML级别上可能有所不同,但仍映射到相同的作业规范。)

1 个答案:

答案 0 :(得分:0)

所以,我假设您正在使用管道脚本并在jenkinsfile或共享库中编写代码。以“简单”的方式(可能需要关闭沙箱)来完成此操作:

  1. 获取作业对象,您可以通过Jenkins实例来实现: https://javadoc.jenkins.io/jenkins/model/Jenkins.html

Jenkins.get().getItems(<your class>)-将返回指定类型的所有作业。

如果您需要任何可能的工作-将Job用作<your class>-它是所有可能的詹金斯工作的父类-https://javadoc.jenkins-ci.org/hudson/model/Job.html,否则请尝试缩小搜索的类。

  1. 根据上述功能的类型,您可以比较所获取实例的所有可能参数。此外,您可以获取并比较该作业的所有构建(运行)。

希望您正在寻找的东西。