Ugrás a fő tartalomra

JIRA rest api tesztelése 1

 JIRA rest api tesztelése


Előkészítés saját FREE JIRA portál létrehozása :



📋 Mit kapsz:

  • Ingyenes JIRA Cloud site (https://klajosw.atlassian.net)

  • Teljes REST API hozzáférés

  • Max 10 felhasználóval működik

  • Hozzáférés a fejlesztői API tokenekhez


🔐 2. API token létrehozása (Cloud esetén)

  1. Lépj ide: https://id.atlassian.com/manage-profile/security/api-tokens

  2. Kattints: Create API token

  3. Nevezd el és másold ki

Ezzel tudod használni a basic_auth=(email, token) részt Pythonban.


🛠 3. Teszteléshez publikus JQL minta

Ha saját projektet nem akarsz csinálni, akkor telepítés után létrejönnek példafeladatok is, pl. a DEMO projektben:

---python
jql = 'project = DEMO AND statusCategory != Done'


🧪 Alternatíva: JIRA REST API teszt UI

Ha nem akarsz rögtön kódból próbálkozni:

  • Lépj be a JIRA-fiókodba

  • Használd a következő API végpontot curl-lal vagy Postman-nel:

    ---bash
    GET https://yourname.atlassian.net/rest/api/3/search?jql=project=DEMO
  • Auth: Basic (email + API token base64-ben kódolva)


Az enyém  : https://klajosw.atlassian.net/jira/software/projects/KAN/list


Python API teszt előkészülete


🔧 Előfeltételek

  1. JIRA szerver vagy JIRA Cloud fiók (pl. https://klajosw.atlassian.net)

  2. API token (JIRA Cloud esetén)

  3. Python csomag: jira (Atlassian által támogatott)

Telepítés:

---bash
pip install jira

📌 Példa: Aktív issue-k lekérdezése Pythonban

---python
from jira import JIRA # --- JIRA hitelesítés --- jira_url = "https://céged.atlassian.net" # JIRA alap URL email = "te.email@domain.com" api_token = "JIRA_API_TOKEN" # JIRA Cloud esetén generálható jira = JIRA( server=jira_url, basic_auth=(email, api_token) ) # --- JQL lekérdezés: nyitott (aktív) feladatok egy projektből --- project_key = "TESZT" jql_query = f'project = {project_key} AND statusCategory != Done ORDER BY created DESC' # --- Lekérdezés és lista kiíratása --- issues = jira.search_issues(jql_query, maxResults=20) for issue in issues: print(f"{issue.key}: {issue.fields.summary} [{issue.fields.status.name}]")

🔍 Magyarázat

RészJelentés
jira = JIRA(...)Létrehozza a kapcsolatot a JIRA API-val
basic_auth=(email, api_token)Cloud alapú autentikációhoz kell
search_issues(...)Lekérdez JIRA feladatokat egy JQL lekérdezés alapján
statusCategory != DoneCsak az aktív, még le nem zárt státuszú issue-ket hozza
issue.fields.summaryA feladat rövid leírása
issue.fields.status.nameA státusz neve pl. "To Do", "In Progress"

🧠 További lehetőségek

  • Lekérdezhetsz adott felhasználóra (assignee = currentUser())

  • Szűrhetsz címkére (labels = fontos)

  • Vagy intervallumra (created >= -7d)



✅ 1. 🔧 Postman példa – JIRA lekérdezés

🔹 Lépések:

  1. Nyisd meg a Postmant

  2. Új GET kérés:

    ---bash
    https://klajosw.atlassian.net/rest/api/3/search?jql=project=kl_teszt
  3. Authorization fül:

    • Típus: Basic Auth

    • Username: a te JIRA (Atlassian) e-mailed

    • Password: az API token, amit generáltál

  4. Headers fül – ha nem automatikus:

    ---http
    Content-Type: application/json Accept: application/json
  5. Kattints: Send

Ha minden jól megy, kapsz egy JSON választ az aktív issue-król.


https://web.postman.co/workspace



✅ 2. 🖥️ cURL parancs (parancssorban vagy terminálban)

📌 Példa:

---bash
curl -X GET \ 'https://yourname.atlassian.net/rest/api/3/search?jql=project=DEMO' \ -H 'Authorization: Basic BASE64_ENCODED_CREDENTIALS' \ -H 'Accept: application/json'

🔐 Hitelesítés (Base64 kódolás)

A Authorization: Basic fejléchez ezt kell:

---text
email:API_token

Példa:

---bash
echo -n "te.email@domain.com:API_TOKEN" | base64

Kimenet:

---makefile
dGUuZW1haWxAZG9tYWluLmNvbTpBUElfVE9LRU4********

Behelyettesíted:

---bash
-H 'Authorization: Basic dGUuZW1haWxAZG9tYWluLmNvbTpBUElfVE9LRU4******'

🧪 Tesztelt végpont

---bash
GET /rest/api/3/search?jql=project=DEMO AND statusCategory != Done

Ez visszaadja az aktív (még nem befejezett) feladatokat a DEMO projektből.



✅ 1. 📬 Új JIRA issue létrehozása Postman-ben

🔹 Beállítások:

  • Módszer (Method): POST

  • URL:

    ---bash
    https://klajosw.atlassian.net/rest/api/3/issue
  • Authorization fül:

    • Típus: Basic Auth

    • Username: a JIRA email címed

    • Password: az API token

  • Headers fül:

    ---http
    Content-Type: application/json Accept: application/json
  • Body fülraw + JSON típust válassz ki, majd másold be:

---json
{ "fields": { "project": { "key": "kl_teszt" }, "summary": "API-ból létrehozott teszt feladat", "description": "Ez a feladat egy automatikus POST hívással jött létre.", "issuetype": { "name": "Task" } } }

🔁 A "project": { "key": "DEMO" } részt írd át a saját projekt kulcsodra.


✅ 2. 🖥️ cURL példa új issue létrehozásához

🔹 Parancs:

---bash
curl -X POST \ https://yourname.atlassian.net/rest/api/3/issue \ -H 'Authorization: Basic BASE64_ENCODED_CREDENTIALS' \ -H 'Content-Type: application/json' \ -d '{ "fields": { "project": { "key": "kl_teszt" }, "summary": "Teszt feladat létrehozva cURL-ből", "description": "Ez egy cURL POST hívás eredménye.", "issuetype": { "name": "Task" } } }'

Ne felejtsd el kicserélni:

  • yourname.atlassian.net → saját JIRA site-odra

  • BASE64_ENCODED_CREDENTIALS → az email:token base64 kódját


📝 Válasz (siker esetén):

Sikeres kérésre ezt kapod:

---json
{ "id": "10001", "key": "Teszt5", "self": "https://klajosw.atlassian.net/rest/api/3/issue/10001" }

Ez jelzi, hogy az új issue létrejött.


Megjegyzések