private void requestGetService(String reqURL, Map<String, String> params, String authId, String authPass) throws IOException {

 

        StringBuffer paramSb = new StringBuffer();

        Iterator<String> paramIter = params.keySet().iterator();

        String key = null;

        String value = null;

        int pCnt = 0;

        while (paramIter.hasNext()) {

            key = paramIter.next().toString();

            value = params.get(key).toString();

            if (pCnt > 0)

                paramSb.append("&");

            paramSb.append(key + "=" + value);

            pCnt++;

        }

 

        URL url = new URL(reqURL + "?" + paramSb.toString());

        HttpURLConnection conn = (HttpURLConnection) url.openConnection();

        conn.setDoInput(true);

        conn.setRequestMethod("GET");   

        conn.setUseCaches(false);   

        conn.setDefaultUseCaches(false);

        

        if (authId != null && authPass != null) {

            String encodedAuth = "Basic " + Base64Util.encode(authId + ":" + authPass);

            conn.setRequestProperty("Authorization", encodedAuth);

        }

 

        BufferedReader brin = new BufferedReader(new InputStreamReader(conn.getInputStream()));

        String resStr = null;

        StringBuffer resStrBuff = new StringBuffer();

        try {

            while ((resStr = brin.readLine()) != null) {

                resStrBuff.append(resStr);

            }

        } finally {

            if (brin != null) {

                brin.close();

                brin = null;

            }

            conn = null;

            url = null;

            resStr = null;

        }

 

        System.out.println("[requestUrlGet()]"+resStrBuff);

    }

 

 

위 함수의 사용법

 

    String reqURL = "http://[도메인]:[포트]/jenkins/job/[Job이름]/buildWithParameters";

    String authId = "사용자ID";

    String authPass = "사용자비번"; 

    Map<String, String> params = new HashMap<String, String>();

    params.put("token", "생성토큰");

    params.put("param1", "value1");

    params.put("param2", "value2");

    this.requestGetService(reqURL, params, authId, authPass);

 

 

참고로 REST API 이외에도 Java Library도 있다 (필요성을 못느껴 아직 분석전)

URL :: https://www.jenkins.io/doc/book/using/remote-access-api/

번호 제목 글쓴이 날짜 조회 수
29 최신 Gradle User Manual 황제낙엽 2023.11.16 54
28 Gradle 을 Groovy 에서 Kotlin으로 마이그레이션 file 황제낙엽 2023.11.16 73
27 [2014~2015] gradle 영문 튜토리얼 (Getting Started With Gradle) 황제낙엽 2023.07.13 765
26 [Intellij, Spring Boot, Lombok, Gradle] 프로젝트에 lombok 추가 file 황제낙엽 2023.07.12 74
25 Maven 프로젝트를 Gradle로 변경하기 file 황제낙엽 2023.07.12 92
24 Maven, Gradle 의 비교와 Gradle + Eclipse에서 gradle의 빌드가 안될때 황제낙엽 2023.07.11 162
23 Jenkins 백업 (Thinbackup) file 황제낙엽 2021.07.22 173
22 Jenkins Restful API로 Job 과 Build 정보 조회 황제낙엽 2020.09.02 158
21 Jenkins+TFS 연동 예제 황제낙엽 2020.09.01 156
» [Jenkins] Java Sample with Jenkins Restful API 황제낙엽 2020.08.12 264
19 Jenkins의 Restful API file 황제낙엽 2020.08.11 149
18 jenkins에서 tfs에 접속하여 브랜치와 변경집합으로 소스를 다운로드하는 예제 황제낙엽 2020.08.11 153
17 (Jenkins) Application Server의 Continuous Integration 구성의 필요성 file 황제낙엽 2020.05.20 105
16 Nexus Repository 황제낙엽 2020.05.20 77
15 Jenkins Rest API 사용기 file 황제낙엽 2020.03.26 965
14 Ant 로 Java Application 실행시 Target 에 파라미터를 입력하여 Arguments 로 전달하여 실행시키기 file 황제낙엽 2012.06.05 2312
13 ANT에서 Classpath 설정시 순서 주의 황제낙엽 2010.07.10 473
12 Ant에서 "${java.class.path}"이 의미하는바 황제낙엽 2010.07.10 127
11 ANT 를 이용한 RMI 컴파일 ( rmic 로 stub 생성하기 ) 황제낙엽 2010.05.26 124
10 [Maven] 로컬 레파지터리에 사용자 jar 추가하기 file 황제낙엽 2010.04.20 295