[英]Perl script for creating a new job and configuring it in Jenkins
我需要一个Perl脚本,通过它可以创建新作业并通过在脚本中提供参数来对其进行配置。 我已经通过脚本成功登录了詹金斯。 如何考虑登录页面的响应并向服务器提出新请求?
因为通过使用
$request->url("$jenkins_url"); # 1st time for login
$request->url("$jenkins_url/view/All/newJob/"); # 2nd time for new job
$response = $browser->request($request);
多次(一次登录和第二次创建新作业),则第二次出现404错误。
我应该考虑使用cookie吗? 在这种情况下,我该怎么办?
我认为您需要查看Jenkins的CLI文档 。
CLI是Jenkins的标准配置,可从以下URL获得:
<jenkins_url>/cli/
您可以通过命令行工具访问Jenkins中的各种功能。 有关此功能的更多详细信息,请参见Wiki。 首先,下载jenkins-cli.jar,并按如下所示运行它:
java -jar jenkins-cli.jar -s http://localhost:8080/ help
具体来说,您需要下载JAR文件(从链接)并使用系统命令将Perl连接到Jenkins:
<jenkins_url>/cli/command/create-job
如果您将浏览器指向该浏览器,它将向您提供说明。
java -jar jenkins-cli.jar -s http:// localhost:8080 /创建工作名称
通过读取stdin作为配置XML文件来创建新作业。NAME : Name of the job to create
运行Groovy脚本的工作示例
use strict; use warnings;
my $cmd = 'java -jar jenkins-cli.jar -s http://localhost:8080/jenkins groovy =';
my $groovy = "
['a','b','c'].each{
println it
}
";
open F, " | $cmd" || die "cannot open pipe: $!\n";
print F $groovy;
close F;
'='等待Groovy在STDIN上发送。 随打印一起发送。
关闭文件(F)将发送EOF,因此CLI将处理该脚本。
我的Jenkins服务器在localhost:8080/jenkins
。
如果您需要更多控制(例如收集输出),则可以使用|-
,如双向处理其他过程中所述
通过使用jenkins-CLI,您可以配置新作业。 但是为此,您需要一个XML文件。 没有XML文件,就无法创建新作业。
Perl代码可在Jenkins中创建新工作:
system('java -jar jenkins-cli.jar -s http://localhost:8080/ create-job job_name < "path to xml file"');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.