Jira (u.a.) Events „hören“ und verarbeiten
AUG Berlin Brandenburg, 14.01.2015
WENN IM WALD…
„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
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
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
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
Standard Events in JIRA
Quelle und mehr Info: https://confluence.atlassian.com/display/JIRA/Configuring+workflow+triggersVorgefertigter Development Workflow with Triggers: https://marketplace.atlassian.com/plugins/com.atlassian.jira.workflow.sdwftriggers
Dev toolBitbucket, 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
• 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/packages.html ) für Listener Plugins.
• Tutorial für Jira (2.0): https://developer.atlassian.com/display/JIRADEV/Writing+JIRA+Event+Listeners+with+the+atlassian-event+Library
Jira: Listener und Atlassian Events
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
Klassendiagramm 2.0
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
• Confluence Events (Beide Varianten: 1.0 mit Event Listener Plugin Module, 2.0 seit Version 3.3.): https://developer.atlassian.com/display/CONFDEV/Event+Listener+ModuleBeispiel 2.0: https://developer.atlassian.com/display/CONFDEV/Annotation+Based+Event+Listener+Example
• Stash (2.0): https://developer.atlassian.com/stash/docs/latest/how-tos/responding-to-application-events.html
• Bamboo (1.0): https://developer.atlassian.com/display/BAMBOODEV/Bamboo+Event+Listeners
• Crucible/Fisheye (1.0): https://developer.atlassian.com/display/FECRUDEV/Event+Listener+Module+Type
Außerhalb von Jira
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
• Universal Plugin Manager – Events rund um Lizenzen• com.atlassian.upm.api.license.event
• https://developer.atlassian.com/static/javadoc/upm/licensing/2.1/reference/com/atlassian/upm/api/license/event/package-summary.html
• Plugin Lifecycle• com.atlassian.plugin.event
• Event Typen: https://developer.atlassian.com/static/javadoc/plugins/latest/reference/com/atlassian/plugin/event/events/package-summary.html
Rahmenbedingungen:
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
Anwendungsbeispiel: Jira IssueEvent
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
com.atlassian.jira.event.issue.IssueEvent1 Event:
17 Event Typen: • ISSUE_CREATED• ISSUE_UPDATED• ISSUE_ASSIGNED• ISSUE_RESOLVED• ISSUE_CLOSED• ISSUE_COMMENTED• ISSUE_REOPENED• ISSUE_DELETED• ISSUE_MOVED• ISSUE_WORKLOGGED• ISSUE_WORKSTARTED• ISSUE_WORKSTOPPED• ISSUE_GENERICEVENT• ISSUE_COMMENT_EDITED• ISSUE_WORKLOG_UPDATED• ISSUE_WORKLOG_DELETED• ISSUE_COMMENT_DELETED
Anwendungen
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
IssueEvent
Jira
Listener AssemblerEventDTO*
*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)
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 Plugindeaktiviert
- Oder Lizenz zeitweise ungültig war (Plugin aktiv, aber ohne gültige Lizenz)
ÜBER UNS
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
Wo man uns findet
Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events
NetworkedAssets GmbHMommsenstraße 45
10629 Berlin
NetworkedAssets Sp. z o.o.ul. Legnicka 50
54-204 Wrocław
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
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
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 JIRAhttps://marketplace.atlassian.com/plugins/de.projektron.jira.bcs-plugin
NetworkedAssets GmbHJörg Müller-KindtMommsenstr. 4510629 BerlinFon +49 (0) 30 43 73 06 90 Fax +49 (0) 30 43 73 06 99Mobile: +49 (0) 160 917 48 497
Danke Schön!
Top Related