1. Zweck des Flows
Dieser Flow erstellt automatisch ein Jira-Ticket basierend auf einem eingehenden HTTP-Request aus smenso. Er dient der Integration zwischen dem Quellsystem smenso und Atlassian Jira und automatisiert die Ticketerstellung inklusive Feldmapping, Validierung und Fehlerbehandlung.
Zielgruppe dieses Dokuments sind Entwickler und technische Administratoren.
2. Überblick über die Architektur
Komponenten
- Plattform: Microsoft Power Automate (Cloud Flow)
- Quellsystem: smenso (sendet HTTP-Request)
- Zielsystem: Atlassian Jira (REST API über Jira Connector)
Hauptablauf
- smenso sendet einen HTTP-Request an den Flow
- Flow validiert und normalisiert die Eingangsdaten
- Mapping der smenso-Felder auf Jira-Felder
- Erstellung eines Jira-Issues
- Rückmeldung an smenso (optional)
- Fehlerbehandlung und Logging
3. Trigger: HTTP-Request aus smenso
Trigger-Typ: When an HTTP request is received
Der Flow wird gestartet, sobald smenso einen HTTP-POST an den bereitgestellten Endpoint sendet.
Beispielhafte Eigenschaften:
- HTTP-Methode:
POST - Content-Type:
application/json - Authentifizierung:
- z. B. Shared Access Signature oder Azure AD
Beispiel für Request-Body aus smenso:
{
"title": "Fehler beim Export",
"description": "Export bricht nach 30 Sekunden ab",
"priority": "High",
"reporter": "smenso"
}Wichtige Hinweise:
- Das JSON-Schema muss exakt der Trigger-Definition entsprechen.
- Fehlende Pflichtfelder führen zu einem Abbruch vor der Jira-Erstellung.
4. Initialisierung und Validierung
Nach Eingang des Requests werden zunächst Variablen gesetzt und Pflichtfelder geprüft.
Typische Variablen:
| Variable | Typ | Beschreibung |
|---|---|---|
| projectKey | String | Jira-Projektschlüssel |
| issueType | String | Jira-Issue-Typ (z. B. Bug, Task) |
| sourceSystem | String | Konstante: smenso |
Validierungen:
titledarf nicht leer seindescriptiondarf nicht leer seinprioritymuss einem gültigen Jira-Wert entsprechen
Bei Validierungsfehlern wird:
- kein Jira-Ticket erstellt
- eine Fehlermeldung an smenso zurückgegeben (HTTP 400)
5. Feldmapping: smenso → Jira
Die Eingangsdaten aus smenso werden auf Jira-Felder gemappt.
Beispiel-Mapping:
| smenso-Feld | Jira-Feld |
title | fields.summary |
description | fields.description |
priority | fields.priority.name |
Konstante Bug | fields.issuetype.name |
projectKey | fields.project.key |
Konstante smenso | fields.customfield_xxx |
Hinweise:
- Custom Fields müssen als
customfield_XXXXXadressiert werden. - Feldnamen entsprechen den Jira REST API-Namen, nicht den UI-Namen.
6. Erstellung des Jira-Issues
Aktion: Create Issue (Jira Connector)
Verwendeter REST-Endpunkt:
POST /rest/api/2/issue
Beispiel für Request-Payload:
{
"fields": {
"project": { "key": "ABC" },
"summary": "Fehler beim Export",
"description": "Export bricht nach 30 Sekunden ab",
"issuetype": { "name": "Bug" },
"priority": { "name": "High" }
}
}Erfolgsantwort von Jira:
key(z. B.ABC-123)id
Diese Werte können anschließend:
- an smenso zurückgegeben werden
- für Logging oder Benachrichtigungen verwendet werden
7. Rückmeldung an smenso
Nach erfolgreicher Erstellung kann der Flow eine HTTP-Antwort an smenso senden.
Beispielhafte Antwort:
{
"status": "created",
"jiraKey": "ABC-123"
}Bei Fehlern:
- HTTP-Statuscode ungleich 200
- strukturierte Fehlermeldung im Body
8. Fehlerbehandlung
Der Flow verwendet dedizierte Scopes mit Run after: has failed.
Typische Fehlerfälle:
| Fehlercode | Ursache |
| 400 | Ungültige smenso-Daten |
| 401 | Ungültige Jira-Verbindung |
| 403 | Fehlende Jira-Berechtigungen |
| 404 | Projekt oder Feld nicht gefunden |
Empfehlungen:
- Vollständiges Logging der Jira-Antwort
- Korrelation über eine Request-ID aus smenso
9. Abhängigkeiten und Verbindungen
Verbindungen:
- Jira Connector
- Authentifizierung: API Token oder Basic
- Benutzer: dedizierter Service-Account
Erforderliche Jira-Rechte:
- Browse Project
- Create Issue
10. Deployment und Betrieb
Transport:
- Export als ZIP-Paket
- Import in Zielumgebung
Nach dem Import prüfen:
- Verbindungen neu binden
- HTTP-Endpoint neu verteilen an smenso
- Trigger zunächst deaktiviert testen
11. Wartung und Monitoring
Empfohlen:
- Regelmäßige Prüfung fehlgeschlagener Läufe
- Versionierung bei Änderungen am Mapping
- Dokumentation der verwendeten Custom Fields
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.