Skip to end of metadata
Go to start of metadata

(This page is under construction)

This plugin integrates Micro Focus Performance Center with Jenkins. Using the plugin, you can synchronize load test scripts from a Github repository to a project on the Performance Center server.


Jenkins versions

This plugin supports only the latest five LTS versions of Jenkins (currently 2.60.3). This is a result of the Jenkins policy to no longer support older update centers. Jenkins 2.54 and higher requires you to have Java 8 installed on the machine. To recover any information lost during an upgrade relating to package names, backup the Jenkins folder and then run the Rebranding script.

Submit issues and feedback through JIRA

This plugin is open source. If you identify any issues or want to submit enhancement requests, please use JIRA. The component for this plugin is the micro-focus-performance-center-integration component. Your feedback and involvement will allow us to stabilize and enhance the capabilities of the plugin. The latest, early access, beta versions of this plugin are available here


Content Security Policy

Starting with version 1.641 (or 1.625.3), Jenkins introduced the Content-Security-Policy header. This causes some of the integration links, such as links to reports, to become inoperable. For details, see Configuring Content Security Policy and Jenkins Security Advisory . For suggested workarounds until the issue is resolved, see Content Security Policy Header.


What's New in version 0.1.1

This version provides the following enhancements:

Git synchronization 

  • Ability to upload load testing scripts stored in a Git repository to a Performance Center project, and trigger the build automatically (after defining the hook in Github).
  • Ability to synchronize a Performance Center project with a Git repository.
    Note:
    • In Performance Center 12.60 and later, the folder structure defined in the Git repository is respected (from Performance Center 12.60, the PC REST API has the ability to create folders in the Test Management tree).
    • In versions of Performance Center earlier than 12.60, you need to manually create a main folder (named "Subject") under the root folder of Test Plan tree in the Performance Center project. This folder must be specified when configuring the Jenkins build, and all scripts found in the Git repository (no matter if they are placed in different folders in the Git Repository) will be uploaded to this folder; no other folders will be created. It is important to make sure that no scripts have duplicated names, otherwise they will be uploaded to the same Performance Center folder and the last uploaded script will overwrite any previously uploaded scripts with the same name.
  • The first successful build uploads all scripts (this might take longer to sync). Subsequent builds include modifications only from the previous successful build, and should be much faster.
  • Synchronizing script deletion is optional in the build's configuration (it is enabled by default). However, failing to delete scripts in a Performance Center project after they have been deleted in the Git repository will not cause the build to fail.

Prerequisites

  1. Java version 8 or higher. To verify your Java version, go to http://www.java.com/en/download/installed.jsp.
  2. Performance Center server.
  3. Git Repository and Github server.

Support for Pipelines

Generate pipeline code
  1. To set up a pipeline test job for your Micro Focus testing tool:
    1. From Jenkins Dashboard, click New Job or select an existing one.
    2. On the page that opens, enter a job name (for a new job), click Build a Pipeline project, and click OK.
    3. In the Project Configuration page, scroll down to the Pipeline section.
    4. Enter the stage and node arguments into the Script area. For example,

      stage('RunUFTTestFromFS'){ // The stage name
          node('Test'){ //  The name of the node in which to run the test.

  2. Prepare the code for your testing tool:
    1. Click the Pipeline Syntax link.
    2. In the Snippet Generator drop down, select the desired step, for example, uftScenarioLoad: Run UFT scenario.
    3. Fill in the fields as required. Fields marked in red are mandatory. Note: For fields that take multiple values, such as in the Tests field, separate multiple entries with a line break.
    4. If relevant, select one of the Report archive modes (below).
    5. Click Generate Pipeline Script. Copy the code to the clipboard.
  3. Return to the Project Configuration page, and paste the generated Groovy script into the Script field in the Pipeline section.
  4. Repeat the above steps to add other commands to your script.
  5. Save the script and run or schedule the job as you would with any standard Jenkins job.
  6. After the test run, click the Console link on the dashboard to see a link to your results. Copy the link to your browser (Internet Explorer required to view ALM test sets in ALM).



Supported Pipeline job types

The available Pipeline job types are pcGitBuild and pcBuild.

Product

Pipeline step name

Description

Performance Center

pcGitBuild

Synchronize scripts from a Git repository to a Performance Center project

Performance Center

pcBuild

Execute tests using Performance Center


Enable Non-English Languages

In order to allow the add-in to support non-English languages, make the following changes to your Jenkins Master and nodes configuration:

Master configuration
  1. Open the Jenkins.xml file in the Jenkins installation folder, for example: c:\Jenkins\Jenkins.xml.
  2. Go to the <service> -> <arguments> section and add the -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 flags after the -jar flag.

For example:


<service>
<id>jenkins</id>
<name>Jenkins</name>
<description>This service runs Jenkins continuous integration system.</description>
<env name="JENKINS_HOME" value="%BASE%"/>
<!--
This example assumes that you have java in your PATH.
To run Jenkins with a specific version of Java, specify a full path to the desired java.exe.
-->
<executable>%BASE%\jre\bin\java</executable>
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>
<!--
The *interactive* flag causes the empty black Java window to be displayed.
<interactive />
-->
<logmode>rotate</logmode>
<onfailure action="restart" />
</service>


Slave configuration
  1. Open the jenkins-slave.xml file on the Jenkins slave (node) machine in the folder that you designated.
  2. Go to the <service> -> <arguments> section and add the -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 flags after the -jar flag.
<service>
<id>jenkinsslave-c__jkns</id>
<name>jenkinsslave-c__jkns</name>
<description>This service runs a slave for Jenkins continuous integration system.</description>
<!--
This example assumes that you have java in your PATH.
To run Jenkins with a specific version of Java, specify a full path to the desired java.exe.
-->
<executable>C:\Program Files (x86)\Java\jre1.8.0_91\bin\java.exe</executable>
<arguments>-Xrs -jar "%BASE%\slave.jar" -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 -jnlpUrl http://xxx.xxx.xxx.xxx:8080/jenkins/computer/VM112233/slave-agent.jnlp -secret xyzabc</arguments>
<!--
The *interactive" flag causes the empty black Java window to be displayed.
<interactive />
-->
<logmode>rotate</logmode>
<onfailure action="restart" />
</service>

Configuration for Java Web Start clients
  1. On the Jenkins master machine, go to Manage Jenkins -> Manage Nodes. Click the relevant node or slave. and select Slave -> Configure -> Advanced.
  2. Add the following to the JVM options text box – “-Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8”.
  3. Restart your Jenkins master, node, and slave.
  4. Verify that your changes took effect:
    1. For the Master: Go to Manage Jenkins -> System information -> “file.encoding”, “sun.jnu.encoding”. The value should be “UTF-8”.
    2. For the node/slave: On the master machine, go to Manage Jenkins -> Manage Nodes.
      Click on the relevant node or slave and select System information-> “file.encoding”, “sun.jnu.encoding”. The value should be “UTF-8”.
      Workaround: If you find that the slave machine still does not support localized encoding, launch the slave from the command line as shown in the image below:

     For example:


java -Dsun.jnu.encoding=UTF-8 -Dfile.encoding=UTF-8 -jar slave.jar -jnlpUrl http://xxx.xxx.xxx.xxx:8080/jenkins/computer/VM112233/slave-agent.jnlp -secret xyzabc


      


Tips and Troubleshooting



  • No labels