Effiziente Verwaltung Ihrer Jira-Instanz mit dem atlassian-python-api Paket: Drei praktische Anwendungsbeispiele

Die Verwaltung einer Jira-Instanz kann komplex und zeitaufwendig sein, besonders wenn man manuelle Prozesse verwendet. Glücklicherweise bietet das Paket atlassian-python-api eine leistungsstarke und flexible Möglichkeit, Jira über Python-Skripte zu bedienen. In diesem Blogpost zeigen wir Ihnen drei praktische Beispiele, wie Sie mit diesem Paket Ihre Jira-Instanz effizienter verwalten können. Von der Erstellung und Aktualisierung von Tickets bis hin zur Automatisierung von Berichten – entdecken Sie, wie Sie mit wenigen Zeilen Code Ihre Arbeitsabläufe optimieren können. Wenn Sie noch Hilfe brauchen agile Methoden in klassische Unternehmensstrukturen integrieren können, gibt es hier Tipps.
Authentifizierung an Ihrer Jira Instanz
Um die Jira-API nutzen zu können, müssen Sie sich zunächst authentifizieren. Das Paket atlassian-python-api bietet mehrere einfache Möglichkeiten, dies zu tun. Zum einen können die normalen Zugangsdaten der Jira Instanz verwendet werden:
from atlassian import Jira
jira = Jira(url='https://your-jira-instance.de', username=jira_user, password=jira_password)
Besser ist es jedoch sich ein persönliches Zugriffstoken zu erstellen. Dieses kann jederzeit deaktiviert werden. Damit sieht die Authentifizierung wie folgt aus:
from atlassian import Jira
jira = Jira(url='https://your-jira-instance.de', token=jira_token)
Beispiel 1: Erstellung einer Anforderung mit Unteraufgaben
In diesem Beispiel zeigen wir Ihnen, wie Sie eine neue Anforderung in Jira erstellen und ihr mehrere Unteraufgaben hinzufügen können. Dies ist besonders nützlich, um größere Projekte in kleinere, überschaubare Aufgaben zu unterteilen. Insbesondere wenn mehrere ähnliche Anforderungen oder Unteraufgaben zu erstellen sind, kann man so viel Zeit sparen.
taskdefinition_anforderung = {"issuetype": dict(name="Story"),
"project": dict(key="EXMPL"),
"summary": "Titel der Anforderung",
"description": “Detaillierte Beschreibung der Anforderung,
}
new_story = jira.create_issue(fields=taskdefinition_anforderung)
taskdefinition_subtask={
"issuetype": dict(name="Subtask"),
"project": dict(key="NPS"),
"summary": "Titel der Unteraufgabe",
"parent": dict(key=new_story[„key“]),
"description": "Beschreibung der Unteraufgabe"}
new_subtask = jira.create_issue(fields=taskdefintion_subtask)
Hierbei gilt es zu beachten, dass die Tasktypen in Jira oft benutzerdefiniert sind. Die gültigen Tasktypen in einem Projekt erhält man als Dictionary über diese Anfrage.
issuetypes = jira.issue_createmeta_issuetypes(project="EXMPL")
Beispiel 2: Fälligkeitsdatum für eine Liste von Jira-Tickets setzen
Ein weit verbreitetes Szenario ist, dass man für eine lange Liste an Jira Issues ein Fälligkeitsdatum setzen muss. Das wird über die Weboberfläche schnell mühselig. Für solche Fälle gibt es die Option auf einen Schlag mehrere Issues anzupassen.
issues = [‘EXMPL-1’, ‘EXMPL-3’, ‘EXMPL-5’]
jira.bulk_update_issue_field(key_list=issues, fields={"duedate": “2025-12-31”})
Beispiel 3: Gezielte Suche nach Issues in einem Projekt
Jira ermöglicht viele übersichtliche Darstellungsformen, aber hin und wieder benötigt man dann doch eine Liste aller Issues, die bestimmte Bedingungen erfüllen. Dazu kann die Jira Query Language (JQL) genutzt werden. Im folgenden Beispiel werden alle Issues eines Projekts, die noch nicht erledigt sind und noch diesen Monat fällig sind herausgefiltert.
jql_filter = "project = EXMPL AND status not in (Erledigt) AND duedate <= endOfMonth()"
issues = jira.jql(jql_filter)
Nutzen Sie die hier vorgestellten Beispiele und Tipps, um Ihre Jira-Instanz mit minimalem Aufwand effizienter zu verwalten und Ihre täglichen Arbeitsabläufe zu optimieren. Weitere Details finden Sie in der offiziellen Jira Dokumentation und der Dokumentation des Pythonpakets atlassian-python-api.