Erfahrung zur Jira-Anbindung mit Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Buchfink
User
Beiträge: 193
Registriert: Samstag 11. September 2021, 10:16

Hi zusammen,

ich wollte mal in die Runde fragen, ob jemand von Euch Erfahrungen hat, wenn es drum geht, mittels Python Jira-Anfragen zu stellen.
Konkret geht es darum, Jira-Einträge automatisiert zu erstellen bzw. z.B. Burndown-Charts aus Jira zu erstellen.
Grundsätzlich würde das mit Python wohl funktionieren, eine Doku habe ich bereits per google gefunden.

Die Alternative wäre JavaScript.

Daher meine Frage:
Gibt's irgendwelche Argumente, warum man das mit Python und nicht mit JS machen sollte?
Nach welchen Kriterien würdet ihr das entscheiden?
Ein Kriterium könnte sein, wie viele Entwickler (in einer konkreten Firma) bereits JS bzw. Python-KnowHow haben. Ansonsten sieht es für mich eher so aus, als sei es technisch egal, mit was man das macht, da es sich ja um eine REST-Api handelt. Es sieht beides so aus, als ginge es sehr einfach und vor allem mit sehr wenig Code.

Ich habe auch hier im Forum gesucht, ob es dazu schon einen Thread gibt. Leider habe ich "Jira" nur im Kontext "Jobangebote" gefunden.

Danke für Eure Meinungen schon mal im Voraus.
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

Eine kurze Suche liefert https://jira.readthedocs.io/. Das scheint auf den ersten Blick alles abzudecken.
rogerb
User
Beiträge: 878
Registriert: Dienstag 26. November 2019, 23:24

@Buchfink,
Gibt's irgendwelche Argumente, warum man das mit Python und nicht mit JS machen sollte?
ich habe keine Erfahrung mit der REST API von JIRA.
Das schöne an einer REST APi ist, dass sie unabhängig von der verwendeten Programmiersprache funktioniert. Jede Sprache die mit http-requests umgehen kann kommt also grundsätzlich in Frage.

Die nächste Frage wäre dann vielleicht, ob die favorisierte Sprache schon eine Library speziell für die JIRA API hat. Das spart einem dann nochmal extra Arbeit.
Danach kommen dann wohl Erwägungen, wie gut man mit einer bestimmten Sprache umgehen kann, welche Kosten bei der jeweiligen Implementierung anfallen.
Buchfink
User
Beiträge: 193
Registriert: Samstag 11. September 2021, 10:16

@Sirius3
Danke für den Link - ja _dass_ es geht, habe ich bereits herausgefunden. :)
Es scheint auch nicht wahnsinnig komplex zu sein.


@rogerb
Danke für Deine Einschätzung.
So wie ich das sehe, gibt's bereits eine Lib names "jira" für Python. (siehe auch Link von Sirius3)
Und daher glaube ich, dass der Zugriff an sich weder in JS noch in Python kein echte Hürde darstellt.

Mir ging's tatsächlich wirklich primär darum, ob jemand konkrete Erfahrungen dazu hat.

Also beispielsweise scheint Python sehr stark zu sein, wenn es um Auswertungen geht. Da könnte ich mir z.B. vorstellen, dass man da mit Python besser "dran" ist.
Ich könnte mir aber auch vorstellen, dass man für die Visualisierung der Daten dann wieder auf JS zurückgreift.
Dazu fehlt mir leider die Erfahrung in beiden Welten.
Vielleicht läuft es auch auf eine Kombination von beidem hinaus.
Für Auswertungen: Python
Für Visualisierung: JS

Was meint Ihr?

LG
rogerb
User
Beiträge: 878
Registriert: Dienstag 26. November 2019, 23:24

@Buchfink,

dann geht deine Frage eher in die Richtung: Was sind die Vor- und Nachteile von Python, bzw. JavaScript. Das hast du schon grob richtig eingeschätzt. Kommt aber darauf an, was du genau machen möchtest. Es gibt auch Möglichkeiten beide Welten zu verbinden.
Zum Beispiel mit Plotly:
https://plotly.com/python/
Buchfink
User
Beiträge: 193
Registriert: Samstag 11. September 2021, 10:16

@rogerb
ja, korrekt. Danke, Du bringst es auf den Punkt!

Ich kenne Python "ein bisschen" und JavaScript leider noch weniger.
Meine Haus- und Hof-Programmiersprache scheidet gänzlich aus, weil es dort keine (guten) Libs zur Jira-Anbindung gibt.
Und obgleich ich dort sattelfest wäre, erscheint mir der Weg über mir noch weitestgehend unbekannte Sprachen (Python und JS) leichter zu sein.
Insofern würde ich das gern mal mit einer dieser beiden Sprachen versuchen.

Danke auch für den Link. Der ist super :)
Ich kannte bislang nur seaborn und matplotlib.
seaborn und matplotlib erscheinen mir aber eher zur explorativen Datenanalyse gedacht zu sein. (Falls ich mich irre, gern korrigieren)

Am Rande:
Es tut mir leid, das ich bei meinem ersten Post nicht deutlicher herausgestellt habe, dass ich die Libs _wie_ es geht, bereits gefunden habe. Ich möchte hier niemanden mit einer banalen Google-Suche behelligen. Da ich oft nur stille Mitleserin bin, habe ich aber den Eindruck gewonnen, dass hier ein paar Leute schreiben, die sehr versiert sind und daher rührt auch meine Frage nach den Erfahrungswerten im Hinblick auf Jira.

(Auch die Frage nach der Erfahrung habe ich bereits gegooglet - aber da bin ich jetzt nur soweit gekommen, dass ich sagen kann: Python für Auswertungen, JS für Visualisierung)

LG
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Die Frage, was vorzuziehen ist, hängt letztlich an der geplanten Anwendung. Gibt’s einen Server, auf dem das gehostet wird, sollen Daten aus verschiedenen Quellen zusammengeführt werden, willst du im Browser JIRA-Daten in eine bestehende Seite einblenden, etc.
Buchfink
User
Beiträge: 193
Registriert: Samstag 11. September 2021, 10:16

@_deets_
Ja, einen Server gäbe es und ja es muss auch was aus verschiedenen Quellen zusammengeführt werden: Konkret soll aus einer bestehenden Quelle automatisiert Jira-Einträge angelegt werden. Die Quelle kann man sich als CSV vorstellen. (Wobei es offen ist, ob jede Zeile ein Eintrag werden sollte oder ob man da Sachen sinnvoll zusammenfasst. Es ist auf der semantischen Ebene zu entscheiden, was sinnvoll zusammenfassbar ist. Ggf. ist hier auch ein gewisses Maß an Flexibilität gefragt)

Idealerweise käme als zweites Feature dann noch die Möglichkeit ein Burndown-Chart (auf einer Webseite / Confluence) zu generieren.

Es soll auch nichts "verkaufbares" werden. Im Moment steht für mich auch eher "Proof of Concept" im Vordergrund.
So wie ich Jira verstehe, kann man zwar bei den Addons gucken, ob was dabei ist, was passt. Aber gefühlt kann man dann entweder 3 Wochen Addons recherchieren & evaluieren. Und wenn man dann ein Addon hat, passt es halt auch oft nur zu 80%. In der Zeit hat man vermutlich schon selbst was geschrieben.
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du hast ja nach Erfahrungen gefragt - und meine (bzw die meiner Firma) widersprechen dir da ganz klar: der Aufwand, sowas selbst zu machen, und das auch noch über die Zeit zu warten, wird gerne unterschätzt. Wir haben Laufe der Jahre so manches zusammengestoppelte System durch Standardlösungen ersetzt, weil sie bestenfalls zu viel Aufwand darstellten, und schlimmstenfalls Frust erzeugt haben.

Wenn wir das jetzt noch multiplizieren mit “kenne Python ein bisschen und JavaScript leider noch weniger”, dann wäre das für mich ein ziemlich starker Grund, das nicht zu probieren. Da würde ich zB mit klaren Timeboxen und verbindlichen Zwischenzielen arbeiten, um nach kurzer Zeit einschätzen zu können, ob man hier gerade wirklich was beiträgt, oder Zeit und Mühe versenkt.
Buchfink
User
Beiträge: 193
Registriert: Samstag 11. September 2021, 10:16

@_deets_
ja vielen Dank - aber genau das hat mich interessiert. :)

Bei uns war's so ähnlich. Früher war nur selbstgeschriebenes Zeug. Das wurde irgendwann zu Zombieware erklärt und dümpelte dann so vor sich hin.
Jetzt haben wir zwar Tools von der Stange, was super ist. Aber oft passt es dann wieder nicht zu unseren "selbstgezimmerten" Kraut-Prozessen.
Mit den Addons kann man zwar einiges abdecken, aber dann doch oft nicht alles. Und das Evaluieren der Addons ist halt oft auch nicht ganz billig.

Das Geschäftsmodell von Atlassian - soweit ich das überblicke - sieht ja vor, dass man möglichst viel "selbst dran herum häkelt", damit sich das wirklich schön tief reinfrisst und man das nie wieder los wird...
Damit wird es auch ein bisschen eine Philosophie-Frage, denn je mehr man da selbst "dran rumbaut", desto mehr ist man verhaftet Jira & Co zu behalten.

Und ja, timeboxed müsste das auf jeden Fall laufen.
Man braucht aber auch manchmal Projekte, um neue Technologien zu etablieren. (Man kann nicht ewig auf Sprachen festhängen, die mal <sarkasmus> vor 200 Jahren </sarkasmus> einer erfunden hat)

Danke für Deine Meinung. Das hilft mir auf jeden Fall für eine weitere Einschätzung.
Sero
User
Beiträge: 7
Registriert: Dienstag 11. Juli 2023, 13:25

Hallo,

bei mir scheitert es leider schon beim installieren der Packages.

Ich nutze pycharm und wenn ich die packages darüber installieren will, erscheint folgende Fehler Meldung:

Installing packages failed

Command output:

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x0000020F120E6650>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed')': /simple/atlassian/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x0000020F120E6E10>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed')': /simple/atlassian/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x0000020F120E7AD0>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed')': /simple/atlassian/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x0000020F120F0390>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed')': /simple/atlassian/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x0000020F120F0E50>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed')': /simple/atlassian/
ERROR: Could not find a version that satisfies the requirement atlassian (from versions: none)
ERROR: No matching distribution found for atlassian
WARNING: There was an error checking the latest version of pip.

Google konnte mir leider nicht helfen. Habt ihr evtl. eine Idee?
Benutzeravatar
__blackjack__
User
Beiträge: 13063
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Sero: Kannst Du irgendwas anderes installieren? Firewall? Hinter einem Proxy?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Sero
User
Beiträge: 7
Registriert: Dienstag 11. Juli 2023, 13:25

Ja ich merke gerade, dass es generell nicht geht. Ich bin auch gerade im Büro. Ich teste es zu Hause mal (da hatte ich eigentlich keine Probleme).
paddie
User
Beiträge: 101
Registriert: Donnerstag 11. Oktober 2018, 18:09

Wird wohl eher daran liegen, dass das Paket auf Pypi als "yanked" markiert ist ;-).

Habs hier auch grade ausprobiert und den selben Fehler bekommen.
Benutzeravatar
__blackjack__
User
Beiträge: 13063
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@paddie Der Fehler in der Meldung kommt wenn keine Verbindung zum Host hergestellt werden konnte. Und Sero kann ja auch *nichts* anderes installieren. Beim installieren von `atlassian` kommt einfach nur die Meldung, das keine passende Distribution für `atlassian` gefunden werden konnte. Also sofern man den Host vom Package Index erreichen kann.

Code: Alles auswählen

$ sudo -H python3.8 -m pip install atlassian
ERROR: Could not find a version that satisfies the requirement atlassian (from versions: 0.0.0)
ERROR: No matching distribution found for atlassian
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Sero
User
Beiträge: 7
Registriert: Dienstag 11. Juli 2023, 13:25

Gibt es evtl eine Alternative?
Benutzeravatar
__blackjack__
User
Beiträge: 13063
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Sero: Du könntest ``pip download …`` auf einem Rechner verwenden der eine Internetverbindung hat. Einfacher wäre es natürlich heraus zu finden warum Du keine Verbindung ins Netz bekommst und das Problem abzustellen.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Zu was? pip zu benutzen? Nicht wirklich. Du kannst Pakete selbst runterladen, und pip auf die ansetzen. Das mag firewall-Regeln/proxies besaenftigen.
Antworten