如何以编程方式确定哪个Jenkins从属节点已用于运行构建?

时间:2014-11-29 02:11:52

标签: jenkins continuous-integration

我们已经说过我已经配置了Jenkins作业,它可以运行在几个Jenkins从属节点上(例如Node1,Node2,Node3等)。当构建开始时,Jenkins将选择一个可用的Jenkins slave来运行Build。

对于已完成或当前正在运行的Build,如何以编程方式确定哪个Jenkins从属节点已用于运行Build?

1 个答案:

答案 0 :(得分:2)

您可以使用Jenkins REST API查询现有构建,假设您知道构建号:

http://jenkins:8080/job/JOB_NAME/100/api/json?pretty=true

builtOn字段显示正在运行/运行构建的从属的名称。

要仅检索JSON构建信息的几个字段,请使用tree参数:

http://jenkins:8080/job/JOB_NAME/100/api/json?tree=id,timestamp,builtOn&pretty=true

这将返回如下内容:

{
  "id" : "2014-12-01_06-18-17",
  "timestamp" : 1417443497917,
  "builtOn" : "sdev05"
}

Jenkins UI中的大多数页面底部都有一个 REST API 链接,表明它们公开了可以通过编程方式查询的信息。