1. 개요
1.1. 자동화 (Automation)란 무엇인가요?
Jira Cloud의 자동화 (Automation)란, 반복적인 작업과 프로세스를 일일이 수작업으로 진행하는 대신에 자동화를 통해 생산성을 향상시키는 기능입니다. 코드가 필요하지 않은 간단한 규칙 작성기에서 트리거, 조건, 액션을 조합하여 원하는 자동화 규칙을 쉽게 생성할 수 있습니다. 이를 통해 이슈 업데이트, 알림 발송, 데이터 동기화 등의 작업을 자동으로 수행할 수 있습니다.
자동화 규칙은 프로젝트 수준이나 전역적 수준에서 설정할 수 있기에 유연한 관리가 가능합니다. 이러한 자동화 기능은 사람이 일일이 작업하는 데서 발생하는 오류를 줄이고 시간을 절약하여 팀의 효율성을 높여줍니다.
자동화는 현재 Jira Cloud 및 Confluence Cloud에서 사용할 수 있습니다.
1.2. 자동화 규칙의 핵심 요소
자동화 규칙은 규칙을 시작하는 트리거, 규칙을 구체화하는 조건, 그리고 사이트에서 작업을 수행하는 동작 등의 세 가지 부분으로 이루어져 있습니다.
트리거, 조건 및 동작은 자동화를 구성하는 요소입니다. 이러한 요소를 함께 사용하여 오래된 이슈를 자동으로 닫거나, 릴리스가 출시됐을 때 특정 팀에 알리는 등 모든 것을 할 수 있는 규칙을 만드세요.
시작하는 데 도움이 되는 자동화 템플릿은 제품 라이브러리에서 찾을 수 있습니다.
자동화 템플릿 라이브러리에서는 사용하고 배울 수 있는 자동화 템플릿 및 가이드를 더 많이 찾아볼 수 있습니다.
1.2.1. 트리거
모든 규칙은 트리거로 시작됩니다. 트리거는 규칙의 실행을 시작합니다. 트리거는 Jira에 이슈를 만들거나 필드 값을 변경하는 것과 같은 이벤트의 수신을 대기합니다. Bitbucket 또는 GitHub과 같은 타사 서비스에서 실행할 규칙을 트리거할 수도 있습니다.
트리거는 설정하거나 예약한 조건에 따라 수동으로 실행하도록 설정할 수 있습니다.
1.2.2. 조건
조건을 사용하면 규칙의 범위를 좁힐 수 있습니다. 규칙을 계속 실행하려면 조건이 충족되어야 합니다. 예를 들어, 이슈의 우선 순위가 높은 경우에만 에스컬레이션하도록 규칙을 설정할 수 있습니다.
조건이 충족되지 않으면 규칙이 실행 중지되고 조건에 뒤따르는 동작이 수행되지 않습니다.
1.2.3. 동작
동작은 규칙의 실행입니다. 동작을 사용하면 작업을 자동화하고 사이트 내에서 여러 가지를 변경할 수 있습니다. 동작을 통해 이슈 편집, 알림 전송 또는 하위 작업 만들기와 같은 여러 작업을 수행할 수 있습니다.
1.3. 브랜치란 무엇인가요?
Jira의 이슈가 혼자 고립된 상태로 있는 (즉, 어떠한 관계도 설정되지 않은 채 존재하는) 경우는 기본적으로 없습니다. 이슈는 하위 작업을 포함하거나, 대규모 에픽에 속한 스토리이거나, 특정 관계의 구성을 통해 다른 이슈에 연결되어 있는 경우가 일반적이기 때문입니다. 따라서 자동화를 사용할 때는 규칙을 트리거한 해당 이슈뿐만 아니라 관련된 모든 이슈에 동작을 적용해야 하는 경우가 많습니다. 이럴 때, Jira Automation에서 브랜치는 특정 조건에 맞는 관련 이슈들에 대해 동작을 수행할 수 있게 합니다.
일반적인 브랜치 유형으로는 "현재 이슈", "링크된 이슈", "JQL 결과", "하위 작업" 등이 있습니다. 브랜치를 사용하면 이슈 집합을 순회하며 각 이슈에 대해 개별적인 동작을 적용할 수 있습니다.
복잡한 이슈 관계 전반에서 작동하는 강력한 규칙을 만들기 위해 특별한 조건과 동작을 사용할 수 있습니다. 예를 들어, 상위 이슈의 모든 하위 작업이 해결되었는지 확인할 수 있습니다.
관련 이슈를 작업하는 방법에 대해 자세히 알아보기 (영문)
1.4. 스마트 값이란 무엇인가요?
스마트 값을 사용하면 사이트 내의 광범위한 이슈 데이터, 예를 들면 이슈 필드, 댓글, 첨부 파일 등의 속성에 접근하여 이들을 조작할 수 있습니다. 이를 통해 메시지를 개인화하거나 필드를 동적으로 업데이트하는 등 다양한 작업이 가능합니다. 또한, 스마트값을 사용하면 자동화된 알림이나 보고서에 실시간 데이터를 반영할 수 있습니다.
예를 들어, 스마트 값 {{now.plusDays(5)}}
는 현재 시각을 참조하여 5일을 더하며, {{issue.summary}}
는 이슈의 요약을 인쇄합니다.
스마트 값을 사용하는 방법에 대해 자세히 알아보기 (영문)
1.5. 규칙 실행자 (rule actor)란 무엇인가요?
규칙 실행자 (rule actor)는 자동화 규칙이 실행될 때 동작을 수행하는 사용자 계정입니다. 이 사용자는 규칙을 트리거할 관련 권한이 필요하며 수행할 수 있는 동작을 모두 완료할 수 있어야 합니다. 예를 들어, 규칙을 실행했을 때 이슈에 댓글을 작성하는 규칙을 만든 경우, 규칙 실행자는 댓글 추가 권한이 있어야 합니다. 그렇지 않으면 규칙 실행 시 오류가 발생합니다.
기본적으로 자동화 규칙은 "Automation for Jira"라는 시스템 사용자로 실행됩니다. 하지만 이제 자동화 규칙의 규칙 실행자를 변경할 수 있습니다.
Automation for Jira 대신 다른 계정을 통해 실행하는 방법에 대해 자세히 알아보기 (영문)
1.6. 규칙 상태란 무엇인가요?
자동화 규칙의 상태를 확인하여 규칙이 현재 활성화되었는지 식별할 수 있습니다. 규칙이 비활성화되어 있는 경우, 활성화되기 전까지 실행되지 않습니다. 규칙의 상태는 세부 정보 화면에서 확인할 수 있습니다.
사용은 규칙이 현재 활성화된 상태임을 뜻합니다.
사용 안 함은 규칙을 현재 사용하지 않음을 뜻합니다.
초안은 규칙에 게시되지 않은 변경 사항이 있음을 뜻합니다.
1.7. 감사 로그란 무엇인가요?
각 규칙에는 감사 로그가 있어서 규칙이 트리거된 시기, 실행의 최종 결과 및 수행된 가능성이 있는 모든 동작을 확인할 수 있습니다.
개별 규칙의 감사 로그를 프로젝트 전반 또는 전역 수준으로 확인할 수 있습니다. 감사 로그 확인은 규칙을 디버깅하는 데에 효과적입니다.
2. 직접 해보기
2.1. 상위 이슈를 자동으로 전환
(해결되지 않은 하위 작업이 더 없는 경우)
‘이슈가 전환됨’ 트리거를 사용합니다. 이 트리거를 사용하면 이슈가 한 상태에서 다른 상태로 전환될 때 규칙이 실행됩니다. 이슈가 완료로 전환될 때 응답하도록 하려면 이 트리거를 설정합니다.
이슈 유형이 하위 작업인지 확인하는 이슈 필드 조건을 규칙에 추가합니다. 규칙을 트리거한 이슈가 하위 작업이 아닌 경우 규칙이 실행 중지됩니다.
관련 이슈 유형으로 상위를 선택하여 규칙을 분기합니다. 이는 규칙을 트리거한 이슈의 상위 이슈에 대해 다음 조건 및 작업이 수행된다는 의미입니다.
하위 작업이 상태 = 완료와 일치하는지 확인하기 위해 관련 이슈 조건을 규칙에 추가합니다. 그러면 상위 이슈의 모든 하위 작업이 완료 상태라는 것을 확인할 수 있습니다.
마지막으로, 상위 이슈의 상태가 완료로 변경되도록 이슈 전환 작업을 설정 및 구성합니다.
규칙에 이름을 지정하고 규칙을 켭니다.
2.2. 하위 작업이 상위 작업에서 값을 상속받을 수 있도록 설정
‘필드 값이 변경됨’ 트리거를 사용합니다. 이 트리거를 사용하면 선택한 필드의 값이 변경될 때 규칙을 실행할 수 있습니다. 수정 버전 필드를 모니터링하려면 이 트리거를 설정합니다.
관련 이슈 유형으로 하위 작업을 선택하여 규칙을 분기합니다. 이는 규칙을 트리거한 이슈의 하위 작업에 대해 다음 조건 및 작업이 수행된다는 의미입니다.
수정 버전 필드를 설정하려면 상위 이슈의 값을 복사하여 이슈 편집 동작을 설정하고 구성합니다.
규칙에 이름을 지정하고 규칙을 켭니다.
2.3. 팀에 이슈를 자동으로 할당
팀에서 할당되지 않은 이슈를 어떻게 처리하고 계신가요? 이러한 이슈는 엔지니어의 재량에 맡기는 경우가 많은데, 이렇게 하면 할당되지 않은 이슈 중 일부가 누락될 수 있습니다.
규칙에 대한 트리거 및 자동으로 할당할 이슈를 정의하기 위해 구성하고자 하는 조건을 선택합니다.
이슈 할당 동작을 사용합니다. 이 동작을 사용하면 여러 상황에 이슈를 쉽게 할당할 수 있습니다.
정의된 목록의 사용자에게 이슈를 할당하는 동작을 설정합니다. 그러면 여러 사용자를 지정할 수 있고 이 동작으로 이들 중에서 담당자가 선택됩니다.
업무량을 고르게 분산하여 담당자를 선택하는 방법을 설정합니다. 그러면 미결 이슈가 가장 적게 할당된 사용자에게 이슈가 할당됩니다.
사용자 목록에서 팀원을 검색하고 선택합니다.
저장을 선택하여 동작을 적용한 후 규칙에 이름을 지정하고 켜기를 선택합니다.
2.4. 작업 예약
작업을 자동으로 예약하면 팀의 수동 작업이 줄어들 뿐만 아니라, 워크플로의 일관성과 신뢰성이 보장됩니다. 예를 들어, 고객이 이슈에 대한 지원 엔지니어의 질문에 응답하지 않은 경우, 고객에게 자동으로 알림을 전송하고 활동이 없는 이슈를 일시적으로 종료하는 규칙을 구성할 수 있습니다.
예약 트리거를 사용합니다. 드롭다운 필터를 사용하여 규칙의 적절한 시간 및 케이던스를 설정합니다.
이슈에 댓글 달기 동작을 추가하여 활동이 없어서 이슈가 자동으로 종료되었음을 고객에게 알립니다.
이슈의 상태가 해결됨으로 변경되도록 이슈 전환 작업을 설정 및 구성합니다.
규칙에 이름을 지정하고 규칙을 켭니다.
2.5. 미해결 Jira 이슈를 알리는 일일 Slack 메시지 보내기
2.6. 개발 도구(Bitbucket, Github, Gitlab)와 통합
개발 프로세스를 자동화할 수 있도록 Automation은 소스 코드 관리 도구와 통합됩니다.
2.7. 풀 리퀘스트가 병합될 때 관련 이슈 전환
‘풀 리퀘스트가 병합됨’ 트리거를 사용합니다. 이 트리거를 사용하면 풀 리퀘스트가 리포지토리에 병합될 때 규칙이 실행됩니다.
If/else 블록 조건을 추가합니다. 이 조건을 사용하면 조건이 일치하는지 여부에 따라 대체 동작을 수행할 수 있습니다.
If 블록에서 관련 이슈 조건을 추가 및 구성하여 플래그가 지정된 링크 유형 기능이 있는 연결된 이슈가 있는지 확인합니다.
이슈의 상태가 롤아웃 중으로 변경되도록 이슈 전환 동작을 설정 및 구성합니다.
Else 블록에서 이슈의 상태가 완료로 변경되도록 이슈 전환 동작을 설정 및 구성합니다.
규칙에 이름을 지정하고 규칙을 켭니다.
2.8. 커밋이 만들어지면 팀원에게 알리기
‘커밋이 만들어짐’ 트리거를 사용합니다. 이 트리거를 사용하면 소스 코드 관리 도구에서 커밋을 만들 때 규칙이 실행됩니다.
사용자 조건을 추가 및 구성하여 담당자가 John인지 Nicole인지 확인합니다.
메시지가 팀의 채널로 전송되어 커밋에 대해 알리도록 Slack 메시지 전송 동작을 설정 및 구성합니다.
규칙에 이름을 지정하고 규칙을 켭니다.