Tworzenie taska JIRA przy pomocy Python oraz API JIRA

Czasami zachodzi taka potrzeba, aby w przypadku np błędu w systemie automatycznie został utworzony ticket JIRA, z dokładnym opisem, czego dotyczy zadanie. W tej sytuacji na ratunek przychodzi nam API JIRA oraz Python 3, w którym napiszemy prosty skrypt, do automatycznego tworzenia tasków.

1. Wymagania

Do napisania skryptu potrzebujemy dwóch rzeczy:

  1. Zainstalowany Python 3, pobrać go można z tego adresu https://www.python.org/downloads/
  2. Kolejna rzeczą jest utworzony API Token, który możemy utworzyć na swoim koncie JIRA, korzystając z tego url https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/

2. Python w akcji

Skrypt jest prosty, ale bardzo przydatny, ponizej kod, a pod nim będzie opis, co w jakie miejsce wstawić, utwórzmy sobie plik jira-task.py i wklejmy do niego poniższy kod

import json
import requests

API_TOKEN = "Wygenerowany API Token"
API_URL = "https://ADRES_URL_DO_JIRA/rest/api/2/issue/"

headers = {
    "Accept": "application/json",
    "Content-Type": "application/json"
}

auth = (
    "ADRES_EMAIL_KONTA",
    API_TOKEN
)
input_data = json.dumps({
    "fields": {
        "project":
            {
                "key": "KLUCZ_PROJEKTU"
            },
        "summary": "Example task",
        "description": "Creating of an issue using project keys and issue type names using the REST API",
        "issuetype": {
            "name": "Task"
        }
    }
})

create_issue = requests.post(API_URL, headers=headers, data=input_data, auth=auth)

print(create_issue.status_code)

Lecąc od samej góry:

API_TOKEN – wstawiamy tutaj wygenerowany wcześniej API Token
API_URL – wstawiamy adres URL do naszej JIRY
ADRES_EMAIL_KONTA – w sekcji auth, wstawiamy adres e-mail konta, na którym wygenerowaliśmy API Token
API_TOKEN – w sekcji auth, tego nie ruszamy, ponieważ przypisuje tutaj klucz, ze zmiennej API_TOKEN
KLUCZ_PROJEKTU – w tym miejscu wstawiamy tag naszego projektu

W polu summary dodajemy „podsumowanie” naszego taska, powiedzmy jego nazwę, natomiast w description cały jego opis. W polu issuetype, w moim wypadku jest ustawione na Task, ponieważ tylko taki typ mam u siebie w JIRA ustawiony, ale jak masz więcej typu taska, to można sobie podmienić, według mnie idealny byłby BUG lub ERROR.

3. Uruchomienie skryptu

Ostatnia rzecz jaka nam została to uruchomienie skryptu, przy pomocy polecenia

python3 jira-task.py

W odpowiedzi powinniśmy dostać kod statusu lub w najgorszym wypadku treść błędu który wystąpił. Skrypt jest bardzo prosty, ale mam nadzieję, że komuś się przyda, sam go wykorzystuję w pracy, ponieważ dzięki niemu, każdy błąd jaki się pojawi, automatycznie wyląduje u mnie w JIRA jako zadanie do zrobienia 🙂

Related Posts