티스토리 뷰

Tool/Jenkins

Jenkins Rest API 사용기

Tomining 2016. 9. 5. 22:44
CI 빌드에서 아래와 같은 정보들을 확인하고 있습니다.
  • TestCase 수행결과
  • CheckStyle
  • klockwork
  • Clover Code Coverage

이 외에도 많은 정보들이 있을 수 있습니다.
이런 정보들을 매일 취합하여 메일로 발송해 주는 기능을 만들면서 Jenkins REST api를 사용해 보고 정리해 보았습니다.

Jenkins REST api란?

jenkins를 관리할 수 있는 기능을 제공하는 api입니다.
  • Job 생성/수정/삭제
  • Job 수행 및 결과 조회
  • Jenkins Plugin이 제공하는 결과 조회

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

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

API 사용하기

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



  2. 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

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


Chrome Plugin인 POSTMAN으로 테스트 해 보기


JSON 타입 예





참고


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함