Ein TypeScript-Script zum Abrufen meiner Jira-Tickets über die Jira REST API mit SAML/PAT-Authentifizierung. Doku via KI 🤔.
- Node.js (Version 16 oder höher)
- npm oder yarn
- Ein Jira-Account mit Zugriff auf die Jira REST API
-
Klonen Sie das Repository oder navigieren Sie zum Projektverzeichnis
-
Installieren Sie die Abhängigkeiten:
npm installFür Jira Data Center/Server mit SAML-Authentifizierung:
- Melden Sie sich bei Jira an (z.B. https://jira.firma.net/jira)
- Klicken Sie auf Ihr Profilbild → Profile
- Im linken Menü: Personal Access Tokens
- Klicken Sie auf Create token
- Geben Sie einen Namen ein (z.B. "Automation Script")
- Kopieren Sie den generierten Token sofort (er wird nur einmal angezeigt!)
Alternative für Atlassian Cloud:
- Gehen Sie zu Atlassian Account Security
- Erstellen Sie einen API Token
- Kopieren Sie die
.env.exampleDatei:
cp .env.example .env- Bearbeiten Sie die
.envDatei und fügen Sie Ihre Daten ein:
Für Jira Data Center/Server (z.B. Telekom Jira):
JIRA_URL=https://jira.firma.net/jira
JIRA_AUTH_TYPE=bearer
JIRA_PAT=ihr-kopierter-pat-tokenFür Atlassian Cloud:
JIRA_URL=https://ihre-firma.atlassian.net
JIRA_AUTH_TYPE=basic
JIRA_PAT=ihr-api-token
JIRA_EMAIL=ihre.email@firma.deWichtig: Die .env Datei enthält sensible Daten und sollte niemals in Git committet werden!
# Mit ts-node (Entwicklung)
npm run dev
# Oder kompilieren und ausführen
npm run build
npm startDas Script zeigt alle Ihnen zugewiesenen Tickets mit folgenden Informationen:
- Ticket-Key und Zusammenfassung
- Status
- Priorität
- Zugewiesene Person
- Erstellungsdatum
- Aktualisierungsdatum
- Link zum Ticket
Sie können die JQL-Abfrage im Script anpassen, um andere Tickets abzurufen:
// Nur offene Tickets
const openTickets = await jiraClient.getTicketsByJQL(
"assignee = currentUser() AND status != Done"
);
// Tickets der letzten 7 Tage
const recentTickets = await jiraClient.getTicketsByJQL(
"assignee = currentUser() AND updated >= -7d"
);
// Tickets eines bestimmten Projekts
const projectTickets = await jiraClient.getTicketsByJQL(
"project = PROJ AND assignee = currentUser()"
);
// Hochpriorität Tickets
const highPriorityTickets = await jiraClient.getTicketsByJQL(
"assignee = currentUser() AND priority = High"
);
jira_automation/
├── src/
│ └── index.ts # Hauptscript
├── dist/ # Kompilierte JavaScript-Dateien
├── .env # Ihre Konfiguration (nicht in Git)
├── .env.example # Beispiel-Konfiguration
├── .gitignore
├── package.json
├── tsconfig.json
└── README.md
- Stellen Sie sicher, dass Sie
npm installausgeführt haben
- Überprüfen Sie, ob die
.envDatei existiert und alle erforderlichen Variablen enthält
- Überprüfen Sie, ob Ihr API Token korrekt ist
- Stellen Sie sicher, dass Ihre E-Mail-Adresse korrekt ist
- Vergewissern Sie sich, dass Ihr Token nicht abgelaufen ist
- Überprüfen Sie die JIRA_URL in Ihrer
.envDatei - Die URL sollte das Format
https://ihre-firma.atlassian.nethaben (ohne/am Ende)
⚠️ Teilen Sie niemals Ihren API Token mit anderen⚠️ Committen Sie niemals die.envDatei in Git- 🔒 API Tokens haben die gleichen Berechtigungen wie Ihr Account
- 🔄 Rotieren Sie Ihren API Token regelmäßig
ISC