atlassian-python-api를 활용하여 Python 코드로 Jira에 Issue 및 Comment 등록하기

NewNewDaddy·2024년 3월 28일
0

PYTHON

목록 보기
7/9
post-thumbnail

🔹 0. INTRO

  • atlassian 플랫폼은 기업의 팀 단위에서 프로젝트나 지식을 효율적으로 관리할 수 있도록 도와주는 다양한 소프트웨어들을 제공해준다.

  • Jira, Trello, Confluence, Bitbucket 등 아주 다양한 협업툴들 중 우리 팀에서는 아래 두 가지 툴을 주로 사용한다.

    Jira : 프로젝트 계획 및 관리, 작업 스케쥴링, 이슈 트래킹
    Confluence : 지식 공유, 문서 기반 협업

  • 개발한 Data Pipeline이 운영되면서 에러 발생시 Jira의 Issue에서 해당 에러 관련 내용을 확인할 수 있도록 flow를 설계하였다.

  • 이번 글에서는 Jira의 Issue 생성 및 Comment 추가 기능을 Python으로 다룰 수 있도록 코드를 구성해 볼 것이다.

🔹 1. 설치 및 API KEY 발급

📍 1. 라이브러리 설치

  • atlassian-python-api에서는 Jira, Confluence, BitBucket 등 Atlassian 플랫폼에서 제공해주는 일부 솔루션들을 다룰 수 있도록 SDK를 제공해주고 있다. (atlassian-python-api)

    pip install atlassian-python-api

📍 2. API KEY 발급

  • SDK를 사용하기 위해서는 자신의 계정과 connection을 생성해야 하는데 이 때 필요한 것이 API KEY이다. 아래 링크로 들어가 로그인 하면 API KEY를 생성할 수 있다.

    Create API KEY

🔹 2. Python SDK 활용

📍 1. Connection 생성

from atlassian import Jira

jira = Jira(
    url = [Jira Workspace URL],
    username = [User Emain],
    password = [API KEY],
    )
    
###### 예시 ######
 jira = Jira(
    url='https://my-workspace.atlassian.net',
    username="hyunsooyein@gmail.com",
    password="ATATT......",
    )

📍 2. Issue 생성

  • Issue를 생성하면서 field에 입력해주어야할 인자들이 있는데 주로 사용되는 값들은 아래와 같다.

    • project - Issue가 등록될 프로젝트 코드
    • summary - Issue 제목
    • description - Issue 내용
    • issuetype - Issue 타입 (Task, Bug, Story 등)
    • priority - 중요도 (Highest, High, Medium, Low, Lowest)
    • duedate - 기한 ("YYYY-MM-DD" 포맷)
  • Project Key는 아래와 같이 등록한 Project 목록을 펼쳐보면 확인이 가능하다.

  • 코드 작성

fields = {
    'project': {'key': 'OBT'}, 
    'summary': 'Pipeline Bug',
    'description': 'This Issue is about pipeline bug',
    'issuetype': {'name': 'Bug'},
    "priority": {"name": "Medium"},
    "duedate" : "2024-05-28"
}

response = jira.issue_create(fields=fields)
  • 위에서 작성한 issue_create 함수를 실행시켜보면 아래와 같이 지정한 Project 아래에 Issue가 생성된 것을 볼 수 있다.

📍 3. Comment 작성

  • 특정 Issue에 comment를 작성하기 위해서는 해당 Issue에 대한 Key가 필요하다. Issue key는 issue 목록 좌측에서 확인이 가능하다.
  • 코드 작성
jira.issue_add_comment([issue_key], [comment 내용])

###### 예시 ######
jira.issue_add_comment('OBT-6', "This is a sample comment string.")
  • 위의 코드를 실행시켜보면 아래와 같이 지정한 Issue에 comment가 달린 것을 볼 수 있다.

🔹 3. 참고 자료

profile
데이터 엔지니어의 작업공간 / #PYTHON #CLOUD #SPARK #AWS #GCP #NCLOUD

0개의 댓글