如何使用XML API获取Jenkins Jobs列表

Man*_*dar 5 xml perl jenkins

我从Jenkins REST API获取了原始xml数据http://jenkins-host:8080/api/xml.现在我正在努力将这个xml中的作业名称列表转换为perl数组或变量.以下是xml API的格式

<hudson>
<job>
  <name>Test_Job1</name>
  <url>http://jenkins-host:8080/job/Test_job1/</url>
  <color>red</color>
</job>
<job>
  <name>Test_job2</name>
  <url>http://jenkins-host:8080/job/Test_job2/</url>
  <color>red</color>
</job>
<view>
  <name>Test_View</name>
  <url>http://jenkins-host:8080/</url>
</view>
</hudson>
Run Code Online (Sandbox Code Playgroud)

在这里,我想存储只有作业名称到数组而不是视图名称.例如:

@list = (Test_job1, Test_job2)
Run Code Online (Sandbox Code Playgroud)

mir*_*rod 2

使用 XML::Twig 它将是:

#!/usr/bin/perl

use strict;
use warnings;

use XML::Twig;

my @jobs;
XML::Twig->new( twig_roots => { 'job/name' => sub { push @jobs, $_->text; } })
         ->parseurl( 'http://jenkins-host:8080/api/xml');
Run Code Online (Sandbox Code Playgroud)