21
Jira (u.a.) Events „hören“ und verarbeiten AUG Berlin Brandenburg, 14.01.2015 WENN IM WALD…

JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

Embed Size (px)

Citation preview

Page 1: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

Jira (u.a.) Events „hören“ und verarbeiten

AUG Berlin Brandenburg, 14.01.2015

WENN IM WALD…

Page 2: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

„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

Page 3: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

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

Page 4: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

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

Page 5: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

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

Page 6: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

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

Page 7: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

• 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

Page 8: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

Klassendiagramm 2.0

Atlassian User Group Berlin, 14.01.2014 - Wenn im Wald... Atlassian Events

Page 9: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

• 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

Page 10: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

• 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

Page 11: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

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

Page 12: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

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)

Page 13: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

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)

Page 14: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015
Page 15: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

ÜBER UNS

Page 16: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

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

Page 17: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

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

Page 18: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

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

Page 19: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

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

Page 20: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

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

Page 21: JIRA (u.a.) Events 'hören' und verarbeiten, Atlassian User Group 14.01.2015

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

[email protected]

Danke Schön!