Problem i kontekst
Integracja oparta o listener ScriptRunner, która po pojawieniu się załączników w wybranych zgłoszeniach tworzy folder dokumentowy w zewnętrznym repozytorium plików, przenosi pliki i zapisuje stan synchronizacji. Rozwiązanie dba o idempotencję uploadu oraz automatyczne nadawanie dostępu nowym assignee.
Co robi rozwiązanie
- uruchamia się na wybranych eventach Jira,
- tworzy folder dokumentowy dopiero wtedy, gdy zgłoszenie ma załączniki,
- wysyła pliki tylko raz i zapisuje manifest synchronizacji,
- nadaje dostęp nowym assignee według zdefiniowanej reguły tożsamości,
- może zapisać link do folderu w polu niestandardowym Jira,
- nie usuwa uprawnień i nie robi reverse sync do Jira.
Architektura
sequenceDiagram
participant J as Jira Issue
participant L as ScriptRunner Listener
participant G as Graph API
participant D as Repozytorium dokumentow
J->>L: event po zalaczniku lub zmianie assignee
L->>G: autoryzacja i operacje folderu
G->>D: utworzenie folderu / upload pliku / nadanie dostepu
D-->>G: wynik operacji
G-->>L: link i status synchronizacji
L-->>J: aktualizacja pola z linkiem i zapis stanu
Dlaczego w portfolio
- pokazuje integrację Jira z zewnętrznym systemem plików i modelem uprawnień,
- łączy event-driven automation, idempotencję i zarządzanie stanem synchronizacji,
- dobry przykład praktycznego listenera z realnym przepływem dokumentów.
Anonimizacja
- usunięto wszystkie identyfikatory tenantów, klientów, drive’ów i pól,
- zastąpiono nazwy handlowe neutralnym opisem wspólnego repozytorium dokumentów,
- nie ujawniono zasad mapowania konkretnych kont i domen.