DevOpsOrchestrationToolIntegrationHandler - Scoped

The DevOpsOrchestrationToolIntegrationHandler API enables processing of payloads from custom DevOps tools.

A custom DevOps tool is any tool that doesn't have an integration with DevOps. For a list of tools that have DevOps integrations, see DevOps Change Velocity integrations.

This API enables the processing of payloads that are used by the REST endpoint DevOps - POST /devops/tool/{capability}. You must implement the methods of this API in a script include before calling the POST /devops/tool/{capability} endpoint.

This API executes in the sn_devops namespace. For more information about DevOps, see DevOps Config.

DevOpsOrchestrationToolIntegrationHandler - getNativeIdForOrchestrationTask(Object payload)

Returns the value of the orchestrationTaskName parameter from the payload for the POST /devops/tool/{capability} endpoint.

You must implement this method in a script include before calling the REST endpoint DevOps - POST /devops/tool/{capability}.

Table 1. Parameters
Name Type Description
payload Object Payload containing data from the custom tool which is accepted by the REST endpoint POST /devops/tool/{capability}, where capability is orchestration.
Table 2. Returns
Type Description
String Value of the orchestrationTaskName parameter from the payload.

Example

In this example, a script include named DevOpsOrchestrationCustomToolIntegrationHandler implements the methods handleTool and getNativeIdForOrchestrationTask. The getNativeIdForOrchestrationTask method is implemented to return the value of the orchestrationTaskName parameter from the payload for POST /devops/tool/{capability}.

var DevOpsOrchestrationCustomToolIntegrationHandler = Class.create(); 

DevOpsOrchestrationCustomToolIntegrationHandler.prototype = {     

    handleTool: function(toolName) { 
        if (!gs.nil(toolName) && toolName == 'sn_devops_custom_tool') 
            return true; 
        return false; 
    }, 

    getNativeIdForOrchestrationTask: function(payload) { 
        return payload.orchestrationTaskName; 
    }, 

    type: 'DevOpsOrchestrationCustomToolIntegrationHandler' 

}; 

DevOpsOrchestrationToolIntegrationHandler - handleTool(String toolName)

Checks if this handler is valid for the specified tool.

You must implement this method in a script include before calling DevOps - POST /devops/tool/{capability}.

Table 3. Parameters
Name Type Description
toolName String Name of the tool.

Table: Tool Name field of the DevOps Tool Integration [sn_devops_tool_integration] table

Table 4. Returns
Type Description
Boolean Flag that indicates whether this handler is valid for the specified tool.
Possible values:
  • true: This handler can be used for the specified tool.
  • false: This handler can't be used for the specified tool.

Example

In this example, a script include named DevOpsOrchestrationCustomToolIntegrationHandler implements the methods handleTool and getNativeIdForOrchestrationTask. The handleTool method is implemented to check that the passed in name is for the correct tool. Replace 'sn_devops_custom_tool' with the name of the tool that you're using.

var DevOpsOrchestrationCustomToolIntegrationHandler = Class.create(); 

DevOpsOrchestrationCustomToolIntegrationHandler.prototype = {     

  handleTool: function(toolName) { 
    if (!gs.nil(toolName) && toolName == 'sn_devops_custom_tool') 
      return true; 
    return false; 
  }, 

  getNativeIdForOrchestrationTask: function(payload) { 
    return payload.orchestrationTaskName; 
  }, 

  type: 'DevOpsOrchestrationCustomToolIntegrationHandler' 

};