24장. JIRA
생산자 및 소비자 모두 지원
JIRA 구성 요소는 JIRA 용으로 Atlassian의 REST Java Client를 캡슐화하여 JIRA API와 상호 작용합니다. 현재 새로운 문제와 새로운 의견에 대한 폴링을 제공하고 있습니다. 또한 새 문제를 생성하고, 주석을 추가하고, 문제를 변경하고, 감시자를 추가/제거하고, 첨부 파일을 추가하고, 문제 상태를 전환할 수 있습니다.
Webhook 대신 이 엔드포인트는 간단한 폴링에 의존합니다. 이유는 다음과 같습니다.
- 신뢰성/안전성 관련 문제
- 폴링하고 있는 페이로드 유형은 일반적으로 크지 않습니다(더하기, 페이징을 API에서 사용할 수 있음)
- 웹 후크가 실패하는 경우 공개적으로 액세스할 수 없는 위치에서 실행되는 앱을 지원할 필요가 있습니다.
JIRA API는 상당히 확장되어 있습니다. 따라서 추가 상호 작용을 제공하기 위해 이 구성 요소를 쉽게 확장할 수 있습니다.
Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml에 추가해야 합니다.
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-jira</artifactId> <version>${camel-version}</version> </dependency>
24.1. URI 형식
jira://type[?options]
JIRA 유형은 다음 작업을 허용합니다.
소비자의 경우:
- newIssues: 경로가 시작된 후 새 문제만 검색합니다.
- newComments: 경로가 시작된 후 새 주석만 검색합니다.
- watchUpdates: 제공된 jql을 기반으로 업데이트된 필드/issues만 검색
생산자의 경우:
- addIssue: 문제 추가
- addComment: 지정된 문제에 대한 주석을 추가합니다.
- 첨부 파일: 지정된 문제에 첨부 파일 추가
- deleteIssue: 지정된 문제 삭제
- updateIssue: 지정된 문제의 업데이트 필드
- transitionIssue: 지정된 문제의 상태를 전환
- 감시자: 지정된 문제의 감시자를 추가/제거
Jira를 완전히 사용자 정의할 수 있으므로 프로젝트 및 워크플로에 대한 필드 ID가 서로 다른 Jira 서버 간에 변경될 수 있으므로 해당 필드 ID가 있는지 확인해야 합니다.