2014-06-05 23 views
0

我不確定這個問題是否是重複的,但我找不到任何人會這樣做的例子。有沒有什麼辦法可以查詢jenkins的工作列表。我曾嘗試使用cpan提供的Jenkins :: API,但$ jenkins-> current_status() - > jobs()返回一個哈希值列表。我不知道我是否應該以某種方式將這些翻譯成英文可讀的作業。有小費嗎??使用perl腳本查詢Jenkins作業列表

+0

您是否嘗試過詹金斯CLI?也許你可以使用'java -jar jenkins-cli.jar -s list-jobs' – Nancy

回答

0

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

$jenkins->current_status()確實返回散列值。每個作業哈希包含鍵'顏色','名稱'和'網址'。但是它們嵌套在幾個層次的列表中。我發現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"; 
}  
+0

對不起,如果這對我來說並不明顯,但看起來像這些hash(即job()方法返回的哈希值是哈希表的關鍵。我打入什麼來獲取實際值(顏色,名稱,網址)?你能給我一個代碼示例嗎? – rafe209

+0

示例代碼已更新並經過測試,顯示如何獲取作業名稱列表。 – EricP

相關問題