1. 程式人生 > >java呼叫Jenkins介面api

java呼叫Jenkins介面api

                 一直聽說jenkins是自動釋出部署的工具,一直沒有嘗試過!不知道怎麼用使用,今天就自己嘗試了一把!使用jenkins就萌生了自己想用java程式碼直接呼叫,建立job,然後build,這樣的話,如果自己想搭建自動化構建平臺也很方便啊!廢話就不多不說了,直接上程式碼!

package com.jenkins;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URI;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

import com.offbytwo.jenkins.JenkinsServer;

/**
 * @author zhangjinyang
 *
 */
public class App {
    static String url = "http://localhost:8080/jenkins";
    static JenkinsServer server;
    static StringBuilder build = new StringBuilder();
    static String name = "admin";
    static String password = "admin";
    static {
        try {

            server = new JenkinsServer(new URI(url), name, password);
            InputStream in = App.class.getResourceAsStream("config.xml");
            InputStreamReader read = new InputStreamReader(in);
            BufferedReader bufferedReader = new BufferedReader(read);
            String lineTxt = null;
            while ((lineTxt = bufferedReader.readLine()) != null) {
                build.append(lineTxt);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        String jobName = "test-job-" + UUID.randomUUID().toString();
        try {
            //建立job
            server.createJob(jobName, build.toString(), false);
            //自定義屬性
            Map<String, String> map = new HashMap<String, String>();
            map.put("qq", "11111111");
            //開始build
            server.getJob(jobName).build(map);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
對了,還有一個config.xml模板,如果自己做自動釋出平臺的話,模板就用freemarker自己生成自己想要的!目前我這邊只是做測試!具體的還需要你們自己寫!

config.xml

<?xml version='1.0' encoding='UTF-8'?>
<project>
  <actions/>
  <description></description>
  <keepDependencies>false</keepDependencies>
     <properties>
        <hudson.model.ParametersDefinitionProperty>
          <parameterDefinitions>
            <hudson.model.StringParameterDefinition>
              <name>qq</name>
              <description>qqq</description>
              <defaultValue>qqq</defaultValue>
            </hudson.model.StringParameterDefinition>
          </parameterDefinitions>
        </hudson.model.ParametersDefinitionProperty>
      </properties>
  <scm class="hudson.plugins.git.GitSCM" plugin="

[email protected]">
    <configVersion>2</configVersion>
    <userRemoteConfigs>
      <hudson.plugins.git.UserRemoteConfig>
        <url>https://github.com/bingyue/easy-springmvc-maven.git</url>
      </hudson.plugins.git.UserRemoteConfig>
    </userRemoteConfigs>
    <branches>
      <hudson.plugins.git.BranchSpec>
        <name>*/master</name>
      </hudson.plugins.git.BranchSpec>
    </branches>
    <doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
    <submoduleCfg class="list"/>
    <extensions/>
  </scm>
  <canRoam>true</canRoam>
  <disabled>false</disabled>
  <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
  <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
  <triggers/>
  <concurrentBuild>false</concurrentBuild>
  <builders>
    <hudson.tasks.Shell>
      <command>
          echo &quot;hello world!&quot;;
        M3_HOME=/Users/admin/Documents/tool/maven
        PATH=$PATH:$M3_HOME/bin
        JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
        export M3_HOME;
        export PATH;
        export JAVA_HOME;
        echo ${qq};
        mvn clean install -U;
    </command>
    </hudson.tasks.Shell>
  </builders>
  <publishers/>
  <buildWrappers/>
</project>               

相關推薦

java呼叫Jenkins介面api

                 一直聽說jenkins是自動釋出部署的工具,一直沒有嘗試過!不知道怎麼用使用,今天就自己嘗試了一把!使用jenkins就萌生了自己想用java程式碼直接呼叫,建立job,然後build,這樣的話,如果自己想搭建自動化構建平臺也很方便啊!廢話

JAVA 呼叫 jenkins 遠端API

/ Jenkins-client compile group: 'com.offbytwo.jenkins', name: 'jenkins-client', version: '0.3.6' 第二步:寫程式碼 JenkinsServer jenkins = new Jenk

利用java呼叫百度API介面,解析返回的json資料,突破百度API介面呼叫結果的限制

近一段時間的專案的核心是百度API的POI(興趣點)資料,所以需要呼叫百度API資料,下面就來講一下整個流程和遇到的問題及解決辦法。 首先要檢視百度API文件,連結如下:http://lbsyun.baidu.com/index.php?title=webapi 專案中主要用到的是Plac

JAVA呼叫有道API介面對資料庫中的中文語句進行翻譯

今天遇到一個小需求,就是將資料庫中的某個中文欄位翻譯成英文,總共有六百多條,直接只用資料庫update語句和手動翻譯效率很慢。我想這如果可以呼叫有道翻譯API介面將翻譯的語句結合原中文欄位拼接成update語句,最後將update語句做成update指令碼即可一次性全部修改資

Java呼叫百度API實現文字識別-羅紹崗-專題視訊課程

Java呼叫百度API實現文字識別—242人已學習 課程介紹         java呼叫百度AI文字識別SDK來實現一張圖片的文字資訊 課程收益     

Java呼叫百度API實現翻譯-羅紹崗-專題視訊課程

Java呼叫百度API實現翻譯—390人已學習 課程介紹         java呼叫百度API實現中英文翻譯 課程收益     此課程學習後可以反駁領悟

Java呼叫百度API實現翻譯

  教程地址 下面是Java呼叫百度API實現翻譯的具體步驟: 一、在寫程式碼之前先在在百度翻譯平臺中,申請APP_ID   申請地址申請的詳見 點選開啟連結 申請之後,會得到APP_ID和SECURITY_KEY 二、java程式碼如

Java呼叫https介面get方法,無證書

1.工具類 package springmvc.wx.controller.train; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException;

(二)通過JAVA呼叫SAP介面 (增加一二級引數)

(二)通過JAVA呼叫SAP介面 (增加一二級引數) 一、建立sap連線 請參考我的上一篇部落格 JAVA連線SAP 二、測試專案環境準備 在上一篇操作下已經建好的環境後,在上面的基礎上新增類即可 三、原始碼編寫及測試 首先建立用來傳遞資料的實體類SapData,方便直接取出資料進行下

java呼叫http介面並解析返回的json物件

import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import jav

Java 呼叫webservice介面

方法一: //url為wsdl路徑 public static synchronized boolean sendMsgWebservice(String url,String content,String addresseeTel,String userAccount,String passw

java呼叫WebService介面的一種方法,引數為XML的字串

String xmlinfo = "<data>.......</data>";//xml引數 try { String url = "http://******/Server

Java 錯別字檢查介面 API

Java 錯別字檢查介面 API 為了方便廣大程式設計師朋友快速把錯別字檢查功能整合到自己的系統中,我們開發了一個支援HTTP協議的 Java 錯別字檢查介面 API,程式碼放在了 github 上 : https://github.com/textproofreading

Java 呼叫http介面

public static void main(String[] args) throws Exception {        //請求的webservice的url        URL url = new URL("http://");        //建立http連

JAVA 呼叫HTTP介面POST或GET實現方式

package com.yoodb.util; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import org.apac

java呼叫淘寶api例項

SessionKey、AppKey、AppSecret的名詞解釋: 1、當你註冊為淘寶開放平臺的使用者時,就可以建立一個應用: 2、下面的應用的詳細資訊 3、淘寶api查詢的就是該應用下使用的賣家資訊,因為淘寶api主

java 呼叫http介面兩種方式

import java.io.BufferedWriter; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.Input

使用Java呼叫REST介面時設定超時時間

關於在Java中呼叫REST介面,首先來說一下JAX-RS。JAX-RS是JAVA EE6 引入的一個新技術。JAX-RS即Java API for RESTful Web Services,是一個Java 程式語言的應用程式介面,支援按照表述性狀態轉移(REST)架構風格建

JAVA呼叫http介面

程式碼如下:package demo.test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStrea

crf++模型訓練到c++、java呼叫介面

crf模型是個特別好用的模型,做分詞、做ner等nlp工作都力離不開,訓練crf模型用很多工具,比較出名的就是今天要講的crf++,其文件清晰,支援各種語言的介面,本篇blog要講的是c++和java的介面,   這裡java的介面是通過jni呼叫c++實際本質還是c++,不