存储Jenkins管道作业元数据?

时间:2018-01-29 20:29:29

标签: jenkins jenkins-pipeline

有没有办法从Jenkins管道作业中存储一些元数据,例如:

  • 我们有一个Jenkins文件,可以构建一个gradle项目,创建docker镜像并将其推送到google cloud
  • 然后启动“Subjob”,在该docker镜像上运行集成测试(IT)。 Subjob接收一些参数(其中一个 - 生成的docker图像名称)

现在有时IT工作失败了,我想从主要工作视图中重新运行它,所以理想情况下:

  • 我们有一个插件,可以在主要作业的蓝海UI中呈现自定义按钮
  • 通过单击该按钮,可以使用相同的参数再次调用subjob(插件查询jenkins api,获取此作业的参数,然后重新提交子作业)。

问题?如何获取/设置这些参数。我似乎无法找到一种机制,期望工件存储。我可以通过创建一个简单的json / text文件并将其作为工件上传,然后在我的插件中检索它来逃避,但也许有更好的方法?

阶段重启不会进入脚本管道,因此看起来不像ant选项。

1 个答案:

答案 0 :(得分:1)

也许您可以使用Jenkins API获取构建的详细信息?

https://your_jenkins_url.com/job/job_name/lastBuild/api/json?pretty=true

您也可以使用内部编号或者lastStableBuild,lastSuccessfulBuild,lastFailedBuild,lastUnstableBuild,lastUnsuccessfulBuild,lastCompletedBuild

来代替lastBuild。

有一个参数键,其中包含构建中使用的所有参数名称和值。

有关https://your_jenkins_url.com/job/job_name/api/

的更多详情

另外,您有什么理由不能在IT工作中使用重播按钮吗?