簡體   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