Der Vortrag beschreibt die Möglichkeit Events in Jira (und anderen Atlassian Produkten) durch externe Event Listener aufzufangen und weiter zu verarbeiten. Diese Mechanismen sind überall da hilfreich, wo externe Systeme auf Statusänderungen in Jira Tasks reagieren müssen, also z.B. Synchronisierung mit anderen Workflow Systemen und ähnlichem.
JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015
1. Jira (u.a.) Events „hören“ und verarbeiten
AUG Berlin Brandenburg, 14.01.2015
WENN IM WALD…
2. „Wenn im Wald ein Baum
umfällt, und niemand ist da, um
zu lauschen – macht er trotzdem
ein Geräusch?“
Zen Koan
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
3. Use Cases für Atlassian Events
• Trigger für automatisierte Übergänge in internen (Jira)
Workflows oder für Eingriff in das Verhalten einer Applikation
(z.B. Plugins).
• Trigger für und Integration mit externen Workflows
• Daten für Analyse von Workflows und Nutzerverhalten (z.B. zur
Optimierung des Entwicklungsprozesses)
• Daten für betriebswirtschaftliche Anwendungen (z.B. für die
Abrechnung von Leistungen).
• Zeitnahe und anlassbezogene Synchronisation
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
4. Diese Folien
• Geben einen (sehr groben) Überblick über die verfügbaren
Schnittstellen und Events.
• Standardisierte Events in Jira Workflows
• Anwendungsbeispiele für Event Verarbeitung.
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
5. Jira Workflows mit Triggern
– Event Trigger steuern
automatische
Übergänge zwischen
Zuständen in einem
Workflow
– Events aus Stash,
Github, Bitbucket,
Crucible etc.
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
6. Standard Events in JIRA
Quelle und mehr Info:
https://confluence.atlassian.com/display/JIRA/Configuring+workflow+triggers
Vorgefertigter Development Workflow with Triggers:
https://marketplace.atlassian.com/plugins/com.atlassian.jira.workflow.sdwftriggers
Dev tool
Bitbucket, Stash,
GitHub, GitHub
Enterprise
Crucible FishEye
Events • Pull request created
• Pull request merged
• Pull request declined
(Bitbucket and Stash
only)
• Pull request
reopened (Stash only)
• Commit created
• Branch created
• Review started
• Submitted for
approval
• Review rejected
• Review abandoned
• Review closed
• Review summarized
• Commit created
• Branch created
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
7. • Für Jira: Prinzipiell erzeugt jede Veränderung in Jira Events
(https://developer.atlassian.com/display/JIRADEV/JIRA-
Specific+Atlassian+Events)
• Jira unterstützte immer eine einfache Listener API
(https://confluence.atlassian.com/display/JIRA/Listeners ), mit denen Jira um
Listener erweitert werden konnte.
• Diese ist jedoch problematisch, und seit Version 4.0 kein Code Austausch
zwischen dieser API und Plugins
• Ersatz: Atlassian-Event Library (com.atlassian.event (1.0, eigentlich
depreceated, aber benutzbar) com.atlassian.event.api (2.0) s.
https://developer.atlassian.com/static/javadoc/events/latest/reference/pac
kages.html ) für Listener Plugins.
• Tutorial für Jira (2.0):
https://developer.atlassian.com/display/JIRADEV/Writing+JIRA+Event+Listen
ers+with+the+atlassian-event+Library
Jira: Listener und Atlassian Events
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
12. Anwendungen
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
IssueEvent
Jira
Listener Assembler
Event
DTO*
*Data Transfer Object: s. http://martinfowler.com/eaaCatalog/dataTransferObject.html
Consumer
• Einfacher Monitor: Jira Events in DTO zusammenfassen und
mappen und für externen Consumer über REST als Stream
bereitstellen.
• Regelbasierte Auswertung der Daten:
• Monitoring bestimmter User
• Monitoring bestimmter ID
• Mapping zwischen Zielsystemen (ID Source auf ID
Destination und vice versa)
13. Plugin Stash Repository Überwachung
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
Plugin lifecycle events:
com.atlassian.plugin.event.events.BeforePluginDisabledEvent
Stash events:
com.atlassian.stash.event.RepositoryCreatedEvent
com.atlassian.stash.event.RepositoryDeletedEvent
Licensing events:
com.atlassian.upm.api.license.event.PluginLicenseChangeEvent
com.atlassian.upm.api.license.event.PluginLicenseExpiredEvent
com.atlassian.upm.api.license.event.PluginLicenseRemovedEvent
Anwendungsfall:
- Scan Repositories nach
Initialisierung
- Inkrementelles Update durch
Stash Events
- Kompletter Scan, wenn
- Entweder Plugin
deaktiviert
- Oder Lizenz zeitweise
ungültig war (Plugin aktiv,
aber ohne gültige Lizenz)
16. Wer wir sind
• NetworkedAssets GmbH gegründet im Januar 2006 in
Berlin
• NetworkedAssets Sp. z o.o. gegründet im Juli 2010 in
Wrocław
• 26 Angestellte in 2014
• Mitglied im Telemanagement Forum, DOAG, SIBB und
Mitglied der deutsch-polnischen AHK.
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
17. Wo man uns findet
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
NetworkedAssets GmbH
Mommsenstraße 45
10629 Berlin
NetworkedAssets Sp. z o.o.
ul. Legnicka 50
54-204 Wrocław
18. Was wir tun
• Technische Prozesse in großen Netzen
– Schlüsselbegriff: Integration
– Integration von Daten, Prozessen, Systemen
– Fokus: Verteilte Anwendungen in großen TCP/IP Netzen
• Technische Prozesse in der Softwareentwicklung
– Agile und Automatisierte Prozesse in der Software Entwicklung
– Management von Prozess- und Softwareartefakten (Code, Tasks, etc.)
– Continuous Integration, Continuous Deployment, DevOps
– Automatisiertes Testing
• Softwareentwicklung, Architektur, Support.
– Technologisches Ökosystem: JVM auf Linux/Unix
– Atlassian Expert Partner, RedHat Advanced Partner
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
19. Unser Zuhause
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
Database
OS and Hardware
(from „Bare Metal“ via „Cloud“ to „Containers“).
Linux/Unix
SQL NoSQL
Frontend UI Design
UI Integration (Browser, iOS, Android)
Integration
(Open Source, RedHat, Oracle Middleware solutions)
CPE, Networks
and Systems
(Cisco, Arris, Huawei,
SeaChange, AcmePacket,
etc. etc. etc.)
Partners
NetworkedAssets
20. Atlassian Plugins
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
NetworkedAssets:
Kundenreferenz Projektron:
https://marketplace.atlassian.com/plugins/org.
networkedassets.atlassian.stash.personalstash
Work in Progress: Issue Monitor für Jira
Private Repositories for Stash
Projektron BCS Connector for JIRA
https://marketplace.atlassian.com/plugins/de.
projektron.jira.bcs-plugin