繁体   English   中英

是否可以从Powershell或Bash或Groovy脚本执行Jenkins作业?

[英]Is it possible to execute Jenkins jobs from Powershell or Bash or Groovy scripts?

我已经分开了相当小的詹金斯工作。

现在,我需要配置另一个作业,该作业将根据用户参数的选择(可能通过复选框选择?)将执行其中的一些任务。

我想从Powershell或Bash或Groovy脚本启动它们。 可能吗?

如果在Postbuild / pipeline步骤中使用Groovy,则可以通过Jenkins API来启动作业。

例如,对于无参数构建,如下所示:

import hudson.model.*
Jenkins.instance.getItem("My Job").scheduleBuild(5)

对于参数化构建,如下所示:

import hudson.model.*
Jenkins.instance.getItem("My Job").scheduleBuild( 5, new Cause.UpstreamCause( currentBuild ), new ParametersAction([ new StringParameterValue( "My Parameter Name", "My Parameter Value" ) ]));

您还可以使用Jenkins Rest API进行其余工作。 例如,通过点击以下URL:

参:

curl -X POST JENKINS_URL/job/JOB_NAME/build

参数:

curl -X POST JENKINS_URL/job/JOB_NAME/buildWithParameters?MyParameterName=MyParameterValue

样品:

import hudson.model.*
def actions=[]
  def plist=[ ];
  ["ok":"ok","label":"master"].each {k,v->    
    plist << new hudson.model.StringParameterValue(k,"$v","");
  }
actions.add(new hudson.model.ParametersAction(plist));
def future = Jenkins.instance.getItemByFullName("samples/testPipeline").scheduleBuild2(0,actions as hudson.model.Action[] );
future.get().getLog()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM