Jira- und Doku-Tooling: Systemüberblick (Ziel & Ist)
Zweck: Minimal-sichere CLI-Brücke zu Atlassian Cloud (Jira + Confluence) über REST, ohne Secrets beim Aufrufer.
Komponenten
atlassian-http-client: System-HTTP-Wrapper (läuft als Tool-Eigentümer).atlassian: unprivilegierte CLI, baut URLs und ruft den Wrapper viasudo -Huauf.
Zielbild
- Secrets liegen ausschließlich beim Tool-Eigentümer.
- HTTP-Ziele sind strikt allowlisted (Jira/Confluence API-Präfixe).
httpist Escape-Hatch; häufige Abläufe werden als eigene Befehle abgebildet (API-Betriebe).
IST-Zustand
- Config:
$HOME/.config/atlassian/http-client(Tool-Eigentümer). -
Methoden: GET POST PUT PATCH DELETE. - Jira-Allowlist:
/rest/api/3/,/rest/agile/1.0/(viahttps://api.atlassian.com/ex/jira/{CLOUD_ID}). - Confluence-Allowlist:
/wiki/rest/api/,/wiki/api/v2/(viahttps://{SITE_SUBDOMAIN}.atlassian.net). - Platzhalter:
{CLOUD_ID},{SITE_SUBDOMAIN}(Auflösung imatlassian-http-client). - Policy:
--confignur zusammen mit--dry-run.
Rollenmodell
- Tool-Eigentümer: besitzt Config + Token und führt Requests aus.
- Aufrufer: nutzt nur die CLI; keine Secrets.
- Admin: installiert unter
PREFIXund pflegtsudoers.
Datenfluss (vereinfacht)
1) Aufrufer: atlassian jira … oder atlassian confluence …
2) CLI baut URL-Template.
3) CLI ruft sudo -Hu TOOL_OWNER atlassian-http-client … auf.
4) Wrapper lädt Config/Token, validiert Allowlist, sendet Request (oder --dry-run).
Weiterentwicklung: API-Betriebe (Wrapper)
Wiederkehrende Operationen werden als stabile Befehle modelliert. http bleibt als Escape-Hatch erhalten.
CLI-Cache (Public-only)
Als Zwischenschritt kann ein CLI-Cache Rezepte (Befehlsschablonen) verwalten, damit Mensch/KI ähnliche Befehle schnell bauen kann. Für Output-Caching gilt: Public-only und Einschränkung über Allowlist/Denylist im atlassian-http-client; Maskierung ist optional.