Jira의 티켓을 끊고, 같은 작업을 Github에서는 issue를 등록해주면서 할일을 관리하고 있었는데, 작업을 하다보니 너무 번거로운 문제가 있었다.
그래서 github action을 이용해서 issue가 생성되면, jira issue도 같이 생성하면 일이 반으로 줄을것 이라고 생각하고 시도해 보게 되었다.
Action Flow는 다음과 같다.
1. Jira 로그인한다.
2. Jira issue를 생성한다.
create_jira_issue.yml
name: Create Jira issue # 1
on: # 2
issues:
types: [opened]
jobs: # 3
create-issue: # 4
name: Create Jira issue # 5
runs-on: ubuntu-latest # 6
steps: # 7
- name: Login
uses: atlassian/gajira-login@v3 # 8
env:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }} # 9
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
- name: Create Issue
uses: atlassian/gajira-create@v3
with:
project: PROJECT_KEY # 10 - 프로젝트 key
issuetype: Story # 11 - 이슈 타입
summary: '${{ github.event.issue.title }}'
description: '${{ github.event.issue.html_url }}'
이떄 지정한 이름은 Github repository에서 action 탭의 이름이 된다.
이 Github Action의 경우에는 issue가 새로 생성될 때마다 실행되어야하므로,
issues
의 types
속성중 opened
상태일 때 workflow가 트리거되도록 하였다.
이부분에서 설정한 이름이 아래와 같이 나오게 된다.
여러가지 환경 중 가장 많이 사용되는 Ubuntu 22.04
을 선택하여 사용하였다. -> ubuntu-latest
name: ${name}
을 사용하여 각 step을 정의하고, 이부분에 설정된 작업이 아래와 같이 나뉘어서 나오게된다.
gajira-login
를 이용해 Jira에 로그인 하고,
gajira-create
를 이용해 Jira에 이슈를 생성해주었다.
gajira-login
: https://github.com/atlassian/gajira-login
gajira-create
: https://github.com/atlassian/gajira-create
#9
Jira에 로그인 하려면, 민감한 개인정보를 입력해야하는데, (토큰, 사용자 이메일등)
이를 Github secrets를 이용해 비밀로 유지할 수 있다.
사용한 key들은
JIRA_BASE_URL
: URL of Jira instanceJIRA_API_TOKEN
: Access Token for AuthorizationJIRA_USER_EMAIL
: user emailissue를 생성할 Jira 프로젝트의 Key를 입력해야한다.
Jira Project의 프로젝트 설정에서 확인할 수 있다.
프로젝트 이름과는 다를 수 있음!
자동으로 Jira issue를 생성하면서 issue type을 설정하는데,
나의 경우 Story
타입을 선택하였다.
Jira issue type 종류