jira-client-xray

An extended wrapper of the existing "jira-client" module, which adds support for the "Xray for Jira" Test Management plugin's REST API

Usage no npm install needed!

<script type="module">
  import jiraClientXray from 'https://cdn.skypack.dev/jira-client-xray';
</script>

README

jira-client-xray

NPM version License Build Status Dependency Status Dev Dependency Status

An extended wrapper of the existing jira-client module, which adds support for the "Xray for Jira" Test Management plugin's REST API.

Installation

$ npm install --save jira-client-xray

API

Create A Client

var JiraApiWithXray = require('jira-client-xray');

// Initialize
var jira = new JiraApiWithXray({
  strictSSL: true,
  protocol: 'https',
  username: 'username',
  password: 'password',
  host: 'jira.somehost.com',
  base: 'jira',
  xrayVersion: '1.0'
});

The constructor options parameter is a superset of the jira-client module's constructor's options parameter. It contains all of those configuration options, plus the following additional properties:

  • xrayVersion (string) - The REST API version of the "Xray for Jira" plugin. Defaults to '1.0'.

Import Test Execution Results

For deeper documentation, please view our ESDoc-generated documentation.

Response Schema

The HTTP response object (referred to as the "testExecIssueId" in all subsequent examples) returned from the Promise for each of the following import methods is as follows:

{
  "testExecIssue": {
    "id": "10000",
    "key": "DEMO-123",
    "self": "http://www.example.com/jira/rest/api/2/issue/10000"
  }
}
Jira Issue Customization Request Schema

The JSON schema for the issueData parameter that is an optional part of some of these API calls is as follows:

Jira Cloud Jira Server

Xray JSON

API Documentation Request Schema

jira
  .importExecResultsFromXray(testExecResults)
  .then(function(testExecIssueId) { /* ... */ });

Cucumber JSON

Request Schema

Results Only

API Documentation

jira
  .importExecResultsFromCucumber(testExecResults)
  .then(function(testExecIssueId) { /* ... */ });
With JIRA Issue Customization

API Documentation

jira
  .importExecResultsFromCucumber(testExecResults, issueData)
  .then(function(testExecIssueId) { /* ... */ });

Behave JSON

Request Schema

Results Only

API Documentation

jira
  .importExecResultsFromBehave(testExecResults)
  .then(function(testExecIssueId) { /* ... */ });
With JIRA Issue Customization

API Documentation

jira
  .importExecResultsFromBehave(testExecResults, issueData)
  .then(function(testExecIssueId) { /* ... */ });

JUnit XML

Request Schema

Results Only

API Documentation

jira
  .importExecResultsFromJUnit(testExecResults, query)
  .then(function(testExecIssueId) { /* ... */ });
With JIRA Issue Customization

API Documentation

jira
  .importExecResultsFromJUnit(testExecResults, null, issueData)
  .then(function(testExecIssueId) { /* ... */ });

TestNG XML

Request Schema

Results Only

API Documentation

jira
  .importExecResultsFromTestNG(testExecResults, query)
  .then(function(testExecIssueId) { /* ... */ });
With JIRA Issue Customization

API Documentation

jira
  .importExecResultsFromTestNG(testExecResults, null, issueData)
  .then(function(testExecIssueId) { /* ... */ });

NUnit XML

Request Schema v3.0 Request Schema v2.6

Results Only

API Documentation

jira
  .importExecResultsFromNUnit(testExecResults, query)
  .then(function(testExecIssueId) { /* ... */ });
With JIRA Issue Customization

API Documentation

jira
  .importExecResultsFromNUnit(testExecResults, null, issueData)
  .then(function(testExecIssueId) { /* ... */ });

Robot Framework XML

Request Schema

Results Only

API Documentation

jira
  .importExecResultsFromRobot(testExecResults, query)
  .then(function(testExecIssueId) { /* ... */ });
With JIRA Issue Customization

API Documentation

jira
  .importExecResultsFromRobot(testExecResults, null, issueData)
  .then(function(testExecIssueId) { /* ... */ });

License

Copyright (c) 2018, James M. Greene (MIT License)