Digital.ai Release Integration Python SDK Overview
Digital.ai Release Integration Python SDK is a set of tools that Developers can use to build container-based plugins. With Digital.ai Release 23.1, we are bringing in a new integration SDK experience with which you can run tasks as containers, using any language or third-party libraries.
Important: The container-based task functionality is not compatible with DB2.
Digital.ai Release SDK Project
The Digital.ai Release Python SDK (digitalai-release-sdk 24.1.0
) is available in the PyPI repository.
The Digital.ai Release Integration Python SDK template project serves as a template for developing a Python-based container plugin.
Key Concepts about Python SDK
The BaseTask
is an abstract class in the SDK that acts as a blueprint for defining tasks. It contains several methods and attributes that can be utilized by subclasses of the BaseTask
class. To create a custom task, you need to create a new class that extends the BaseTask
abstract class and implement the task logic in the subclass.
The SDK will execute the task by calling the execute()
method in the subclass. The execute()
method contains the task logic, and it can be customized to perform any necessary operations. In the given tutorial, The Hello
class is an example of a subclass that extends the BaseTask
abstract class. It handles the properties for the input and output values for the task and implements the execute()
method to get the value of the yourName
field from the self.input_properties
dictionary. Then, creates a greeting string using the f-string
notation that includes the name provided in the input. Finally, sets the greeting
output property to the greeting string using the set_output_property
method.
The execute_task()
method in the BaseTask
abstract class is responsible for executing the task. It calls the execute()
method and handles any exceptions that may occur during task execution.
The set_exit_code()
and set_error_message()
methods are used to set the exit code and error message for the task, respectively.
The SDK also provides the following methods and attributes that can be used to interact with the task execution environment:
- The
add_comment()
method is used to add a comment to the task output. - The
set_status_line()
method is used to set the status line for the task. - The
get_output_properties()
method returns a dictionary containing the output properties for the task. - The
abort()
method is used to signal to the SDK that the task execution should be aborted. Whenabort()
method is called, it sets the exit code to1
and immediately exits the task process, causing the task to be marked as failed.
Overall, the SDK provides a powerful set of tools for creating container-based tasks. You can use the BaseTask
abstract class as a starting point to define your custom tasks and take advantage of other methods and attributes to interact with the task execution environment.
Methods and Attributes
The BaseTask
abstract class contains the following methods and attributes:
Method | Type | Description |
---|---|---|
execute(self) | None | It is an abstract method that must be implemented by the subclasses of BaseTask, and it represents the main logic of the task. |
abort(self) | None | Sets the task's exit code to 1 and exits the program with a status code of 1 . |
set_exit_code(self, value) | None | Sets the exit code of the task's OutputContext object. |
set_error_message(self, value) | None | Sets the error message of the task's OutputContext object. |
get_output_context(self) | OutputContext | Returns the OutputContext object associated with the task. |
get_output_properties(self) | Dict [String, Any] | Returns the output properties of the task. |
get_input_properties(self) | Dict [String, Any] | Returns the input properties of the task. |
add_comment(self, comment: str) | None | Adds a comment to the task that will be visible in the UI. |
set_status_line(self, status_line: str) | None | Set the status line of the task. This shows live updates on the UI. |
add_reporting_record(self, reporting_record: Any) | None | Adds a reporting record to the OutputContext. The reporting records are used in the Audit Report. |
set_output_property(self, name: str, value: Any) | None | Sets the name and value of an output property of the task. |
get_release_server_url(self) | String | Returns the Release server URL of the associated task. |
get_task_user(self) | AutomatedTaskAsUserContext | Returns the details of the user who executes the task. |
get_default_api_client(self) | ApiClient | Returns an ApiClient object with default configuration based on the task. |
get_release_id(self) | String | Returns the Release ID of the task. |
get_task_id(self) | String | Returns the Task ID of the task. |
input_properties | Dict [String, Any] | It is the instance variable that contains the input properties for this task. |