Jira에서 GitHub 연동(레포지토리 추가 + Issue 알림)

Jira에서 GitHub 연동(레포지토리 추가 + Issue 알림)

최근 프로젝트를 시작했다.

기존에는 프로젝트 협업 툴로 Notion을 사용했었다.

근데 팀원이 Notion이 불편해서 Jira와 Slack을 쓰는게 어떻냐고 물어보았다.

Jira를 통해 GitHub와 연동하여 새로운 Issue가 올라올 때 마다 Task를 만들도록 할 수 있다고 한다.

우리 프로젝트에는 GitHub를 쓰지 않는 디자이너분도 계셔서 Jira를 쓰는것도 괜찮아 보였다.

그래서 이번 기회에 Jira에 GitHub를 연동해 보았다.

Jira - GitHub Branch 연동

  1. Jira 프로젝트 관리자 계정으로 로그인 후, GitHub app 페이지에서 Get it now 를 클릭하고 GitHub for Jira를 설치한다.
  1. 깃허브 계정과 연결한다. 깃허브 Organization에 대한 소유자 권한이 있어야 한다.
  1. 레포지토리 접근 권한 설정을 위해 Settings의 ...을 누르고 Configure 를 클릭한다.
  1. Repository access에서 All repositories 를 선택하고 Save 버튼을 클릭하자.
  1. 보드에서 브랜치를 연결하면 GitHub에서의 진행 상황이 그대로 연동되어 표시된다.

Jira - GitHub Issue 연동

  1. API 토큰 페이지에 접속 후 API 토큰 만들기 버튼을 클릭한다.
  1. 알기 쉬운 레이블 명을 정하고 토큰을 만들고 생성된 새 API 토큰을 메모장에 저장한다.
  1. GitHub Action 에 사용할 Workflow를 만든다.
name: Create Jira issue
on:
  issues: 
    types: [opened]
    
jobs:
  create-issue:
    name: Create Jira issue
    runs-on: ubuntu-latest
    steps:
    - name: Login
      uses: atlassian/gajira-login@v3
      env:
        JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
        JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
        JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
    
    - name: Create Issue 
      uses: atlassian/gajira-create@v3
      with:
        project: <본인의 프로젝트 명>
        issuetype: Task
        summary: '${{ github.event.issue.title }}'
        description: '${{ github.event.issue.html_url }}'

Workflow 파일은 레포지토리/.github/workflows/ 에 위치한다.

해당 Workflow는 Issue를 생성할 때, Jira 프로젝트에 Task를 생성하는 Action이다.

  1. Settings > Secrets and variables > Actions 에서 Repository secrets 를 설정한다.

JIRA_BASE_URL 은 .atlassian.net로 끝나는 Jira 프로젝트 url을 입력한다.

JIRA_API_TOKEN 은 아까 저장한 API 토큰을 입력한다.

JIRA_USER_EMAIL 은 관리자 유저의 이메일을 입력한다.

  1. GitHub에서 Issue를 작성하면 Action이 동작하고, Jira에 글이 생성된다.

해당 Action의 동작은 다음과 같다.

  1. Issue가 새롭게 생성된다.
  2. gajira-login Action이 Jira에 권한을 얻는다.
  3. gajira-create Action이 Jira에 Issue를 생성한다.

오늘은 Jira에 GitHub를 연동하여 Branch와 Issue를 연동시키는 작업을 해보았다.

Issue같은 경우는 삭제되거나 Closed 될 경우에 Jira에 그대로 반영시키도록 개선해보아도 좋을 것 같다.

References:

지라 클라우드(JIRA Cloud) 와 깃허브(github) 연동하기
Jira API token 생성 (Issue does not exist or you do not have permission to see it)
*여기에 설명이 잘 나와 있습니다 -> https://confluence.atlassian.com/cloud/api-tokens-938839638.html 현상 : Issue does not exist or you do not have permission to see it 오류 발생함. 1. API 토큰 화면 접속 : https://id.atlassian.com/manage-profile/security/api-tokens 2. 토큰 생성 3. 토큰 조회 4. Postman 으로 테스트 (Get issue : GET /rest/api/2/issue/{issueIdOrKey}) - JIRA Server platform REST API reference : https://docs.atlassian.com/s…
Github Actions로 Issue 생성 시 Jira Issue도 같이 등록 시키기
프로젝트 회의 중, 발생하는 이슈를 어디에 등록해야 할지 논의가 생겼다.프로젝트에서 협업 툴로 Jira를 사용하기로 했는데, Github에 있는 Issue를 사용해야 할 지 얘기가 나온 것이었다.분명 Jira를 사용하면 Jira가 제공하는 여러 기능들을 사용할 수 있다