AssertThat - BDD & Cucumber for Jira provides a NPM package to enable integration with your automated test framework:

The plugin performs 2 main functions:

Download Feature files - download_features

The scenarios and feature files can be downloaded from the plugin into your automation test framework using the plugin provided. In addition to using tags to filter the scenarios for execution, the plugin provides 3 optional fields:

Upload test results (cucumber json file) into AssertThat - upload_report

The AssertThat - BDD Test Automation in Jira will parse the results of the cucumber json file and load them so that the results can be viewed in Jira alongside the user stories - Test Execution status for User Stories. The automated test results will automatically be linked to existing defects and the results loaded into the reporting tool. The failed tests can then be easily reviewed and assigned for further analysis - Automated Test Report Analysis.

Mandatory fields

The only mandatory field required is the projectId. The following parameters are also required however can be passed as environment variables - ASSERTTHAT_ACCESS_KEY and the ASSERTTHAT_SECRET_KEY or ASSERTTHAT_API_TOKEN.

The parameters are available from the AssertThat Configuration page - AssertThat Configuration.

In case of using Jira API access token more info on token generation and maintenace can be found here https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html

Usage - within a script

Installation

npm install @assertthat/assertthat-bdd --save

Using basic auth

var assertThat = require('assertthat-bdd');

assertThat.downloadFeatures({
  "projectId": PROJECT_ID,
  "accessKey": "ASSERTTHAT_ACCESS_KEY",
  "secretKey": "ASSERTTHAT_SECRET_KEY",
  "jiraServerUrl": "Jira server URL." //Omit if using Jira Cloud
}, function() {
  // some optional callback code
});
var assertThat = require('assertthat-bdd');

assertThat.uploadReports({
  "projectId": PROJECT_ID,
  "accessKey": "ASSERTTHAT_ACCESS_KEY",
  "secretKey": "ASSERTTHAT_SECRET_KEY",
  "jiraServerUrl": "Jira server URL." //Omit if using Jira Cloud
}, function() {
   // some optional callback code
});

Using Jira API access token

var assertThat = require('assertthat-bdd');

assertThat.downloadFeatures({
  "projectId": PROJECT_ID,
  "token": "ASSERTTHAT_API_TOKEN",
  "jiraServerUrl": "Jira server URL." //Omit if using Jira Cloud
}, function() {
  // some optional callback code
});
var assertThat = require('assertthat-bdd');

assertThat.uploadReports({
  "projectId": PROJECT_ID,
  "accessKey": "ASSERTTHAT_ACCESS_KEY",
  "token": "ASSERTTHAT_API_TOKEN",
  "jiraServerUrl": "Jira server URL." //Omit if using Jira Cloud
}, function() {
   // some optional callback code
});

Usage - Command line

Command line installation

npm install @assertthat/assertthat-bdd

Download feature files

 assertthat-bdd --projectId PROJECT_ID --accessKey ASSERTTHAT_ACCESS_KEY --secretKey ASSERTTHAT_SECRET_KEY -f 
 
 Available parameters:
  --projectId <ID>                      Jira project id
  --accessKey [ASSERTTHAT_ACCESS_KEY]   Access key
  --secretKey [ASSERTTHAT_SECRET_KEY]   Secret key
  --token [ASSERTTHAT_API_TOKEN]        Jira API token (Server and DC only)
  --jiraServerUrl [URL]                 Jira server URL e.g https://mycompanyjira.com
  --mode <mode>                         Features to download (default: "automated")
  --tags <tag-expression>               Cucucmber tag expression for scenarios filtering
  --outputFolder [FOLDER PATH]          Jira project id
  --jql [JQL]                           JQL filter for features
  --proxyHost [Host]                    Proxy Host
  --proxyPort [Port]                    Proxy Port

Upload test results

 assertthat-bdd --projectId PROJECT_ID --accessKey ASSERTTHAT_ACCESS_KEY --secretKey ASSERTTHAT_SECRET_KEY -r

 Available parameters:
  --projectId <ID>                      Jira project id
  --accessKey [ASSERTTHAT_ACCESS_KEY]   Access key
  --secretKey [ASSERTTHAT_SECRET_KEY]   Secret key
  --token [ASSERTTHAT_API_TOKEN]        Jira API token (Server and DC only)
  --jiraServerUrl [URL]                 Jira server URL e.g https://mycompanyjira.com
  --jsonReportFolder [FOLDER PATH]      Cucumber json files folder
  --runName [NAME]                      Test run name
  --jsonReportIncludePattern [PATTERN]  Pattern for json file names
  --metadata [FILE PATH]                Metadata json file path
  --proxyHost [Host]                    Proxy Host
  --proxyPort [Port]                    Proxy Port

Example of the file can be:

{
  "environment": "UAT-1",
  "build": "XX-1-YY"
}

Example project

Refer to example project for running using Rake assertthat-testcafe-demo