Install and configure the ALM Octane CI plugin on your CI server

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

In this topic:

Plugin overview

This plugin enables ALM Octane to integrate with a CI server, and provide the following abilities:

  • 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 ALM Octane CI plugin on the Jenkins server. For details, see Upgrading to the Micro Focus Application Automation Tool plugin.
  • The Azure DevOps integration is currently one-directional. An Azure DevOps pipeline and its jobs can notify ALM Octane about their progress and status, as well as send information about the source control commits and test results relevant to them. However, running and stopping the pipeline from ALM Octane is not supported.

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 Set up API access.

  • Obtain access to a CI server that meets the necessary requirements. For the CI servers that are supported by the ALM Octane CI 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: No permissions are needed because ALM Octane does not access the Azure DevOps server, and does not actively execute any jobs. The integration is one-directional, from Azure DevOps to ALM Octane.

    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.

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 ALM Octane CI plugin on your CI server, configure the plugin 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).

  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 ALM Octane CI plugin:

    1. Click Manage Jenkins (on the left).

    2. Click Configure System.

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

    For additional information, see Jenkins integration.

    TeamCity

    In your TeamCity server's user interface, locate the configuration area for the ALM Octane CI 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 ALM Octane CI plugin:

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

    2. In the left pane, click ALM Octane CI 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.

    For details refer to the plugin readme file.

    Note: The following steps are not relevant for the Azure DevOps integration. The plugin readme provides comprehensive details on how to configure this integration.

  2. Enter the following information:

    Location

    The URL of the ALM Octane server, using its fully qualified domain name (FQDN). Use the following format (port number is optional):

    http://<ALM Octane hostname / IP address> {:<port number>}/ui/?p=<space ID>

    For example, in this URL the space ID is 1002: http://myServer.myCompany.com:8081/ui/?p=100

    You can copy the URL from the address bar of the browser in which you opened ALM Octane.

    Caution: When configuring an integration between on-premises and a CI server via plugin, although you are able to use non-secure HTTP for this connection, we strongly recommend that you use HTTPS to ensure login credentials are sent securely.

    Client ID The API access Client ID that the plugin should use to connect to ALM Octane. For details, see prerequisites.
    Client secret The Client secret that the plugin should use to connect to ALM Octane. For details, see prerequisites.
    Jenkins / Bamboo / TeamCity user

    The CI server user account that will run jobs at ALM Octane's request.

    This option is available only on Jenkins, Bamboo, and TeamCity.

    Caution:  

    • Make sure the user exists in the CI server.
    • In Bamboo, you must specify a user.

      In Jenkins and TeamCity, if you do not specify a user ALM Octane uses Anonymous, and is limited to Anonymous permissions.

    Azure DevOps Server (TFS) location and PAT

    HTTP address and Personal Access Token for the plugin to use to access Azure DevOps Server (TFS). The permissions required for this PAT are specified above.

    These options are available only on Azure DevOps Server (TFS).

    GoCD API username and password The credentials for the plugin to use to access GoCD.
  3. Click Test Connection to validate the configuration, and then save your changes.

Back to top

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

Next steps: