API and scripting overview
There are various methods to automate functionality in XL Release.
The principal method to control XL Release from the outside is through the REST API. This exposes XL Release’s core functionality over HTTP, allowing shell scripts or third-party systems to interact with XL 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 XL Release REST API using cURL . To see what functionality can be used, refer to the XL Release REST API documentation.
There are multiple ways to interact with third-party systems and automate tasks through scripting in the XL 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 an XL 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. XL Release users with the required permission can write a script on the template or release level.
Jython Script tasks have access to the XL Release through the XL 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 XL 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 XL Release, are plugin tasks.
Like Jython Script tasks, plugin tasks are written in Jython and have access to the XL Release API. Plugins are installed on the XL Release server.