The existence of an API allows developers to extend software so as to cater for unique use cases beyond the software's original scope. Administrators and end users of JIRA 5 can expect its REST API to enable the creation of integrated applications to solve their unique concerns. This presentation aims to describe ways in which the JIRA 5 REST API can be used to make a tangible impact for the end user. Several use cases will be discussed, ranging from running simple command line apps, through to creating web applications that integrate with the JIRA 5 REST API.
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Extend Your Use of JIRA by Solving Your Unique Concerns: An Exposé of the New JIRA 5 REST API
2. Extend your use of JIRA.
Solve your unique concerns.
An exposé of the new JIRA 5 REST API
Abhinav Keswani // @wasabhi
Principal, Bespoke Solutions // trineo.com.au // @trineoltd
3. What lies ahead?
• JIRA 5 REST API
• Structure, Authentication, and Entity Expansion
• Remote Apps: Key concepts.
• How to begin? Useful resources.
• In the wild: Use cases and examples of web apps.
7. Representational State Transfer
• Client/Server requests/responses are to facilitate the
transfer of representations of resources.
• Resources are sources of specific information with a
unique identifier.
8. Representational State Transfer
• Client/Server requests/responses are to facilitate the
transfer of representations of resources.
• Resources are sources of specific information with a
unique identifier.
• Uniform interface; identify/manipulate resources, self
descriptive messages, hypermedia used for application
state.
9. Hearing @wasabhi talk about the JIRA 5 REST API -
a uniform interface for extensive integration.
#summit12
29. Your app is the “Consumer”.
JIRA is the “Service Provider”.
You must register your app as an
“application link”, which can be identified
by JIRA using a “consumer key”, and a
public key (x509 RSA-SHA1).
30. • You request a token from the service provider.
• Do this by presenting a signed request including
your consumer key.
Consumer. Service Provider
Request Grant
Request Token Request Token
31. • The service provider grants you a request token.
• The token does not authorize you yet.
• The end user must authenticate with the service
provider and authorize access for the consumer.
Consumer. Service Provider
Direct End User to Obtain
Service Provider User Authorization
Direct End User
To Consumer
32. • The end user authorized Consumer access, and the
Consumer was presented with an oauth token.
• Use the oauth token to request an access token
from the Service Provider.
Consumer. Service Provider
Request Grant
Access Token Access Token
Access
Protected Resources
34. Entity Expansion
The expand query parameter allows a comma-separated
list of identifiers to expand.
The motivation is to save CPU and network traffic.
35. Entity Expansion
Specify expansion of entities within another entity using
dot notation. For example
?expand=starships.warp
expands the starships collection and also the warp
property on each starship.
37. Remoteapps Key Concepts
A Remote App is a web application that
runs outside the Atlassian application, and
yet is accessible by it.
38. Remoteapps Key Concepts
As a result, no code is executed on the
Atlassian application, but instead, content
from the Remote App is included in
Atlassian application pages or rendering
processes.
39. Remoteapps Key Concepts
In the other direction, a Remote App can
subscribe to key events via web hooks to
enable more complex workflow
integrations.
41. Remoteapps Key Concepts
Remote Apps can be written in any
application language and deployed on any
server, as long as it is reachable from the
Atlassian application over web protocols.
42. Key Concepts
★ Secure
★ You are in control of
★ form and function
★ performance and scale
★ Bi directional communication yields
superb efficient result
43. Go learn more ...
Don Brown: Plugins OnDemand
with RemoteApps.
...tomorrow 11:20-12:00
Quick intro to Abhinav. Mention Trineo (nothing OTT).\n
Quick intro to the talk.\n
This slide can be used to break up the chapters of your talk - this would be the start to a new chapter\n- OR -\nThis could be used for making a single statement of a few words or a sentence.\n\nYou should choose one or the other, so that there’s a consistent system.\n
Move fast through this, and illustrate the reason why REST is well loved today.\nAll resources share a uniform interface.\n
Move fast through this, and illustrate the reason why REST is well loved today.\nAll resources share a uniform interface.\n
Move fast through this, and illustrate the reason why REST is well loved today.\nAll resources share a uniform interface.\n
this can be used for key ideas that you want people to tweet\n
\n
\n
Quickly illustrate how the well known data within JIRA can be accessed via the API.\n
Quickly illustrate how the well known data within JIRA can be accessed via the API.\n
Quickly illustrate how the well known data within JIRA can be accessed via the API.\n
Quickly illustrate how the well known data within JIRA can be accessed via the API.\n
Quickly illustrate how the well known data within JIRA can be accessed via the API.\n
Quickly illustrate how the well known data within JIRA can be accessed via the API.\n
Expand on the HTTP verbs as well as illustrate the uniform interface.\n
Expand on the HTTP verbs as well as illustrate the uniform interface.\n
Expand on the HTTP verbs as well as illustrate the uniform interface.\n
Expand on the HTTP verbs as well as illustrate the uniform interface.\n
Expand on the HTTP verbs as well as illustrate the uniform interface.\n
Expand on the HTTP verbs as well as illustrate the uniform interface.\n
Will elaborate on cookies in particular apart from the preferred http-basic and oauth approaches. Will point out the nice Rich Manalang oauth dance examples repo.\n
Will elaborate on cookies in particular apart from the preferred http-basic and oauth approaches. Will point out the nice Rich Manalang oauth dance examples repo.\n
\n
oauth basics - important to cover this\n
oauth basics - important to cover this\n
oauth basics - important to cover this\n
oauth basics - important to cover this\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Just meditating on what else I should cover...not sure whether I want to launch into the JIRA REST Browser here, or subsequently in the “useful resources” section. Either way I would like to show JSON representations, some auth patterns.\n
Just meditating on what else I should cover...not sure whether I want to launch into the JIRA REST Browser here, or subsequently in the “useful resources” section. Either way I would like to show JSON representations, some auth patterns.\n
\n
\n
Just meditating on what else I should cover...not sure whether I want to launch into the JIRA REST Browser here, or subsequently in the “useful resources” section. Either way I would like to show JSON representations, some auth patterns.\n
Flip over to my browser to show great docs on Atlassian developer site, docs site, and studio for JRJC.\n
Browse to the Trineo Ruby gem to flick through the README quickly.\n
\n
WIP. Not showing code, perhaps will show the console connecting to a locally running instance of JIRA. Follow the README in the Trineo gem repo.\n\n
WIP. Not showing code, perhaps will show the console connecting to a locally running instance of JIRA. Follow the README in the Trineo gem repo.\n\n
this can be used for key ideas that you want people to tweet\n
WIP. Idea is to show adding comments to an existing issue in JIRA using conversational theming (speech bubbles). Here’s one I prepared earlier ...\n