Getting Started

QMetry for Bamboo – DevOps / CD is a free add-on. Once you are done with its installation, follow these steps to set up a simple build Plan.

Build Plan


1. Launch Bamboo in a web browser.

2. Let's Create a simple plan. Open Create drop-down menu and select Create a new Plan. If you are using Bamboo for the first time, just click on the Create your first build plan button.


3. The Configure plan page opens. Provide Project name, Plan name and other details related to the plan. You can even link a code repository with the plan.

4. Finally, click on the Configure plan button.



5. The next screen of Configure tasks opens.

Note: Bamboo follows a hierarchical order: Plan > Stage > Job > Task.

This task remains under default Job and the default Job remains under default Stage.

Set up repository for the newly created test plan. Add “Source Code Checkout” task that uses the repository you created earlier.

 

 6. Add a Builder Task type. Maven 3.x task is added here.

Click on the Add task button to add more tasks to the plan.

 

7. Click on the Add task button to add more tasks to the plan.

8. The Task types wizard opens next. Select task “QMetry for Bamboo – DevOps / CD” from the “All” tab.

 

9. Configure the QMetry for Bamboo – DevOps / CD task. Now QMetry for Jira Cloud also supported along with QMetry for Jira Server.


Jira Cloud



Parameter

Required

Description

Automation Api Key

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.

Test Run NameNoName of the test run to be created. It will be appended with the Jenkins build Number.
Test Run KeyNoExisting Issue Key of Test Run. Test run will be appended with the test case and executions.

Result File path/Result Directory

Yes

Path to your result file to be uploaded.

Example : The Bamboo plugin is expecting the file in BambooHome/xml-data/build-dir/<Project Name>
If your project name is TestNGProject, then you will find a folder name with TestNGProject "Key Name" in bamboo home BambooHome/xml-data/build-dir/<Project Name>
Your result file should be under BambooHome/xml-data/build-dir/<Project Name> 
The path that should be set in plugin configuration is "/Testng-result.xml"

FormatYes

Format of result file to be imported. Supported formats:

cucumber/json testng/xml junit/xml qas/json hpuft/xml specflow/json

Test Asset HierarchyYes

Level of Hierarchy : Test Scenario-Test Case Or Test Case-Test Step

testCaseUpdateLevelNoTest Case update level while reusing test case, starts from 0 to 2. (This is only applicable when you use TestCase-TestStep Hierarchy option)

0 Append test steps while reusing Test Case.
1 Override test steps while reusing Test Case.
2 No change in test steps while reusing Test Case.
Default :- No change in test steps while reusing Test Case.

attachFileNoCheck for upload attachments in execution. Default value: false.

Platform

No

Name of Platform on which test run to be executed.

Labels

No

Comma separated names of Labels to be added to the test run.

Versions

No

Comma separated names of versions to be added to the test run.

Components

No

Comma separated names of Components to be added to the test run.

Sprint

No

Name of Sprint to be added to the test run.

Comment

No

Comment to be added to the test run.

JIRAFields

NoCheck specific Automation custom fields possible value and format here.



Jira Server



Parameter

Type

Required

Description

QMetry Automation API URL

String

Yes

Enter JIRA URL

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.

Jira Username

string

Yes

JIRA Username

Jira Password

string

Yes

Password for JIRA instance.

Format

selection

Yes

Format of result file to be imported. Supported formats:

cucumber/json testng/xml junit/xml qas/json hpuft/xml specflow/json

Result File path/Result Directory

string

Yes

Path to your result file to be uploaded.

Example : The Bamboo plugin is expecting the file in BambooHome/xml-data/build-dir/<Project Name>
If your project name is TestNGProject, then you will find a folder name with TestNGProject "Key Name" in bamboo home BambooHome/xml-data/build-dir/<Project Name>
Your result file should be under BambooHome/xml-data/build-dir/<Project Name> 
The path that should be set in plugin configuration is "/Testng-result.xml"

Test Run Name

string

No

Name of the test run to be created. It will be appended with the Jenkins build Number.

Test Run Key

string

No

Existing Issue Key of Test Run. Test run will be appended with the test case and executions.

Test Asset Hierarchyselection

Level of Hierarchy : Test Scenario-Test Case Or Test Case-Test Step

testCaseUpdateLevel
No

Test Case update level while reusing test case, starts from 0 to 2. (This is only applicable when you use TestCase-TestStep Hierarchy option)

0 Append test steps while reusing Test Case.
1 Override test steps while reusing Test Case.
2 No change in test steps while reusing Test Case.
Default :- No change in test steps while reusing Test Case.

attachFileselectionNoCheck for upload attachments in execution. Default value: false.

Platform

string

No

Name of Platform on which test run to be executed.

Labels

string

No

Comma separated names of Labels to be added to the test run.

Versions

string

No

Comma separated names of versions to be added to the test run.

Components

string

No

Comma separated names of Components to be added to the test run.

Sprint

string

No

Name of Sprint to be added to the test run.

Comment

string

No

Comment to be added to the test run.

JIRAFields

JSONNoCheck specific Automation custom fields possible value and format here.

     

10. Open the Run drop-down menu at top right and select the Run plan option.

11. You can see the success message in the logs for the job.



12. Now open your JIRA Issue page. The report is displayed for the run.


Configure Specflow


1. Source Code Checkout
Checkout the code from repository.


2. Script
Add script in Script body field to update packages for msbuild using NuGet.exe file from checkout repository.



3. Configure MS Build Executable

Click on Add new executable.

Set path for executable.



4. MS Build Configuration
Project File: Give path to the Solution. Project File or MSBuild project will be executed when this Job runs.



5. VS Test Executable

Click on Add new executable.

Add executable for vstest.



6. VS Test Configuration
Tests File Path: The relative path to your .dll/.exe/.appx/.pyproj/.ps1/etc... that your Test Adapter will discover and execute tests from.



Jira Fields

i) How to get Custom Field ID?

Rest call to JIRA to get all JIRA fields.

The following URL gives all custom fields get ID for selected custom fields that you want to apply.

<Jira_Base_URL>/rest/api/2/field 


ii) Base format for custom fields.

[
  {
    "testRun": [
      {
      }
    ]
  },
  {
    "testScenario": [
      {
      }
    ]
  },
  {
    "testCase": [
      {
      }
    ]
  }
]


iii) Standard Custom Field Types

The following types are for reference only, other types of Custom Field Types are also supported.


Custom Field TypeValidation RuleExample
CheckboxesThe checkbox accepts comma separated multiple values{
  "customfield_10200": [
    {
      "value": "true"
    },
    {
      "value": "false"
    }
  ]
}
Date PickerThe Date picker accepts only specified format Date{
  "customfield_10202":"2017-09-06"
}
Date Time PickerThe Date time picker accepts only specified format Date and time{
  "customfield_10203": "2013-03-01T00:00:00.000+0400"
}
Number FieldThe Number field accepts any number with decimal{
  "customfield_10205": 2876784
}
Radio ButtonsThe radio button accepts single value from JIRA fields{
  "customfield_10206": {
    "value": "option1"
  }
}
Select List (multiple choices)The Select List Multiple accepts comma separated multiple values{
  "customfield_10208": [
    {
      "value": "Select List Multiple 1"
    },
    {
      "value": "Select List Multiple 2"
    }
  ]
}
Select List (single choice)The radio button accepts single value from JIRA fields{
  "customfield_10209": {
    "value": "Select List single 1"
  }
}
Text Field (multi-line)It accepts text in multiple lines{
  "customfield_10210": "this is sample.\nexample"
}
Text Field (single line)It accepts text in single line{
  "customfield_10211": "this is sample.example"
}
URL FieldIt accepts Web URL{
  "customfield_10212": "http://www.url-encode-decode.com/"
}
User Picker (single user)The User field accepts only available JIRA users{
  "customfield_10213": {
    "name": "admin"
  }
}


iv) JSON Example

If you want to set 2 custom fields (checkbox, single text) on test run issue type and one custom fields (Radio Button) on scenario and test case level.

"JIRAFields":
[
  {
    "testRun": [
      {
        "customfield_10200": [
          {
            "value": "true"
          },
          {
            "value": "false"
          }
        ]
      },
      {
        "customfield_10211": "this is sample.example"
      }
    ]
  },
  {
    "testScenario": [
      {
        "customfield_10206": {
          "value": "option1"
        }
      }
    ]
  },
  {
    "testCase": [
      {
        "customfield_10206": {
          "value": "option1"
        }
      }
    ]
  }
]