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 Open link  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:

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:

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 .
  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  to open the Map New Vendor page.

    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. 

    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


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

    FieldValue
    SiteSelect the site that you created for Remedy.
    AR serverEnter the name of your on-premises AR System server.
    AR server portEnter 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.


  • 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 to 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 Open link .


  • Configuration
    FieldValue
    NameEnter a name for the connector configuration.
    SiteSelect Cloud as the site.
    Azure DevOps Cloud Service URLEnter https://dev.azure.com.
    Azure DevOps Services OrganizationEnter the name of the organization that is defined for Azure DevOps Services.
    API VersionSelect 5.0.
    ProjectEnter MCSM.
  • Accounts
    • Add the account of a Azure DevOps user who can view and update work items.


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

    FieldValue
    NameEnter a name for the connector configuration.
    SiteSelect the appropriate site for your email server.
    Connection typeSelect 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.

  3. To create a copy of the flow template, click .


  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


  • 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 fieldAzure DevOps field nameAdditional 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.


  • 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
      StateStatusNone
      TitleSummaryNone
      Work Item TypeResolution Category 3None
      Acceptance CriteriaDescriptionNone
      DescriptionDescriptionNone
      PriorityPriorityNone
      TagsRemedy Incident NumberNone
    • 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
      StatusNot applicableDefault value is set to New.
      VendorNot applicable

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

      Parent Ticket IDID
      Parent Ticket TypeNot applicableDefault value is set to Incident.
      Vendor Ticket IDID
    • Flow Target 3 (BMC Helix Multi-Cloud Broker to ITSM fields)

      BMC Helix Multi-Cloud Broker fields

      ITSM fieldsAdditional information
      Incident NumberRemedy Incident Number Incident Number is added as a label on the issue.
      Broker Vendor NameAzure DevOps

      Using the Webhook Condition parameter value set in the BMC Helix Multi-Cloud Broker incident, value is set to 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

    TitleSummary
    PriorityPriority
    DraftStatus
    DescriptionDescription
    SeverityUrgency
    PriorityImpact
    RiskRisk Level
    NormalClass
    ChangeChange Type
    RemedyWebhook Condition Parameter


  • 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
    TitleSummaryNone
    PriorityPriorityNone
    StateStatusNone
    DescriptionDescriptionNone
    SeverityUrgencyNone
    PriorityImpactNone
    Not applicableIncident TypeDefault value is set to User Service Restoration
    Not applicableVendorDefault value is set to Azure DevOps

    Note

    Set the Webhook Condition Parameter to Remedy.


  • 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
    StateStatusNone
    Not applicableVendorDefault value is set to Azure DevOps
    IDVendor Ticket IdNone
    Not applicableVendor Ticket propertiesRetain out-of-the-box properties mapping and add additional properties as needed.


  • 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.

    FieldValue
    textComment Body
    post_typecomment#remedy
    ticket_typeAdd source fields, target values, or text
    ticketNumberAdd source fields, target values, or text
    VendorAzure DevOps
    vendorTicketIdComment WorkItem Id
    commentIdComment Id
    AuthorComment Author
    Attachment Object 1Add source fields, target values, or text
    Attachment Object 2Add source fields, target values, or text
    Attachment Object 3Add 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.


  • 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 IdassociatedGUIDNone
    Comment BodyAuthor, CommentTextNone



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

    FieldValue
    Condition isRetain the webhook condition
    Include All fields istrue
    Source ID starts withAzure DevOps
    Record Event equalsupdate
  • 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 applicableValue 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.


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

    FieldValue
    Condition isRetain the webhook condition
    Include All fields istrue
    Source ID starts withAzure DevOps
    Record Event equalsupdate
  • 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 templateNot applicable
    IDParent Ticket IdNot applicable
    Not applicableVendor Ticket IdID
    Remedy Change IDNot applicableTags


  • Trigger

    FieldValue
    Flow Target Multi-Cloud
  • Field Mapping

    FieldValue
    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 Open link  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 typeMulti-Cloud field type
      Text (single line or multipl line)Text
      Picklist (string or integer)Selection
      IntegerInteger
      DecimalDecimal
      Date/TimeDate/Time
    4.  Add the following properties to the new field:

      Field nameValue
      NameEnter a name for the custom field
      Allow Anyone to Submit

      Select .

      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 

    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 
    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 nameValue

      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

Was this page helpful? Yes No Submitting... Thank you

Comments