The following plugin provides functionality available through Pipeline-compatible steps. Read more about how to integrate steps into your Pipeline in the Steps section of the Pipeline Syntax page.

For a list of other such plugins, see the Pipeline Steps Reference page.

Table of Contents

OpenText Application Automation Tools

loadRunnerTest: Run LoadRunner performance scenario tests

  • testPaths : String
  • archiveTestResultsMode : String
    To view the run results, do one of the following:
    1) In the left pane, click the Report and Summary link to display the report link and the link to the report folder. From this link, you can open the run results directly in your browser or open the artifacts
    2) From the Build Artifacts:
    • Open the run_results.html to view the run results.
    • Download the zipped report to your desired location and unzip it. In the Run Results Viewer, select the Results.xml file found inside the unzipped folder.
    Note that this option is valid only when using the “Execute test from file system” build step.
  • analysisTemplate : String (optional)
    Apply a template for the build (path to a .tem file). Leave blank in order to use the default template.
  • controllerPollingInterval : String (optional)
    Polling interval for checking the scenario status, in seconds. The default is 30 seconds.
  • displayController : String (optional)
    Display the controller while the scenario is running.
  • fsTimeout : String (optional)
    Timeout value in seconds. If left empty, there is no timeout.
  • ignoreErrorStrings : String (optional)
    Ignore errors during the scenario run containing any of the strings listed below. For example: "Error: CPU usage for this load generator has exceeded 80%"
  • perScenarioTimeOut : String (optional)
    The maximum time allotted for scenario execution, in minutes.
  • scriptRTSSetModel (optional)
      Nested Object
    • scripts
        Array / List of Nested Object
      • scriptName : String
        The script name is found in Controller's Script Information dialog (Percentage Mode scenario) or Group Information dialog (Vuser Group Mode scenario).
      • additionalAttributes
          Array / List of Nested Object
        • name : String
        • value : String
        • description : String
  • summaryDataLogModel (optional)
      Nested Object
    • logVusersStates : boolean
      Display the number of virtual users in each state.
    • logErrorCount : boolean
      Display the number of controller errors.
    • logTransactionStatistics : boolean
      Display the number of passed transactions, failed transactions and hits per second.
    • pollingInterval : String
      The rate at which the messages are displayed (in seconds). Default value is 10 seconds.

runLoadRunnerScript: Run LoadRunner script

  • scriptPath : String

sseBuildAndPublish: Execute tests using ALM Lab Management and Publish tests result

  • almServerName : String
  • almProject : String
  • credentialsId : String
  • clientType : String
    Client type is required for some ALM above 12.60 in authentication.
  • almDomain : String
  • runType : String
  • almEntityId : String
  • timeslotDuration : String
  • archiveTestResultsMode : String
    To view the run results, do one of the following:
    1) In the left pane, click the Report and Summary link to display the report link and the link to the report folder. From this link, you can open the run results directly in your browser or open the artifacts
    2) From the Build Artifacts:
    • Open the run_results.html to view the run results.
    • Download the zipped report to your desired location and unzip it. In the Run Results Viewer, select the Results.xml file found inside the unzipped folder.
    Note that this option is valid only when using the “Execute test from file system” build step.
  • cdaDetails (optional)
      Nested Object
    • deploymentAction : String
    • deployedEnvironmentName : String
    • deprovisioningAction : String
  • description : String (optional)
  • environmentConfigurationId : String (optional)
    To find the ID of your environment configuration, right-click the entity, copy the URL, and paste it to a text editor. Use the number associated with the EntityID at the end of the URL.
  • postRunAction : String (optional)

collectBranchesToAlmOctane: ALM Octane branch collector

This step is responsible for collecting branches from the SCM tool and injecting them into ALM Octane.

In addition, this step is used to define the SCM repository templates that are used by ALM Octane to link to your repository viewer. To configure templates in ALM Octane, access Settings > Spaces. Select a workspace and click DevOps > SCM Repositories. Follow the on-screen instructions.


Supported version of ALM Octane: 15.1.90 and later.

You can change the behaviour of this step by adding the following parameters to the job:
  • branches_active_branch_days: Only active branches can be added/updated to ALM Octane. Default is 60 days.

  • branches_max_branches_to_fill: Relevant for GitHub repository only. Max branches to collect data. If data is not collected from a branch, it cannot be added to ALM Octane. Default is 1000.



Supported SCM Tools:
SCM Tool Supported types of authentication How to create PAT (Personal access token)
Bitbucket Server User/password and PAT Click on your profile icon -> Manage account -> Personal access tokens -> Create a token (Assign Read permissions for both Projects and Repositories)
Github Cloud PAT only Click on your profile icon -> Settings -> Developer settings -> Personal access tokens -> Generate new token (Uncheck all scopes to grants read-only access)
Github Server User/password and PAT

Note : To create PAT credentials in Jenkins , use "Secret text" kind of credentials in "Add Credentials" dialog
  • configurationId : String
  • workspaceId : String
  • scmTool : String
  • repositoryUrl : String
  • credentialsId : String
  • filter : String
  • useSSHFormat : boolean (optional)
    Select this if all other jobs that use this repository and are connected to ALM Octane pipelines use SSH format. It is important to be consistent with other jobs that use this repository.
    This will ensure that ALM Octane correctly identifies the SCM repository associated with commits, branches and pull requests.

commonResultUploadBuilder: Upload test result to ALM using field mapping

  • almServerName : String
    The name of the ALM Server.
  • credentialsId : String
  • almDomain : String
    The Domain of the project to be used.
  • clientType : String
    Client type is required for some ALM above 12.60 in authentication.
  • almProject : String
    The project to be used.
  • almTestFolder : String
    The path of the test folder that will contain the uploaded test. The path doesn't include the Root test folder (Subject).
    For example, sampletestfolder\subfolder means, the tests will be uploaded to test folder named 'subfolder', which is under the test folder named 'sampletestfolder',
    and 'sampletestfolder' is under the root test folder 'Subject'.
  • almTestSetFolder : String
    The path of the testset folder that will contain the uploaded testset. The path doesn't include the Root testset folder.
    For example, sampletestsetfolder\subfolder means, the testsets will be uploaded to testset folder named 'subfolder', which is under the testset folder named 'sampletestsetfolder',
    and 'sampletestsetfolder' is under the root testset folder 'Root'.
  • testingResultFile : String
    setting that specifies the generated raw XML report files, such as **/junitResult.xml. Basedir of the fileset is the root path of current job and workspace.
  • runStatusMapping : String

    Run status mapping field is for mapping the test result's status values to ALM run status value. Yaml key represents the ALM run status values. Only one of the following status can be set here:
    Passed
    Failed
    Yaml value represents the condition that sustains the status. Ten kinds of conditions can be set here:
    ==StringValue
    !=StringValue
    ==0 (Or any numeric value)
    !=0 (Or any numeric value)
    >>0 (Or any numeric value)
    <<0 (Or any numeric value)
    <=0 (Or any numeric value)
    >=0 (Or any numeric value)
    ==NULL
    !=NULL
    You should first set the status field in field mapping.

    Take following test result as example: <test-case name="ExampleTestOfNUnit.TestMultiplicationFail" executed="True" result="Failure" success="False" time="0.122" asserts="1"> Sample field mapping: run: status: "x: success" Sample status mapping: status: Passed: "==true" Take following test result as example: <case> <duration>0.041</duration> <className>SomeClass</className> <testName>SomeTest-1</testName> <skipped>false</skipped> <failedSince>0</failedSince> </case> Sample field mapping: run: status: "x: failedSince" Sample status mapping: status: Failed: ">=0"
  • fieldMapping : String

    Field mapping content is a yaml format configuration. Three sections are required. They are 'testset', 'test' and 'run'. Each section should has a 'root' property indicates the root node of the testset or test or run. Please note that test's root is based on testset's root. Run's root is based on test's root.

    Beside root, you can define any field you want to upload as an ALM entity. Yaml key represents the entity's field name. Yaml value represents the entity's field value.

    If you want to upload a value to a User defined field, you could use a key starts with 'udf|' follows by the UDF label. Such as 'udf-duration' would upload value to a UDF field which has label as 'duration'.

    For the yaml value part, there're two types of value. Value starts with 'x:' means the following value represents the xpath in the test result file. Value starts with 'v:' means the following value is a string value which would be applied to every entity.

    You can use '|' in yame value for combining several parts together.

    Sample test result: <?xml version='1.0' encoding='UTF-8'?> <result> <suites> <suite> <file>Changes file</file> <name>Changes Test Set 1</name> <duration>2.293</duration> <cases> <case> <duration>8.293</duration> <className>ChangesManagement</className> <testName>test1</testName> <testVersion>4.0</testVersion> <skipped>false</skipped> <failedSince>0</failedSince> </case> <case> <duration>8.293</duration> <className>ChangesManagement</className> <testName>List changes 2</testName> <testVersion>4.0</testVersion> <skipped>false</skipped> <failedSince>0</failedSince> </case> </cases> </suite> <duration>0.576</duration> </result> Sample field mapping: testset: root: "x:/result/suites/suite" name: "x:file|v:_|x:name" udf|duration: "x:duration" subtype-id: "v:hp.qc.test-set.external" test: root: "x:cases/case" name: "x:testName" subtype-id: "v:EXTERNAL-TEST" udf|duration: "x:duration" udf|test version: "x:testVersion" run: root: "x:." duration: "x:duration" status: "x:failedSince"
  • createNewTest : boolean
    Check: Create tests and related test-instances and runs when no test is found by the specified fields(name by default or can be specified as id).
    Uncheck: Don't create test and related test-instances and runs when no test is found by the specified fields.
    Note: Tests will not be updated when they're found by the specified fields.

publishGherkinResults: ALM Octane Cucumber test reporter

When using this action, Jenkins understands and reads the Cucumber test report XML structure. After reading the structure, Jenkins can provide useful information about Cucumber tests results to ALM Octane.

To use the feature, ensure that you have added a Publish JUnit test results post-build action to your build. Then, specify the path to the Cucumber report XML files in the Ant glob syntax.
You can specify multiple patterns by separating them with commas.
This path should only contain Cucumber report files. Note that no other test types will be reported from this job.

  • cucumberResultsGlob : String

executeTestsFromAlmOctane: Execute tests from ALM Octane (Tech Preview)

This build step is intended to support execution of automated tests from ALM Octane.
There are several modes of execution :
Mode Explanation
Execute suite runs in ALM Octane Execute suites according to specified suite IDs. New suite runs will be created and executed in ALM Octane. Jenkins job is finished after triggering the suite runs. The job does not wait until the suite runs are finished. This method is useful if you want to schedule suite execution in ALM Octane.
By default, newly created suite runs will have name of suite and will be assigned to default release. In order to override this default behaviour, add following parameters (one or more) to job with your desired values:
  • octane_release_id
  • octane_new_suite_run_name
Get tests from suites and trigger execution jobs Get tests from suites and trigger execution jobs : Get tests from specified suite IDs. (This method assumes that tests are assigned to test runner jobs from the current Jenkins.) Tests are send to execution by their assigned test runner jobs. The main job is finished after the test runner jobs are finished. This method is useful if you intend to add your job to the ALM Octane Pipeline module.
  • configurationId : String
  • workspaceId : String
  • executionMode : String
  • ids : String

healthAnalyzer: OpenText Health Analyzer

  • products
    Choose the products that you would like to test that correspond to the relevant build step.
      Array / List of Nested Choice of Objects
    • $class: 'HealthAnalyzerLrStep'
      • checkLrInstallation : boolean
      • checkOsVersion : boolean
      • checkFiles
          Nested Object
        • filesList
            Array / List of Nested Object
          • field : String

step([$class: 'JobConfigRebrander']): Fix old OpenText Jenkins builds

    step([$class: 'MigrateAlmCredentialsBuilder']): Migrate ALM Credentials

      pcBuild: Execute performance test using LoadRunner Enterprise

      • serverAndPort : String
      • pcServerName : String
        Hostname or IP address The LoadRunner Enterprise Hostname or IP address. If the port of the LRE server is different than the default one, mention it by adding a collon (:) and then the port number
        Example: mypcserver.mycompany.net or 182.138.255.1 or mypcserver.mycompany.net:81

        If the LRE server requires to be accessed via a tenant, you can specify it by adding the tenant details to the LRE Server field.
        Example: mypcserver.mycompany.net/?tenant=fa128c06-5436-413d-9cfa-9f04bb738df3 or 182.138.255.1/?tenant=fa128c06-5436-413d-9cfa-9f04bb738df3 or mypcserver.mycompany.net:81/?tenant=fa128c06-5436-413d-9cfa-9f04bb738df3

        Important: Do not use the full URL of LoadRunner Enterprise server.
        For example, using https://mypcserver/LoadTest will fail. Instead, just specify 'mypcserver' value in 'LRE Server' field and switch on the 'Use HTTPS Protocol' if secured protocol is required.
      • credentialsId : String
        LoadRunner Enterprise User / Token's Credentials or parameter pointing to such credentials.
      • almDomain : String
      • almProject : String
      • testId : String
      • testInstanceId : String
        Represents an instance of a performance test within an ALM Test Set. In order to find the test instance id go to: LRE Web UI > Testing > Select the relevant test > Test Details tab > Assigned Test Set drop down list > Edit the Test Set and look for the Test Instance ID column
      • autoTestInstanceID : String
      • timeslotDurationHours : String
      • timeslotDurationMinutes : String
      • postRunAction
        • Values: COLLATE, COLLATE_AND_ANALYZE, DO_NOTHING
      • vudsMode : boolean
        A Virtual User Day (VUD) license provides you with a specified number of Vusers (VUDs) that you can run an unlimited number of times within a 24 hour period. Before using this option, make sure that VUDs licenses are applied in your Micro Focus LoadRunner Enterprise environment.
      • statusBySLA : boolean
        Check this option in order to set the build-step status according to a pre-defined SLA (Service Level Agreement) configured within your performance test. Unless checked, the build-step will be labeled as Passed as long as no failures occurred.
      • description : String
      • addRunToTrendReport : String
      • trendReportId : String
      • HTTPSProtocol : boolean
      • proxyOutURL : String
        Add your local proxy as following: http(s)://host:port
        or Leave empty if not using a local proxy. The following proxy configurations are not supported:
        • PAC (proxy auto-config).
        • Automatic configuration script.
      • credentialsProxyId : String
      • retry : String
      • retryDelay : String
      • retryOccurrences : String
      • authenticateWithToken : boolean
        From LRE 2021 R1, you can use a token associated with your user for authentication.
        If LRE is defined to use SSO, this will be the only way for this plugin to authenticate to LRE.
        To use it, have a token issued to your user in LRE.
        In Jenkins, create new Jenkins credentials based on the LRE token you received: use the ClientIdKey in the Username and the ClientSecretKey key in the password.
        Then use the new Jenkins credentials with this checkbox switched on.

      collectPullRequestsToAlmOctane: ALM Octane pull-request collector

      This step is responsible for collecting pull requests from the SCM tool and injecting them to ALM Octane. See help information in ALM Octane Help Center.

      In addition, this step is used to define the scm repositories templates that are used by ALM Octane to link to your repository viewer. To configure templates in ALM Octane, access Settings > Spaces. Select a workspace and click DevOps > SCM Repositories. Follow the on-screen instructions.

      Every time pull requests are sent to ALM Octane the last update time is saved. The next time, only pull requests and commits that were updated after this time will be sent to ALM Octane.

      Supported version of ALM Octane: 15.0.49 and later.

      You can change the behaviour of this step by adding the following parameters to the job:
      • pullrequests_min_update_time: Use this parameter to override the last update time that is updated after each successful injection to ALM Octane.

      • pullrequests_max_pr_to_collect: Max number of pull requests to collect. Default is 100.

      • pullrequests_max_commits_to_collect: Max number of commits to collect for each pull request. Default is 100.



      Supported SCM Tools:
      SCM Tool Supported types of authentication How to create PAT (Personal access token)
      Bitbucket Server User/password and PAT Click on your profile icon -> Manage account -> Personal access tokens -> Create a token (Assign Read permissions for both Projects and Repositories)
      Github Cloud PAT only Click on your profile icon -> Settings -> Developer settings -> Personal access tokens -> Generate new token (Uncheck all scopes to grants read-only access)
      Github Server User/password and PAT

      Note : To create PAT credentials in Jenkins , use "Secret text" kind of credentials in "Add Credentials" dialog
      • configurationId : String
      • workspaceId : String
      • scmTool : String
      • repositoryUrl : String
      • credentialsId : String
      • sourceBranchFilter : String
      • targetBranchFilter : String
      • useSSHFormat : boolean (optional)
        Select this if all other jobs that use this repository and are connected to ALM Octane pipelines use SSH format. It is important to be consistent with other jobs that use this repository.
        This will ensure that ALM Octane correctly identifies the SCM repository associated with commits, branches and pull requests.

      runFromAlmBuilder: Execute OpenText functional tests from OpenText ALM

      • almServerName : String
      • almCredentialsScope : String
        Select the scope of the credentials used for connecting to the specified ALM Server:
        • Job (local) credentials: This option requires to provide the credentials right here at job level.
        • System (global) credentials: This option allows the selection of UserName or ClientID from a dropdown list with global credentials.
      • almUserName : String
      • almPassword : String
      • almDomain : String
      • almProject : String
      • almTestSets : String
        List of test sets to run. Each line contains a path to a test set or a test set folder.
        For example: Root\subFolder1\subFolder2\testSetToRun .
        In case you want to parameterize the tests please specify the parameters and their values like:
        Root\subFolder1\subFolder2\testSetToRun "Parameter1":"&ltstringvalue>",..., "ParameterN":&ltnumbervalue>
        Also, for better specification of parameters you may use the "Specify test parameters" section below.
      • almRunResultsMode : String
      • almTimeout : String
        Number of seconds before timeout. If left empty timeout is unlimited.
      • almRunMode : String
        Defines how the test set is executed:
        • Run locally: The test set is run on the machine that performs the build.
        • Run remotely: The test set is run on the host defined in the Testing Tool host field.
        • Run on planned host: The test set is run on the host defined in ALM.
      • almRunHost : String
        If the Run mode field is set to Run remotely, use this field to specify the name of the host that runs the test set.
      • almClientID : String
      • almApiKey : String
      • isSSOEnabled : boolean
        Obtain the Client ID and API key secret from your ALM site administrator.
      • areParametersEnabled : boolean
      • specifyParametersModel
          Nested Object
        • parameterJson : String
      • isFilterTestsEnabled : boolean (optional)
      • filterTestsModel (optional)
          Nested Object
        • blockedCheckbox : boolean
        • failedCheckbox : boolean
        • notCompletedCheckbox : boolean
        • noRunCheckbox : boolean
        • passedCheckbox : boolean
        • testName : String (optional)
      • almServerSettingsModel (optional)
          Nested Object
        • almServerName : String
        • almServerUrl : String
        • almCredentials
            Array / List of Nested Object
          • almUsername : String
          • almPassword : String
        • almSSOCredentials
            Array / List of Nested Object
          • almClientID : String
          • almApiKeySecret : String

      runFromCodelessBuilder: Execute OpenText codeless tests

        runFromFSBuilder: Execute OpenText tests from file system

        • fsTests : String
          List of tests or folders that contain tests, to run. Each line should contain a single test, folder, or MTB file.
          In case you want to parameterize the tests please specify the parameters and their values like:
          &ltTestPath> "Parameter1":"&ltstringvalue>",..., "ParameterN":&ltnumbervalue>
          Also, for better specification of parameters you may use the "Specify test parameters" section below.
        • areParametersEnabled : boolean
        • specifyParametersModel
            Nested Object
          • parameterJson : String
        • fileSystemTestSetModel
            Nested Object
          • fileSystemTestSet
            File system test set help.
              Array / List of Nested Object
            • tests : String
              List of tests or folders that contain tests, to run. Each line should contain a single test, folder, or MTB file.
            • parallelRunnerEnvironments
                Array / List of Nested Object
              • environment : String
                Environment help string.
              • environmentType : String
        • summaryDataLogModel
            Nested Object
          • logVusersStates : boolean
            Display the number of virtual users in each state.
          • logErrorCount : boolean
            Display the number of controller errors.
          • logTransactionStatistics : boolean
            Display the number of passed transactions, failed transactions and hits per second.
          • pollingInterval : String
            The rate at which the messages are displayed (in seconds). Default value is 10 seconds.
        • scriptRTSSetModel
            Nested Object
          • scripts
              Array / List of Nested Object
            • scriptName : String
              The script name is found in Controller's Script Information dialog (Percentage Mode scenario) or Group Information dialog (Vuser Group Mode scenario).
            • additionalAttributes
                Array / List of Nested Object
              • name : String
              • value : String
              • description : String
        • isParallelRunnerEnabled : boolean (optional)
          Note: This mode is for UFT GUI test only.With it enabled, you can define multiple tests and the environments to run with.

          UFT will run on those environments in parallel(at most 4 environments simultaneously) for each test.

          Disabling this option will switch back to the normal view with the tests kept.
        • uftSettingsModel (optional)
            Nested Object
          • selectedNode : String (optional)
            Please select the corresponding slave machine setup in the main job configuration.
          • numberOfReruns : String (optional)
            Defines the maximum amount of test set reruns.
          • cleanupTest : String (optional)
            Test executed before the re-run process of the failed tests.
          • onCheckFailedTest : String (optional)
          • fsTestType : String (optional)
            Select which test category will run again when build fails. The user can rerun the entire set of tests or only the failed tests from the suite. If just certain tests fail, then only the selected tests will rerun.
          • rerunSettingsModels (optional)
              Array / List of Nested Object
            • test : String (optional)
            • checked : boolean (optional)
            • numberOfReruns : int (optional)
            • cleanupTest : String (optional)
        • analysisTemplate : String (optional)
          Apply a template for the build (path to a .tem file). Leave blank in order to use the default template.
        • authModel (optional)
            Nested Object
          • mcUserName : String
          • mcPassword : String
          • mcTenantId : String
          • mcExecToken : String
          • value : String
        • cloudBrowserModel (optional)
            Nested Object
          • cloudBrowserUrl : String
          • cloudBrowserType : String
          • cloudBrowserVersion : String
          • cloudBrowserRegion : String
          • cloudBrowserOs : String
        • controllerPollingInterval : String (optional)
          Polling interval for checking the scenario status, in seconds. The default is 30 seconds.
        • displayController : String (optional)
          Display the controller while the scenario is running.
        • fsAutActions : String (optional)
        • fsDeviceId : String (optional)
        • fsDevicesMetrics : String (optional)
        • fsExtraApps : String (optional)
        • fsInstrumented : String (optional)
        • fsJobId : String (optional)
        • fsLaunchAppName : String (optional)
        • fsManufacturerAndModel : String (optional)
        • fsOs : String (optional)
        • fsReportPath : String (optional)
          The directory where the test results will be saved. If this is left empty the default directory will be used.
        • fsTargetLab : String (optional)
        • fsTimeout : String (optional)
          Timeout value in seconds. If left empty, there is no timeout.
        • fsUftRunMode : String (optional)
        • ignoreErrorStrings : String (optional)
          Ignore errors during the scenario run containing any of the strings listed below. For example: "Error: CPU usage for this load generator has exceeded 80%"
        • mcServerName : String (optional)
          Select the Digital Lab server. To add a server, go to Manage Jenkins > Configure System > Digital Lab.
        • outEncoding : String (optional)
          The encoding charset to be used when printing the text in the Console Output. The field is optional and the default value is UTF-8. The type UTF-16 is equivalent to Unicode.
        • perScenarioTimeOut : String (optional)
          The maximum time allotted for scenario execution, in minutes.
        • proxySettings (optional)
            Nested Object
          • fsUseAuthentication : boolean
          • fsProxyAddress : String
          • fsProxyUserName : String
          • fsProxyPassword : String
        • resultFileNames (optional)
          • Type: java.util.Map<java.lang.Long, java.lang.String>
        • useSSL : boolean (optional)

        step([$class: 'RunLoadRunnerScript']): Run LoadRunner script

        • scriptsPath : String

        publishMicroFocusTestResults: Publish OpenText tests result

        • archiveTestResultsMode : String
          To view the run results, do one of the following:
          1) In the left pane, click the Report and Summary link to display the report link and the link to the report folder. From this link, you can open the run results directly in your browser or open the artifacts
          2) From the Build Artifacts:
          • Open the run_results.html to view the run results.
          • Download the zipped report to your desired location and unzip it. In the Run Results Viewer, select the Results.xml file found inside the unzipped folder.
          Note that this option is valid only when using the “Execute test from file system” build step.

        addALMOctaneSonarQubeListener: ALM Octane SonarQube listener

        See help information in ALM Octane Help Center
        • pushCoverage : boolean (optional)
        • pushVulnerabilities : boolean (optional)
        • skipWebhookCreation : boolean (optional)
          The integration with SonarQube works by using Sonar’s webhook mechanism, and contains several phases:
          1. The plugin automatically configures a webhook in Sonar before the job runs (this requires an access token with global 'Administer' permission).
          2. When the Sonar analysis is ready, the SonarQube server calls the configured webhook.
          3. Results are then submitted to ALM Octane for further analysis (this requires an access token with 'Read' permissions).
          If you cannot assign global 'Administer' permissions to the Sonar token (for the first phase), select "Skip webhook creation", and define a webhook manually in the Sonar server (either at the global level or project level) to the following URL: {jenkins_url}/webhooks/notify
        • sonarServerUrl : String (optional)
        • sonarToken : String (optional)

        sseBuild: Execute OpenText tests using OpenText ALM Lab Management

        • almServerName : String
        • almProject : String
        • credentialsId : String
        • clientType : String
          Client type is required for some ALM above 12.60 in authentication.
        • almDomain : String
        • runType : String
        • almEntityId : String
        • timeslotDuration : String
        • cdaDetails (optional)
            Nested Object
          • deploymentAction : String
          • deployedEnvironmentName : String
          • deprovisioningAction : String
        • description : String (optional)
        • environmentConfigurationId : String (optional)
          To find the ID of your environment configuration, right-click the entity, copy the URL, and paste it to a text editor. Use the number associated with the EntityID at the end of the URL.
        • postRunAction : String (optional)

        step([$class: 'SvChangeModeBuilder']): SV: Change Mode of Virtual Service

        • serverName : String
        • force : boolean
          If set, service will be modified regardless it is locked by another user.
        • mode
          • Values: OFFLINE, SIMULATING, STAND_BY, LEARNING
        • dataModel
            Nested Object
          • selectionType
            • Values: BY_NAME, NONE, DEFAULT
          • dataModel : String
        • performanceModel
            Nested Object
          • selectionType
            • Values: BY_NAME, NONE, OFFLINE, DEFAULT
          • performanceModel : String
        • serviceSelection
            Nested Object
          • selectionType
            • Values: SERVICE, PROJECT, ALL_DEPLOYED, DEPLOY
          • service : String
          • projectPath : String
          • projectPassword : String

        step([$class: 'SvDeployBuilder']): SV: Deploy Virtual Service

        • serverName : String
        • force : boolean
          If set, service will be redeployed regardless it is locked by another user.
        • service : String
          Name or ID of service to be deployed. All services from project are deployed if no service is specified.
        • projectPath : String
        • projectPassword : String
        • firstAgentFallback : boolean
          Use first agent of the same type if no agent with id referenced from virtual service exists on target server.

        step([$class: 'SvExportBuilder']): SV: Export Virtual Service

        • serverName : String
        • force : boolean
          If set, service will be modified regardless it is locked by another user.
        • targetDirectory : String
          Directory where exported services will be written.
        • cleanTargetDirectory : boolean
          If checked, all direct subfolders of target directory containing a project file (*.vproj) will be deleted before export.
        • serviceSelection
            Nested Object
          • selectionType
            • Values: SERVICE, PROJECT, ALL_DEPLOYED, DEPLOY
          • service : String
          • projectPath : String
          • projectPassword : String
        • switchToStandByFirst : boolean
          Switch service to Stand-By mode to finish current learning before exporting learned data.
        • archive : boolean
          If set, Export service(s) as project archive(s) (.vproja).

        step([$class: 'SvUndeployBuilder']): SV: Undeploy Virtual Service

        • serverName : String
        • continueIfNotDeployed : boolean
          Don't fail if any service marked to be undeployed is not deployed on server.
        • force : boolean
          If set, service will be undeployed regardless it is locked by another user.
        • serviceSelection
            Nested Object
          • selectionType
            • Values: SERVICE, PROJECT, ALL_DEPLOYED, DEPLOY
          • service : String
          • projectPath : String
          • projectPassword : String

        uploadResultToALM: Upload test result to ALM

        • almServerName : String
          The name of the ALM Server.
        • credentialsId : String
        • almDomain : String
          The Domain of the project to be used.
        • clientType : String
          Client type is required for some ALM above 12.60 in authentication.
        • almProject : String
          The project to be used.
        • testingFramework : String
          The testing framework that is used when generate the testing result file.
        • testingTool : String
          The testing tool that is used when generate the testing result file.
        • almTestFolder : String
          The path of the test folder that will contain the uploaded test. The path doesn't include the Root test folder (Subject).
          For example, sampletestfolder\subfolder means, the tests will be uploaded to test folder named 'subfolder', which is under the test folder named 'sampletestfolder',
          and 'sampletestfolder' is under the root test folder 'Subject'.
        • almTestSetFolder : String
          The path of the testset folder that will contain the uploaded testset. The path doesn't include the Root testset folder.
          For example, sampletestsetfolder\subfolder means, the testsets will be uploaded to testset folder named 'subfolder', which is under the testset folder named 'sampletestsetfolder',
          and 'sampletestsetfolder' is under the root testset folder 'Root'.
        • almTimeout : String
          Number of seconds before timeout. If left empty timeout is unlimited.
        • testingResultFile : String
          The condition to find the testing result file, start from the root path of the job. For example, **/junitResult.xml to find testing result file for Junit Plugin, **/testng-results.xml to find testing result file for TestNG plugin.
        • testingAttachments : String
        • jenkinsServerUrl : String
          The HTTP URL of the Jenkins Server, form example, http://myjenkinsserver.test.com:8080 .

        convertTestsToRun: ALM Octane testing framework converter

        This build step is intended to support execution of automated tests from ALM Octane.
        The builder searches for the "testsToRun" parameter which is sent from ALM Octane as part of the execution framework.
        Once it is found, its value is converted to the format of the selected testing framework, and injected to the "testsToRunConverted" environment parameter.
        Later, the new parameter can be used in the appropriate execution builder.
        • To use in parameter textboxes, use the following syntax: ${testsToRunConverted}

        • To use in the scripts, use the following syntax:
          • Linux shell: $testsToRunConverted
          • Windows batch command: %testsToRunConverted%
          • Pipeline script (workflow job): "${params.testsToRunConverted}"

          See examples in the tables below:
          Framework Linux shell
          Maven Surefire mvn clean -Dtest=$testsToRunConverted test
          Maven Failsafe mvn clean -Dit.test=$testsToRunConverted verify
          Gradle gradle test $testsToRunConverted
          Protractor protractor conf.js --grep="$testsToRunConverted"
          Cucumber-JVM over Maven/
          BDD Scenario
          mvn clean -Dcucumber.options="$testsToRunConverted" test
          JBehave over Maven mvn clean -Dfeatures="$testsToRunConverted" test

          Framework Windows batch command
          Maven Surefire mvn clean -Dtest=%testsToRunConverted% test
          Maven Failsafe mvn clean -Dit.test=%testsToRunConverted% verify
          Gradle gradle test %testsToRunConverted%
          Protractor protractor conf.js --grep="%testsToRunConverted%"
          Cucumber-JVM over Maven/
          BDD Scenario
          mvn clean -Dcucumber.options="%testsToRunConverted%" test
          JBehave over Maven mvn clean -Dfeatures="%testsToRunConverted%" test

          Framework Pipeline script
          Maven Surefire bat 'mvn clean -Dtest=${params.testsToRunConverted} test'
          Maven Failsafe bat 'mvn clean -Dit.test=${params.testsToRunConverted} verify'
          Gradle bat 'gradle test ${params.testsToRunConverted}'
          Protractor bat(/protractor conf.js --grep="${params.testsToRunConverted}"/)
          Cucumber-JVM over Maven/
          BDD Scenario
          bat(/mvn clean -Dcucumber.options="${params.testsToRunConverted}" test/)
          JBehave over Maven bat(/mvn clean -Dfeatures="${testsToRunConverted}" test/)


        Notes/Limitations :
        • UFT: In order to build a UFT MTBX file, this builder needs to know the test check-out directory. By default this is the job workspace directory. If tests are checked out in another directory, define in the job a String parameter "testsToRunCheckoutDirectory" with the correct directory.
        • JUnit/TestNG: Supported for JUnit 4.7+, Surefire Plugin 2.19+, Failsafe Plugin 2.12.1+.
        • Cucumber-JVM over Maven: If your project contains several run classes, specify a run class that will be used, otherwise all run classes will be executed by Cucumber. You can specify test runner by adding: '-Dtest=[runner class name]' to the Maven command
        • JBehave over Maven: read more about integration with JBehave here


        See more help information in ALM Octane Help Center
        • framework : String
          Select the testing framework whose format you want to convert to.
        • format : String
          In the 'Custom conversion format' field, enter json that describes how to convert tests from raw format to the format of your testing framework. After conversion, the result is injected to the "testsToRunConverted" parameter.

          Note: Click "Validate" to check the correctness of the inserted configuration.

          The following are the components that you can use in the "Custom conversion format" :
          • testPattern - describes the pattern for converting single test. All parameters that needs to be replaced be real test data, should start with $, for example $package, $class, $testName, $externalRunId, $myCustomParam. All other characters in the pattern will appear in the final result as is.
          • testDelimiter - the delimiter used to separate different tests.
          • prefix - a prefix for the whole conversion result.
          • suffix - a suffix for the whole conversion result.
          • allowDuplication - indicate whether duplications are allowed in final result. Default is true.
          • testsToRunConvertedParameter - the parameter name that will contain the conversion result. Default value is "testsToRunConverted".
          • replacements - the array of replace methods.
          The minimal configuration is:

          {
              "testPattern": "$package.$class#$testName",
              "testDelimiter": ","
          }
              

          For example:

          The testsToRun parameter received 2 tests separated by a semicolon: v1:myPackage1|myClass1|myTest1;myPackage2|myClass2|myTest2
          The defined testPattern is: $package.$class#$testName
          The defined testDelimiter is: ,
          • $package variable will get a value of myPackage1 for the first test and myPackage2 for the second test.
          • $class variable will get a value of myClass1 for the first test and myClass2 for the second test.
          • $testName variable will get a value of myTest1 for the first test and myTest2 for the second test.

          The testsToRunConverted parameter will be equal: myPackage1.myClass1#myTest1,myPackage2.myClass2#myTest2

          Optional:
          There is a possibility to alter values received from ALM Octane, for example to set lowercase to the testName, replace spaces by '_', and so on.
          Here are examples of available replace methods. Each replace method contains "target" property that define what parts of the test pattern are affected by replace method, available values are $package,$class,$testName. Its possible to put several values separated by '|'. The replacements are executed in the order they appear in the 'Custom conversion format' json.
          "replacements": [
          {
              "type": "replaceRegex",
              "target": "$package|$class|$testName",
              "regex": "aaa",
              "replacement": "bbb",
              "description": "Replaces all the sequence of characters matching the regex with a replacement string."
          },{
              "type": "replaceRegexFirst",
              "target": "$package|$class|$testName",
              "regex": "aaa",
              "replacement": "bbb",
              "description": "Replaces the first substring that matches the given regex with the given replacement. For example, given regex '@(.*)@.*' , replacement '$1', and test name '@myTag@ my test name' - will replace test name by the content located between @, that is - 'myTag'."
          },{
              "type": "replaceString",
              "target": "$package|$class|$testName",
              "string": "xxx",
              "replacement": "yyy",
              "description": "Replaces all occurrences of ‘string’ with ‘replacement’."
          },{
              "type": "joinString",
              "target": "$package|$class|$testName",
              "prefix": "xxx",
              "suffix": "yyy",
              "description": "Add prefix and suffix to the test template."
          },{
              "type": "toLowerCase",
              "target": "$package|$class|$testName",
              "description": "Convert test template to lower case."
          },{
              "type": "toUpperCase",
              "target": "$package|$class|$testName",
              "description": "Convert test template to upper  case."
          },{
              "type": "notLatinAndDigitToOctal",
              "target": "$package|$class|$testName",
              "description": "Replaces all non-latin characters and digits ^[a-zA-Z0-9] to their ASCII octal value."
          }]
          

        publishCodeCoverage: ALM Octane code coverage publisher

        See help information in ALM Octane Help Center
        • jacocoPathPattern : String
        • lcovPathPattern : String

        svChangeModeStep: SV: Change Mode of Virtual Service

        • serverName : String
        • force : boolean
        • mode
          • Values: OFFLINE, SIMULATING, STAND_BY, LEARNING
        • dataModel
            Nested Object
          • selectionType
            • Values: BY_NAME, NONE, DEFAULT
          • dataModel : String
        • performanceModel
            Nested Object
          • selectionType
            • Values: BY_NAME, NONE, OFFLINE, DEFAULT
          • performanceModel : String
        • serviceSelection
            Nested Object
          • selectionType
            • Values: SERVICE, PROJECT, ALL_DEPLOYED, DEPLOY
          • service : String
          • projectPath : String
          • projectPassword : String

        svDeployStep: SV: Deploy Virtual Service

        • serverName : String
        • force : boolean
        • service : String
        • projectPath : String
        • projectPassword : String
        • firstAgentFallback : boolean

        svExportStep: SV: Export Virtual Service

        • serverName : String
        • force : boolean
        • targetDirectory : String
        • cleanTargetDirectory : boolean
        • serviceSelection
            Nested Object
          • selectionType
            • Values: SERVICE, PROJECT, ALL_DEPLOYED, DEPLOY
          • service : String
          • projectPath : String
          • projectPassword : String
        • switchToStandByFirst : boolean
        • archive : boolean

        svUndeployStep: SV: Undeploy Virtual Service

        • serverName : String
        • continueIfNotDeployed : boolean
        • force : boolean
        • serviceSelection
            Nested Object
          • selectionType
            • Values: SERVICE, PROJECT, ALL_DEPLOYED, DEPLOY
          • service : String
          • projectPath : String
          • projectPassword : String

        uftScenarioLoad: Run UFT scenario

        • testPaths : String
        • archiveTestResultsMode : String
          To view the run results, do one of the following:
          1) In the left pane, click the Report and Summary link to display the report link and the link to the report folder. From this link, you can open the run results directly in your browser or open the artifacts
          2) From the Build Artifacts:
          • Open the run_results.html to view the run results.
          • Download the zipped report to your desired location and unzip it. In the Run Results Viewer, select the Results.xml file found inside the unzipped folder.
          Note that this option is valid only when using the “Execute test from file system” build step.
        • fsReportPath : String (optional)
        • fsTimeout : String (optional)
        • fsUftRunMode : String (optional)
        • runFromFileBuilder (optional)
            Nested Object
          • fsTests : String
            List of tests or folders that contain tests, to run. Each line should contain a single test, folder, or MTB file.
            In case you want to parameterize the tests please specify the parameters and their values like:
            &ltTestPath> "Parameter1":"&ltstringvalue>",..., "ParameterN":&ltnumbervalue>
            Also, for better specification of parameters you may use the "Specify test parameters" section below.
          • areParametersEnabled : boolean
          • specifyParametersModel
              Nested Object
            • parameterJson : String
          • fileSystemTestSetModel
              Nested Object
            • fileSystemTestSet
              File system test set help.
                Array / List of Nested Object
              • tests : String
                List of tests or folders that contain tests, to run. Each line should contain a single test, folder, or MTB file.
              • parallelRunnerEnvironments
                  Array / List of Nested Object
                • environment : String
                  Environment help string.
                • environmentType : String
          • summaryDataLogModel
              Nested Object
            • logVusersStates : boolean
              Display the number of virtual users in each state.
            • logErrorCount : boolean
              Display the number of controller errors.
            • logTransactionStatistics : boolean
              Display the number of passed transactions, failed transactions and hits per second.
            • pollingInterval : String
              The rate at which the messages are displayed (in seconds). Default value is 10 seconds.
          • scriptRTSSetModel
              Nested Object
            • scripts
                Array / List of Nested Object
              • scriptName : String
                The script name is found in Controller's Script Information dialog (Percentage Mode scenario) or Group Information dialog (Vuser Group Mode scenario).
              • additionalAttributes
                  Array / List of Nested Object
                • name : String
                • value : String
                • description : String
          • isParallelRunnerEnabled : boolean (optional)
            Note: This mode is for UFT GUI test only.With it enabled, you can define multiple tests and the environments to run with.

            UFT will run on those environments in parallel(at most 4 environments simultaneously) for each test.

            Disabling this option will switch back to the normal view with the tests kept.
          • uftSettingsModel (optional)
              Nested Object
            • selectedNode : String (optional)
              Please select the corresponding slave machine setup in the main job configuration.
            • numberOfReruns : String (optional)
              Defines the maximum amount of test set reruns.
            • cleanupTest : String (optional)
              Test executed before the re-run process of the failed tests.
            • onCheckFailedTest : String (optional)
            • fsTestType : String (optional)
              Select which test category will run again when build fails. The user can rerun the entire set of tests or only the failed tests from the suite. If just certain tests fail, then only the selected tests will rerun.
            • rerunSettingsModels (optional)
                Array / List of Nested Object
              • test : String (optional)
              • checked : boolean (optional)
              • numberOfReruns : int (optional)
              • cleanupTest : String (optional)
          • analysisTemplate : String (optional)
            Apply a template for the build (path to a .tem file). Leave blank in order to use the default template.
          • authModel (optional)
              Nested Object
            • mcUserName : String
            • mcPassword : String
            • mcTenantId : String
            • mcExecToken : String
            • value : String
          • cloudBrowserModel (optional)
              Nested Object
            • cloudBrowserUrl : String
            • cloudBrowserType : String
            • cloudBrowserVersion : String
            • cloudBrowserRegion : String
            • cloudBrowserOs : String
          • controllerPollingInterval : String (optional)
            Polling interval for checking the scenario status, in seconds. The default is 30 seconds.
          • displayController : String (optional)
            Display the controller while the scenario is running.
          • fsAutActions : String (optional)
          • fsDeviceId : String (optional)
          • fsDevicesMetrics : String (optional)
          • fsExtraApps : String (optional)
          • fsInstrumented : String (optional)
          • fsJobId : String (optional)
          • fsLaunchAppName : String (optional)
          • fsManufacturerAndModel : String (optional)
          • fsOs : String (optional)
          • fsReportPath : String (optional)
            The directory where the test results will be saved. If this is left empty the default directory will be used.
          • fsTargetLab : String (optional)
          • fsTimeout : String (optional)
            Timeout value in seconds. If left empty, there is no timeout.
          • fsUftRunMode : String (optional)
          • ignoreErrorStrings : String (optional)
            Ignore errors during the scenario run containing any of the strings listed below. For example: "Error: CPU usage for this load generator has exceeded 80%"
          • mcServerName : String (optional)
            Select the Digital Lab server. To add a server, go to Manage Jenkins > Configure System > Digital Lab.
          • outEncoding : String (optional)
            The encoding charset to be used when printing the text in the Console Output. The field is optional and the default value is UTF-8. The type UTF-16 is equivalent to Unicode.
          • perScenarioTimeOut : String (optional)
            The maximum time allotted for scenario execution, in minutes.
          • proxySettings (optional)
              Nested Object
            • fsUseAuthentication : boolean
            • fsProxyAddress : String
            • fsProxyUserName : String
            • fsProxyPassword : String
          • resultFileNames (optional)
            • Type: java.util.Map<java.lang.Long, java.lang.String>
          • useSSL : boolean (optional)
        • runResultRecorder (optional)
            Nested Object
          • archiveTestResultsMode : String
            To view the run results, do one of the following:
            1) In the left pane, click the Report and Summary link to display the report link and the link to the report folder. From this link, you can open the run results directly in your browser or open the artifacts
            2) From the Build Artifacts:
            • Open the run_results.html to view the run results.
            • Download the zipped report to your desired location and unzip it. In the Run Results Viewer, select the Results.xml file found inside the unzipped folder.
            Note that this option is valid only when using the “Execute test from file system” build step.

        Was this page helpful?

        Please submit your feedback about this page through this quick form.

        Alternatively, if you don't wish to complete the quick form, you can simply indicate if you found this page helpful?

            


        See existing feedback here.