Jenkins Jenkins Rest API 사용기

황제낙엽 2020.03.26 13:15 조회 수 : 1257

위와 같은 정보들을 XML, Json, Python Object 형태로 제공합니다.

자세한 사항은 Jenkins dashboard에서 우측하단에 존재하는 REST API 링크를 통해 확인 할 수 있습니다.

API 사용하기

    API Token 발급
    사용자정보 > 설정 > API Token 메뉴에서 Token 정보를 얻을 수 있습니다.

 

253E913F57CD76A015.png

 



    API url 호출
    기본적인 URL 형식은 아래와 같습니다.
    http://[jenkins url]/[원하는 경로]/[api]/[Action]?[Condition]

        URL 생성 규칙
            Job 생성
            [POST] http:// [jenkins url] / jenkins / createItem ? name=JOBNAME

            Job 조회
            [GET] http:// [jenkins url] / jenkins / job / JOBNAME / api / json

            Job 빌드 수행
            [POST] http:// [jenkins url] / jenkins / job / JOBNAME / build

            Job 빌드 결과 조회
            [GET] http:// [jenkins url] / jenkins / job / JOBNAME / [build number] / api / json

            Job 빌드 결과 조회 - 마지막 성공 빌드
            [GET] http:// [jenkins url] / jenkins / job / JOBNAME / lastStableBuild / api / json

            Jenkins Plugin 결과 조회
            [GET] http:// [jenkins url] / jenkins / job / JOBNAME / lastStableBuild / cobertura / api / json
            [GET] http:// [jenkins url] / jenkins / job / JOBNAME / lastStableBuild / checkstlyaresult / api / json
            [GET] http:// [jenkins url] / jenkins / job / JOBNAME / lastStableBuild / testReport / api / json

    결과 파싱
    XML/JSON/Python Ojbect로 결과를 받을 수 있습니다.
    결과정보를 읽어 적절하게 HTML로 렌더링하면 깔끔한 결과 화면을 만들 수도 있습니다.



Chrome Plugin인 POSTMAN으로 테스트 해 보기
2303424357CD76A113.png

 



JSON 타입 예

2253753557CD76A30A.png

 

* References

https://jenkins.io/doc/
https://wiki.jenkins.io/display/JENKINS/Remote+access+API
https://wiki.jenkins.io/display/JENKINS/Authenticating+scripted+clients

 

 

 

* Java 코드 샘플 (출처 : sitelink2)

- Main.java

- SecuredMain.java

 

 

번호 제목 글쓴이 날짜 조회 수
49 GitHub, SourceTree, Gradle, Eclipse 환경의 java project 생성하기 절차 황제낙엽 2025.08.26 252
48 eclipse 용 gradle web application project (no spring) 생성하기 황제낙엽 2025.05.04 317
47 라이브러리 개발 프로젝트에서 jar 로 build 후 파일을 특정 로컬 경로로 copy 하는 예제 황제낙엽 2025.02.07 294
46 [Gemini] gradle init 으로 프로젝트 생성하는 절차 내용 황제낙엽 2025.01.24 344
45 [ChatGPT] eclipse 의 web project 에서 gradle refresh 때마다 context root 가 초기화 황제낙엽 2024.11.14 375
44 Gretty, Jetty 에서 ssl 적용 황제낙엽 2024.11.12 414
43 [ChatAI] Gradle Wrapper의 버전을 업그레이드하는 절차 황제낙엽 2024.11.12 458
42 eclipse 용 gradle web application sample project (no spring) file 황제낙엽 2024.11.12 374
41 [phind] Gradle 프로젝트를 생성할 때 nested sub project 가 함께 생성되는 이유 황제낙엽 2024.11.12 362
40 IDE(IntelliJ, Android Studio, Eclipse) 에서 build.gradle 에 dependencies 추가후 의존 라이브러리 갱신하기 황제낙엽 2024.10.30 379
39 [POST, 2021.06.28] Gradle을 이용해 Web 어플리케이션을 만들고 빌드하고 실행하기 file 황제낙엽 2023.12.30 330
38 build.gradle 의 dependencies 황제낙엽 2023.12.29 327
37 error: unmappable character 황제낙엽 2023.12.29 326
36 Task :compileJava FAILED 황제낙엽 2023.12.29 349
35 사용자 라이브러리 파일(*.jar) 를 의존성에 추가하는 방법 황제낙엽 2023.12.28 361
34 Windows 에 Gradle 설치 황제낙엽 2023.12.23 347
33 Eclipse, Gradle 프로젝트 생성, Dynamic Web Project 로 변경 황제낙엽 2023.12.23 362
32 Eclipse 에서 Gradle Project 를 WAR 로 배포하기 황제낙엽 2023.12.01 538
31 Eclipse 에서 생성한 Gradle Project 를 리프레쉬 했을때 주의할 점 황제낙엽 2023.11.30 1532
30 Gradle 기본 다지기 1편 file 황제낙엽 2023.11.16 244