What can Elements API be used for?
The Elements API is available to be interact with Elements stories (requirements coming soon!), allowing you to create, read, update and delete your work items programmatically. You can also retrieve all the custom fields in your space and all the story statuses in your space.
Combined with an Elements Webhook, this infrastructure can help you integrate Elements work items with other external ticketing systems such as Salesforce, Azure DevOps, Service Now - any other system with an API available.
Prerequisites:
Enterprise Space with the API capability activated
Space Admin permissions or API Token Manager permissions in the Space
What is Make?
Make is a build automation tool where you can build executable programs and libraries from source code by reading files called Makefiles which specify how to derive the target program. Make is very similar to Zapier but has the ability to do slightly more complicated operations. If you are not a developer, think of Make a bit like flow, but it connects multiple platforms together rather than objects.
How to create a module connection to an Elements Space
This step is very similar to creating an API token. To do that follow the top steps of this support article.
Once you have generated and saved your API token we can then use this token to create a connection between Make and Elements. We suggest this API token has either full scope or you name each connection with the Scopes it has so that when using certain modules you have an API token that has sufficient scopes.
To create the connection in Make insert the Elements module you wish to use, then click Add in the connection area:
Then fill in the connection details with your own details:
This will then verify that the API token is valid by getting all the story statuses in your space. Requires at least read permissions.
Once the connection has been made you can then use each module as it is intended to be used. The behavior of each module should mimic exactly what is shown in our own developer page.
Modules overview
Create a Story
This module creates a story when run. All fields that are on the story creation page in Elements are able to be filled in when creating a story through the API. However some fields need to be filled in a specific way. These fields are:
Affected Roles: The role must already exist in your space, if the role does not exist the story will fail to be made. If you want to add multiple roles you must keep adding items rather than inputting a string of roles comma separated unless you turn on map.
Tags: The tag must already exist in your space, if the tag does not exist the story will fail to be made. If you want to add multiple tags you must keep adding items rather than inputting a string of tags comma separated unless you turn on map.
Custom Fields: When adding custom fields the custom field box must be filled in with the custom field Id which can be retrieved using the list custom story fields module. However the field value can be either custom field Id or the custom field value.
Risk: Through the api risk is measured as 1,2 or 3 rather than the Low, Medium and High you see as an end user. Therefore to select High you must use the value 3 and to select Low you must use the value 1.
More information is available in our developer portal.
Get a Story
This module retrieves all information about a story using an Id. This Id is not the Story Id but the story's own unique Id. This module should return all the story fields and values.
More information is available in our developer portal.
List Stories
This module acts in the same way as get a story except it returns all the stories in your space. Currently you cannot query stories using field values but you can limit the number of stories returned using the limit function in Make.
More information is available in our developer portal.
Update a Story
This module will look very similar to the create story but it allows you to update the values of a story using the Id of the story. When you fill in one of the fields with a value this will update the value on the story, if you leave a field blank it will not update that field. The response from the module shows you the new updated field values.
More information is available in our developer portal.
Delete a Story
This module deletes the story using the unique Id given to the story.
More information is available in our developer portal.
Get all story custom fields
If you have custom fields in your space you may want to fill them in using an integration. Therefore this module is essential for returning the custom fields Id and the list of possible values that can be used in that field.
More information is available in our developer portal.
Get all story statuses
This module is valuable when you are creating or updating a module using API as it will list all the story statuses you have available in your Space. You can then use the Story Status title to update or create a story in a certain status.
More information is available in our developer portal.