Jira Integration¶
conQlude synchronizes test execution results with external systems such as HP Quality Center (HPQC, HP ALM) and Atlassian Jira. Jira integration consists of:
-
Creating test issues in Jira
-
Updating the execution results of these issues
-
Uploading execution details such test step data and attachments
Prerequisites¶
-
intaQt version > R2018.12.XX
-
Atlassian Jira Server version > 7 (Tested with v7.8.4)
-
Jira Plugin:
Zephyr for Jira - Test Management
by Zephyr -
Jira Plugin:
ZAPI
by Zephyr -
Jira users must have the following permissions:
- Browse Projects
- Assign Issues
- Create Issues
- Edit Issues
- Modify Reporter
- Create Attachments
- Zephyr - Browse Test Cycle
- Zephyr - Create Test Cycle
- Zephyr - Create Test Execution
- Zephyr - Edit Test Execution
Jira must have write permissions to the attachment directory on the Jira Server. This is typically located in the installation directory such as /opt/atlassian/jira/bin/DEV
. If this permission is not set, attachments cannot be added to test executions in Jira via the Zephyr plugin.
Additionally, The Jira reporter
field must be visible. The field is accessible via Jira Project Settings
-> Create Issue
.
Features¶
Creating Test Issues ¶
conqlude attempts to associate the executed test with a test issue in Jira. This association is done by using the Scenario name and the issue Summary.
If conQlude finds an issue where the Summary matches the Scenario name, this issue will be associated with the test execution. In this case, a new test execution will be added to the matching issue and no new Jira issues will be created. For more information, see Creating Test Executions.
However, if conQlude fails to find such a test issue in Jira, conQlude will automatically create a new Jira issue for the executed test.
Note:
-
Issues are created in the project specified by the conqlude Configuration
-
Created issues will be of
Test
type created byZephyr for Jira
plugin. -
For each test execution (Scenario/Scenario Outline in intaQt), there will be a separate Jira issue. This means that test issues in Jira correspond to Scenario definitions in intaQt.
-
Issues are created using the metadata specified in the Feature File (see Creating Test Executions). Some metadata are mandatory for creating an issue: If these metadata are not specified, issue creation will fail and test execution results will not be uploaded to Jira.
Creating Test Executions ¶
conQlude uploads the test execution result to Jira, meaning a test execution containing the results will be created. The following structure is used for the Cycle planning structure: Version
-> Cycle
-> Product
-> Test Execution
.
Version¶
The Version is the version of the system under test:
- The version must be entered in Jira Settings
Cycle¶
The Cycle is the the test Cycle defined in Zephyr:
- A Jira
issue
field may be defined as acycle
field in Zephyr, which allows conQlude to associate the test execution with a Jiracycle
. This contains information about the following:- Cycle field of the test issue in Jira.
- Test metadata corresponding to the Cycle field defined in the configuration. Metadata are used to identify the Cycle when field of the test issue in Jira is not set.
Other
is the default Cycle.
If the specified Cycle does not exist, conQlude will create it.
Product¶
The Product identifies which part of the system is under test. The Product corresponds to a folder in Zephyr test management:
-
Like the Cycle, a Jira field may be defined as a Product field that contains the following:
- Product field for the Jira test issue.
- Test metadata corresponding to the product field defined in the configuration. Metadata are used to identify the product when test issue field in Jira is not set.
Other
is the default product.
-
If there is no folder for the specified product under the specified Cycle, conQlude will create a folder for the product.
Test Execution¶
Test Execution is created for the associated test issue (see Creating Test Issues). If a Test Execution already exists for the test issue, it will be updated with the latest results.
The Test Execution update consists of:
-
Updating test steps (of the test issue)
- Only steps with step metadata will be updated. If a step does not have any metadata, it will not be uploaded to Jira.
- If execution steps differs from the test issue steps, then steps will be updated. In other words, some steps may be removed and others may be added.
- When test steps are removed from the test issue, corresponding step results from previous test execution are also removed. This removal is due to Zephyr's implementation for the Jira plugin.
-
Test execution creation
- If there is already a test execution in a given folder, no new test execution will be created. Rather, results and execution time will be updated.
-
Step result updates
- Step results are updated with the execution result (
passed
,failed
orskipped
) and step result fields (test data and expected result). Step result fields data are updated using the step metadata defined in the Feature File (see Metadata). - Attachments created in the step will be uploaded as step result attachments. If a test is executed several times, attachments from all executions will be attached.
- Step results are updated with the execution result (
Test Metadata ¶
conQlude requires additional data to create test issues and step results in Jira. This is because these entities require information that are not part of intaQt test run. Such information may be provided as metadata in the Feature File.
Metadata fields may include placeholders to include values of variables in the execution context.
Example
1 | #@ Test Data: Request: ${REQ}, Response: ${RESP[2]} |
Test-Level Metadata¶
Test-level metadata provide the information required to create a new test issue in Jira. Standard fields gathered from the metadata are:
-
Reporter (required) - Issue is created, and assigned to this user. It must be a Jira username, otherwise issue creation will fail.
-
Description (required) - Issue description.
-
Fix version(s) - A list of fix versions to assign to the new issue. Versions must be defined in Jira.
-
Component(s) - A list of components to assign to the new issue. Components must be defined in Jira.
In addition to the standard fields described above, custom fields may also be defined in the Jira Settings page. Data for these fields will be extracted using the custom field tag and set in the newly-created Jira test issue. Additionally, tags defined for the intaQt Scenario
will be used as labels for the Jira issue.
Test metadata must be defined above the Scenario
part of an intaQt Feature File. However, if multiple Scenarios are in the same Feature File, shared metadata may instead be defined above the intaQt Feature
keyword. Metadata and tags defined for the Feature
will be applied to all Scenario
s in the file.
intaQt Example
1 2 3 4 5 6 7 8 9 10 11 12 | Feature: Test containing metadata #@ Description: Aim of the TC is to configure in billing a new non default tax with value of 20% over REST #@ Reporter: Tester #@ Component/s: "BILLING CORE" "TAX" #@ Fix Version/s: v1.1 #@ Product Name: Billing-Management #@ Channel: System #@ Test Scenario: Positive @BILLING @TAX Scenario: Create billing tax not default - successful |
Step-Level Metadata¶
Step-level metadata provide the information required for creating test steps in Jira test issue:
-
Test Step - Name of the step in Jira. If not defined, the intaQt Step name, including any Step Details, is used instead. These metadata may be used if there are values in the step name that could be changed without causing the any changes in intaQt test steps.
-
Test Data - Corresponds to test data field in the Jira test step.
-
Expected Result - Corresponds to expected data field in Jira test step.
intaQt Example
1 2 3 4 | #@ Test Name: create billing tax code #@ Test Data: Request: ${REQ} #@ Expected Result: Assertions PASSED, ResponseDetails is OK, ${RESP} And create billing tax code with name "BilTaxNameintaQt" |
Steps that does not contain any metadata lines will be ignored by Jira integration.