API and Scripting Overview
There are various methods to automate functionality in Digital.ai Release.
The principal method to control Release from the outside is through the REST API. This exposes Release’s core functionality over HTTP, allowing shell scripts or third-party systems to interact with Release. Data is interchanged in the JSON format. With the API, you can start releases, complete tasks, add comments to tasks, and much more.
To get started, see Create a new release via the Release REST API using cURL . To see what functionality can be used, refer to the Release REST API documentation.
There are multiple ways to interact with third-party systems and automate tasks through scripting in the Release user interface.
To interact with a third-party system, you can use the Webhook task type. You can connect to any system that has an HTTP endpoint. Example: SOAP or REST API.
Send a request and parse the result into a Release variable to use in subsequent tasks. No scripting is needed.
With the Remote Script task type, you can execute a shell script on a remote host. Both Unix and Windows are supported.
Use the Jython Script task type to provide a script that is executed when the task becomes active. Digital.ai Release users with the required permission can write a script on the template or release level.
The scripting language used is Jython, which is a Python dialect that runs on the Java VM. Digital.ai Release uses Jython 2.7. Because it runs on a Java VM, the complete API of Java 7 can also be used.
Jython Script tasks have access to the Digital.ai Release through the Release Jython API. This API is equivalent to the REST API.
You can use the task plugin mechanism to create custom task types. These tasks will appear in the Add task menu in the Release user interface. This is convenient for reusable bits of functionality, such as “Create JIRA ticket” or “Start Jenkins Job”.
The JIRA and Jenkins task types, as well as most other standard tasks in Digital.ai Release, are plugin tasks.
Like Jython Script tasks, plugin tasks are written in Jython and have access to the Release API. Plugins are installed on the Digital.ai Release server.