Table of Contents |
---|
Configuring a Standard Jenkins job
Freestyle
Let’s create a standard Freestyle job in Jenkins.
- To create a new Jenkins job, click on the New Item option on the Jenkins menu.
2. Provide a name for your job.
Select Freestyle project on the screen and then click OK.
3. Next, the configuration page appears where you can configure your job by various categories: General, Source Code Management (SCM), Build Triggers, Build, and Post build actions.
4. On the Source Code Management tab, select the appropriate option in which you have your source code. For example, here it is “Git”. So, select “Git” and provide the necessary information. (Note: You need to configure GitHub plugin in global configuration).
5. Optionally, you can set Build Triggers.
Select the Build Triggers tab. Let’s just add a periodic trigger which triggers build every minute – every hour – every day (Schedule: * * * * *).
6. Next, Select a build step. You can select from various options: Ant, Maven, Windows batch process, etc. For example, for a maven project, trigger a maven build and specify goals.
Next step is to add Post-build Actions. Here, add the plugin: “QMetry Test Management for JIRA Plugin”.
Configuring QMetry for Jira Test Management Plugin as a Post-build Action
Jenkins works as a bridge between QMetry Test Management and JIRA plugin. To publish results in QMetry for JIRA, define another post-build action.
1. On the Add post-build Actions drop-down, select the "Publish test result to QMetry for Jira version 4.X above" option.
2. There are two options: Cloud or Server. Based on your Jira Hosting, select either Jira Cloud or Jira Server.
3. Fill the required data in accordingly for Cloud/Server.
Cloud
In case of Cloud instance for QMetry for JIRA, select the Cloud option and fill in the required data.
You can get more information regarding fields by clicking on the Help icon for respective fields. It explains what to enter in that particular field.
Parameters for Cloud instance:
...
Parameter
...
Type
...
Required
...
Description
...
API Key
...
string
...
Yes
...
Your API Key. API Key is unique for a specific user in a single project. The result will be imported for the project associated with the given API Key.
...
Format
...
selection
...
Yes
Format of result file to be imported. Supported formats:
...
Table of Contents |
---|
Configuring a Standard Jenkins job
Freestyle
Let’s create a standard Freestyle job in Jenkins.
- To create a new Jenkins job, click on the New Item option on the Jenkins menu.
2. Provide a name for your job.
Select Freestyle project on the screen and then click OK.
3. Next, the configuration page appears where you can configure your job by various categories: General, Source Code Management (SCM), Build Triggers, Build, and Post build actions.
4. On the Source Code Management tab, select the appropriate option in which you have your source code. For example, here it is “Git”. So, select “Git” and provide the necessary information. (Note: You need to configure GitHub plugin in global configuration).
5. Optionally, you can set Build Triggers.
Select the Build Triggers tab. Let’s just add a periodic trigger which triggers build every minute – every hour – every day (Schedule: * * * * *).
6. Next, Select a build step. You can select from various options: Ant, Maven, Windows batch process, etc. For example, for a maven project, trigger a maven build and specify goals.
Next step is to add Post-build Actions. Here, add the plugin: “QMetry Test Management for JIRA Plugin”.
Configuring QMetry for Jira Test Management Plugin as a Post-build Action
Jenkins works as a bridge between QMetry Test Management and JIRA plugin. To publish results in QMetry for JIRA, define another post-build action.
1. On the Add post-build Actions drop-down, select the "Publish test result to QMetry for Jira version 4.X above" option.
2. There are two options: Cloud or Server. Based on your Jira Hosting, select either Jira Cloud or Jira Server.
3. Fill the required data in accordingly for Cloud/Server.
Cloud
In case of Cloud instance for QMetry for JIRA, select the Cloud option and fill in the required data.
You can get more information regarding fields by clicking on the Help icon for respective fields. It explains what to enter in that particular field.
Parameters for Cloud instance:
Parameter | Type | Required | Description |
API Key | string | Yes | Your API Key. API Key is unique for a specific user in a single project. The result will be imported for the project associated with the given API Key. |
Format | selection | Yes | Format of result file to be imported. Supported formats: cucumber/json testng/xml junit/xml QAF hpuft/xml specflow/json |
File | string | Yes | Path to your result file to be uploaded. Example : The Jenkins plugin is expecting the file in Jenkins Workspace. If your automation generates multiple result files of the supported format in a folder then provide the absolute path till the folder name(It should not be the path till workspace). QMetry plugin will zip all supported format files and upload them to QMetry. |
Test Cycle To Reuse | string | No | Key of the test cycle to be reused. |
Upload Screenshots | checkbox | No | Check to upload attachments in execution. Default value: false. |
Environment | string | No | Name of the environment on which test cycle has to be executed. |
Build | string | No | Name of the build for test cycle execution. |
Test Case and Test Cycle Fields | |||
Parameter | Type | Required | Description |
Summary ( |
only for Test Cycle) | string | No | Summary of test cycle. |
Description | string | No | Description of test case/test cycle |
Priority | string | No | Priority to be added to the test case/test cycle. |
Status | string | No | Status to be added to the test case/test cycle. |
Components | string | No | Comma separated names of Components to be added to the test case/test cycle. |
Labels | string | No | Comma separated names of Labels to be added to the test case/test cycle. |
Fix Version Id (How to find the Fix Version Id) | number | No | Id of Fix Version to be added to the test case/test cycle. |
Sprint Id (How to find the Sprint Id) | number | No | Id of Sprint to be added to the test case/test cycle. |
Assignee | string | No |
Comma separated custom fields in JSON array.
Server
In case of Server instance for QMetry for Jira, select the Server option and fill in the required data.
Parameters for Server instance:
...
Parameter
...
Type
...
Required
...
Description
...
Username
...
string
...
Yes
...
Jira Username.
...
Password
...
string
...
Yes
...
Password for Jira instance.
...
Automation API Key
...
string
...
Yes
...
Your API Key. API Key is unique for a specific user in a single project. The result will be imported for the project associated with the given API Key.
...
Format
...
selection
...
Yes
...
Format of result file to be imported. Supported formats:
cucumber/json testng/xml junit/xml QAF hpuft/xml specflow/json
...
File
...
string
...
Yes
...
Path to your result file to be uploaded.
Example : The Jenkins plugin is expecting the file in Jenkins Workspace.
If your workspace name is WithoutSouceCode, then you will find a folder name with "WithoutSouceCode" in your installation directory like Jenkins/Home/workspace/WithoutSouceCode.
Your result file should be under Jenkins/Home/workspace/WithoutSouceCode/Testng-result.xml.
The path that should be set in plugin configuration is "/Testng-result.xml"
If your automation generates multiple result files of the supported format in a folder then provide the absolute path till the folder name(It should not be the path till workspace). QMetry plugin will zip all supported format files and upload them to QMetry.
...
Test Cycle To Reuse
...
Upload Screenshots
...
Environment
...
string
...
Parameter
...
Type
...
Required
...
Description
...
Summary (For Test Cycle)
...
string
...
No
...
Summary of test cycle.
...
Priority
...
string
...
No
...
Priority to be added to the test case/test cycle.
...
Pipeline
QMetry Test Management supports Jenkins Pipeline for implementing and integrating continuous delivery pipelines into Jenkins.
Let’s create a standard Pipeline job in Jenkins.
1. To create a new Jenkins job, click on the New Item option on the Jenkins menu.
2. Provide a name for your job.
Select Pipeline on the screen and then click OK.
3. Next, the configuration page appears where you can configure your job by various categories: General, Build Triggers, Advanced Project Options, and Pipeline.
4. Optionally, you can set Build Triggers.
Select the Build Triggers tab. Let’s just add a periodic trigger which triggers build every minute – every hour – every day (Schedule: * * * * *).
5. Advanced Project Options: This is optional. You can give Display Name which will replace the name you gave earlier to the Pipeline project.
6. Jenkins works as a bridge between QMetry Test Management and automation frameworks. To publish results in QMetry, provide a Pipeline script.
Enter Pipeline script to define your code repository, generate test results and upload test results into QMetry Test Management.
Code Snippet for Cloud: QMetry for Jira v4.0 and above
Pipeline Script
...
stage('Upload Result to QTM4J cloud V4'){ step([$class: 'TestReportDeployPublisherCloudV4', testToRun: 'CLOUD', apikey: 'a518c3dd80791930bb0045eae80421cafe3378a7bbcb315092d127df5b111673853e8f29350552cf8a82a8fba7ff6cb556f6ea1c70d38151ab806f0d4e2771c230dd12edde1783a40a2d4165b70f8369', format: 'cucumber/json', file: 'cucumber', testCycleToReuse: "", testCycleLabels: "v8.2.1", testCycleComponents: "FitBit", testCyclePriority: "High", testCycleStatus: "To Do", testCycleSummary: "Basic mode testing", testCycleCustomFields: "[{"name": "Country", "value": "India"}, {"name": "Language", "value": "English"}, {"name": "TimeZone", "value": "IST"}]", testCaseLabels: "v8.2.1", testCaseComponents: "FitBit", testCasePriority: "High", testCaseStatus: "To Do", testCaseCustomFields: "[{"name": "Country", "value": "India"}, {"name": "Language", "value": "English"}, {"name": "TimeZone", "value": "IST"}]"]) }
Code Snippet for Server: QMetry for Jira v4.0 and above
Pipeline Script
...
Syntax of format:
- cucumber/json
- testng/xml
- junit/xml
- QAF
- hpuft/xml
- specflow/json
Parameters for Cloud
...
Parameter
...
Type
...
Required
...
Description
...
API Key
...
string
...
Yes
...
Your API Key. API Key is unique for a specific user in a single project. The result will be imported for the project associated with the given API Key.
...
Format
...
selection
...
Yes
...
Format of result file to be imported. Supported formats:
cucumber/json testng/xml junit/xml QAF hpuft/xml specflow/json
...
File
...
string
...
Yes
...
Path to your result file to be uploaded.
Example : The Jenkins plugin is expecting the file in Jenkins Workspace.
If your workspace name is WithoutSouceCode, then you will find a folder name with "WithoutSouceCode" in your installation directory like Jenkins/Home/workspace/WithoutSouceCode.
Your result file should be under Jenkins/Home/workspace/WithoutSouceCode/Testng-result.xml.
The path that should be set in plugin configuration is "/Testng-result.xml"
...
Test Cycle To Reuse
...
Upload Screenshots
...
Environment
...
Parameter
...
Type
...
Required
...
Description
...
Summary (For Test Cycle)
...
string
...
No
...
Summary of the test cycle.
...
Priority
...
string
...
No
...
Priority to be added to the test case/test cycle.
...
Custom Fields
...
Comma separated custom fields in JSON array.
Parameters for Server Instance
Parameter
Type
Required
Description
Jira URL
string
Yes
Enter Jira URL
Username
string
Yes
Jira Username.
Password
string
Yes
Password for Jira instance.
API Key
string
Yes
Your API Key. API Key is unique for a specific user in a single project. The result will be imported for the project associated with the given API Key.
Format
selection
Yes
Format of result file to be imported. Supported formats:
cucumber/json testng/xml junit/xml QAF hpuft/xml specflow/json
File
string
Yes
Path to your result file to be uploaded.
Example : The Jenkins plugin is expecting the file in Jenkins Workspace.
If your workspace name is WithoutSouceCode, then you will find a folder name with "WithoutSouceCode" in your installation directory like Jenkins/Home/workspace/WithoutSouceCode.
Your result file should be under Jenkins/Home/workspace/WithoutSouceCode/Testng-result.xml.
The path that should be set in plugin configuration is "/Testng-result.xml"
Test Cycle To Reuse
Upload Screenshots
Environment
Parameter
Type
Required
Description
Summary (For Test Cycle)
string
No
Summary of test cycle.
Priority
string
No
Priority to be added to the test case/test cycle.
Account Key of the current user for test case/test cycle. | |||
Reporter | string | No | Account Key of the current user test case/test cycle. |
Precondition (only for Test Case) | string | No | Precondition for test case. |
Estimated Time (only for Test Case) | string | No | Estimated time for test case in ‘HH:mm’ format |
Planned Start Date (only for Test Cycle) | string | No | Planned Start Date of test cycle in 'dd/MMM/yyyy HH:mm' format |
Planned End Date (only for Test Cycle) | string | No | Planned End Date of test cycle in 'dd/MMM/yyyy HH:mm' format |
Custom Fields | string | No | Comma separated custom fields in JSON array. |
Server
In case of Server instance for QMetry for Jira, select the Server option and fill in the required data.
Parameters for Server instance:
Parameter | Type | Required | Description |
Jira URL | string | Yes | Enter Jira URL. |
Username | string | Yes | Jira Username. |
Password | string | Yes | Password for Jira instance. |
Automation API Key | string | Yes | Your API Key. API Key is unique for a specific user in a single project. The result will be imported for the project associated with the given API Key. |
Format | selection | Yes | Format of result file to be imported. Supported formats: cucumber/json testng/xml junit/xml QAF hpuft/xml specflow/json |
File | string | Yes | Path to your result file to be uploaded. Example : The Jenkins plugin is expecting the file in Jenkins Workspace. If your automation generates multiple result files of the supported format in a folder then provide the absolute path till the folder name(It should not be the path till workspace). QMetry plugin will zip all supported format files and upload them to QMetry. |
Test Cycle To Reuse | string | No | Key of the test cycle to be reused. |
Upload Screenshots | checkbox | No | Check to upload attachments in execution. Default value: false. |
Environment | string | No | Name of the environment on which test cycle has to be executed. |
Build | string | No | Name of the build for test cycle execution. |
Test Case and Test Cycle Fields | |||
Parameter | Type | Required | Description |
Summary (only for Test Cycle) | string | No | Summary of test cycle. |
Description | string | No | Description of test case/test cycle |
Priority | string | No | Priority to be added to the test case/test cycle. |
Status | string | No | Status to be added to the test case/test cycle. |
Components | string | No | Comma separated names of Components to be added to the test case/test cycle. |
Labels | string | No | Comma separated names of Labels to be added to the test case/test cycle. |
Fix Version Id (How to find the Fix Version Id) | number | No | Id of Fix Version to be added to the test case/test cycle. |
Sprint Id (How to find the Sprint Id) | number | No | Id of Sprint to be added to the test case/test cycle. |
Assignee | string | No | Account Key of the current user for test case/test cycle. |
Reporter | string | No | Account Key of the current user test case/test cycle. |
Estimated Time (only for Test Case) | string | No | Estimated time for test case in ‘HH:mm’ format |
Planned Start Date (only for Test Cycle) | string | No | Planned Start Date of test cycle in 'dd/MMM/yyyy HH:mm' format |
Planned End Date (only for Test Cycle) | string | No | Planned End Date of test cycle in 'dd/MMM/yyyy HH:mm' format |
Custom Fields | array | No | Comma separated custom fields in JSON array. |
Pipeline
QMetry Test Management supports Jenkins Pipeline for implementing and integrating continuous delivery pipelines into Jenkins.
Let’s create a standard Pipeline job in Jenkins.
1. To create a new Jenkins job, click on the New Item option on the Jenkins menu.
2. Provide a name for your job.
Select Pipeline on the screen and then click OK.
3. Next, the configuration page appears where you can configure your job by various categories: General, Build Triggers, Advanced Project Options, and Pipeline.
4. Optionally, you can set Build Triggers.
Select the Build Triggers tab. Let’s just add a periodic trigger which triggers build every minute – every hour – every day (Schedule: * * * * *).
5. Advanced Project Options: This is optional. You can give Display Name which will replace the name you gave earlier to the Pipeline project.
6. Jenkins works as a bridge between QMetry Test Management and automation frameworks. To publish results in QMetry, provide a Pipeline script.
Enter Pipeline script to define your code repository, generate test results and upload test results into QMetry Test Management.
Code Snippet for Cloud: QMetry for Jira v4.0 and above
Pipeline Script
stage('Upload Result to QTM4J cloud V4'){ step([$class: 'TestReportDeployPublisherCloudV4', testToRun: 'CLOUD', apikey: 'a518c3dd80791930bb0045eae80421cafe3378a7bbcb315092d127df5b111673853e8f29350552cf8a82a8fba7ff6cb556f6ea1c70d38151ab806f0d4e2771c230dd12edde1783a40a2d4165b70f8369', format: 'cucumber/json', file: 'cucumber.json', testCycleToReuse: "", environment: "Firefox", build: "1.0.0", attachFile: true, testCycleSummary: "Basic mode testing", testCycleDescription: "Unit testing", testCycleLabels: "v8.2.1", testCycleComponents: "FitBit", testCyclePriority: "High", testCycleStatus: "To Do", testCycleSprintId: "10", testCycleFixVersionId: "10300", testCycleAssignee: "5caaf8b3307b0637cbbdb03c", testCycleReporter: "5caaf8b3307b0637cbbdb03c", testCycleStartDate: "15/May/2020 00:00", testCycleEndDate: "30/May/2020 00:00", testCycleCustomFields: "[{"name": "Country", "value": "India"}, {"name": "Language", "value": "English"}, {"name": "TimeZone", "value": "IST"}]", testCaseDescription: "Verify the login page", testCasePrecondition: "Login with valid user details", testCaseLabels: "v8.2.1", testCaseComponents: "FitBit", testCasePriority: "High", testCaseStatus: "To Do", testCaseSprintId: "10", testCaseFixVersionId: "10300", testCaseAssignee: "5caaf8b3307b0637cbbdb03c", testCaseReporter:"5caaf8b3307b0637cbbdb03c", testCaseEstimatedTime: "10:10", testCaseCustomFields: "[{"name": "Country", "value": "India"}, {"name": "Language", "value": "English"}, {"name": "TimeZone", "value": "IST"}]"])} |
Code Snippet for Server: QMetry for Jira v4.0 and above
Pipeline Script
stage('Upload Result to QTM4J server V4'){ step([$class: 'TestReportDeployPublisherCloudV4', jiraUrlServer: 'http://qtm4jpostgres.qmetry.com:8080/', username: 'admin', password: hudson.util.Secret.fromString('john123#'), testToRun: 'SERVER', apikeyServer: 'bc851b65c42259f4984f36d9e5f8931327b4985d1a68d9e8', formatServer: 'junit/xml', fileServer: 'junit.xml', testCycleToReuseServer: "", attachFileServer: true, environmentServer: "Firefox", buildServer: "1.0.0", testCycleSummaryServer: "Basic mode testing", testCycleDescriptionServer: "Unit testing", testCycleLabelsServer: "v8.2.1", testCycleComponentsServer: "FitBit", testCyclePriorityServer: "High", testCycleStatusServer: "To Do", testCycleSprintIdServer: "63", testCycleFixVersionIdServer: "10909", testCycleAssigneeServer: "JIRAUSER11200", testCycleReporterServer: "JIRAUSER11200", testCycleStartDateServer: "15/May/2020 00:00", testCycleEndDateServer: "30/May/2020 00:00", testCycleCustomFieldsServer: "[{"name": "Country", "value": "India"}, {"name": "Language", "value": "English"}, {"name": "TimeZone", "value": "IST"}]", testCaseDescriptionServer: "Verify the login page", testCaseLabelsServer: "v8.2.1", testCaseComponentsServer: "FitBit", testCasePriorityServer: "High", testCaseStatusServer: "To Do", testCaseSprintIdServer: "63", testCaseFixVersionIdServer: "10910", testCaseAssigneeServer: "JIRAUSER11200", testCaseReporterServer:"JIRAUSER11200", testCaseEstimatedTimeServer: "10:10", testCaseCustomFieldsServer: "[{"name": "Country", "value": "India"}, {"name": "Language", "value": "English"}, {"name": "TimeZone", "value": "IST"}]"])} |
Syntax of format:
- cucumber/json
- testng/xml
- junit/xml
- QAF
- hpuft/xml
- specflow/json
Parameters for Cloud
Parameter | Type | Required | Description |
API Key | string | Yes | Your API Key. API Key is unique for a specific user in a single project. The result will be imported for the project associated with the given API Key. |
Format | selection | Yes | Format of result file to be imported. Supported formats: cucumber/json testng/xml junit/xml QAF hpuft/xml specflow/json |
File | string | Yes | Path to your result file to be uploaded. Example : The Jenkins plugin is expecting the file in Jenkins Workspace. |
Test Cycle To Reuse | string | No | Key of the test cycle to be reused. |
Upload Screenshots | checkbox | No | Check to upload attachments in execution. Default value: false. |
Environment | string | No | Name of the environment on which the test cycle has to be executed. |
Build | string | No | Name of the build for test cycle execution. |
Test Case and Test Cycle Fields | |||
Parameter | Type | Required | Description |
Summary (only for Test Cycle) | string | No | Summary of test cycle. |
Description | string | No | Description of test case/test cycle. |
Priority | string | No | Priority to be added to the test case/test cycle. |
Status | string | No | Status to be added to the test case/test cycle. |
Components | string | No | Comma separated names of Components to be added to the test case/test cycle. |
Labels | string | No | Comma separated names of Labels to be added to the test case/test cycle. |
Fix Version Id (How to find the Fix Version Id) | number | No | Id of Fix Version to be added to the test case/test cycle. |
Sprint Id (How to find the Sprint Id) | number | No | Id of Sprint to be added to the test case/test cycle. |
Assignee | string | No | Account Key of the current user for test case/test cycle. |
Reporter | string | No | Account Key of the current user test case/test cycle. |
Precondition (only for Test Case) | string | No | Precondition for test case. |
Estimated Time (only for Test Case) | string | No | Estimated time for test case in ‘HH:mm’ format |
Planned Start Date (only for Test Cycle) | string | No | Planned Start Date of test cycle in 'dd/MMM/yyyy HH:mm' format. |
Planned End Date (only for Test Cycle) | string | No | Planned End Date of test cycle in 'dd/MMM/yyyy HH:mm' format. |
Custom Fields | string | No | Comma separated custom fields in JSON array. |
Parameters for Server Instance
Parameter | Type | Required | Description |
Jira URL | string | Yes | Enter Jira URL |
Username | string | Yes | Jira Username. |
Password | string | Yes | Password for Jira instance. |
API Key | string | Yes | Your API Key. API Key is unique for a specific user in a single project. The result will be imported for the project associated with the given API Key. |
Format | selection | Yes | Format of result file to be imported. Supported formats: cucumber/json testng/xml junit/xml QAF hpuft/xml specflow/json |
File | string | Yes | Path to your result file to be uploaded. Example : The Jenkins plugin is expecting the file in Jenkins Workspace. |
Test Cycle To Reuse | string | No | Key of the test cycle to be reused. |
Upload Screenshots | checkbox | No | Check to upload attachments in execution. Default value: false. |
Environment | string | No | Name of the environment on which test cycle has to be executed. |
Build | string | No | Name of the build for test cycle execution. |
Test Case and Test Cycle Fields | |||
Parameter | Type | Required | Description |
Summary (only for Test Cycle) | string | No | Summary of test cycle. |
Description | string | No | Description of test case/test cycle. |
Priority | string | No | Priority to be added to the test case/test cycle. |
Status | string | No | Status to be added to the test case/test cycle. |
Components | string | No | Comma separated names of Components to be added to the test case/test cycle. |
Labels | string | No | Comma separated names of Labels to be added to the test case/test cycle. |
Fix Version Id (How to find the Fix Version Id) | number | No | Id of Fix Version to be added to the test case/test cycle. |
Sprint Id (How to find the Sprint Id) | number | No | Id of Sprint to be added to the test case/test cycle. |
Assignee | string | No | Account Key of the current user for test case/test cycle. |
Reporter | string | No | Account Key of the current user test case/test cycle. |
Estimated Time (only for Test Case) | string | No | Estimated time for test case in ‘HH:mm’ format |
Planned Start Date (only for Test Cycle) | string | No | Planned Start Date of test cycle in 'dd/MMM/yyyy HH:mm' format |
Planned End Date (only for Test Cycle) | string | No | Planned End Date of test cycle in 'dd/MMM/yyyy HH:mm' format |
Custom Fields | string | No | Comma separated custom fields in JSON array. |
7. On successful completion of the process, you can see the console output. It displays a success message for uploading the result file.
8. Finally check the test execution page in QMetry and review your test run results.