We have integrated an API for our app's elements, such as custom fields and relations. This page provides a collection of examples on how to modify or work with the data using scripts. For information about the scripting language itself and available functions and features please refer to the respective documentation. The following section will help you to set up your API requests.
|Table of Contents|
Work with Assets data via REST
When using the REST API, you can access and modify STAGIL Assets fields in the same way you would do with other issue fields. When getting the data, you can use your REST call to get the issues data and see all related issues in the Assets custom field as issue keys:
Example output for Assets CF: "customfield_10794": "PROJECT1-44, PROJECT1-17, PROJECT1-12"
STAGIL Assets also provides several custom field types. One of them gives you the ability to create QR or bar codes for your assets/issues. If you want to retrieve the images via the REST API, e.g. to use them somewhere else for printing, simply look out for your custom field ID in the body of the GET request, where you will find the path to the image. It will look like this:
Example output for a QR code: "customfield_10795": "https://yourjiraURL.xyz/plugins/servlet/SA-QrCode.png?issueKey=CONFIGMGR-5"
SIL (Simple Issue Language)
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.IssueInputParameters import com.atlassian.jira.issue.Issue import org.apache.log4j.Level import org.apache.log4j.Logger import com.atlassian.jira.user.ApplicationUser; import com.atlassian.jira.issue.fields.CustomField; import com.atlassian.jira.issue.customfields.CustomFieldType; def issueManager = ComponentAccessor.getIssueManager() def customFieldManager = ComponentAccessor.getCustomFieldManager() def myLog = Logger.getLogger("com.onresolve.jira.groovy") myLog.setLevel(Level.DEBUG) //Get the issue, where PM-1 should be replaced with your issue key Issue issue = issueManager.getIssueObject("PM-1"); //Get the custom field, where 10101 should be replaced by your custom field ID CustomField customField = customFieldManager.getCustomFieldObject(10101); def cft = customField.getCustomFieldType(); Collection<Issue> selectedIssues = null; //Ignore the error that will be displayed for the following line selectedIssues = cft.getLinkedIssuesList(customField, issue); myLog.debug(selectedIssues)
Change/update linked issues of a relation
Refer to Get the values of the linked issues for information about the script, but for updating the links you need to transform the issue list to a string and update it by using
string "A,B,C" or
where A, B and C are the issue keys.