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.
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:
Xray JSON
jira
.importExecResultsFromXray(testExecResults)
.then(function(testExecIssueId) { /* ... */ });
Cucumber JSON
Results Only
jira
.importExecResultsFromCucumber(testExecResults)
.then(function(testExecIssueId) { /* ... */ });
With JIRA Issue Customization
jira
.importExecResultsFromCucumber(testExecResults, issueData)
.then(function(testExecIssueId) { /* ... */ });
Behave JSON
Results Only
jira
.importExecResultsFromBehave(testExecResults)
.then(function(testExecIssueId) { /* ... */ });
With JIRA Issue Customization
jira
.importExecResultsFromBehave(testExecResults, issueData)
.then(function(testExecIssueId) { /* ... */ });
JUnit XML
Results Only
jira
.importExecResultsFromJUnit(testExecResults, query)
.then(function(testExecIssueId) { /* ... */ });
With JIRA Issue Customization
jira
.importExecResultsFromJUnit(testExecResults, null, issueData)
.then(function(testExecIssueId) { /* ... */ });
TestNG XML
Results Only
jira
.importExecResultsFromTestNG(testExecResults, query)
.then(function(testExecIssueId) { /* ... */ });
With JIRA Issue Customization
jira
.importExecResultsFromTestNG(testExecResults, null, issueData)
.then(function(testExecIssueId) { /* ... */ });
NUnit XML
Results Only
jira
.importExecResultsFromNUnit(testExecResults, query)
.then(function(testExecIssueId) { /* ... */ });
With JIRA Issue Customization
jira
.importExecResultsFromNUnit(testExecResults, null, issueData)
.then(function(testExecIssueId) { /* ... */ });
Robot Framework XML
Results Only
jira
.importExecResultsFromRobot(testExecResults, query)
.then(function(testExecIssueId) { /* ... */ });
With JIRA Issue Customization
jira
.importExecResultsFromRobot(testExecResults, null, issueData)
.then(function(testExecIssueId) { /* ... */ });
License
Copyright (c) 2018, James M. Greene (MIT License)