This documentation supports the 20.08 version of BMC Helix Multi-Cloud Service Management.

To view the documentation for the previous version, select 20.02 from the Product version menu.

Enabling prebuilt DevOps integration between Microsoft Azure DevOps and BMC Helix ITSM

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. For more information about DevOps integration, see DevOps integration.

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. Launch BMC Helix Platform by using the URL provided in the email sent to you from BMC, and log in as an administrator.
  2. From the list of applications, select Workspace > Applications > Multi-Cloud Service Management.
  3. To launch BMC Helix Multi-Cloud Broker, on the top-right corner of the page, click Visit Deployed Application.

    Tip

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

  4. To open the configuration page, click Settings.
  5. Select Start Here > Quick Configuration Guide.
    BMC Helix Multi-Cloud Broker lists the features available to you.

6. For the DevOps feature, under DevOps Integration, select the following features and click Done

    • Remedy Incident to Azure DevOps and Azure DevOps to Remedy Incident for ITSM incidents
    • Azure DevOps to Remedy Change for ITSM change requests

The Configuration Links page 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 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.

Important

BMC recommends 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 preconfiguration tasks.

  1. On the Configuration Links page, to create or modify a vendor organization, under Configure Azure DevOps, click Manage Vendor Organization.

  2. On the Configuration Links page, to add or update the vendor mapping, under Configure Azure DevOps, click Map Vendors.
  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. 

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

  • 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 fieldBMC Helix Multi-Cloud
      Service Management 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
      Service Management fields
      BMC Helix Multi-Cloud
      Service Management 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
      Service Management 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 fieldsBMC Helix Multi-Cloud
    Service Management 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 fieldsBMC Helix Multi-Cloud
    Service Management 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:

    AzureBMC Helix Multi-Cloud
    Service Management 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 Platform.
  • Field Mapping (Azure DevOps to BMC Helix Multi-Cloud Broker mapping)


    AzureBMC Helix Multi-Cloud
    Service Management 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 Platform 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 fieldBMC Helix Multi-Cloud
      Service Management 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
      Service Management fields
      BMC Helix Multi-Cloud
      Service Management 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 Platform 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 connectorFlow Target 1 - BMC Helix Multi-Cloud
    Service Management 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 Multi-Cloud Service Management, 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.

Related topic

Configuring BMC Helix Multi-Cloud Service Management

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

Comments

  1. Ida Perceval

    Is there, or will there be, integration between Azure DevOps and Change Management?

    Oct 23, 2019 02:13
    1. Priya Shetye

      Thank you for your question, Ida Perceval . Support for the integration between Azure DevOps and Change Management is planned in our next release. You can view the 20.02 enhancements preview page for an overview.

      Regards,

      Priya


      Feb 13, 2020 05:48
      1. Priya Shetye

        The Azure DevOps - Change integration template is now available:

        Creating change requests from Azure DevOps work items via BMC Helix iPaaS, powered by Jitterbit.

        Nov 16, 2022 06:30
  2. Fernando Martull

    Hello, after long hours searching for an answer, this is the farther I got before crying for help... Regarding the previous question about Change Management and ADO Integration, is there a programmatic way from ADO to know whether a CRQ is approved and live (on-going)?

    In my scenario I have deployment pipelines that I would like to validate that info and blocking the deployment when not satisfied.

    Nov 11, 2022 03:51
    1. Priya Shetye

      Fernando Martull , thank you for your comment. I am checking with my development team to get some details on your query. 

      Nov 16, 2022 06:32
      1. Fernando Martull

        Hello Priya Shetye, have you been able to check it? Thanks in advance :-)

        Nov 30, 2022 04:09
      1. Fernando Martull

        Hello Priya Shetye, do you have any news?

        Dec 07, 2022 02:18
        1. Priya Shetye

          Fernando Martull , currently we do not have support for a programmatic way from ADO to know whether a CRQ is approved and live (on-going). 

          Jan 07, 2024 09:59