atlassian: schreibgeschützter Zugriff auf Jira + Confluence
Wann verwenden
- Der Benutzer nennt ein Ticket (
PROJ-123) und du benötigst dessen Live-Status, Bearbeiter, Links oder aktuelle Kommentare. - Ein neuer Ticket-Ordner benötigt sein XML:
data/changes/<ticket-klein>/<TICKET>.xml. - Bevor du ein Dokument bearbeitest, das auch in Confluence lebt: führe zuerst einen Diff durch.
Tool
data/changes/tools/atlassian/atl.py im Projekt-Repository (Kurs-Kopie: ejemplos/metodologia/tools/atlassian/).
Python 3.10+, nur Standardbibliothek (kein pip install). Ausführung vom Repository-Root aus. Verwende python3 auf macOS,
Linux oder WSL; py oder python auf Windows.
python3 data/changes/tools/atlassian/atl.py jira issue PROJ-123 # Typ, Status, Zusammenfassung, Bearbeiter, Links
python3 data/changes/tools/atlassian/atl.py jira search 'project = PROJ AND assignee = currentUser() AND statusCategory != Done'
python3 data/changes/tools/atlassian/atl.py jira links PROJ-123
python3 data/changes/tools/atlassian/atl.py jira comments PROJ-123 --last 3
python3 data/changes/tools/atlassian/atl.py jira xml PROJ-123 --out data/changes/proj-123/
python3 data/changes/tools/atlassian/atl.py confluence search 'title ~ "authoring" AND type = page'
python3 data/changes/tools/atlassian/atl.py confluence page <PAGE_ID> --body
python3 data/changes/tools/atlassian/atl.py confluence diff <lokale .md/.html> <PAGE_ID>
Exit-Codes:
| Code | Bedeutung |
|---|---|
| 0 | ok |
| 2 | Zugangsdaten fehlen oder ungültig (siehe Einrichtung) |
| 3 | HTTP-Fehler |
| 4 | nicht gefunden |
--json gibt rohes JSON zurück. Nur innerhalb eines Skripts verwenden; im Chat spart die kompakte Standardausgabe Kontext.
Einrichtung (einmal pro Maschine, durch die Person)
Erstelle ~/.config/<org>/jira.env (Windows: %USERPROFILE%\.config\<org>\jira.env; ATLASSIAN_ENV_FILE
überschreibt den Pfad) mit drei Zeilen:
JIRA_BASE_URL=https://<deine-site>.atlassian.net
JIRA_EMAIL=<deine Atlassian-Anmelde-E-Mail>
JIRA_API_TOKEN=<Token von id.atlassian.com → Sicherheit → API-Tokens>
Beschränke den Zugriff auf deinen Benutzer (chmod 600 auf macOS/Linux). Schreibe die Datei in deinem eigenen Terminal – gib das Token niemals in einen Chat oder eine Datei unter data/ ein. Das gleiche Token liest Confluence. Prüfe es mit
… atl.py jira issue PROJ-123: Exit 0 bedeutet, es funktioniert; Exit 2 bedeutet, die Datei fehlt oder ist falsch.
Harte Regeln
- Nur lesend.
atl.pysendet nur GET (eine Netzwerkfunktion; ein Test bestätigt dies).- Jira-Tickets erstellen, bearbeiten, überführen oder kommentieren ist die Aufgabe des Benutzers. Schreibe den Textentwurf, der Benutzer veröffentlicht ihn.
- Eine bestehende Confluence-Seite zu aktualisieren verwendet
confluence_write.py:pull→plan(Backup + sichtbarer Text-Diff + Bestätigungstoken) → der Benutzer liest den Diff und bestätigt diese Seite →apply --confirm <token>. Führe es nur aus, wenn der Benutzer explizit darum bittet, diese Seite zu aktualisieren.applylehnt ab, wenn sich das Token, die Inhaltsdatei oder die Live-Seitenversion seit dem Plan geändert hat, und liest die Seite zurück.
- Gib das Token niemals aus, füge es nicht ein oder protokolliere es, auch nicht den Inhalt von
jira.env. - Zitieren von Tickets per Key. Der ausgehende Text zitiert Fall-Tags und Ticket-Keys, niemals lokale Dateipfade.