zephyr-import
Version:
Parsing JSON data and import it to Zephyr as reports of autoamtion testing!
137 lines (136 loc) • 4.87 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getJiraData = getJiraData;
exports.postJiraData = postJiraData;
exports.getData = getData;
exports.putData = putData;
exports.postData = postData;
const auth = require("./jwt-auth");
const request = require("request");
// get parent dir name of node modules
const path = require("path");
const parent_dirname = path.join(__dirname, "../../..");
// get config from parent dir of node modules, so config.json should be placed there
const configZephyr = require("/" + parent_dirname + "/configZephyr.json");
const configZephyrUser = require("/" + parent_dirname + "/configZephyr.json");
async function getJiraData(urlParams, login = "pollak@bart.sk", api_token = configZephyrUser.pollak.jira_token) {
const url = "https://crossuite.atlassian.net/rest/api/3/" + urlParams;
const options = {
method: "GET",
headers: {
Authorization: `Basic ${Buffer.from(login + ":" + api_token).toString("base64")}`,
Accept: "application/json",
},
};
function requestGet() {
return new Promise((resolve) => {
request(url, options, function (error, response, body) {
resolve(response.body);
});
});
}
const res = await requestGet().then(function (result) {
return result;
});
// console.log(res)
return res;
}
async function postJiraData(urlParams, body, login = "pollak@bart.sk", api_token = configZephyrUser.pollak.jira_token) {
const url = "https://crossuite.atlassian.net/rest/api/3/" + urlParams;
const options = {
method: "POST",
headers: {
Authorization: `Basic ${Buffer.from(login + ":" + api_token).toString("base64")}`,
"Content-Type": "application/json",
},
body: JSON.stringify(body),
};
function fetchpost() {
return new Promise((resolve) => {
request(url, options, function (error, response, body) {
resolve(response.body);
});
});
}
const res = await fetchpost().then(function (result) {
return result;
});
return res;
}
async function getData(extendeApiCallUrl = "/public/rest/api/1.0/teststep/15550?projectId=10000") {
const JWT = auth.getJWT(extendeApiCallUrl);
const accessKey = configZephyrUser[configZephyr.zephyrDefaultOptions.executor].access_key;
const baseUrl = configZephyr.zephyrDefaultOptions.base_api_call;
const url = baseUrl + extendeApiCallUrl;
const options = {
method: "GET",
headers: {
Authorization: "JWT " + JWT,
zapiAccessKey: accessKey,
},
};
function requestGet() {
return new Promise((resolve) => {
request(url, options, function (error, response, body) {
resolve(response.body);
});
});
}
const res = await requestGet().then(function (result) {
return result;
});
// console.log(res)
return res;
}
async function putData(extendeApiCallUrl, bodyJSON) {
const JWT = auth.getJWT(extendeApiCallUrl, "PUT");
const accessKey = configZephyrUser[configZephyr.zephyrDefaultOptions.executor].access_key;
const baseUrl = configZephyr.zephyrDefaultOptions.base_api_call;
const url = baseUrl + extendeApiCallUrl;
const options = {
method: "PUT",
headers: {
"Content-Type": "application/json",
Authorization: "JWT " + JWT,
zapiAccessKey: accessKey,
},
body: JSON.stringify(bodyJSON),
};
async function requestPut() {
return await new Promise((resolve) => {
request(url, options, function (error, response, body) {
resolve(response.statusCode);
});
});
}
const res = await requestPut().then(function (result) {
return result;
});
return res;
}
async function postData(extendeApiCallUrl, bodyJSON) {
const JWT = auth.getJWT(extendeApiCallUrl, "POST");
const accessKey = configZephyrUser[configZephyr.zephyrDefaultOptions.executor].access_key;
const baseUrl = configZephyr.zephyrDefaultOptions.base_api_call;
const url = baseUrl + extendeApiCallUrl;
const options = {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "JWT " + JWT,
zapiAccessKey: accessKey,
},
body: JSON.stringify(bodyJSON),
};
async function fetchpost() {
return new Promise((resolve) => {
request(url, options, function (error, response, body) {
resolve(response.body);
});
});
}
const res = await fetchpost().then(function (result) {
return result;
});
return res;
}