정지용
기술스택 목록
도구

Jira REST API

프로젝트 1에서 사용했습니다. 각 프로젝트에서 어떤 역할로 썼는지 아래에 정리했습니다.

이 기술은 무엇인가요?

이슈 조회·생성·상태 변경을 API 호출로 자동화하는 Jira 연동 인터페이스

Jira REST API는 Atlassian의 이슈 트래커인 Jira의 데이터와 기능을 HTTP 요청으로 다룰 수 있게 해주는 인터페이스다. 웹 UI에서 사람이 클릭으로 처리하던 이슈 검색, 생성, 상태 전환, 필드 수정, 코멘트 작성 등을 프로그램이 대신 수행하도록 만들어졌다. 이를 통해 CI/CD 파이프라인, 챗봇, 다른 협업 툴 등 외부 시스템이 Jira와 데이터를 주고받는 자동화 워크플로우를 구성할 수 있다.

이럴 때 사용합니다

  • Jira 이슈 상태나 라벨을 특정 조건에 따라 자동으로 갱신하고 싶을 때
  • 여러 개발 도구(코드 저장소, CI, 배포 시스템)와 Jira 이슈를 연결해야 할 때
  • 정해진 조건의 카드만 골라 대량으로 조회·처리하는 배치 작업이 필요할 때
  • Jira UI 없이 스크립트나 챗봇으로 이슈를 생성·조회하고 싶을 때

핵심 개념

Issue
Jira에서 다루는 작업 단위(예: 카드, 티켓)로, 이 API의 핵심 대상 리소스다.
JQL (Jira Query Language)
SQL과 유사한 문법으로 이슈를 검색·필터링하는 쿼리 언어이며, 검색 엔드포인트에 조건으로 전달된다.
Transition
이슈의 상태(예: To Do → In Progress → Done)를 워크플로우 규칙에 따라 이동시키는 동작이다.
Field
이슈가 가진 속성(제목, 라벨, 담당자, 커스텀 필드 등)으로, 요청 시 값을 읽거나 수정하는 단위다.
Authentication Token
API 요청을 인증하기 위해 사용하는 API 토큰이나 OAuth 자격 증명으로, 계정 비밀번호 대신 사용된다.
Webhook
이슈 생성·변경 등 이벤트가 발생했을 때 외부 시스템에 알림을 보내 반대 방향(Jira→외부)의 연동을 가능하게 한다.

특정 상태의 이슈를 JQL로 검색하기

라벨과 상태 조건을 JQL로 지정해, 자동화 대상이 되는 이슈 목록을 조회하는 요청이다.

Shell
curl -X GET \
  -H "Authorization: Basic BASE64_ENCODED_CREDENTIALS" \
  -H "Content-Type: application/json" \
  "https://your-domain.atlassian.net/rest/api/3/search?jql=status=%22To%20Do%22%20AND%20labels=%22auto-build%22"

처음 쓸 때 흔한 함정

  • 상태를 바로 바꿀 수 없고, 워크플로우에 정의된 transition ID를 통해서만 변경 가능하다
  • 커스텀 필드는 사람이 읽는 이름이 아니라 customfield_XXXXX 형태의 내부 ID로 접근해야 한다
  • 요청 빈도가 높으면 API 호출 제한(rate limit)에 걸려 일시적으로 요청이 거부될 수 있다

위 개요는 기술 학습을 돕기 위해 자동 생성된 일반 설명입니다. 정확한 사양과 최신 정보는 공식 문서를 확인하세요.

프로젝트별 활용 방식

위 개념이 실제 프로젝트에서 어떻게 쓰였는지 보여줍니다.

함께 사용한 기술

위 프로젝트들에서 같이 쓰인 다른 기술입니다.