This documentation supports the 22.1 and consecutive patch versions of BMC Helix Multi-Cloud Broker.To view an earlier version, select the version from the Product version menu.

Synchronizing incidents with Azure DevOps work items via BMC Helix Integration Service


Azure DevOps provides developer services to support teams to plan work, collaborate on code development, and build and deploy applications. Developers can work in the cloud using Azure DevOps Services. For more details about Azure DevOps, see the Azure DevOps documentation.

Important

Azure DevOps Server was earlier named Visual Studio Team Foundation Server (TFS).

BMC Helix Multi-Cloud Broker facilitates DevOps practices in organizations that use multiple tools. You can integrate BMC Helix Multi-Cloud Broker with Azure DevOps and manage tickets across multiple teams more effectively. When an incident is created in BMC Helix ITSM, a corresponding work item is created in Azure DevOps. Also, whenever a work item is created in Azure DevOps, a corresponding BMC Helix ITSM incident is created. The data between a BMC Helix ITSM incident and an Azure DevOps work item; for example, status change and a work log item, is also synchronized.

Azure DevOps to BMC Helix ITSM data flow

The following image illustrates how BMC Helix Multi-Cloud Broker creates an incident in BMC Helix ITSM from an Azure DevOps work item:

Azure_ITSM_incident.png

BMC Helix ITSM to Azure DevOps data flow

The following image illustrates how BMC Helix Multi-Cloud Broker creates an Azure DevOps work item from a BMC Helix ITSM incident:

ITSM_Azure_incident.png

Before you begin

Complete all preconfiguration tasks before you configure the integration.

To select the integration option for DevOps between Azure DevOps and ITSM

  1. Log in to BMC Helix Innovation Suite.
  2. On Workspace, click Multi-Cloud Broker.
  3. To launch BMC Helix Multi-Cloud Broker, click Visit Deployed Application.

    Tip

    You can access BMC Helix Multi-Cloud Broker directly by entering the URL https://hostName:portNumber/helix/index.html#/com.bmc.dsm.mcsm/login and logging in as a tenant administrator.

  4. To open the configuration page, click Settings Settings icon.png.
  5. Select Start Here > Quick Configuration Guide.
  6. In the Step 1: Choose configuration tab, perform the following steps:
    1. From the Choose configuration list, select the Helix integration service.

  b. For the DevOps feature, under DevOps Integration, select any of the following features and click Next



      • Remedy Incident to Azure DevOps
      • Azure DevOps to ITSM Incident

The Perform configurations tab displays a list of the common configurations, connectors, flows, and connector targets and processes that you need to configure as described in the next tasks. 

To map Azure DevOps vendor data to ITSM or BMC Helix ITSM: Smart IT

To configure vendor data content, you must set up a vendor organization and define vendor mappings for the technology provider. The Configuration Links page provides links to both options.

Best practice
We recommend that you set up the vendor organizations before starting the BMC Helix Multi-Cloud Broker configuration. For more information about adding vendor organizations, see Performing-common-preconfiguration-tasks.

  1. On the Perform configurations tab, to create or modify a vendor organization, under Configure Azure DevOps, click Manage Vendor Organization.
  2. On the Perform configurations tab, to add or update the vendor mapping, under Configure Azure DevOps, click Manage Vendor Metadata.
  3. Configure the vendor data. 
    1. On the Map Vendors screen, click 21.3_Add metadata icon.png to open the Map New Vendor page.

      mapVendor_Azure.PNG

    2. Enter a Description that makes it easy for you to identify the vendor metadata configuration.
    3. Select Azure DevOps as the Ticketing Technology Provider.
      The Ticketing Technology Provider is the application the vendor uses to manage tickets. For example, Ticketing Technology Provider for Microsoft is Azure DevOps.
    4. Click Add Mapping.

      BMC Helix Multi-Cloud Broker displays the default Instance URL and Display Field Mapping.

    5. In the Instance URL, replace the values of <organization> and <project> with the name of the Azure DevOps organization and the project within that organization that you want to integrate with. 
    6. Click  { }  to open the JSON editor, and modify Display Field Mapping to add or delete values.

      Display Field Mapping defines how vendor ticket fields map to the fields on the Smart IT console. 

      displayFieldMappings_Azure.PNG

    7. From the Integration Platform list, select Integration Service.

To configure connectors for integrating ITSM and Azure DevOps with BMC Helix Multi-Cloud Broker

For each feature you selected, complete the following procedure for the connectors listed on the Configuration Links page.

  1. To navigate to BMC Helix Integration Service, on the Configuration Links page, click Configure connectors in Integration Studio under Required Common Configurations.
    You must configure the connectors listed for each feature, in addition to the connectors listed under Required Common Configuration.
  2. To enter field values, select a connector, such as ITSM, and click Configuration.
    You might need to click the arrow on the ribbon in the lower section of the screen to open the Configuration pane.
  3. To update the configuration defaults, enter the appropriate field values by referring to the list of connectors at the end of this procedure.
  4. To add or update the user account that is used to access the vendor application, click Accounts.

List of connectors for integration with Azure DevOps


ITSM
  • Configuration
    If you are integrating BMC Helix Multi-Cloud Broker with an on-premises instance of ITSM, enter the following values:

    Field

    Value

    Site

    Select the site that you created for Remedy.

    AR server

    Enter the name of your on-premises AR System server.

    AR server port

    Enter the port number for your on-premises AR System server.

  • Account
    Add a ITSM user account that has permissions to view business service requests and permissions to update incidents, change, or problem requests.


Multi-Cloud
  • Configuration
    While activating BMC Helix Multi-Cloud Broker, BMC configures the Multi-Cloud connector. Do not modify the default Multi-Cloud connector configuration.
  • Account
    BMC sets up the account for the Multi-Cloud connector.
    Click reauthenticate.PNGto re-authenticate after you have changed the password for your tenant administrator user account in BMC Helix Innovation Studio.
    For information about changing the user password, see Creating or modifying People data.


Azure DevOps
  • Configuration

    Field

    Value

    Name

    Enter a name for the connector configuration.

    Site

    Select Cloud as the site.

    Azure DevOps Cloud Service URL

    Azure DevOps Services Organization

    Enter the name of the organization that is defined for Azure DevOps Services.

    API Version

    Select 5.0.

    Project

    Enter MCSM.

  • Accounts
    • Add the account of a Azure DevOps user who can view and update work items.


SMTP Email
  • Configuration
    To send email notifications for errors, specify values for the following fields:

    Field

    Value

    Name

    Enter a name for the connector configuration.

    Site

    Select the appropriate site for your email server.

    Connection type

    Select the type of connection for your email server.

  • Account
    Add an email account to be used for sending error notifications.

To configure flow triggers and field mappings between ITSM, BMC Helix Multi-Cloud Broker, and Azure DevOps

For each feature you selected, complete this procedure for the flows listed on the Configuration Links page.

  1. To navigate to BMC Helix Integration Service, on the Configuration Links page, click Configure flows in Integration Studio under Required Common Configurations.

    You need to configure the flows listed for each feature, in addition to the flows listed under Required Common Configuration.

  2. To open the flow template page, on the Catalog tab in Integration Studio, click the flow you want to configure.

    FlowScreen.png

  3. To create a copy of the flow template, click useThisFlow.PNG.
    AfterUseFlowclick.png

  4. Select the appropriate accounts for the end-point connectors of the selected flow.
    You specify the connector accounts when configuring connectors.
  5. To update the name of the flow that you have copied from the flow template, select My Flow, open the flow that you copied, and update the title.
  6. Specify the trigger Conditions and Field mapping, and click OK.
    For more information about trigger conditions and field mappings, see the list of flows at the end of this procedure.
  7. Click My Flows and select the flow that you created from the flow template.
  8. To verify the target values for the trigger conditions and the field mappings, in the right pane, click Details.

List of flows for integration with Azure DevOps


Create DevOps Incident
  • Trigger 
    You need to set a trigger condition for this flow to determine which Incidents should be sent to Azure DevOps. For example, you can use the following triggers:

    • Status = Resolved
    • Status Reason = Future Enhancement0


  • Field Mapping

    The following values are mapped out-of-the-box:

    ITSM field

    Azure DevOps field name

    Additional information

    Summary

    Summary

    None

    Priority

    Priority

    None

    Company

    Company

    None

    Description

    Notes

    None

    Status

    Status

    None

    Incident Number

    Incident number

    Incident Number is added as a label on the issue.

    Service

    Service

    None

    Technology Service


    The Create DevOps Incident flow can be used to send incidents to other DevOps vendors like Jira. You can use one of the following options:

    • Use the Target Values option and select the Technology Service from the list
      Target Values
       shows the list of vendor mappings that you add in the vendor metadata configuration earlier.
      For the Azure DevOps integration, from the Target Values list, select Azure DevOps. This determines that the connector process is invoked in BMC Helix Innovation Suite to create or update Jira issues.
    • Use the Source Fields option and map it to one of the existing field from ITSM, for example, the Service field. Then, you can use the transformation option to map different ITSM Services to different technology services.
      For example, if the value of the ITSM Service field is Azure DevOps Service, then, add the data transformation to map Azure DevOps Service to Azure DevOps.

    For Azure DevOps, the Webhook Condition Parameter defined in the Field Mappings sets the Technology Service to Azure DevOps if the value of Resolution Category 2 is set to Azure DevOps.

    Note

    Selection of the Azure DevOps as vendor service is based on the Webhook Condition Parameter field mapping. The  Webhook Condition Parameter  field is mapped to Resolution Category.   If  Resolution Category Tier 2  is  Azure DevOps , the value of the parameter is set to  Azure DevOps else If  Resolution Category Tier 2  is any other value,   the parameter is set to blank quotes  " "  and any transformation defined for the  Technology Service  field is used to determine the vendor service.

    Warning

    Do not modify the Webhook Condition Parameter defined in the field mapping.


Create Azure DevOps Work Item
  • Trigger 
    Do not modify the trigger condition defined for this flow. The trigger is based on a Webhook subscription defined in BMC Helix Innovation Suite.
  • Field Mapping

    This flow is a series of sub-flows. Field mappings are defined for each sub-flow.

    Warning

    Do not modify the Webhook Condition Parameter defined in the field mapping.

    • Flow Target 1 - Azure DevOps (BMC Helix Multi-Cloud Broker to Azure DevOps fields)

      Azure DevOps field

      BMC Helix Multi-Cloud Broker fields

      Additional information

      State

      Status

      None

      Title

      Summary

      None

      Work Item Type

      Resolution Category 3

      None

      Acceptance Criteria

      Description

      None

      Description

      Description

      None

      Priority

      Priority

      None

      Tags

      Remedy Incident Number

      None

    • Flow Target 2 - Multi-Cloud (BMC Helix Multi-Cloud Broker fields)

      BMC Helix Multi-Cloud Broker fields

      BMC Helix Multi-Cloud Broker fields

      Additional information

      Status

      Not applicable

      Default value is set to New.

      Vendor

      Not applicable

      Using the Webhook Condition parameter value set in the BMC Helix Multi-Cloud Broker incident, value is set to Azure DevOps

      Parent Ticket ID

      ID


      Parent Ticket Type

      Not applicable

      Default value is set to Incident.

      Vendor Ticket ID

      ID


    • Flow Target 3 (BMC Helix Multi-Cloud Broker to ITSM fields)

      BMC Helix Multi-Cloud Broker fields

      ITSM fields

      Additional information

      Incident Number

      Remedy Incident Number

      Incident Number is added as a label on the issue.

      Broker Vendor Name

      Azure DevOps

      Using the Webhook Condition parameter value set in the BMC Helix Multi-Cloud Broker incident, value is set to Azure DevOps


Create Change from Azure DevOps
  • Trigger
    Do not change the out-of-the-box trigger conditions.
  • Field Mapping (Azure DevOps to BMC Helix Multi-Cloud Broker mapping)

    The following table lists the out-of-the-box field mappings. You must set the target values for Company, Vendor, Customer First Name, Customer Last Name fields when using the flow from the template.

    Azure DevOps fields

    BMC Helix Multi-Cloud Broker fields

    Title

    Summary

    Priority

    Priority

    Draft

    Status

    Description

    Description

    Severity

    Urgency

    Priority

    Impact

    Risk

    Risk Level

    Normal

    Class

    Change

    Change Type

    Remedy

    Webhook Condition Parameter


Create Incident from Azure
  • Trigger
    Set the Work Item Type value to the type of Azure DevOps work item you want to broker.
    Ensure that the value of the Tags field matches to (INC|CRQ)\d+.
  • Field Mapping (Azure DevOps to BMC Helix Multi-Cloud Broker mapping)

    Azure DevOps fields

    BMC Helix Multi-Cloud Broker fields

    Additional information

    Title

    Summary

    None

    Priority

    Priority

    None

    State

    Status

    None

    Description

    Description

    None

    Severity

    Urgency

    None

    Priority

    Impact

    None

    Not applicable

    Incident Type

    Default value is set to User Service Restoration

    Not applicable

    Vendor

    Default value is set to Azure DevOps

    Note

    Set the Webhook Condition Parameter to Remedy.


Sync Azure DevOps Work Item
  • Trigger 
    Ensure that value of the Tags field matches to (INC|CRQ)\d+.

  • Field Mapping 
    The following out-of-the-box field mappings should not be changed:

    Azure

    BMC Helix Multi-Cloud Broker fields

    Additional information

    State

    Status

    None

    Not applicable

    Vendor

    Default value is set to Azure DevOps

    ID

    Vendor Ticket Id

    None

    Not applicable

    Vendor Ticket properties

    Retain out-of-the-box properties mapping and add additional properties as needed.


Sync Azure Devops WorkItem Comment
  • Trigger
    Ensure that Tags contains INC.Do not delete Web hooks filter trigger conditions.
  • Field Mapping
    Do not change the following out-of-the-box field mappings.

    Field

    Value

    text

    Comment Body

    post_type

    comment#remedy

    ticket_type

    Add source fields, target values, or text

    ticketNumber

    Add source fields, target values, or text

    Vendor

    Azure DevOps

    vendorTicketId

    Comment WorkItem Id

    commentId

    Comment Id

    Author

    Comment Author

    Attachment Object 1

    Add source fields, target values, or text

    Attachment Object 2

    Add source fields, target values, or text

    Attachment Object 3

    Add source fields, target values, or text

    Note

    To send a comment from Azure DevOps to ITSM, add the keyword $mcsm before the comment in the Azure DevOps work item.


Multi-Cloud Worklog to Azure DevOps comment
  • Trigger
    Do not modify the trigger condition defined for this flow. The trigger is based on a Webhook subscription defined in BMC Helix Innovation Suite.
  • Field Mapping (Azure DevOps to BMC Helix Multi-Cloud Broker mapping)


    Azure

    BMC Helix Multi-Cloud Broker fields

    Additional information

    Work Item Id

    associatedGUID

    None

    Comment Body

    Author, CommentText

    None



Tag Azure DevOps Work Item with Remedy Incident Number
Warning

Do not modify the values defined for this flow. The values defined in this flow are used internally by BMC Helix Innovation Suite to add the Azure DevOps work item with the corresponding Remedy Incident ID.

  • Trigger

    Field

    Value

    Condition is

    Retain the webhook condition

    Include All fields is

    true

    Source ID starts with

    Azure DevOps

    Record Event equals

    update

  • Field Mapping 
    This flow is a series of sub-flows. Field mappings are defined for each sub-flow.
    • Flow Target 1 - Multi-Cloud (BMC Helix Multi-Cloud Broker to Azure DevOps fields)

      Azure DevOps field

      BMC Helix Multi-Cloud Broker fields

      Additional information

      Vendor

      Not applicable

      Value is set to Azure DevOps. Do not change this value.

      Parent ticket ID

      ID

      None

    • Flow Target 2 - Azure DevOps (BMC Helix Multi-Cloud Broker fields)

      BMC Helix Multi-Cloud Broker fields

      BMC Helix Multi-Cloud Broker fields

      Additional information

      ID

      Vendor Ticket ID

      None

      Tags

      Remedy Incident Number

      Incident Number is included in the Summary and also added as a label on the issue.


Tag Azure DevOps Work Item with Remedy Change Number
Warning

Do not modify the values defined for this flow. The values defined in this flow are used internally by BMC Helix Innovation Suite to add the Azure DevOps work item with the corresponding Remedy Change ID.

  • Trigger

    Field

    Value

    Condition is

    Retain the webhook condition

    Include All fields is

    true

    Source ID starts with

    Azure DevOps

    Record Event equals

    update

  • Field Mapping 
    This flow is a series of sub-flows. Field mappings are defined for each sub-flow.

    Source: Multi-Cloud connector

    Flow Target 1 - BMC Helix Multi-Cloud Broker fields

    Flow Target 2 - Azure DevOps field

    Not applicable

    "Vendor" - input - will be specified by user on use of flow from template

    Not applicable

    ID

    Parent Ticket Id

    Not applicable

    Not applicable

    Vendor Ticket Id

    ID

    Remedy Change ID

    Not applicable

    Tags


Send Error Notification
  • Trigger

    Field

    Value

    Flow Target

    Multi-Cloud

  • Field Mapping

    Field

    Value

    To

    Enter the email account that will receive the error notification.

    Subject

    Flow Title

    From
    Note:
    The value of this field is set to Integration Service.

    NA

    Note

    You can change the following out-of-the-box field mappings:

    • Subject
    • From

    However, BMC recommends that you retain the existing mappings.

Mapping between ITSM fields and custom fields created in Azure DevOps

To create a ITSM incident based on an Azure work item that includes a custom field, you must map the custom field with an ITSM field. When the fields are mapped, changes made to the custom field in the Azure DevOps work item are updated in Vendor Ticket details section of the ITSM incident ticket.

Important

When you map a custom field of type text, to ensure that the text displayed in the custom field does not contain any html symbols you must use the stripHtml function to transform the field in the flow mapping.

The following table lists the types of Azure DevOps fields you can configure:

  • Text (single line or multiple line)
  • Picklist (string or integer)
  • Integer
  • Decimal
  • Date/Time

The configuration of single line or multiple line text fields and a picklist string is the same. To use date/time, integers, decimal, picklist (integers) fields, you must separately configure these fields in Smart IT. In Mid-Tier, they will be transferred to the previously created (and configured) ITSM fields. 

To enable mapping custom Azure DevOps fields with ITSM fields

  1. Create a custom field in your Azure DevOps project. For more information about creating a custom field in Azure DevOps see Add a custom field to a work item type in the Microsoft Azure documentation. 

  2. Add a new field to the Ticket Brokering Library:
    1. Log in to BMC Helix Innovation Studio and navigate to the Workspace tab.
    2. Select Ticket Brokering Library > Records > Incident.
    3. From the New field drop-down list, select the field type corresponding to the custom Azure DevOps field. 

      Azure DevOps field type

      Multi-Cloud field type

      Text (single line or multipl line)

      Text

      Picklist (string or integer)

      Selection

      Integer

      Integer

      Decimal

      Decimal

      Date/Time

      Date/Time

    4.  Add the following properties to the new field:

      Field name

      Value

      Name

      Enter a name for the custom field

      Allow Anyone to Submit

      Select icon_toggleYes.PNG.

      For example, if you created a custom Date/Time field in Azure DevOps, create a new Date/Type field.

  3. Regenerate the schema for the Azure DevOpsITSM, and Multi-Cloud connectors:
    1. Log in to BMC Helix Integration Service.
    2. Click Catalog.
    3. Click Connectors, and then select the connector from the list. 
      You might need to click the arrow on the ribbon in the lower section of the screen to open the Configuration pane.
    4. Under Custom Fields, click Regenerate in the Actions column.
  4. Refresh schema for the Create DevOps Incident and Create Azure DevOps Work Item flows, and add then add a mapping for the custom field. 
    1. Log in to BMC Helix Integration Service.
    2. Click My Flows.
    3. Search for the flow and click the flow to open it.
    4. From the Actions list, select Refresh Schema
    5. (Optional) To get the internal ID from Azure for your custom fields run the following commands: 

      Important

      You must install a utility for non-interactive download of files like wget and then run the commands using the command line prompt.

      1. Run echo -n username:password| base64
        to generate base64 encoded string for subsequent requests.
      2. Run wget --no-check-certificate --header='X-Requested-With: XMLHttpRequest' --header='Authorization: Basic [base64 encoded username:password]' --output-document applications.json 'https://[host]/api/v1.0/apps/search?lower_case_name=[connector name]'

        This command creates applications.json file that contains response from the BMC Helix Integration Service. Copy value from id field from the json file. This is application Id field that you can use in the next command. Find from the list of appConfig your  configuration by name and copy value from Id field. This is configuration Id value that you can use in next command.

      3. Run wget --no-check-certificate --header='X-Requested-With: XMLHttpRequest' --header='Authorization: Basic [base64 encoded username:password]' --output-document app_triggers.json 'https://[host]/api/v1.0/apps/[application Id]/configs/[configuration Id]/triggers'

        This request creates  app_triggers.json file with available triggers. Each trigger object contains a fields field that is an array of available fields. Copy value from systemName field. Use this value in step f.

      4. Run wget --no-check-certificate --header='X-Requested-With: XMLHttpRequest' --header='Authorization: Basic [base64 encoded username:password]' --output-document app_actions.json 'https://[host]/api/v1.0/apps/[application Id]/configs/[configuration Id]/actions'

        This request creates  app_actions.json  file with available actions. Each action object contains a fields field that is an array of available fields. Copy the value of systemName field. These fields can be used as Vendor field mapping properties.

    6. Navigate to My Flows and select the Sync Jira Issue flow. 
    7. Log in to BMC Helix Integration Studio.
    8. On the Details tab, click icon_editFlow.png
    9. Select the Edit Field Mapping tab. 

      Important

      For the Create Azure DevOps Work Item flow, select Multi-Cloud - Create Vendor Data Ticket.

    10. In the Vendor Ticket Properties, click Add Property for each custom field that you want to use. 
    11. Click Save and Close.
  5. To display the custom field, update the Display Mapping in the Azure DevOps vendor mapping.
    1. Log in to BMC Helix Innovation Studio and navigate to the Workspace tab.
    2. Select , and then click icon_deployedApp.PNG
    3. Click Settings
    4. Select Configure Vendors > Map Vendors > Azure DevOps.
    5. Click Edit.
    6. Click { } under Display Field Mapping
    7. Under the Vendor Specific section, click Add row and enter details of the custom field. 

      Field name

      Value

      Name

      Enter the name of the custom field.

      Type

      Select the field type of the custom field.

      Label GUID

      Enter the GUID as displayed in Azure DevOps.

    8. Click Save

When you complete the configuration for all the components, verify that the tickets are being brokered from ITSM to Azure DevOps and the converse.

To map a custom field in BMC Helix ITSM with Azure DevOps

You can create a custom field in BMC Helix ITSM and map it with a field in the Azure DevOps work item. To learn more, see Updating-configurations-to-send-and-receive-data-from-custom-BMC-Helix-ITSM-fields.

Related topic

Configuring-BMC-Helix-Multi-Cloud-Broker

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*