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/

번호 제목 글쓴이 날짜 조회 수
27 [2014~2015] gradle 영문 튜토리얼 (Getting Started With Gradle) 황제낙엽 2023.07.13 745
26 [Intellij, Spring Boot, Lombok, Gradle] 프로젝트에 lombok 추가 file 황제낙엽 2023.07.12 53
25 Maven 프로젝트를 Gradle로 변경하기 file 황제낙엽 2023.07.12 62
24 Maven, Gradle 의 비교와 Gradle + Eclipse에서 gradle의 빌드가 안될때 황제낙엽 2023.07.11 83
23 Jenkins 백업 (Thinbackup) file 황제낙엽 2021.07.22 143
22 Jenkins Restful API로 Job 과 Build 정보 조회 황제낙엽 2020.09.02 141
21 Jenkins+TFS 연동 예제 황제낙엽 2020.09.01 141
» [Jenkins] Java Sample with Jenkins Restful API 황제낙엽 2020.08.12 195
19 Jenkins의 Restful API file 황제낙엽 2020.08.11 133
18 jenkins에서 tfs에 접속하여 브랜치와 변경집합으로 소스를 다운로드하는 예제 황제낙엽 2020.08.11 136
17 (Jenkins) Application Server의 Continuous Integration 구성의 필요성 file 황제낙엽 2020.05.20 93
16 Nexus Repository 황제낙엽 2020.05.20 66
15 Jenkins Rest API 사용기 file 황제낙엽 2020.03.26 944
14 Ant 로 Java Application 실행시 Target 에 파라미터를 입력하여 Arguments 로 전달하여 실행시키기 file 황제낙엽 2012.06.05 2226
13 ANT에서 Classpath 설정시 순서 주의 황제낙엽 2010.07.10 451
12 Ant에서 "${java.class.path}"이 의미하는바 황제낙엽 2010.07.10 120
11 ANT 를 이용한 RMI 컴파일 ( rmic 로 stub 생성하기 ) 황제낙엽 2010.05.26 114
10 [Maven] 로컬 레파지터리에 사용자 jar 추가하기 file 황제낙엽 2010.04.20 281
9 Maven 툴을 이용한 효율적인 프로젝트 관리 방안 황제낙엽 2007.01.30 212
8 Jakarta Ant II탄 상세편 황제낙엽 2007.01.24 113