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

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

Enabling prebuilt DevOps integration between Microsoft Azure DevOps and Remedy 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.

Note

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

BMC Helix Multi-Cloud Service Management facilitates DevOps practices in organizations that use multiple tools. You can integrate BMC Helix Multi-Cloud Service Management 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 Remedy 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 Service Management, on the top-right corner of the page, click Visit Deployed Application.

    Tip

    You can access BMC Helix Multi-Cloud Service Management 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 Service Management 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 Remedy ITSM or Remedy with 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.

Note

BMC recommends that you set up the vendor organizations before starting the BMC Helix Multi-Cloud Service Management 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 Service Management 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 Remedy ITSM and Azure DevOps with BMC Helix Multi-Cloud Service Management

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 Remedy 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 Service Management with an on-premises instance of Remedy ITSM, enter the following values:
FieldValue
Site Select 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 Remedy 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 Service Management, 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 .


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


 SMTP Email

  • 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 Remedy ITSM, BMC Helix Multi-Cloud Service Management, 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


 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 Enhancement

    Note

    The Create DevOps Incident flow can be used to send incidents to other DevOps vendors like Jira. Use the Technology Service mapping to determine the Vendor the incident should be sent to. Usually, the mapping is based on a value on the incident, and is defined in the flow.

    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.

  • Field Mapping

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

    Remedy 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

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

  • Field Mapping

    This flow has 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 Service Management 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 Service Management 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 Service Management incident, value is set to Azure DevOps

      Parent Ticket IDIDNone
      Parent Ticket TypeNot applicableDefault value is set to Incident.
      Vendor Ticket IDIDNone
      Vendor Ticket PropertiesNot applicableDisplays field values from Azure DevOps work item.
    • Flow Target 3 (BMC Helix Multi-Cloud Service Management to Remedy ITSM fields)

      BMC Helix Multi-Cloud
      Service Management fields
      Remedy ITSM fieldsAdditional information
      Incident NumberRemedy Incident NumberIncident Number is added as a label on the issue.
      Broker Vendor Name Not applicable

      Using the Webhook Condition parameter value set in the BMC Helix Multi-Cloud Service Management 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 Service Management mapping)

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

    Azure DevOps fieldsBMC Helix Multi-Cloud
    Service Management fields
    TitleSummary
    PriorityPriority
    DraftStatus
    DescriptionDescription
    SeverityUrgency
    PriorityImpact
    RiskRisk Level
    NormalClass
    ChangeChange Type
    RemedyWebhook Condition Parameter


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

    Azure DevOps fieldsBMC Helix Multi-Cloud
    Service Management fields
    Additional information
    TitleSummaryNone
    PriorityPriorityNone
    StateStatusNone
    DescriptionDescriptionNone
    SeverityUrgencyNone
    PriorityImpactNone
    Not applicableIncident TypeThe default value is set to User Service Restoration.
    Not applicableVendorThe default value is set to Azure DevOps.

    Note

    Set 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:

    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.


 Sync Azure DevOps WorkItem Comment


  • Trigger
    Ensure that Tags contains INC.

    Do not delete Web hooks filter trigger conditions.

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

    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 Remedy ITSM, use $mcsm keyword 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 Platform.
  • Field Mapping (Azure DevOps to BMC Helix Multi-Cloud Service Management mapping)


    AzureBMC Helix Multi-Cloud
    Service Management fields
    Additional information
    Work Item IdassociatedGUIDNone
    Comment BodyAuthor, CommentTextNone


 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 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 Service Management 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 Service Management 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.


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


 Send Error Notification

  • 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 Remedy ITSM fields and custom fields created in Azure DevOps

To create a Remedy 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 Remedy ITSM incident ticket.

Note

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) Remedy ITSM fields. 

To enable mapping custom Azure DevOps fields with Remedy 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 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 DevOpsRemedy ITSM, 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: 

      Note

      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. 

      Note

      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 FieldMapping
    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 Remedy 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