SlideShare a Scribd company logo
Chatting with HIpChat: APIs 101
Chatting with HipChat
API’S 101

Don Brown

•

Architect

•

Atlassian

•

@mrdonbrown
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
Install Bitbucket Integration
1. Google “hipchat bitbucket
integration”

10.In a separate tab, go back to
HipChat and login

2. Click first Google result

11.Click on “Group Admin” tab

3. Click “these instructions” link

12.Click on “API”

4. Click “Hipchat hook management”
link as page was renamed

13.Type in “Bitbucket integration, select
“Notifications, copy new API key

5. Visit Bitbucket and login

14.Click on the “Rooms” tab

6. Go to desired repository

15.Click on the target room

7. Click admin icon

16.Copy the “API ID” value

8. Select “Hooks” menu item

17.Go back to the Bitbucket tab

9. Select “HipChat” from hooks
dropdown list

18.Copy in ID, API key, and API url
(consult docs), and click “Save”
HipChat Add-Ons =
API’s + Connect +
Marketplace
Character Sheets
SaaS Dev
Str
Dex
Con
Int
Wis
Cha
Level
Exp

Experts Founder

Enterprise Arch

17

10

12

18

12

14

12

14

18

15

16

14

11

16

17

12

18

14

2

6

5

4,200

52,650

34,800
SaaS Jr. Developer
Scenario
S e s s i on 1 - H a c ke r
S e s s i on 2 - Int ra pre ne ur
S e s s i on 3 - Ent re pre ne ur
Goal: Show signups in
my team’s room
Just text by itself, for
impact.
Just text by itself, for
impact.
Just text by itself, for
impact.
curl -H "Content-Type: application/json" 
-d '{"message": "Hello world"}'
-v
"https://api.hipchat.com/v2/room/My
%20Room/message"
<
<
<
<
<
<
<
<
<
{

HTTP/1.1 401 Unauthorized
Server: nginx
Date: Mon, 16 Sep 2013 23:33:27 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *
WWW-Authenticate: Bearer realm="HipChat"

"error": {
"code": 401,
"message": "Authenticated requests only.
See https://www.hipchat.com/docs/apiv2/auth for
more information.",
"type": "Unauthorized"
}
Chatting with HIpChat: APIs 101
Just text by itself, for
impact.
Just text by itself, for
impact.
curl -H "Content-Type: application/json" 
-d '{"message": "Hello world"}'
-v
"https://api.hipchat.com/v2/room/My
%20Room/message?
auth_token=VPNE7g0rHbfpNZ68XcOP0mwoBhwLGe9cFt
BmLFdq"
<
<
<
<
<
<
<
<
<

HTTP/1.1 204 No Content
Server: nginx
Date: Mon, 16 Sep 2013 23:42:31 GMT
Content-Type: text/html
Connection: keep-alive
X-Ratelimit-Remaining: 499
X-Ratelimit-Limit: 500
Access-Control-Allow-Origin: *
X-Ratelimit-Reset: 1379374980.0
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
GET https://api.hipchat.com/v2/room/Engineering
{
"created": "2013-08-08T18:42:20",
"id": 34,
...
"participants": [
{
"id": 375,
"links": {
"self": "https://api.hipchat.com/v2/user/375"
},
"name": "Garret Heaton"
}
]
}
GET https://api.hipchat.com/v2/room/Engineering?
expand=participants
{
"created": "2013-08-08T18:42:20",
"id": 34,
...
"participants": [
{
"created": "2013-08-08T18:42:20",
"email": "garret@example.com",
"id": 375,
"is_deleted": false,
"is_group_admin": true,
"is_guest": false,
"mention_name": "GarretHeaton",
"name": "Garret Heaton",
...
}]}
Chatting with HIpChat: APIs 101
Just text by itself, for
impact.
SaaS Jr. Developer
Scenario
S e s s i on 1 - H a c ke r
S e s s on 2- Int ra pre ne ur
S e s s iion 2 - Int ra pre ne ur
S e s s i on 3 - Ent re pre ne ur
Goal: Show signups in
any team’s room
Just text by itself, for
impact.
Signup
DB

Signup AddOn

HipChat
{
"name": "Signups",
"description": "Posts signups in rooms",
"key": "com.example.signups",
"links": {
"homepage": "https://example.com/signups",
"self": "https://example.com/signups/capabilities"
},
"capabilities": {
"hipchatApiConsumer": {
"scopes": [ "send_notification" ]
}
}
}
Just text by itself, for
impact.
Just text by itself, for
impact.
Just text by itself, for
impact.
Chatting with HIpChat: APIs 101
Just text by itself, for
impact.
Just text by itself, for
impact.
curl -v 
!
-u d4d6949e-791e-43cea0b7-50134495b73e:j998i9niK8zhi89R2sieBVVQSFfIgzd
TOBpxI8aP 
!
-d
"grant_type=client_credentials&scope=send_notific
ation" 
!
https://api.hipchat.com/v2/oauth/token
< HTTP/1.1 200 OK
< Server: nginx
< Date: Tue, 17 Sep 2013 01:28:03 GMT
< Content-Type: application/json
< Transfer-Encoding: chunked
< Connection: keep-alive
< X-Ratelimit-Remaining: 499
< X-Ratelimit-Limit: 500
< Access-Control-Allow-Origin: *
< X-Ratelimit-Reset: 1379381340.0
<
{"access_token":
"E9NGsQjqWgHSK50ZXHGgIAoQ0E13b1FuGiLPNdYj",
"expires_in": 82800,
"scope": "view_group",
"token_type": "bearer"}
Chatting with HIpChat: APIs 101
{
"name": "Signups",
"description": "Posts signups in rooms",
"key": "com.example.signups",
"links": {
"homepage": "https://example.com/signups",
"self": "https://example.com/signups/capabilities"
},
"capabilities": {
"hipchatApiConsumer": {
"scopes": [ "send_notification" ]
},
"installable": {
"callbackUrl": "https://example.com/signups/
installed"
}
}
}
Chatting with HIpChat: APIs 101
SaaS Jr. Developer
Scenario
S e s s i on 1 - H a c ke r
S e s s i on 2 - Int ra pre ne ur
S e s s on 3 -Ent re pre ne ur
S e s s iion 3 - Entre pre ne ur
Goal: show sales in
customer rooms
Chatting with HIpChat: APIs 101
{
"name": "Signups",
"description": "Posts signups in rooms",
"key": "com.example.signups",
...
"capabilities": {
"hipchatApiConsumer": {
"scopes": [ "send_notification" ]
},
"installable": {
"callbackUrl": "https://example.com/signups/
installed"
},
"configurable": {
"url": "https://example.com/signups/config"
}
}
}
Just text by itself, for
impact.
Screenshot of
marketplace docs
Screenshot of
marketplace registration
Just text by itself, for
impact.
Just text by itself, for
impact.
Enterprise Architect
Scenario
S e s s i on 1 - H a c ke r
S e s s i on 2 - Int ra pre ne ur
S e s s i on 3 - Ent re pre ne ur
Goal: Show sales in my
dev team’s room
Just text by itself, for
impact.
Just text by itself, for
impact.
Just text by itself, for
impact.
curl -H "Content-Type: application/json" 
-d '{"message": "Hello world"}'
-v
"https://api.hipchat.com/v2/room/My
%20Room/message"
<
<
<
<
<
<
<
<
<
{

HTTP/1.1 401 Unauthorized
Server: nginx
Date: Mon, 16 Sep 2013 23:33:27 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *
WWW-Authenticate: Bearer realm="HipChat"

"error": {
"code": 401,
"message": "Authenticated requests only.
See https://www.hipchat.com/docs/apiv2/auth for
more information.",
"type": "Unauthorized"
}
Chatting with HIpChat: APIs 101
Just text by itself, for
impact.
Just text by itself, for
impact.
curl -H "Content-Type: application/json" 
-d '{"message": "Hello world"}'
-v
"https://api.hipchat.com/v2/room/My
%20Room/message?
auth_token=VPNE7g0rHbfpNZ68XcOP0mwoBhwLGe9cFt
BmLFdq"
<
<
<
<
<
<
<
<
<

HTTP/1.1 204 No Content
Server: nginx
Date: Mon, 16 Sep 2013 23:42:31 GMT
Content-Type: text/html
Connection: keep-alive
X-Ratelimit-Remaining: 499
X-Ratelimit-Limit: 500
Access-Control-Allow-Origin: *
X-Ratelimit-Reset: 1379374980.0
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
GET https://api.hipchat.com/v2/room/Engineering
{
"created": "2013-08-08T18:42:20",
"id": 34,
...
"participants": [
{
"id": 375,
"links": {
"self": "https://api.hipchat.com/v2/user/375"
},
"name": "Garret Heaton"
}
]
}
GET https://api.hipchat.com/v2/room/Engineering?
expand=participants
{
"created": "2013-08-08T18:42:20",
"id": 34,
...
"participants": [
{
"created": "2013-08-08T18:42:20",
"email": "garret@example.com",
"id": 375,
"is_deleted": false,
"is_group_admin": true,
"is_guest": false,
"mention_name": "GarretHeaton",
"name": "Garret Heaton",
...
}]}
Chatting with HIpChat: APIs 101
Just text by itself, for
impact.
Enterprise Architect
Scenario
S e s s i on 1 - H a c ke r
S e s s i on 2 - Int ra pre ne ur
S e s s i on 3 - Ent re pre ne ur
Goal: Show sales in any
team’s room
Just text by itself, for
impact.
Sales DB

Sales Add-On

HipChat
{
"name": "Sales Info",
"description": "Posts sales to rooms",
"key": "com.example.sales",
"links": {
"homepage": "https://example.com/sales",
"self": "https://example.com/sales/capabilities"
},
"capabilities": {
"hipchatApiConsumer": {
"scopes": [ "send_notification" ]
}
}
}
Just text by itself, for
impact.
Just text by itself, for
impact.
Just text by itself, for
impact.
Chatting with HIpChat: APIs 101
Just text by itself, for
impact.
Just text by itself, for
impact.
curl -v 
!
-u d4d6949e-791e-43cea0b7-50134495b73e:j998i9niK8zhi89R2sieBVVQSFfIgzd
TOBpxI8aP 
!
-d
"grant_type=client_credentials&scope=send_notific
ation" 
!
https://api.hipchat.com/v2/oauth/token
< HTTP/1.1 200 OK
< Server: nginx
< Date: Tue, 17 Sep 2013 01:28:03 GMT
< Content-Type: application/json
< Transfer-Encoding: chunked
< Connection: keep-alive
< X-Ratelimit-Remaining: 499
< X-Ratelimit-Limit: 500
< Access-Control-Allow-Origin: *
< X-Ratelimit-Reset: 1379381340.0
<
{"access_token":
"E9NGsQjqWgHSK50ZXHGgIAoQ0E13b1FuGiLPNdYj",
"expires_in": 82800,
"scope": "view_group",
"token_type": "bearer"}
Chatting with HIpChat: APIs 101
{
"name": "Sales Info",
"description": "Posts sales to rooms",
"key": "com.example.sales",
"links": {
"homepage": "https://example.com/sales",
"self": "https://example.com/sales/capabilities"
},
"capabilities": {
"hipchatApiConsumer": {
"scopes": [ "send_notification" ]
},
"installable": {
"callbackUrl": "https://example.com/sales/
installed"
}
}
}
Chatting with HIpChat: APIs 101
Enterprise Architect
Scenario
S e s s i on 1 - H a c ke r
S e s s i on 2 - Int ra pre ne ur
S e s s on 3 -Ent re pre ne ur
S e s s iion 3 - Entre pre ne ur
Goal: Create side-project
to show Stripe sales in
customer rooms
Chatting with HIpChat: APIs 101
{
"name": "Stripe Integration",
"description": "Posts credit card sales in rooms",
"key": "com.example.stripe",
...
"capabilities": {
"hipchatApiConsumer": {
"scopes": [ "send_notification" ]
},
"installable": {
"callbackUrl": "https://example.com/stripe/
installed"
},
"configurable": {
"url": "https://example.com/stripe/config"
}
}
}
Just text by itself, for
impact.
Screenshot of
marketplace docs
Screenshot of
marketplace registration
Just text by itself, for
impact.
Just text by itself, for
impact.
Experts Founder
Scenario
S e s s i on 1 - H a c ke r
S e s s i on 2 - Int ra pre ne ur
S e s s i on 3 - Ent re pre ne ur
Goal: Add external chat
room to website
Just text by itself, for
impact.
Just text by itself, for
impact.
Just text by itself, for
impact.
curl -H "Content-Type: application/json" 
-d '{"message": "Hello world"}'
-v
"https://api.hipchat.com/v2/room/My
%20Room/message"
<
<
<
<
<
<
<
<
<
{

HTTP/1.1 401 Unauthorized
Server: nginx
Date: Mon, 16 Sep 2013 23:33:27 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Access-Control-Allow-Origin: *
WWW-Authenticate: Bearer realm="HipChat"

"error": {
"code": 401,
"message": "Authenticated requests only.
See https://www.hipchat.com/docs/apiv2/auth for
more information.",
"type": "Unauthorized"
}
Chatting with HIpChat: APIs 101
Just text by itself, for
impact.
Just text by itself, for
impact.
curl -H "Content-Type: application/json" 
-d '{"message": "Hello world"}'
-v
"https://api.hipchat.com/v2/room/My
%20Room/message?
auth_token=VPNE7g0rHbfpNZ68XcOP0mwoBhwLGe9cFt
BmLFdq"
<
<
<
<
<
<
<
<
<

HTTP/1.1 204 No Content
Server: nginx
Date: Mon, 16 Sep 2013 23:42:31 GMT
Content-Type: text/html
Connection: keep-alive
X-Ratelimit-Remaining: 499
X-Ratelimit-Limit: 500
Access-Control-Allow-Origin: *
X-Ratelimit-Reset: 1379374980.0
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
GET https://api.hipchat.com/v2/room/Engineering
{
"created": "2013-08-08T18:42:20",
"id": 34,
...
"participants": [
{
"id": 375,
"links": {
"self": "https://api.hipchat.com/v2/user/375"
},
"name": "Garret Heaton"
}
]
}
GET https://api.hipchat.com/v2/room/Engineering?
expand=participants
{
"created": "2013-08-08T18:42:20",
"id": 34,
...
"participants": [
{
"created": "2013-08-08T18:42:20",
"email": "garret@example.com",
"id": 375,
"is_deleted": false,
"is_group_admin": true,
"is_guest": false,
"mention_name": "GarretHeaton",
"name": "Garret Heaton",
...
}]}
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
Just text by itself, for
impact.
Experts Founder
Scenario
S e s s i on 1 - H a c ke r
S e s s on 2- Int ra pre ne ur
S e s s iion 2 - Int ra pre ne ur
S e s s i on 3 - Ent re pre ne ur
Goal: Private support
chats on website
Just text by itself, for
impact.
Support
DB

Support AddOn

HipChat
{
"name": "Support Chats",
"description": "Manages support chats",
"key": "com.example.support",
"links": {
"homepage": "https://example.com/support",
"self": "https://example.com/support/capabilities"
},
"capabilities": {
"hipchatApiConsumer": {
"scopes": [ "send_notification" ]
}
}
}
Just text by itself, for
impact.
Just text by itself, for
impact.
Just text by itself, for
impact.
Chatting with HIpChat: APIs 101
Just text by itself, for
impact.
Just text by itself, for
impact.
curl -v 
!
-u d4d6949e-791e-43cea0b7-50134495b73e:j998i9niK8zhi89R2sieBVVQSFfIgzd
TOBpxI8aP 
!
-d
"grant_type=client_credentials&scope=send_notific
ation" 
!
https://api.hipchat.com/v2/oauth/token
< HTTP/1.1 200 OK
< Server: nginx
< Date: Tue, 17 Sep 2013 01:28:03 GMT
< Content-Type: application/json
< Transfer-Encoding: chunked
< Connection: keep-alive
< X-Ratelimit-Remaining: 499
< X-Ratelimit-Limit: 500
< Access-Control-Allow-Origin: *
< X-Ratelimit-Reset: 1379381340.0
<
{"access_token":
"E9NGsQjqWgHSK50ZXHGgIAoQ0E13b1FuGiLPNdYj",
"expires_in": 82800,
"scope": "view_group",
"token_type": "bearer"}
Chatting with HIpChat: APIs 101
{
"name": "Support Chats",
"description": "Manages support chats",
"key": "com.example.support",
"links": {
"homepage": "https://example.com/support",
"self": "https://example.com/support/capabilities"
},
"capabilities": {
"hipchatApiConsumer": {
"scopes": [ "send_notification" ]
},
"installable": {
"callbackUrl": "https://example.com/support/
installed"
}
}
}
Chatting with HIpChat: APIs 101
Experts Founder
Scenario
S e s s i on 1 - H a c ke r
S e s s i on 2 - Int ra pre ne ur
S e s s on 3 -Ent re pre ne ur
S e s s iion 3 - Entre pre ne ur
Goal: Sell support chats
in the Marketplace
Chatting with HIpChat: APIs 101
{
"name": "Support Chats",
"description": "Manages support chats",
"key": "com.example.support",
...
"capabilities": {
"hipchatApiConsumer": {
"scopes": [ "send_notification" ]
},
"installable": {
"callbackUrl": "https://example.com/support/
installed"
},
"configurable": {
"url": "https://example.com/support/config"
}
}
}
Just text by itself, for
impact.
Screenshot of
marketplace docs
Screenshot of
marketplace registration
Just text by itself, for
impact.
Just text by itself, for
impact.
Install Bitbucket Add-on
1.Visit HipChat and login
2.Click on “Rooms” tab
3.Click on desired room
4.Click on “Add-ons”
5.Find Bitbucket addon, and click “Install”
6.Type the repository name, and click “Add”
Just text by itself, for
impact.
The Future. . .
Page title here
• Level One
• Level Two
• Level Two
• Level Two
• Level One
Chatting with HIpChat: APIs 101
Chatting with HIpChat: APIs 101
Feedback time!
“

Be the hero! Hack HipChat!

”
Thank you!
Don Brown

•

Architect

•

Atlassian

•

@mrdonbrown
Rate this Talk
Chatting with HipChat: APIs 101
Text code below to 22333
or visit http://bit.ly/1dPD0tv
MEH = 5
NO T BA D = 6
P R ET T Y GO O D = 7
A WES O ME = 8

To join this session, send text 136888 to

More Related Content

PPTX
How to Leverage APIs for SEO #TTTLive2019
PPTX
Fast by Default
PPTX
How to implement email functionalities with Mailjet api
PPTX
Designing and developing mobile web applications with Mockup, Sencha Touch an...
PDF
PDF
Node.js Authentication and Data Security
PPTX
Oauth 2.0 security
PPT
GWT
How to Leverage APIs for SEO #TTTLive2019
Fast by Default
How to implement email functionalities with Mailjet api
Designing and developing mobile web applications with Mockup, Sencha Touch an...
Node.js Authentication and Data Security
Oauth 2.0 security
GWT

What's hot (12)

PPTX
Rest API Security
PPTX
Poisoning Google images
PPTX
OAuth 2 Presentation
PPTX
OAuth 2.0
PDF
What's Your Problem?
PPTX
Using ArcGIS with OAuth 2.0 - Esri DevSummit Dubai 2013
PDF
EmberConf 2015 – Ambitious UX for Ambitious Apps
PDF
The Current State of OAuth 2
PPTX
SharePoint Conference 2018 - Build an intelligent application by connecting i...
PDF
Ajax Rails
 
PPTX
UC2013 Speed Geeking: Intro to OAuth2
PPTX
OAuth 2 at Webvisions
Rest API Security
Poisoning Google images
OAuth 2 Presentation
OAuth 2.0
What's Your Problem?
Using ArcGIS with OAuth 2.0 - Esri DevSummit Dubai 2013
EmberConf 2015 – Ambitious UX for Ambitious Apps
The Current State of OAuth 2
SharePoint Conference 2018 - Build an intelligent application by connecting i...
Ajax Rails
 
UC2013 Speed Geeking: Intro to OAuth2
OAuth 2 at Webvisions
Ad

Similar to Chatting with HIpChat: APIs 101 (20)

PDF
AtlasCamp 2014: Hipchat Add-ons for the Atlassian Marketplace
PDF
Rest api titouan benoit
PDF
如何使用 iframe 製作一個易於更新及更安全的前端套件
PDF
Bufferauthentication
PDF
APIs REST Usables con Hypermedia por Javier Ramirez, para codemotion
PDF
AtlasCamp 2015: HipChat: Connecting to (allthethings)
PPTX
RESTful Web Services
PPTX
Demystifying REST
PDF
Let's Chat about WeChat... one year later
PDF
Designing beautiful REST APIs
PPTX
Web technologies: HTTP
PPTX
From ZERO to REST in an hour
PPTX
RESTful Web Services.pptxbnbjmgbjbvvhvhj
PDF
Draft Hammer Oauth 10
PPTX
Esquema de pasos de ejecución IdM
PDF
Demystifying REST - SFRails meetup
PDF
how to develop a serverless in-app notification system - beSharp serverlessda...
PPTX
Building WebSocket and Server Side Events Applications using Atmosphere
PDF
HTML5 Websockets and Java - Arun Gupta
PDF
Mashing up JavaScript
AtlasCamp 2014: Hipchat Add-ons for the Atlassian Marketplace
Rest api titouan benoit
如何使用 iframe 製作一個易於更新及更安全的前端套件
Bufferauthentication
APIs REST Usables con Hypermedia por Javier Ramirez, para codemotion
AtlasCamp 2015: HipChat: Connecting to (allthethings)
RESTful Web Services
Demystifying REST
Let's Chat about WeChat... one year later
Designing beautiful REST APIs
Web technologies: HTTP
From ZERO to REST in an hour
RESTful Web Services.pptxbnbjmgbjbvvhvhj
Draft Hammer Oauth 10
Esquema de pasos de ejecución IdM
Demystifying REST - SFRails meetup
how to develop a serverless in-app notification system - beSharp serverlessda...
Building WebSocket and Server Side Events Applications using Atmosphere
HTML5 Websockets and Java - Arun Gupta
Mashing up JavaScript
Ad

More from colleenfry (20)

PDF
The 7 habits of high successful atlassian marketplace developers
PDF
True Git
PDF
The 7 habits of high successful atlassian marketplace developers
PDF
The 7 habits of high successful atlassian marketplace developers by dave meyer
PDF
AtlasCamp 2013: Scratch your own itch
PDF
AtlasCamp 2013: Bring your own Stack
PDF
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
PDF
AtlasCamp 2013: Keynote
PDF
AtlasCamp 2013: Confluence patterns
PDF
AtlasCamp 2013: Modernizing your Plugin UI
PDF
AtlasCamp 2013: Confluence Blueprints
PDF
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
PDF
AtlasCamp 2013: Confluence State of the Union
PDF
AtlasCamp 2013: ADG / Lean UX
PDF
Atlassian Summit 2013: Confluence State of the Union
PDF
Atlassian: More Awesome with Add-ons
PDF
Flying at the Speed of Git
PDF
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
PDF
True Git: The Great Migration
PDF
Adopting Continuous Integration in an Ops Group
The 7 habits of high successful atlassian marketplace developers
True Git
The 7 habits of high successful atlassian marketplace developers
The 7 habits of high successful atlassian marketplace developers by dave meyer
AtlasCamp 2013: Scratch your own itch
AtlasCamp 2013: Bring your own Stack
AtlasCamp 2013: A Re-Intriduction to Atlassian Connect: Add-ons for OnDemand
AtlasCamp 2013: Keynote
AtlasCamp 2013: Confluence patterns
AtlasCamp 2013: Modernizing your Plugin UI
AtlasCamp 2013: Confluence Blueprints
AtlasCamp 2013: Show Me Number! Automated Browser Performance Testing
AtlasCamp 2013: Confluence State of the Union
AtlasCamp 2013: ADG / Lean UX
Atlassian Summit 2013: Confluence State of the Union
Atlassian: More Awesome with Add-ons
Flying at the Speed of Git
The Experience Canvas: How to Use a Core Tool from the Experience-Driven Play...
True Git: The Great Migration
Adopting Continuous Integration in an Ops Group

Recently uploaded (20)

PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Approach and Philosophy of On baking technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Electronic commerce courselecture one. Pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
KodekX | Application Modernization Development
PDF
Advanced Soft Computing BINUS July 2025.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Machine learning based COVID-19 study performance prediction
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
NewMind AI Weekly Chronicles - August'25 Week I
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Approach and Philosophy of On baking technology
Dropbox Q2 2025 Financial Results & Investor Presentation
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Big Data Technologies - Introduction.pptx
Spectral efficient network and resource selection model in 5G networks
Electronic commerce courselecture one. Pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Advanced methodologies resolving dimensionality complications for autism neur...
KodekX | Application Modernization Development
Advanced Soft Computing BINUS July 2025.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Machine learning based COVID-19 study performance prediction
GamePlan Trading System Review: Professional Trader's Honest Take
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Unlocking AI with Model Context Protocol (MCP)
NewMind AI Weekly Chronicles - August'25 Week I

Chatting with HIpChat: APIs 101