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 사용하기
- API Token 발급
사용자정보 > 설정 > API Token 메뉴에서 Token 정보를 얻을 수 있습니다.
- 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
- Job 생성
- URL 생성 규칙
- 결과 파싱
XML/JSON/Python Ojbect로 결과를 받을 수 있습니다.
결과정보를 읽어 적절하게 HTML로 렌더링하면 깔끔한 결과 화면을 만들 수도 있습니다.
Chrome Plugin인 POSTMAN으로 테스트 해 보기
JSON 타입 예
참고
- https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API
- https://wiki.jenkins-ci.org/display/JENKINS/Authenticating+scripted+clients
'Tool > Jenkins' 카테고리의 다른 글
Jenkins 2.0 에서 Security 설정 초기화하기 (0) | 2016.06.22 |
---|---|
Jenkins2.0 무엇이 달라졌는가? (0) | 2016.06.22 |
Jenkins Custom Plugin UpdateSite 등록하기 (0) | 2016.06.22 |
Jenkins 2.0 무작정 따라하기 (0) | 2016.06.22 |