Install and configure the plugin on your CI server

When setting up a non-Jenkins CI server for ALM Octane for the first time, install the Application Automation Tools plugin on your CI server and configure it to connect to ALM Octane. For Jenkins, see Jenkins integration.

Plugin overview

The CI plugin enables ALM Octane to integrate with a CI server.

For a list of available plugins and their locations, see CI and CD server integrations.

The CI plugins provide the following capabilities:

  • Retrieve and display the build pipelines that run on the CI server

  • Trigger pipeline runs on the CI server

  • Retrieve build run results, test run results, and commit information from the CI server

  • Retrieve code coverage reports from a Jenkins CI server

  • Trigger UFT One test execution on a Jenkins CI server

Note: To integrate with Jenkins, do not install the Application Automation Tools plugin on the Jenkins server. For details, see Upgrade to the Application Automation Tool plugin.

Back to top

Prerequisites

For a list of plugins that must be installed on the Jenkins server to enable ALM Octane integration, as well as plugins that are supported by the ALM Octane integration but not required, see the Application Automation Tools wiki page or Jenkins integration.

  • Obtain API Access. Ask your space admin for an API access Client ID and Client secret. The plugin uses these for authentication when communicating with ALM Octane.

    The space admin can obtain the Client ID and Client secret in ALM Octane Settings. The access keys must be assigned the CI/CD Integration role in all relevant workspaces. For details, see API access.

  • Obtain access to a CI server that meets the necessary requirements. For the CI servers that are supported by the Application Automation Tools plugins, see Support Matrix.

  • Decide which CI server user ALM Octane will use to access the CI server and execute jobs. For Azure DevOps Server (TFS) this is the Personal Access Token (PAT).

    The CI server user or PAT must have the following permissions:

    On Bamboo: Build plan
    On Jenkins, for working with pipelines: Job Build

    On Jenkins, for ALM Octane-UFT One integration without pipelines:

    Job Create, Delete, and Read

    If your SCM repository requires credentials, Credentials create and update permissions are also required. This is so that ALM Octane can save the SCM access credentials you provide on the Jenkins server.

    On Azure DevOps Server (TFS):

    Read permissions for: Build, Code, Project and team, Test management

    Execute permissions for Build

    On GoCD: View permissions, and permissions to run a pipeline.
    On Azure:

    Read and Execute permissions for Build

    Caution: We strongly recommend limiting this user’s permissions to the minimum required for this integration.

Back to top

Install the plugin

Download the relevant plugin from the Internet and install it on your CI server. Do one of the following:

Jenkins

In your Jenkins server's user interface, open the plugin management area and upload the plugin:

  1. Click Manage Jenkins (on the left).

  2. Click Manage Plugins, select the Advanced tab, and scroll down to Upload Plugin.

  3. Browse to the plugin file that you downloaded and click Upload.

  4. Select the option to restart Jenkins when installation is complete and no jobs are running.

For further steps, see Jenkins integration.

TeamCity

In your TeamCity server's user interface, open the plugin management area and upload the plugin:

  1. Go to Administration > Plugins List and click Upload plugin zip.
  2. Browse to the plugin file that you downloaded and click Upload.
  3. Restart the TeamCity server.
Bamboo

In your Bamboo server's user interface, open the add on management area and upload the plugin:

  1. Click the Administration cogwheel button and select Add-ons from the menu.

  2. Click Pause server to pause the server while you install a new add on, to avoid adverse effects on currently running builds.

  3. Click Upload add-on, browse to the plugin file that you downloaded and click Upload.

  4. Click Resume server at the top of the page.

Azure DevOps Server (TFS)

Run the downloaded MSI on your Azure DevOps Server (TFS) machine to install the plugin.

GoCD Download the plugin's .jar file and store it on your GoCD server in <GoCD server folder>/plugins/external/.
GitLab Run the Java command line as described in ALM Octane GitLab CI service.

Azure DevOps Server (2019 and later)

Azure DevOps Services

Within Azure:

  1. Install the ALM Octane Integration Extension.

  2. Enable the Pipeline Decorators preview feature.

For details refer to the extension's readme file.

GitHub Actions Configure the workflow as described in the integration's readme file.

Before configuring the plugin to access ALM Octane, the plugin installation must be complete. Wait for the CI server to restart (Jenkins or TeamCity), refresh the add-on management page (Bamboo), or restart the CI server (Azure DevOps Server/TFS, GoCD).

Note:  

  • If you enable or disable the plugin at any time after installation, you must restart your CI server (Jenkins, TeamCity, Bamboo).
  • To update or reinstall the Azure DevOps Server (TFS) plugin, you must first stop the Azure DevOps Server (TFS) Windows service: Visual Studio Team Foundation Background Job Agent. Restart the service after the plugin is updated.

Back to top

Configure the plugin to access ALM Octane

After you install the Application Automation Tools plugin on your CI server, you must configure it to access ALM Octane and, if necessary, the CI server.

Tip: After installing the plugin and before configuring it, wait for the CI server to restart (Jenkins or TeamCity), refresh the add-on management page (Bamboo), or restart the CI server (Azure DevOps Server/TFS, GoCD).

To configure a plugin:

  1. Open the plugin's configuration area. Do one of the following:

    Jenkins

    In your Jenkins server's user interface, locate the configuration area for the Application Automation Tools plugin:

    1. Click Manage Jenkins (on the left).

    2. Click Configure System.

    3. Scroll down to the configuration area for the ALM Octane CI.

    Follow the guidelines described in Jenkins integration.

    TeamCity

    In your TeamCity server's user interface, locate the configuration area for the Application Automation Tools plugin:

    1. Go to Administration.
    2. Under Server Administration, click ALM Octane CI Plugin.
    Bamboo

    In your Bamboo server's user interface, locate the configuration area for the Application Automation Tools plugin:

    1. Click the Administration cogwheel button and select Add-ons from the menu.

    2. In the left pane, click Application Automation Tools Plugin under COMMUNICATION.

    Azure DevOps Server (TFS)

    On your Azure DevOps Server (TFS) machine, access the plugin's console:

    1. Go to http://localhost:4567.
    2. Click Configuration.

    For more details, see the plugin's readme.

    GoCD

    In your GoCD server's user interface, open Admin > Plugins.

    Click the cogwheel displayed for the OctaneGoCDPlugin.

    Azure DevOps Server (2019 and later)

    Azure DevOps Services

    In the target Azure DevOps project:

    1. Create a new ALM Octane Service Connection. Provide the properties of your ALM Octane workspace: Connection name, URL, instance ID, shared space ID, workspace ID, API client ID and secret.

    2. Set the pipeline variables InjectAlmOctaneTasks (true), and OctaneConnectionName (as entered above).

    3. Add two jobs to your pipeline: AlmOctanePipelineStart which always runs at the pipeline beginning, and AlmOctanePipelineEnd which always waits until all other jobs finish.

    Note:  

    • The steps that follow are not relevant for the Azure DevOps integration. See the plugin readme file for comprehensive information on how to configure this integration.
    • For additional setup requirements within ALM Octane for this integration, see Admin setup for Azure DevOps pipelines.
  2. Enter information for the plugins:

    1. Set the Location. Enter the URL of the ALM Octane server, using its fully qualified domain name (FQDN), where the port number is optional. You can copy the URL from the address bar of the browser in which you opened ALM Octane. For example, for a space ID 1002: http://myServer.myCompany.com:8081/ui/?p=100 use the following format: http://<ALM Octane hostname / IP address> {:<port number>}/ui/?p=<space ID>

      Note: When configuring an integration between an on-premises and a CI server via the plugin, we strongly recommend using HTTPS to ensure that the credentials are sent securely.

    2. Set the Client ID. Enter the API access Client ID that the plugin should use to connect to ALM Octane. For details, see Prerequisites.
    3. Enter the Client secret. Specify the Client secret that the plugin should use to connect to ALM Octane. For details, see Prerequisites.
    4. For Jenkins, Bamboo, or TeamCity: Select the CI server user account. This is the user account that will run jobs at ALM Octane's request. Follow these guidelines:

      • Make sure the user exists in the CI server
      • In Bamboo, you must specify a user—you cannot leave it blank.
      • In Jenkins and TeamCity, if you do not specify a user ALM Octane uses Anonymous, and is limited to Anonymous permissions.
    5. For Azure DevOps: Set the HTTP address and Personal Access Token for the plugin to use to access Azure DevOps Server (TFS). The permissions required for this PAT are described above.
    6. For the GoCD API: Enter the username and password required for accessing GoCD.
  3. Click Test Connection to validate the configuration, and then save your changes.

Back to top

Move an existing CI server to a new address

If your Bamboo or TeamCity CI server moves to a new location and you reinstall the plugin, you must re-create the CI server and its pipelines in ALM Octane.

If your GitLab server moves to another location, get the CI server instance ID using the following steps. Then, use the ciserver.identity property as described in ALM Octane GitLab CI service.

In Jenkins or Azure DevOps Server (TFS), if you move your server and reinstall the plugin, use the following steps to adjust the plugin's configuration and continue working with your existing pipelines.

Configure the Jenkins or Azure DevOps Server (TFS) plugin to work with existing ALM Octane pipelines

  1. Get the plugin instance ID originally used to set up the CI server on ALM Octane:

    1. In ALM Octane, in Settings > Spaces, select a workspace.

    2. Click the DevOps tab. On the left side of the pane, and select CI servers.

    3. In the grid, locate the Instance ID column and copy your CI server's Instance ID.

  2. In Azure DevOps Server (TFS) or Jenkins, update the new plugin to use the original instance ID.

    Jenkins

    In your Jenkins server's user interface: 

    1. Click Manage Plugins in the left pane.

    2. Click Configure System.

    3. Scroll down to the ALM Octane CI configuration area.

    4. Click Show plugin instance ID.

    5. In the Instance ID box, enter the Instance ID you copied from ALM Octane earlier.

    Azure DevOps Server (TFS)
    1. On the Azure DevOps Server (TFS) server, go to http://localhost:4567 to access the plugin's console.
    2. Click Configuration.
    3. In the Instance ID box, enter the Instance ID you copied from ALM Octane earlier.

    For more details, see the plugin's readme.

Back to top

Admin setup for Azure DevOps pipelines

Before running an Azure DevOps pipeline, admins must set up the integration in ALM Octane. The setup includes the Azure DevOps token and a Devops CI server entry.

To set up the Azure DevOps integration:

  1. Make sure you have the latest Azure DevOps ALM Octane extension installed. If your version is outdated, when a user tries to run the pipeline, ALM Octane will issue a message indicating the required version. For details, see Configure the plugin to access ALM Octane.
  2. Add credentials:

    1. Create a token in Azure DevOps.
    2. In Settings , select Spaces in the Administration section.
    3. Go to the Credentials tab and click + to add a new credential.
    4. Enter arbitrary text in the Name and User Name fields.
    5. For the password, enter the Azure token. For details, see Credentials.
    6. Click Add.
  3. Add the CI server:

    1. In Settings , select Spaces in the Administration section.
    2. Go to the Devops tab and click + to add a new CI server.
    3. Add the server information for Azure DevOps and select the credential that you created above. This requires the following:
      1. In Administration > Spaces > DEVOPS, use the column selector and add the Credential column.

      2. Under your connection, check the Credential column checkbox and save.

    4. Click Add.

Note: In general, we recommend that ALM Octane on SaaS be integrated with Azure Devops Services, and ALM Octane on-premises be integrated with Azure Devops Server. If you want to integrate ALM Octane on SaaS with Azure Devops Server, or ALM Octane on-premises with Azure DevOps Services, ensure that there is communication between the two environments. This integration requires two-way communication.

Back to top

Next steps: