使用perl脚本查询Jenkins的作业列表

时间:2014-06-05 01:12:24

标签: perl jenkins

我不确定这个问题是否重复,但我找不到任何人如何做到这一点的例子。有什么方法可以查询jenkins的工作列表。我尝试使用cpan提供的Jenkins :: API,但是$ jenkins-> current_status() - > jobs()返回一个哈希值列表。我不确定我是否应该以某种方式将这些翻译成英文可读的工作。任何提示??

1 个答案:

答案 0 :(得分:0)

查看http://metacpan.org/pod/Jenkins::API

$jenkins->current_status()确实会返回哈希值。每个作业哈希都包含键'color','name'和'url'。但它们嵌套在几个级别的列表中。我发现Data::Dumper有助于查看完整结构。


<强> CURRENT_STATUS

返回API返回的服务器的当前状态。这是一个包含相当全面的列表的哈希。

$jenkins->current_status();
# {
#   'assignedLabels' => [
#     {}
#   ],
#   'description' => undef,
#   'jobs' => [
#     {
#       'color' => 'blue',
#       'name' => 'Jenkins-API',
#       'url' => 'http://jenkins:8080/job/Jenkins-API/'
#     },
# ...
#   ]

示例:

use Jenkins::API;
$jenkins = Jenkins::API->new({ base_url => 'http://localhost:8080' });

@statuses = $jenkins->current_status();

for ($i = 0;$i <= $#{$statuses[0]{'jobs'}};$i++) {
  print $statuses[0]{'jobs'}[$i]{'name'},"\n";
}