피드로 돌아가기
Jenkins Has a Free API: Here's How to Use It for CI/CD Automation
Dev.toDev.to
DevOps

Jenkins REST API를 활용해 HTTP 호출만으로 빌드 트리거·상태 조회·잡 생성을 자동화하고 실시간 대시보드 구축

Jenkins Has a Free API: Here's How to Use It for CI/CD Automation

Alex Spinov2026년 3월 28일6intermediate

Context

Jenkins는 CI/CD 서버로서 광범위한 기능을 제공하지만 REST API는 대부분의 팀이 간과하고 있다. 수동으로 Jenkins UI에 접근해 빌드를 트리거하거나 상태를 확인하는 반복 작업이 발생한다.

Technical Solution

  • Jenkins REST API를 통한 빌드 트리거: 기본 /job/{job_name}/build 엔드포인트 및 buildWithParameters로 파라미터 전달
  • Python requests 라이브러리 기반 JenkinsClient 클래스 구현: get_jobs(), get_build_info(), trigger_build(), get_console_output(), wait_for_build() 메서드 제공
  • Slack/GitHub 웹훅과 연동: 외부 이벤트 기반 빌드 자동 트리거 및 결과 알림
  • 파이프라인 잡 자동 생성: XML 설정을 /createItem 엔드포인트로 POST하여 Git 리포지토리 및 Jenkinsfile 경로 설정
  • 빌드 상태 대시보드 구축: 모든 잡의 최종 빌드 결과, 실행 시간, 타임스탬프를 테이블 형식으로 표시

Impact

한 개발팀이 200개 이상의 Jenkins 잡을 대상으로 REST API 기반 대시보드를 구축해 "빌드가 깨졌는가?" 관련 질문을 80% 감소시켰다.

Key Takeaway

Jenkins REST API는 단순 HTTP 인터페이스로 빌드 자동화, 모니터링, 잡 생성을 통합할 수 있으며, 외부 도구(Slack, GitHub, 커스텀 스크립트)와의 연동으로 완전 자동화된 CI/CD 워크플로우를 구성 가능하다.


200개 이상의 Jenkins 잡을 운영하는 팀에서 JenkinsClient 클래스를 통해 빌드 상태 실시간 대시보드와 자동 대기(wait_for_build) 메커니즘을 구축하면, UI 접근 빈도를 줄이고 의존 파이프라인 자동 트리거로 배포 시간을 단축할 수 있다.

원문 읽기