@smartbear/mcp 0.12.0 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -6
- package/dist/bugsnag/client/api/CurrentUser.js +50 -26
- package/dist/bugsnag/client/api/Error.js +158 -57
- package/dist/bugsnag/client/api/Project.js +398 -243
- package/dist/bugsnag/client/api/api.js +4087 -3837
- package/dist/bugsnag/client/api/base.js +155 -173
- package/dist/bugsnag/client/api/configuration.js +28 -25
- package/dist/bugsnag/client/filters.js +11 -20
- package/dist/bugsnag/client.js +1398 -1277
- package/dist/bugsnag/input-schemas.js +39 -57
- package/dist/collaborator/client.js +335 -371
- package/dist/common/bugsnag.js +5 -3
- package/dist/common/cache.js +50 -57
- package/dist/common/client-registry.js +106 -119
- package/dist/common/info.js +7 -3
- package/dist/common/register-clients.js +0 -16
- package/dist/common/server.js +270 -228
- package/dist/common/tools.js +19 -0
- package/dist/common/transport-http.js +252 -343
- package/dist/common/transport-stdio.js +40 -37
- package/dist/common/zod-utils.js +20 -0
- package/dist/index.js +18 -23
- package/dist/package.json.js +11 -0
- package/dist/pactflow/client/ai.js +142 -169
- package/dist/pactflow/client/base.js +41 -51
- package/dist/pactflow/client/prompt-utils.js +93 -84
- package/dist/pactflow/client/prompts.js +95 -92
- package/dist/pactflow/client/tools.js +94 -83
- package/dist/pactflow/client/utils.js +60 -64
- package/dist/pactflow/client.js +399 -320
- package/dist/qmetry/client/api/client-api.js +43 -41
- package/dist/qmetry/client/api/error-handler.js +264 -310
- package/dist/qmetry/client/auto-resolve.js +78 -99
- package/dist/qmetry/client/automation.js +139 -162
- package/dist/qmetry/client/handlers.js +49 -46
- package/dist/qmetry/client/issues.js +133 -115
- package/dist/qmetry/client/project.js +153 -174
- package/dist/qmetry/client/requirement.js +82 -70
- package/dist/qmetry/client/testcase.js +240 -208
- package/dist/qmetry/client/testsuite.js +332 -293
- package/dist/qmetry/client/tools/automation-tools.js +291 -288
- package/dist/qmetry/client/tools/index.js +16 -13
- package/dist/qmetry/client/tools/issue-tools.js +534 -543
- package/dist/qmetry/client/tools/project-tools.js +635 -656
- package/dist/qmetry/client/tools/requirement-tools.js +525 -528
- package/dist/qmetry/client/tools/testcase-tools.js +773 -786
- package/dist/qmetry/client/tools/testsuite-tools.js +1069 -1083
- package/dist/qmetry/client/utils.js +8 -14
- package/dist/qmetry/client.js +111 -109
- package/dist/qmetry/config/constants.js +48 -44
- package/dist/qmetry/config/rest-endpoints.js +51 -48
- package/dist/qmetry/types/automation.js +7 -7
- package/dist/qmetry/types/common.js +763 -1049
- package/dist/qmetry/types/issues.js +26 -19
- package/dist/qmetry/types/project.js +32 -25
- package/dist/qmetry/types/requirements.js +26 -21
- package/dist/qmetry/types/testcase.js +55 -44
- package/dist/qmetry/types/testsuite.js +66 -52
- package/dist/reflect/client.js +284 -226
- package/dist/swagger/client/api.js +645 -662
- package/dist/swagger/client/configuration.js +31 -33
- package/dist/swagger/client/portal-types.js +204 -244
- package/dist/swagger/client/registry-types.js +62 -96
- package/dist/swagger/client/tools.js +148 -158
- package/dist/swagger/client/user-management-types.js +11 -22
- package/dist/swagger/client.js +143 -135
- package/dist/swagger/config-utils.js +10 -16
- package/dist/zephyr/client.js +43 -42
- package/dist/zephyr/common/api-client.js +35 -30
- package/dist/zephyr/common/auth-service.js +16 -13
- package/dist/zephyr/common/rest-api-schemas.js +3173 -5146
- package/dist/zephyr/tool/environment/get-environments.js +66 -66
- package/dist/zephyr/tool/priority/get-priorities.js +41 -41
- package/dist/zephyr/tool/project/get-project.js +37 -37
- package/dist/zephyr/tool/project/get-projects.js +46 -46
- package/dist/zephyr/tool/status/get-statuses.js +47 -47
- package/dist/zephyr/tool/test-case/get-test-case.js +37 -37
- package/dist/zephyr/tool/test-case/get-test-cases.js +62 -62
- package/dist/zephyr/tool/test-cycle/get-test-cycle.js +37 -37
- package/dist/zephyr/tool/test-cycle/get-test-cycles.js +70 -70
- package/dist/zephyr/tool/test-execution/get-test-execution.js +37 -37
- package/dist/zephyr/tool/test-execution/get-test-executions.js +43 -43
- package/package.json +5 -5
- package/dist/bugsnag/client/api/index.js +0 -6
- package/dist/common/types.js +0 -6
- package/dist/qmetry/client/tools/types.js +0 -1
- package/dist/swagger/client/index.js +0 -6
- package/dist/tests/unit/bugsnag/utils/factories.js +0 -86
- package/dist/zephyr/tool/zephyr-tool.js +0 -1
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
import { QMETRY_DEFAULTS } from "../config/constants.js";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* @param baseUrl - Optional base URL, defaults to QMETRY_DEFAULTS.BASE_URL
|
|
8
|
-
* @param project - Optional project key, defaults to QMETRY_DEFAULTS.PROJECT_KEY
|
|
9
|
-
* @returns Object with resolved baseUrl and project values
|
|
10
|
-
*/
|
|
11
|
-
export function resolveDefaults(baseUrl, project) {
|
|
12
|
-
return {
|
|
13
|
-
resolvedBaseUrl: baseUrl || QMETRY_DEFAULTS.BASE_URL,
|
|
14
|
-
resolvedProject: project || QMETRY_DEFAULTS.PROJECT_KEY,
|
|
15
|
-
};
|
|
2
|
+
function resolveDefaults(baseUrl, project) {
|
|
3
|
+
return {
|
|
4
|
+
resolvedBaseUrl: baseUrl || QMETRY_DEFAULTS.BASE_URL,
|
|
5
|
+
resolvedProject: project || QMETRY_DEFAULTS.PROJECT_KEY
|
|
6
|
+
};
|
|
16
7
|
}
|
|
8
|
+
export {
|
|
9
|
+
resolveDefaults
|
|
10
|
+
};
|
package/dist/qmetry/client.js
CHANGED
|
@@ -1,120 +1,122 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import zod__default from "zod";
|
|
2
|
+
import { findAutoResolveConfig, autoResolveViewIdAndFolderPath } from "./client/auto-resolve.js";
|
|
3
3
|
import { QMETRY_HANDLER_MAP } from "./client/handlers.js";
|
|
4
4
|
import { getProjectInfo } from "./client/project.js";
|
|
5
5
|
import { TOOLS } from "./client/tools/index.js";
|
|
6
6
|
import { QMETRY_DEFAULTS } from "./config/constants.js";
|
|
7
|
-
const ConfigurationSchema =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
.optional()
|
|
13
|
-
.describe("Optional QMetry base URL for custom or region-specific endpoints"),
|
|
7
|
+
const ConfigurationSchema = zod__default.object({
|
|
8
|
+
api_key: zod__default.string().describe("QMetry API key for authentication"),
|
|
9
|
+
base_url: zod__default.string().url().optional().describe(
|
|
10
|
+
"Optional QMetry base URL for custom or region-specific endpoints"
|
|
11
|
+
)
|
|
14
12
|
});
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
return true;
|
|
13
|
+
class QmetryClient {
|
|
14
|
+
name = "QMetry";
|
|
15
|
+
toolPrefix = "qmetry";
|
|
16
|
+
configPrefix = "Qmetry";
|
|
17
|
+
config = ConfigurationSchema;
|
|
18
|
+
token;
|
|
19
|
+
projectApiKey = QMETRY_DEFAULTS.PROJECT_KEY;
|
|
20
|
+
endpoint = QMETRY_DEFAULTS.BASE_URL;
|
|
21
|
+
async configure(_server, config, _cache) {
|
|
22
|
+
this.token = config.api_key;
|
|
23
|
+
if (config.base_url) {
|
|
24
|
+
this.endpoint = config.base_url;
|
|
29
25
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
};
|
|
26
|
+
}
|
|
27
|
+
isConfigured() {
|
|
28
|
+
return this.token !== void 0;
|
|
29
|
+
}
|
|
30
|
+
getToken() {
|
|
31
|
+
if (!this.token) throw new Error("Client not configured");
|
|
32
|
+
return this.token;
|
|
33
|
+
}
|
|
34
|
+
getBaseUrl() {
|
|
35
|
+
return this.endpoint;
|
|
36
|
+
}
|
|
37
|
+
async registerTools(register, _getInput) {
|
|
38
|
+
const resolveContext = (args) => ({
|
|
39
|
+
baseUrl: args.baseUrl ?? this.endpoint,
|
|
40
|
+
projectKey: args.projectKey ?? this.projectApiKey
|
|
41
|
+
});
|
|
42
|
+
const handleAsync = async (fn) => {
|
|
43
|
+
try {
|
|
44
|
+
return await fn();
|
|
45
|
+
} catch (err) {
|
|
46
|
+
return {
|
|
47
|
+
content: [
|
|
48
|
+
{
|
|
49
|
+
success: false,
|
|
50
|
+
type: "text",
|
|
51
|
+
text: `Error: ${err instanceof Error ? err.message : String(err)}`
|
|
57
52
|
}
|
|
53
|
+
]
|
|
58
54
|
};
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
for (const tool of TOOLS) {
|
|
58
|
+
const handlerFn = QMETRY_HANDLER_MAP[tool.handler];
|
|
59
|
+
if (!handlerFn) {
|
|
60
|
+
console.error(`⚠️ No handler mapped for ${tool.title}`);
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
register(
|
|
64
|
+
tool,
|
|
65
|
+
(args) => handleAsync(async () => {
|
|
66
|
+
const a = args;
|
|
67
|
+
const { baseUrl, projectKey } = resolveContext(a);
|
|
68
|
+
const autoResolveConfig = findAutoResolveConfig(tool.handler);
|
|
69
|
+
if (autoResolveConfig) {
|
|
70
|
+
const needsViewIdResolve = !a.viewId && autoResolveConfig.viewIdPath;
|
|
71
|
+
const needsFolderPathResolve = a.folderPath === void 0;
|
|
72
|
+
const needsFolderIdResolve = autoResolveConfig.folderIdField && !a[autoResolveConfig.folderIdField];
|
|
73
|
+
const needsTcFolderIdAutoResolve = autoResolveConfig.folderIdField === "tcFolderID" && !a.tcFolderID;
|
|
74
|
+
const needsParentFolderIdAutoResolve = autoResolveConfig.folderIdField === "parentFolderId" && !a.parentFolderId;
|
|
75
|
+
if (needsViewIdResolve || needsFolderPathResolve || needsFolderIdResolve || needsTcFolderIdAutoResolve || needsParentFolderIdAutoResolve) {
|
|
76
|
+
let projectInfo;
|
|
77
|
+
try {
|
|
78
|
+
projectInfo = await getProjectInfo(
|
|
79
|
+
this.getToken(),
|
|
80
|
+
baseUrl,
|
|
81
|
+
projectKey
|
|
82
|
+
);
|
|
83
|
+
} catch (err) {
|
|
84
|
+
throw new Error(
|
|
85
|
+
`Failed to auto-resolve viewId/folderPath/folderID for ${autoResolveConfig.moduleName} in project ${projectKey}. Please provide them manually or check project access. Error: ${err instanceof Error ? err.message : String(err)}`
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
Object.assign(
|
|
89
|
+
a,
|
|
90
|
+
autoResolveViewIdAndFolderPath(
|
|
91
|
+
a,
|
|
92
|
+
projectInfo,
|
|
93
|
+
autoResolveConfig
|
|
94
|
+
)
|
|
95
|
+
);
|
|
64
96
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
needsParentFolderIdAutoResolve) {
|
|
86
|
-
let projectInfo;
|
|
87
|
-
try {
|
|
88
|
-
projectInfo = (await getProjectInfo(this.getToken(), baseUrl, projectKey));
|
|
89
|
-
}
|
|
90
|
-
catch (err) {
|
|
91
|
-
throw new Error(`Failed to auto-resolve viewId/folderPath/folderID for ${autoResolveConfig.moduleName} in project ${projectKey}. ` +
|
|
92
|
-
`Please provide them manually or check project access. ` +
|
|
93
|
-
`Error: ${err instanceof Error ? err.message : String(err)}`);
|
|
94
|
-
}
|
|
95
|
-
// Apply auto-resolution using the dynamic configuration
|
|
96
|
-
Object.assign(a, autoResolveViewIdAndFolderPath(a, projectInfo, autoResolveConfig));
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
// Extract projectKey and baseUrl from arguments to prevent them from being sent in request body
|
|
100
|
-
const { projectKey: _, baseUrl: __, ...cleanArgs } = a;
|
|
101
|
-
const result = await handlerFn(this.getToken(), baseUrl, projectKey, cleanArgs);
|
|
102
|
-
// Use custom formatter if available, otherwise return JSON
|
|
103
|
-
const formatted = tool.formatResponse
|
|
104
|
-
? tool.formatResponse(result)
|
|
105
|
-
: (result ?? {});
|
|
106
|
-
return {
|
|
107
|
-
content: [
|
|
108
|
-
{
|
|
109
|
-
success: true,
|
|
110
|
-
type: "text",
|
|
111
|
-
text: typeof formatted === "string"
|
|
112
|
-
? formatted
|
|
113
|
-
: JSON.stringify(formatted, null, 2),
|
|
114
|
-
},
|
|
115
|
-
],
|
|
116
|
-
};
|
|
117
|
-
}));
|
|
118
|
-
}
|
|
97
|
+
}
|
|
98
|
+
const { projectKey: _, baseUrl: __, ...cleanArgs } = a;
|
|
99
|
+
const result = await handlerFn(
|
|
100
|
+
this.getToken(),
|
|
101
|
+
baseUrl,
|
|
102
|
+
projectKey,
|
|
103
|
+
cleanArgs
|
|
104
|
+
);
|
|
105
|
+
const formatted = tool.formatResponse ? tool.formatResponse(result) : result ?? {};
|
|
106
|
+
return {
|
|
107
|
+
content: [
|
|
108
|
+
{
|
|
109
|
+
success: true,
|
|
110
|
+
type: "text",
|
|
111
|
+
text: typeof formatted === "string" ? formatted : JSON.stringify(formatted, null, 2)
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
};
|
|
115
|
+
})
|
|
116
|
+
);
|
|
119
117
|
}
|
|
118
|
+
}
|
|
120
119
|
}
|
|
120
|
+
export {
|
|
121
|
+
QmetryClient
|
|
122
|
+
};
|
|
@@ -1,46 +1,50 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
const QMETRY_DEFAULTS = {
|
|
2
|
+
BASE_URL: "https://testmanagement.qmetry.com",
|
|
3
|
+
PROJECT_KEY: "default"
|
|
4
4
|
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
5
|
+
const QMetryToolsHandlers = {
|
|
6
|
+
FETCH_PROJECTS: "getProjects",
|
|
7
|
+
SET_PROJECT_INFO: "setProjectInfo",
|
|
8
|
+
FETCH_PROJECT_INFO: "getProjectInfo",
|
|
9
|
+
FETCH_RELEASES_CYCLES: "getReleasesCycles",
|
|
10
|
+
FETCH_BUILDS: "getBuilds",
|
|
11
|
+
FETCH_PLATFORMS: "getPlatforms",
|
|
12
|
+
CREATE_TEST_CASE: "createTestCases",
|
|
13
|
+
UPDATE_TEST_CASE: "updateTestCase",
|
|
14
|
+
FETCH_TEST_CASES: "getTestCases",
|
|
15
|
+
FETCH_TEST_CASE_DETAILS: "getTestCaseDetails",
|
|
16
|
+
FETCH_TEST_CASE_VERSION_DETAILS: "getTestCaseVersionDetails",
|
|
17
|
+
FETCH_TEST_CASE_STEPS: "getTestCaseSteps",
|
|
18
|
+
FETCH_TEST_CASE_EXECUTIONS: "getTestCaseExecutions",
|
|
19
|
+
LINK_REQUIREMENT_TO_TESTCASE: "linkRequirementToTestCase",
|
|
20
|
+
FETCH_REQUIREMENTS: "getRequirements",
|
|
21
|
+
FETCH_REQUIREMENT_DETAILS: "getRequirementDetails",
|
|
22
|
+
FETCH_TESTCASES_LINKED_TO_REQUIREMENT: "getTestCasesLinkedToRequirement",
|
|
23
|
+
FETCH_REQUIREMENTS_LINKED_TO_TESTCASE: "getRequirementsLinkedToTestCase",
|
|
24
|
+
CREATE_TEST_SUITE: "createTestSuite",
|
|
25
|
+
UPDATE_TEST_SUITE: "updateTestSuite",
|
|
26
|
+
FETCH_TEST_SUITES: "getTestSuites",
|
|
27
|
+
FETCH_TESTSUITES_FOR_TESTCASE: "getTestSuitesForTestCase",
|
|
28
|
+
FETCH_TESTCASES_BY_TESTSUITE: "getTestCasesByTestSuite",
|
|
29
|
+
FETCH_EXECUTIONS_BY_TESTSUITE: "getExecutionsByTestSuite",
|
|
30
|
+
BULK_UPDATE_EXECUTION_STATUS: "bulkUpdateExecutionStatus",
|
|
31
|
+
FETCH_TESTCASE_RUNS_BY_TESTSUITE_RUN: "getTestCaseRunsByTestSuiteRun",
|
|
32
|
+
FETCH_LINKED_ISSUES_BY_TESTCASE_RUN: "getLinkedIssuesByTestCaseRun",
|
|
33
|
+
FETCH_ISSUES_LINKED_TO_TESTCASE: "getIssuesLinkedToTestCase",
|
|
34
|
+
LINK_TESTCASES_TO_TESTSUITE: "linkTestCasesToTestSuite",
|
|
35
|
+
REQUIREMENTS_LINKED_TESTCASES_TO_TESTSUITE: "reqLinkedTestCasesToTestSuite",
|
|
36
|
+
CREATE_ISSUE: "createIssue",
|
|
37
|
+
UPDATE_ISSUE: "updateIssue",
|
|
38
|
+
FETCH_ISSUES: "getIssues",
|
|
39
|
+
LINK_ISSUES_TO_TESTCASE_RUN: "linkIssuesToTestcaseRun",
|
|
40
|
+
LINK_PLATFORMS_TO_TESTSUITE: "linkPlatformsToTestSuite",
|
|
41
|
+
IMPORT_AUTOMATION_RESULTS: "importAutomationResults",
|
|
42
|
+
FETCH_AUTOMATION_STATUS: "fetchAutomationStatus",
|
|
43
|
+
CREATE_RELEASE: "createRelease",
|
|
44
|
+
CREATE_CYCLE: "createCycle",
|
|
45
|
+
UPDATE_CYCLE: "updateCycle"
|
|
46
|
+
};
|
|
47
|
+
export {
|
|
48
|
+
QMETRY_DEFAULTS,
|
|
49
|
+
QMetryToolsHandlers
|
|
46
50
|
};
|
|
@@ -1,49 +1,52 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
1
|
+
const QMETRY_PATHS = {
|
|
2
|
+
PROJECT: {
|
|
3
|
+
GET_PROJECTS: "/rest/admin/project/list",
|
|
4
|
+
GET_INFO: "/rest/admin/project/getinfo",
|
|
5
|
+
GET_RELEASES_CYCLES: "/rest/admin/scope/tree",
|
|
6
|
+
GET_BUILD: "/rest/admin/drop/list",
|
|
7
|
+
GET_PLATFORMS: "/rest/admin/platform/list",
|
|
8
|
+
CREATE_RELEASE: "/rest/admin/release",
|
|
9
|
+
CREATE_CYCLE: "/rest/admin/cycle",
|
|
10
|
+
UPDATE_CYCLE: "/rest/admin/cycle"
|
|
11
|
+
},
|
|
12
|
+
TESTCASE: {
|
|
13
|
+
GET_TC_LIST: "/rest/testcases/list/viewColumns",
|
|
14
|
+
GET_TC_DETAILS: "/rest/testcases/getVersionDetail",
|
|
15
|
+
GET_TC_DETAILS_BY_VERSION: "/rest/testcases/list",
|
|
16
|
+
GET_TC_STEPS: "/rest/testcases/steps/list",
|
|
17
|
+
GET_TC_EXECUTIONS: "/rest/testcases/execution",
|
|
18
|
+
GET_TC_LINKED_TO_RQ: "/rest/testcases/list/forRQ",
|
|
19
|
+
CREATE_UPDATE_TC: "/rest/testcases",
|
|
20
|
+
LINKED_RQ_TO_TC: "/rest/testcases/link/requirements"
|
|
21
|
+
},
|
|
22
|
+
REQUIREMENT: {
|
|
23
|
+
GET_RQ_LIST: "/rest/requirements/list/viewColumns",
|
|
24
|
+
GET_RQ_DETAILS: "/rest/requirements/detail/data",
|
|
25
|
+
GET_RQ_LINKED_TO_TC: "/rest/requirements/list/forTC"
|
|
26
|
+
},
|
|
27
|
+
TESTSUITE: {
|
|
28
|
+
CREATE_UPDATE_TS: "/rest/testsuites",
|
|
29
|
+
GET_TS_LIST_FOR_TC: "/rest/testsuites/list/forTC",
|
|
30
|
+
GET_TS_LIST: "/rest/testsuites/list/viewColumns",
|
|
31
|
+
GET_TESTCASES_BY_TESTSUITE: "/rest/testcases/list/forTS",
|
|
32
|
+
LINKED_TESTCASES_TO_TESTSUITE: "/rest/testsuites/dolink/TCs",
|
|
33
|
+
GET_EXECUTIONS_BY_TESTSUITE: "/rest/execution/list/platformHome",
|
|
34
|
+
GET_TESTCASE_RUNS_BY_TESTSUITE_RUN: "/rest/execution/list/viewColumns",
|
|
35
|
+
GET_LINKED_ISSUES_BY_TESTCASE_RUN: "/rest/execution/issue/list/forTCRun",
|
|
36
|
+
LINK_PLATFORMS_TO_TESTSUITE: "/rest/testsuites/link/platforms",
|
|
37
|
+
BULK_UPDATE_EXECUTION_STATUS: "/rest/execution/runstatus/bulkupdate"
|
|
38
|
+
},
|
|
39
|
+
ISSUES: {
|
|
40
|
+
GET_ISSUES_LIST: "/rest/issues/list/viewColumns",
|
|
41
|
+
CREATE_UPDATE_ISSUE: "/rest/issues",
|
|
42
|
+
GET_ISSUES_LINKED_TO_TC: "/rest/issues/list/ForTC",
|
|
43
|
+
LINK_ISSUES_TO_TESTCASE_RUN: "/rest/execution/link/issue"
|
|
44
|
+
},
|
|
45
|
+
AUTOMATION: {
|
|
46
|
+
IMPORT_RESULTS: "/rest/import/createandscheduletestresults/1",
|
|
47
|
+
GET_STATUS: "/rest/admin/status/automation/:requestID"
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
export {
|
|
51
|
+
QMETRY_PATHS
|
|
49
52
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
const DEFAULT_IMPORT_AUTOMATION_PAYLOAD = {
|
|
2
|
+
automationHierarchy: "1",
|
|
3
|
+
skipWarning: "0",
|
|
4
|
+
is_matching_required: "true"
|
|
5
|
+
};
|
|
6
|
+
export {
|
|
7
|
+
DEFAULT_IMPORT_AUTOMATION_PAYLOAD
|
|
8
8
|
};
|