xml - 如何使用 XML API 获取 Jenkins 作业列表

标签 xml perl jenkins

我从 Jenkins REST API http://jenkins-host:8080/api/xml 获取原始 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>

这里我只想将作业名称存储到数组中,而不是 View 名称。 例如:

@list = (Test_job1, Test_job2)

最佳答案

对于 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');

关于xml - 如何使用 XML API 获取 Jenkins 作业列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14056497/

相关文章:

Android 风格不起作用

regex - 为什么非捕获组(?:) seem to not be working?

javascript - extjs中的ajax请求总是执行成功

c# - 看不到SonarQube的分析结果

java - Jenkins 将自己的日志记录添加到 Maven 构建过程中

MySQL 查询到 XQuery

Java - 从动态 XML 中删除子节点

python minidom firstChild.data 忽略字符串的一部分(日期+时间+时区)删除时区

perl - 使用 GD::Graph 绘制条形图

jenkins - 如果环境变量包含特定子字符串,则执行一个阶段