Slide 1

Slide 1 text

RALPH WHITBECK • DEVELOPER EVANGELIST • ATLASSIAN • @ATLASSIANDEV Extending Atlassian Products using Atlassian Connect

Slide 2

Slide 2 text

Extending Atlassian Products

Slide 3

Slide 3 text

Extending Atlassian Products Ease of upgradability

Slide 4

Slide 4 text

Extending Atlassian Products Ease of upgradability Open Technology Stack

Slide 5

Slide 5 text

Extending Atlassian Products Ease of upgradability Open Technology Stack Access to developer versions of Atlassian Applications with the Atlassian SDK

Slide 6

Slide 6 text

Introducing Atlassian Connect

Slide 7

Slide 7 text

Introducing Atlassian Connect Insert Web Content

Slide 8

Slide 8 text

Introducing Atlassian Connect Insert Web Content REST API’s

Slide 9

Slide 9 text

Introducing Atlassian Connect Insert Web Content REST API’s Webhooks

Slide 10

Slide 10 text

A platform to build add-ons as micro-services

Slide 11

Slide 11 text

A platform to build add-ons as micro-services Platform independent

Slide 12

Slide 12 text

A platform to build add-ons as micro-services Platform independent Language agnostic

Slide 13

Slide 13 text

A platform to build add-ons as micro-services Public contracts Platform independent Language agnostic

Slide 14

Slide 14 text

A platform to build add-ons as micro-services Public contracts Platform independent Loosely coupled Language agnostic

Slide 15

Slide 15 text

Atlassian Application Instances

Slide 16

Slide 16 text

Your Atlassian Connect Add-on Atlassian Application Instances

Slide 17

Slide 17 text

Registers Add-on Descriptor Your Atlassian Connect Add-on Atlassian Application Instances

Slide 18

Slide 18 text

Registers Add-on Descriptor API Requests Webhooks Your Atlassian Connect Add-on Atlassian Application Instances

Slide 19

Slide 19 text

Registers Add-on Descriptor API Requests Webhooks Your Atlassian Connect Add-on Atlassian Application Instances

Slide 20

Slide 20 text

Registers Add-on Descriptor API Requests Webhooks Your Atlassian Connect Add-on Atlassian Application Instances User

Slide 21

Slide 21 text

Atlassian Connect

Slide 22

Slide 22 text

A platform to build add-ons as micro-services Public contracts Platform independent Loosely coupled Language agnostic

Slide 23

Slide 23 text

Integration via web protocols

Slide 24

Slide 24 text

Integration via web protocols

Slide 25

Slide 25 text

Integration via web protocols REST API Webhooks

Slide 26

Slide 26 text

Extensibility via web fragments

Slide 27

Slide 27 text

Extensibility via web fragments modules: { webPanels: [ { location: "atl.jira.view.issue.right.context", name: { value: "Statistics" }, url: "/show-stats.html", key: "show-stats" } ] }

Slide 28

Slide 28 text

Extensibility via web fragments

Slide 29

Slide 29 text

Choose your own technology stack

Slide 30

Slide 30 text

Choose your stack

Slide 31

Slide 31 text

Choose your stack

Slide 32

Slide 32 text

Choose your stack

Slide 33

Slide 33 text

Choose your stack

Slide 34

Slide 34 text

Choose your stack

Slide 35

Slide 35 text

Choose your stack

Slide 36

Slide 36 text

Choose your stack

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

Example: Confluence statistics add-on

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

Labs

Slide 42

Slide 42 text

Setting up your development environment

Slide 43

Slide 43 text

http://bit.ly/ac-webinar

Slide 44

Slide 44 text

Building a static add-on

Slide 45

Slide 45 text

{ "key": "my-addon-key", "name": "My Connect Addon", "description": "Stuff n things", "vendor": { "name": "My Company", "url": "http://www.example.com" }, "baseUrl": "http://addon-server-url", "authentication": { "type": "none" } [modules: web fragments, webhooks, etc.] } Has to be unique in Marketplace Will be displayed in UPM and Marketplace All other endpoints specified in the descriptor must be relative to this path. Use “none” if it is a static add-on For more info, see the public documentation Add-on descriptor

Slide 46

Slide 46 text

Add-on descriptor "generalPages": [ { "url": "/helloyou.html", "key": "hello-you", "location": "system.top.navigation.bar", "name": { "value": "Click me" } } ] • Products can be extended using Web fragments (web item, web section, web panel) in various parts of the UI • You specify the fragment location, a target URL, and options, through the add-on descriptor To find the list of available locations, install the Web Fragments Finder add-on from Wittified: https://marketplace.atlassian.com/plugins/com.wittified.webfragment-finder W E B F R A G M E N T S - E X T E N D I N G T H E U I

Slide 47

Slide 47 text

http://atlassian-connect-validator.herokuapp.com/validate Validating your descriptor

Slide 48

Slide 48 text

http://atlassian-connect-validator.herokuapp.com/validate Validating your descriptor

Slide 49

Slide 49 text

Lab 1

Slide 50

Slide 50 text

Labs 2-4 are available in the repo

Slide 51

Slide 51 text

The labs walk you through

Slide 52

Slide 52 text

The labs walk you through REST API

Slide 53

Slide 53 text

The labs walk you through REST API

Slide 54

Slide 54 text

The labs walk you through REST API

Slide 55

Slide 55 text

http://bit.ly/ac-webinar-help RALPH WHITBECK • DEVELOPER EVANGELIST • ATLASSIAN • @ATLASSIANDEV

Slide 56

Slide 56 text

Questions? RALPH WHITBECK • DEVELOPER EVANGELIST • ATLASSIAN • @ATLASSIANDEV