To create a DevOps tool integration, your integration developer configures DevOps tool integration settings, and a Workflow Studio subflow to collect and transform data from the source tool. Then your DevOps admin configures your DevOps tool connections.

Before you begin

Note: When creating an integration as a scoped app, the system admin must assign these roles to the integration developer so the integration developer is able to create tool integration and integration capability records for the specific scope.
  • Developer role for the scoped app
  • DevOps admin role

Role required: sn_devops.admin

About this task

Creating a DevOps tool integration procedure involves configuration by both your integration developer and your DevOps admin.
  • Your integration developer creates a tool integration record in DevOps, a Workflow Studio subflow, a tool capability mapping, and an integration capability record in DevOps to map the capabilities and actions together.
    Note: Notification, connect, and discover capabilities are supported.
  • Your DevOps admin sets up DevOps connections (planning or coding tool), and configures the source tool with the webhook and credentials.

This procedure provides detailed steps to create your DevOps tool integration.

Procedure

  1. Integration developer:
    Configure the source tool integration capabilities and actions, and a subflow.
    1. Navigate to DevOps > Integrations > Tool Integrations and create a record to define the tool you are integrating (source tool).
      Note: Do not edit the tool integration records provided with the DevOps application.
      Table 1. DevOps tool integration
      Tool label Sample Code Tool
      Table Code Tool [sn_devops_tool]
      Use packageable integrations Selected
      Integration version 1.0
      Active Selected
    2. Navigate to Flow Designer > Designer and create a subflow to collect and transform data from the tool you are integrating (source tool).
      Note: The Run As field must be set to System User, and the Inputs label must be set to current variable.
      Table 2. Notification subflow properties
      Name Code Tool Notification
      Application Sample Integration App
      Accessible From All application scopes
      Description Code tool for integration app
      Run As System User
      The subflow must contain Get More Data via API calls, and/or transform the original payload. Copy the transformed payload into the inbound events record.
      Note: Do not edit the DevOps main flow.
    3. Navigate to DevOps > Integrations > Tool Capability Mappings and create a record to map the tool integration record to the tool type capability.
      Table 3. DevOps tool capability mapping
      Tool integration Sample tool
      Tool type capability Code
    4. Navigate to DevOps > Integrations > Integration Capabilities and create a record to specify the action for the tool capability mapping.
      Note: Do not edit the integration capability records provided with the DevOps application.
      Table 4. DevOps integration capability
      Tool integration Sample Code Tool
      Capability mapping

      Sample Code Tool-Code

      Note: Do not edit tool type capability records.
      Action

      Notification

      Note: Do not edit tool action records.
      Active Selected
      Timeout (ms)

      Timeout for the corresponding subflow. If execution of the subflow exceeds this value, a timeout exception occurs.

      Value is in milliseconds (ms). Default is 45,000 (45 seconds).

      Subflow name

      x_snc_sample_integ.code_tool_notification

      The name is prefixed by the scope name and a dot (.) before the actual subflow name.

      For example, given:
      • connect_code_tool subflow
      • my_app_scope scope
      The value for this field is my_app_scope.connect_code_tool.
      Note: If the Subflow name field is left blank for a Notification capability, default handling of notifications occurs.

      See Notification tool capability action.

      Domain global
  2. DevOps admin:

    Configure the connection from DevOps to the source tool.

    1. The tool record must contain:
      • Reference to the tool integration record created by the integration developer (in the Tool field)
      • Tool label
      • Connection alias (connection and credential)
    2. Copy the notification (webhook) created on the DevOps planning tool to the source tool service hook of the notification endpoint and set the credentials to devops.integration.user.
    You can view the state of integration events in the Inbound Event list (DevOps > Administration > Inbound Events).

    The inbound event record state is set to Processed once the object has been inserted into the DevOps Core table. Event states include New, In Progress, Processed, Unmatched, and Error.

  3. If the tool integration record and the subflow are created in a different scope, the DevOps admin must create two new Cross scope privileges records to allow the app to access the inbound events table.
    Navigate to System Applications > Application Cross-Scope Access and create read and write cross scope privileges records to allow your app to access the inbound events table.
    Field Read Write
    Source Scope Auto populated based on the current application
    Target Scope DevOps
    Target Name sn_devops_inbound_event
    Target Type Table
    Operation Read Write
    Status Allowed

Example

Figure 1. DevOps tool integration
DevOpsToolIntegration
Figure 2. Workflow Studio subflow properties
SubflowProperties
Figure 3. Workflow Studio subflow
Subflow
Figure 4. Workflow Studio DevOps Integration - Notification flow
NotificationFlow
Figure 5. DevOps tool capability mapping
DevOps User Integration Mapping
Figure 6. Integration capability
IntegrationCapability
Figure 7. Planning tool
IntegrationPlanningTool
Figure 8. Cross scope access records (read and write)
CrossScopeAccess