Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Integrating your MettleCI Workbench with Azure DevOps will enable you to use a an Azure DevOps Git repository hosted on Azure DevOps and to seamlessly connect you Azure DevOps work items with every DataStage commit from directly within the Workbench user interfaceto store your DataStage project artefacts.

Granting Azure DevOps Git repository access to Workbench

  1. Log onto the server hosting MettleCI Workbench and navigate to /opt/dm/mci/

  2. Open the public Git SSH key workbench_rsa.key.pub in your favorite favourite text edit and copy its contents:

    Image RemovedImage Added

    This Note that this file is automatically generated and configured during MettleCI workbench installation .Following “Step 2: Add purely as a convenience to you. It is not obligatory that you use this file. Feel free to use your preferred SSH key for the following steps.

  3. Next we’ll add the public key to Azure DevOps Services/TFS” of the Azure DevOps instructions to set up SSH Key Authentication

Register Workbench as an OAuth 2.0 Azure Application

Prerequisite

In order for MettleCI Workbench and Azure DevOps to communicate, work bench needs to be accessible using an HTTPS based URL. This URL does not have to be accessible outside your corporate network.

Please refer to the MettleCI FAQ for configuring Workbench to use HTTPS

  1. Follow Microsoft’s instructions for registering a new app with Azure. Use the following settings:

    Image Removed

  2. Note down the “Application (client) ID” and Directory (tenant) ID for later use:

    Image Removed

  3. Navigate to the “Authentication” section of your application registration and add a Redirect URI for workbench using the https://<workbench url>:8443/api/auth/delegated/azure_access and click save

    Image Removed

    If your organization has installed multiple MettleCI Workbench application, you can add them all to the same Azure App Registration by adding multiple Redirect URIs.

  4. Navigate to the “Certificates & Secrets” section of your application registration and add a “New Client Secret”, select an expiry (Never is convenient) and note down the generated secret for later use:

    Image Removed

  5. Navigate to the “API permissions” section of your application registration, click “Add a permission” and select “Azure DevOps” → “user_impersonatation”:

    Image Removed

  6. Log into your MettleCI Workbench server an open /opt/dm/mci/config.yml in your favorite editor

  7. Change the issueManagement property to azure, add an azure section as shown below and replace the <tags> with the values noted in the previous steps:

    Code Block
    languageyaml
    issueManagement: azure
    azure:
       tenant: <your Directory (tenant) ID>
       clientId: <your Application (client) ID>
       clientSecret: "<your client secret>"
  8. Restart the workbench service

    Code Block
    languagebash
    sudo service dm-mettleci-workbench restart
  9. Azure Work Items will be available from the the Issues drop down during Check-in:

    Image Removed

    TFS. Open your security settings by browsing to the web portal and selecting your avatar in the upper right of the user interface. Select Security in the menu that appears.

    Image Added

  10. Select SSH public keys, and then select + New Key.

    Image Added

  11. Copy the contents of the public key (for example, workbench.key.pub) that you generated into the Public Key Data field.

    Important: Avoid adding whitespace or new lines into the Key Data field, as they can cause Azure DevOps Services to use an invalid public key. When pasting in the key, a newline often is added at the end. Be sure to remove this newline if it occurs.

    Configuring Public Key in Azure DevOps ServicesImage Added

  12. Give the key a useful description (this description will be displayed on the SSH public keys page for your profile) so that you can remember it later. Select Save to store the public key. Once saved, you cannot change the key. You can delete the key or create a new entry for another key. There are no restrictions on how many keys you can add to your user profile.

  13. Ensure that on your local system (to which you will clone the repository) your have added the associated private key to the list maintained by ssh-agent:

    Code Block
    languagebash
    $> ssh-add ~/.ssh/dev.azure.com-mettleci
    Identity added: /Users/username/.ssh/dev.azure.com-mettleci (username@MyMacbook)

Done!