Swagger: Rest API & Integrations
Topics
Introduction
In addition to outgoing communication via Release Automation Explained we also support incoming calls via our Rest API.
Where to find our API?
Navigate to top right corner of Release Management iframe to find an API icon.
Click on it to open a standard Swager Open API UI in new tab.
What possibilities APIs can give me?
We “eat our own dog food here“ and use the same API to connect frontend and backend of our App. So, theoretically most of the things you can do via UI can be done via API calls.
Please reach out to our support team for advice on specific use cases.
How I can get a JWT token to access API?
To access our APIs you would need JWT token. To get it you would need first to generate Jira api token to define user context/permissions while accessing APIs. You would also need to exchange user API token into JWT token to access our Rest APIs
Please follow the below instructions.
Step 1: Generate Jira API token
To create API token please use the below standard Atlassian UI to get one.
https://id.atlassian.com/manage-profile/security/api-tokens
Copy your generate token and store it somewhere for time being.
Step 2: Extract a JWT token to access our Rest API
Open postman or any other tool to execute REST requests
with basic authentication using your account email address and API token as a password
If you use Authorization tab of Postman, not specifying Authorization token directly in headers … Postman will automatically convert your API token specified into Base64. If you do specify Authorization token directly in headers or use other tools to call APIs you might need to convert API token into Base64. For e.g. we suggest https://www.blitter.se/utils/basic-authentication-header-generator/.
Extract contextJwt from the response. This is your JWT token to access our Rest API.
How to execute calls to our APIs?
Add Authentication header:
Authorization:Â JWTÂ {your JWT token}
Â
As result, you will get access to the API.
JWT token is a short leaving and valid for 15 min only. If you want to automate access to our API you would need to automate the process of extracting this JWT with every call you do. See an example in Automation Use Cases incl. Integration with Jira Automation
Use cases
Integration with PowerBI, EasyBI, Tableau, etc.
If you want to extract Release Management App data to transform and load into one of the famous BI solutions (like PowerBI, EasyBI, Tableau, etc.) our APIs provides such flexibility.
Probably GetBoard end point is what you need:
Integration with CI/CD tools
Integration with CI/CD tools are usually bi-directional - outcoming and incoming.
An example of outcoming integration is most probably executing build or running certain pipeline when version is moved to specific destination column. Such flexibility could be achieved via Release Automation Explained.
If you trigger builds/pipelines manually or with some other automation you might want to
move version into some specific column after the build
specify environment where the version is available, incl. specific build number
provide some additional comments into version for audit log
amend version custom properties with a link to build to test
etc.
For all the above incoming calls you would need to use our Rest API and therefore the above sections of this page will be very helpful.
Integration with Jira Automation
Integration with JIra Automation is also bi-directional. From our experience most the cases are connected with aligning statuses of Jira issues and versions/packages, e.g.:
move version in progress when at least one encompassing issue is in progress
move version to done when all issues are done, or update issues to done when version is moved to done (either independant or in scope of package)
mark all Epics as Released when versions/package is Released.
etc.
Same story here - use Release Automation Explained to run Automation in Jira as post action in Release management or use our Rest API to execute some actions in Release Management in scope of Jira Automation rule.
Find out more details in Automation Use Cases incl. Integration with Jira Automation section of this documentation.