从jenkins中的子作业中检索变量

时间:2014-09-03 19:47:41

标签: jenkins continuous-integration jenkins-plugins

我有一个从两个父作业重用/调用的作业,我需要从该作业中检索变量以在每个父作业中使用它。 shell变量是一个大小为md5sum的工件列表。

目标是在可修改的电子邮件通知中使用此列表。

我如何检索它,让我们称之为$ {artifacts_list}。

谢谢,

2 个答案:

答案 0 :(得分:4)

虽然我没有对其进行测试,但您可以尝试这种方法:您可以echo在文件中name=value变量及其值({{1}})并读取父作业中的文件。要在父作业的环境中使这些变量可用,您可能需要EnvInject Plugin

答案 1 :(得分:1)

一种繁琐的方法是使用Jenkins API读取其他作业特定运行的JSON,并从中提取参数。

更简单的方法是:

  • 将作业的参数导出到文件(使用 Export Parameters Plugin ,或者只是echo格式化param=value所需的参数,就像建议的其他答案一样)< / LI>
  • 使用“存档工件”构建后操作
  • ,在构建结束时存档导出的参数文件
  • 在下游作业中,使用 Copy Artifacts 插件来引入该文件
  • 使用 EnjInject 插件读取文件并将其作为环境变量提供。