@qase/mcp-server 2.3.1 → 2.4.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/CHANGELOG.md +38 -0
- package/build/operations-v2/composites/ci-report.js +68 -14
- package/build/operations-v2/composites/ci-report.js.map +1 -1
- package/build/operations-v2/composites/regression-run.js +8 -3
- package/build/operations-v2/composites/regression-run.js.map +1 -1
- package/build/operations-v2/composites/triage-defect.js +15 -5
- package/build/operations-v2/composites/triage-defect.js.map +1 -1
- package/build/operations-v2/escape/api.js +27 -5
- package/build/operations-v2/escape/api.js.map +1 -1
- package/build/operations-v2/index.d.ts +2 -0
- package/build/operations-v2/index.d.ts.map +1 -1
- package/build/operations-v2/index.js +2 -0
- package/build/operations-v2/index.js.map +1 -1
- package/build/operations-v2/meta/discover.js +8 -3
- package/build/operations-v2/meta/discover.js.map +1 -1
- package/build/operations-v2/qql/index.js +19 -6
- package/build/operations-v2/qql/index.js.map +1 -1
- package/build/operations-v2/read/get.js +10 -4
- package/build/operations-v2/read/get.js.map +1 -1
- package/build/operations-v2/read/project-context.js +11 -7
- package/build/operations-v2/read/project-context.js.map +1 -1
- package/build/operations-v2/write/attachments.js +17 -8
- package/build/operations-v2/write/attachments.js.map +1 -1
- package/build/operations-v2/write/cases-bulk.js +9 -5
- package/build/operations-v2/write/cases-bulk.js.map +1 -1
- package/build/operations-v2/write/cases.js +16 -6
- package/build/operations-v2/write/cases.js.map +1 -1
- package/build/operations-v2/write/custom-fields.d.ts +2 -0
- package/build/operations-v2/write/custom-fields.d.ts.map +1 -0
- package/build/operations-v2/write/custom-fields.js +226 -0
- package/build/operations-v2/write/custom-fields.js.map +1 -0
- package/build/operations-v2/write/defects.js +26 -4
- package/build/operations-v2/write/defects.js.map +1 -1
- package/build/operations-v2/write/environments.js +11 -3
- package/build/operations-v2/write/environments.js.map +1 -1
- package/build/operations-v2/write/external-issues.js +7 -5
- package/build/operations-v2/write/external-issues.js.map +1 -1
- package/build/operations-v2/write/milestones.js +10 -3
- package/build/operations-v2/write/milestones.js.map +1 -1
- package/build/operations-v2/write/plans.js +11 -3
- package/build/operations-v2/write/plans.js.map +1 -1
- package/build/operations-v2/write/projects.d.ts +2 -0
- package/build/operations-v2/write/projects.d.ts.map +1 -0
- package/build/operations-v2/write/projects.js +77 -0
- package/build/operations-v2/write/projects.js.map +1 -0
- package/build/operations-v2/write/results.js +48 -10
- package/build/operations-v2/write/results.js.map +1 -1
- package/build/operations-v2/write/reviews.js +28 -13
- package/build/operations-v2/write/reviews.js.map +1 -1
- package/build/operations-v2/write/runs.js +20 -3
- package/build/operations-v2/write/runs.js.map +1 -1
- package/build/operations-v2/write/shared-steps.js +11 -3
- package/build/operations-v2/write/shared-steps.js.map +1 -1
- package/build/operations-v2/write/suites.js +17 -5
- package/build/operations-v2/write/suites.js.map +1 -1
- package/build/server-instructions.d.ts +9 -0
- package/build/server-instructions.d.ts.map +1 -0
- package/build/server-instructions.js +21 -0
- package/build/server-instructions.js.map +1 -0
- package/build/server.d.ts.map +1 -1
- package/build/server.js +2 -0
- package/build/server.js.map +1 -1
- package/build/utils/case-enums.d.ts +6 -0
- package/build/utils/case-enums.d.ts.map +1 -1
- package/build/utils/case-enums.js +11 -3
- package/build/utils/case-enums.js.map +1 -1
- package/build/utils/registry.d.ts.map +1 -1
- package/build/utils/registry.js +11 -3
- package/build/utils/registry.js.map +1 -1
- package/build/version.d.ts +1 -1
- package/build/version.js +1 -1
- package/docs/tools.md +2 -2
- package/package.json +2 -2
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,42 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.4.1]
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **The bulk results endpoint takes 200 results per request, and nothing said so.** `qase_result_record` advertised no ceiling while its description told agents to "pass several results in one call rather than calling once per test", so a larger batch reached the API and came back as an error with no hint of what the limit was. It now states the cap, and refuses an oversized batch before anything is written. The cap is enforced rather than described: the registry turns a tool's schema into JSON Schema for the protocol but never validates a call against it, so `.max()` alone would have been advertising with nothing behind it — the handler parses its own arguments, which also means an empty results array and an unknown status are now rejected instead of being passed through to the API.
|
|
13
|
+
|
|
14
|
+
- **`qase_ci_report` splits a large batch instead of failing on it.** A finished suite of more than 200 tests is the ordinary case for this tool, and refusing it would push an agent back onto the create-run, record, complete sequence the tool exists to replace. Results are now sent in batches of 200, up to 2000 in one report — a bound on the call rather than an open-ended loop, because a call that outlives the client's timeout is the one failure that says nothing about how far the recording got. Splitting is done here and deliberately not in `qase_result_record`: a retry of a CI report builds a new run, so a half-written attempt leaves a junk run behind, while a retry against an existing run records the first batch a second time and leaves a live run with a believable but wrong pass rate. If a batch does fail part way, the error names the run that exists, how many results reached it, and how to record the rest without creating a second run.
|
|
15
|
+
|
|
16
|
+
- **`qase_ci_report` now honours its own defaults.** `complete` and `is_autotest` were declared as defaulting to true, but nothing ever applied the defaults: arguments reach a handler exactly as the client sent them. A report that omitted `complete` left the run active despite the description promising it would be completed, and one that omitted `is_autotest` created a manual run. Both now default as documented.
|
|
17
|
+
|
|
18
|
+
## [2.4.0]
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- **Projects can be created and deleted.** `qase_project_create` takes a title and a code, plus optional description, access level (`all` / `group` / `none`, with a group hash required for `group`) and settings. There is deliberately no upsert: the API has no update endpoint for a project, and an `id`-style switch would imply an edit that cannot happen. `qase_project_delete` takes a code and removes the project with every case, suite, run, result, defect and milestone in it — the most destructive call in the API, and it goes through the confirmation gate like every other deletion.
|
|
23
|
+
|
|
24
|
+
- **Custom fields have a full lifecycle.** `qase_custom_field_upsert` creates a field or, given an `id`, updates one; `qase_custom_field_delete` removes it along with the values entered for it. Reading them already worked through `qase_project_context` and `qase_get`.
|
|
25
|
+
|
|
26
|
+
The tools speak labels where the API speaks numbers: `entity` is `case` / `run` / `defect` and `type` is `number` / `string` / `text` / `selectbox` / `checkbox` / `radio` / `multiselect` / `url` / `user` / `datetime`, mapped to their codes on the way out. Nothing has to know that a selectbox is a 3. Option lists are given as plain strings and wrapped into the objects the API expects.
|
|
27
|
+
|
|
28
|
+
Updating carries over what the call did not mention. The endpoint replaces the record rather than patching it, so a rename that sent only a title used to empty `projects_codes` and unscope the field from every project it belonged to, and a select-type field rejected the update outright with nothing but `Data is invalid` to explain itself. The current placeholder, default value, flags, project scoping and options are read and sent back, option ids included — dropping those would recreate the options and orphan the values already chosen on cases.
|
|
29
|
+
|
|
30
|
+
`entity` and `type` are fixed when a field is created. The update endpoint has no field for either, so passing a different `type` to an update returns a warning saying the field kept its shape and what to do instead, rather than silently accepting a change that never happened.
|
|
31
|
+
|
|
32
|
+
- **Every tool description now says what it does, when to use something else, and what the call costs.** Descriptions averaged 202 characters against the 2000 Claude will read, twenty-one of them under 200, the shortest eighteen — and not one mentioned latency or pointed at a cheaper alternative. Agents behaved accordingly: 518K single-record calls against 242K list calls over thirteen weeks. They now average 578 characters and each ends with a measured `Cost:` line, taken from timing the tools against the live API rather than estimated. The pairs an agent gets wrong cross-reference each other in both directions, with the numbers attached: ten `qase_get` calls measured 5.3s against 1.2s for one `qql_search` returning the same ten records, and ten `qase_case_upsert` calls 5.6s against 1.2s for one `qase_case_bulk_create`. `descriptions.test.ts` holds the line: length bounds, a cost statement in every description, and the cross-references.
|
|
33
|
+
|
|
34
|
+
- **The server now ships `instructions`.** Sent once with the `initialize` response and read before any tool is chosen, they say where to start (`qase_project_context`), when to search rather than fetch (`qql_search`), that hidden tools exist and how to reach them (`qase_discover_tools`), and that batch calls beat loops. Previously the server said nothing about itself and every agent had to infer the map from tool names.
|
|
35
|
+
|
|
36
|
+
### Fixed
|
|
37
|
+
|
|
38
|
+
- **No defect could be created at all.** `qase_defect_upsert` and `qase_triage_defect` advertise severity as a label — "blocker", "major" — and forwarded it to an API that takes only the numeric ID from the workspace's `severity` system field, so every attempt came back as a bare `Data is invalid`. Cases have had label normalisation since v2; defects never got it. Both tools now map the label through the same cached system-field lookup, custom options included. Confirmed against the live API on two projects, before and after: `severity: "major"` went from a flat rejection to a created defect. The existing triage test had frozen the broken behaviour by asserting the label was forwarded verbatim; it now asserts the numeric ID.
|
|
39
|
+
|
|
40
|
+
- **`qase_discover_tools` found nothing for the most natural queries.** The search matched the whole query as one literal substring, so `delete project` returned zero results — that exact phrase appears in no tool, even though `qase_project_delete` contains both words. `create custom field` and `delete test case` were empty too. Single words worked, which is why this went unnoticed. It matters more than it looks: every `*_delete` tool and both new pairs are `discoverable`, meaning search is the only way to reach them, so a miss hides them entirely. The query is now split into words, and a tool matches when all of them appear in its name or description.
|
|
41
|
+
|
|
42
|
+
- **`qase_api` could delete without asking.** The escape hatch is annotated `destructiveHint: false` — correctly, since most calls through it read, and a `GET` must not prompt — but that also placed it outside the confirmation gate that every `*_delete` tool goes through. A `DELETE /v1/project/DEMO` therefore removed an entire project unasked, which became harder to justify now that `qase_project_delete` exists and does ask. The handler now requests confirmation itself whenever the method is `DELETE`, naming the path in the prompt. Other methods are untouched.
|
|
43
|
+
|
|
8
44
|
## [2.3.1]
|
|
9
45
|
|
|
10
46
|
### Fixed
|
|
@@ -19,6 +55,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
19
55
|
|
|
20
56
|
- **The legacy HTTP+SSE transport was dead on arrival — every client call failed.** `express.json()` consumes the request body, but `handlePostMessage()` was called without the parsed body, so the SDK tried to read a spent stream and answered `HTTP 400: stream is not readable` to every `tools/call`. Nothing behind `--transport sse` worked, confirmation included. The body is now handed over. The transport is deprecated in the MCP spec (Streamable HTTP replaced it in revision 2025-03-26) and the hosted connector does not use it, but while it ships it should not be broken. It had no test coverage at all; `sse.test.ts` now drives it over real HTTP.
|
|
21
57
|
|
|
58
|
+
- **Two tool descriptions promised behaviour the API does not have**, both found by running the tools against the live API rather than reading the code. `qase_run_complete` claimed a completed run stops accepting results — it does not; results recorded afterwards are accepted and change the run's counts, so completion is a reporting state and not a lock. `qase_suite_delete` claimed that without `delete_cases` the cases move up to the parent suite — they do not; they are deleted with the suite. The `delete_cases` parameter has no effect at all: the server sends `after_delete_case`, a field this endpoint does not accept, so the outcome is the same whether it is true, false or omitted. The endpoint's real mechanism is a destination suite to move cases into, which the tool does not expose. Both descriptions now say what actually happens, and the dead parameter says so in its own description; making it work is left for a separate change.
|
|
59
|
+
|
|
22
60
|
### Changed
|
|
23
61
|
|
|
24
62
|
- **Responses on the streamable-http transport are now SSE rather than JSON**, the default the spec assumes. Any client that ever worked already declares `Accept: application/json, text/event-stream` — the SDK rejects the request otherwise — so no supported client loses the transport.
|
|
@@ -5,6 +5,15 @@ import { toResultAsync, createToolError } from '../../utils/errors.js';
|
|
|
5
5
|
import { ProjectCodeSchema } from '../../utils/validation.js';
|
|
6
6
|
import { CiReportOutput } from '../../utils/output-schemas.js';
|
|
7
7
|
import { richResult, summaryBlock, dataBlock, markdownTable } from '../../utils/rich-response.js';
|
|
8
|
+
const CONTEXT = 'CI report';
|
|
9
|
+
/** What the bulk results endpoint accepts in one request. */
|
|
10
|
+
const RESULTS_PER_CALL = 200;
|
|
11
|
+
/**
|
|
12
|
+
* A ceiling on one tool call: ten requests, not an open-ended loop. Past this
|
|
13
|
+
* the call risks outliving the client's timeout, and a timeout is the one
|
|
14
|
+
* failure that tells the model nothing about how far the recording got.
|
|
15
|
+
*/
|
|
16
|
+
const MAX_RESULTS = 2000;
|
|
8
17
|
const CaseResultSchema = z.object({
|
|
9
18
|
case_id: z.number().int().positive(),
|
|
10
19
|
status: z.enum(['passed', 'failed', 'blocked', 'skipped', 'invalid']),
|
|
@@ -21,7 +30,12 @@ const Schema = z.object({
|
|
|
21
30
|
code: ProjectCodeSchema,
|
|
22
31
|
title: z.string().min(1).max(255).describe('Run title (e.g., "CI Build #1234")'),
|
|
23
32
|
environment_id: z.number().int().positive().optional(),
|
|
24
|
-
results: z
|
|
33
|
+
results: z
|
|
34
|
+
.array(CaseResultSchema)
|
|
35
|
+
.min(1)
|
|
36
|
+
.max(MAX_RESULTS, `One CI report covers at most ${MAX_RESULTS} results — report a larger suite as several ` +
|
|
37
|
+
'runs, or create the run with qase_run_upsert and record the results in batches.')
|
|
38
|
+
.describe(`Test results to record, 1 to ${MAX_RESULTS} per call`),
|
|
25
39
|
complete: z
|
|
26
40
|
.boolean()
|
|
27
41
|
.optional()
|
|
@@ -33,9 +47,21 @@ const Schema = z.object({
|
|
|
33
47
|
.default(true)
|
|
34
48
|
.describe('Mark as automated run (default: true)'),
|
|
35
49
|
});
|
|
36
|
-
async function handler(
|
|
50
|
+
async function handler(rawArgs) {
|
|
51
|
+
// Tool handlers get raw MCP arguments — the registry only turns the schema
|
|
52
|
+
// into JSON Schema for the protocol, so nothing has validated them and no
|
|
53
|
+
// default has been applied yet. Parsing here is what makes `complete` and
|
|
54
|
+
// `is_autotest` actually default to true, and what stops an oversized
|
|
55
|
+
// report before a run is created for it.
|
|
56
|
+
const parsed = Schema.safeParse(rawArgs);
|
|
57
|
+
if (!parsed.success) {
|
|
58
|
+
const details = parsed.error.issues
|
|
59
|
+
.map((issue) => `${issue.path.join('.') || 'arguments'}: ${issue.message}`)
|
|
60
|
+
.join('; ');
|
|
61
|
+
throw createToolError(`Invalid arguments — ${details}`, CONTEXT);
|
|
62
|
+
}
|
|
37
63
|
const client = getApiClient();
|
|
38
|
-
const { code, title, environment_id, results, complete, is_autotest } =
|
|
64
|
+
const { code, title, environment_id, results, complete, is_autotest } = parsed.data;
|
|
39
65
|
// Step 1: Create run
|
|
40
66
|
const runPayload = {
|
|
41
67
|
title,
|
|
@@ -46,14 +72,33 @@ async function handler(args) {
|
|
|
46
72
|
runPayload.environment_id = environment_id;
|
|
47
73
|
const runRes = await toResultAsync(client.runs.createRun(code, runPayload));
|
|
48
74
|
const run = runRes.match((r) => r.data.result, (e) => {
|
|
49
|
-
throw createToolError(e,
|
|
75
|
+
throw createToolError(e, `${CONTEXT}: run creation failed`);
|
|
50
76
|
});
|
|
51
77
|
const runId = run.id;
|
|
52
|
-
// Step 2:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
78
|
+
// Step 2: record the results, in batches of what the endpoint accepts. The
|
|
79
|
+
// batch is split here rather than refused because a finished suite of more
|
|
80
|
+
// than RESULTS_PER_CALL tests is the ordinary case, and refusing it would
|
|
81
|
+
// send the agent back to the three-call sequence this tool replaces.
|
|
82
|
+
const batches = [];
|
|
83
|
+
for (let i = 0; i < results.length; i += RESULTS_PER_CALL) {
|
|
84
|
+
batches.push(results.slice(i, i + RESULTS_PER_CALL));
|
|
85
|
+
}
|
|
86
|
+
let recorded = 0;
|
|
87
|
+
for (const batch of batches) {
|
|
88
|
+
const bulkRes = await toResultAsync(client.results.createResultBulk(code, runId, { results: batch }));
|
|
89
|
+
bulkRes.match(() => {
|
|
90
|
+
recorded += batch.length;
|
|
91
|
+
}, (e) => {
|
|
92
|
+
// The run already holds everything recorded so far and there is no way
|
|
93
|
+
// to unwind it, so say what landed and where. Repeating this call would
|
|
94
|
+
// build a second run rather than finishing this one.
|
|
95
|
+
throw createToolError(`${e} — recorded ${recorded} of ${results.length} results before this batch failed. ` +
|
|
96
|
+
`Run ${runId} exists and holds those ${recorded}. Record the remaining ` +
|
|
97
|
+
`${results.length - recorded} with qase_result_record into run ${runId}, ` +
|
|
98
|
+
`${RESULTS_PER_CALL} at a time; calling qase_ci_report again would create a ` +
|
|
99
|
+
'second run instead of completing this one.', `${CONTEXT}: result recording failed`);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
57
102
|
// Step 3: Complete run (optional)
|
|
58
103
|
let runStatus = 'active';
|
|
59
104
|
if (complete) {
|
|
@@ -75,7 +120,8 @@ async function handler(args) {
|
|
|
75
120
|
`- **Run ID:** ${runId}`,
|
|
76
121
|
`- **Project:** ${code}`,
|
|
77
122
|
`- **Status:** ${runStatus}`,
|
|
78
|
-
`- **Total:** ${results.length}
|
|
123
|
+
`- **Total:** ${results.length}` +
|
|
124
|
+
(batches.length > 1 ? ` (recorded in ${batches.length} requests)` : ''),
|
|
79
125
|
'',
|
|
80
126
|
markdownTable(['Passed', 'Failed', 'Blocked', 'Skipped'], [[String(passed), String(failed), String(blocked), String(skipped)]], ['r', 'r', 'r', 'r']),
|
|
81
127
|
];
|
|
@@ -86,14 +132,22 @@ async function handler(args) {
|
|
|
86
132
|
lines.push(`- Case #${r.case_id}${comment}`);
|
|
87
133
|
}
|
|
88
134
|
}
|
|
89
|
-
const structured = { run_id: runId, run_status: runStatus, results_recorded:
|
|
135
|
+
const structured = { run_id: runId, run_status: runStatus, results_recorded: recorded };
|
|
90
136
|
return richResult([summaryBlock(lines.join('\n')), dataBlock(structured)], structured);
|
|
91
137
|
}
|
|
92
138
|
toolRegistry.register({
|
|
93
139
|
name: 'qase_ci_report',
|
|
94
|
-
description: 'Report CI
|
|
95
|
-
'
|
|
96
|
-
'
|
|
140
|
+
description: 'Report a whole CI run in one call: creates the run, records every result, and completes it. ' +
|
|
141
|
+
'This is the tool for a pipeline that has just finished — it replaces qase_run_upsert, then ' +
|
|
142
|
+
'qase_result_record, then qase_run_complete, and leaves no half-open run behind if the agent ' +
|
|
143
|
+
'stops early. Each result needs a numeric `case_id` plus a status, and may carry duration, ' +
|
|
144
|
+
'comment, stacktrace and attachment hashes. Use qase_result_record instead when the run ' +
|
|
145
|
+
'already exists and results arrive in stages; use qase_run_upsert when you need the run left ' +
|
|
146
|
+
`open. A batch larger than ${RESULTS_PER_CALL} is split across requests for you, up to ` +
|
|
147
|
+
`${MAX_RESULTS} results in one report. Cost: one tool call covering three API operations, ` +
|
|
148
|
+
`plus one extra request per ${RESULTS_PER_CALL} results. A run with two results measured ` +
|
|
149
|
+
'about 0.7s, against roughly 1.5s for the same work as three separate calls, and it grows ' +
|
|
150
|
+
'with the number of results rather than with the number of round trips.',
|
|
97
151
|
schema: Schema,
|
|
98
152
|
handler,
|
|
99
153
|
annotations: CreateAnnotation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ci-report.js","sourceRoot":"","sources":["../../../src/operations-v2/composites/ci-report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElG,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACrE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAChF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtD,OAAO,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"ci-report.js","sourceRoot":"","sources":["../../../src/operations-v2/composites/ci-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,9 +70,14 @@ async function handler(args) {
|
|
|
70
70
|
}
|
|
71
71
|
toolRegistry.register({
|
|
72
72
|
name: 'qase_regression_run',
|
|
73
|
-
description: '
|
|
74
|
-
'
|
|
75
|
-
'
|
|
73
|
+
description: 'Build and start a test run from a suite, a test plan, or an explicit list of case IDs, in ' +
|
|
74
|
+
'one step. Use it to launch a regression cycle without first querying for cases and then ' +
|
|
75
|
+
'creating a run around them — give it the source and it resolves the cases itself. For a run ' +
|
|
76
|
+
'you assemble by hand, use qase_run_upsert and pass the case IDs. For a pipeline that has ' +
|
|
77
|
+
'already finished and just needs its results filed, use qase_ci_report instead: this tool ' +
|
|
78
|
+
'opens a run, it does not close one. Cost: two API calls behind one tool call — resolving the ' +
|
|
79
|
+
'source, then creating the run — roughly 1s, growing with the number of cases the source ' +
|
|
80
|
+
'resolves to.',
|
|
76
81
|
schema: Schema,
|
|
77
82
|
handler,
|
|
78
83
|
annotations: CreateAnnotation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regression-run.js","sourceRoot":"","sources":["../../../src/operations-v2/composites/regression-run.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"regression-run.js","sourceRoot":"","sources":["../../../src/operations-v2/composites/regression-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { getApiClient } from '../../client/index.js';
|
|
3
|
+
import { normalizeEnumFields } from '../../utils/case-enums.js';
|
|
3
4
|
import { toolRegistry, CreateAnnotation } from '../../utils/registry.js';
|
|
4
5
|
import { toResultAsync, createToolError } from '../../utils/errors.js';
|
|
5
6
|
import { ProjectCodeSchema } from '../../utils/validation.js';
|
|
@@ -24,7 +25,10 @@ const Schema = z.object({
|
|
|
24
25
|
});
|
|
25
26
|
async function handler(args) {
|
|
26
27
|
const client = getApiClient();
|
|
27
|
-
const { code, ...
|
|
28
|
+
const { code, ...rest } = args;
|
|
29
|
+
// Same as qase_defect_upsert: the API wants severity as a numeric ID and
|
|
30
|
+
// rejects the label with a bare "Data is invalid".
|
|
31
|
+
const defectData = await normalizeEnumFields(rest, ['severity']);
|
|
28
32
|
// Create defect
|
|
29
33
|
const defectRes = await toResultAsync(client.defects.createDefect(code, defectData));
|
|
30
34
|
const defect = defectRes.match((r) => r.data.result, (e) => {
|
|
@@ -55,10 +59,16 @@ async function handler(args) {
|
|
|
55
59
|
}
|
|
56
60
|
toolRegistry.register({
|
|
57
61
|
name: 'qase_triage_defect',
|
|
58
|
-
description: 'Create a defect from a test failure
|
|
59
|
-
'
|
|
60
|
-
'
|
|
61
|
-
'
|
|
62
|
+
description: 'Create a defect from a test failure, with the failure context written into it. Requires ' +
|
|
63
|
+
'title, actual_result and severity — the API rejects a defect missing any of the three. ' +
|
|
64
|
+
'Note: the API offers no way to attach existing runs or results to a defect. The runs and ' +
|
|
65
|
+
'results seen on a defect in the UI are populated by the test runner when it reports a ' +
|
|
66
|
+
'result as a defect, so there is nothing to pass here for that — reference the failing ' +
|
|
67
|
+
'results inside actual_result instead, and do not expect a link to appear. For a defect ' +
|
|
68
|
+
'unrelated to a test failure use qase_defect_upsert. Cost: one API call, about 0.5s. ' +
|
|
69
|
+
'Triaging a whole run means ' +
|
|
70
|
+
'one call per defect, so cluster identical failures and file one defect per distinct cause ' +
|
|
71
|
+
'rather than one per failed test.',
|
|
62
72
|
schema: Schema,
|
|
63
73
|
handler,
|
|
64
74
|
annotations: CreateAnnotation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triage-defect.js","sourceRoot":"","sources":["../../../src/operations-v2/composites/triage-defect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEnF,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC1D,kFAAkF;IAClF,qEAAqE;IACrE,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;SACjF,QAAQ,CAAC,qBAAqB,CAAC;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC5E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,WAAW,EAAE,CAAC;SACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,KAAK,UAAU,OAAO,CAAC,IAA4B;IACjD,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,EAAE,IAAI,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"triage-defect.js","sourceRoot":"","sources":["../../../src/operations-v2/composites/triage-defect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { getApiClient } from '../../client/index.js';
|
|
3
3
|
import { toolRegistry } from '../../utils/registry.js';
|
|
4
|
+
import { confirmDestructiveAction, describeRefusal } from '../../utils/server-context.js';
|
|
5
|
+
import { ToolExecutionError } from '../../utils/errors.js';
|
|
4
6
|
const Schema = z.object({
|
|
5
7
|
method: z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']).default('GET').describe('HTTP method'),
|
|
6
8
|
path: z.string().min(1).describe('API path starting with /v1/ (e.g., "/v1/project/DEMO/run")'),
|
|
@@ -10,6 +12,22 @@ const Schema = z.object({
|
|
|
10
12
|
async function handler(args) {
|
|
11
13
|
const client = getApiClient();
|
|
12
14
|
const { method, path, body, query } = args;
|
|
15
|
+
// The tool is annotated destructiveHint: false, because most calls through it
|
|
16
|
+
// read — a GET must not prompt. That leaves DELETE outside the annotation
|
|
17
|
+
// gate, and a DELETE here reaches endpoints no dedicated tool covers, up to
|
|
18
|
+
// removing a whole project. So ask on the method actually used.
|
|
19
|
+
if (method === 'DELETE') {
|
|
20
|
+
const confirmation = await confirmDestructiveAction('qase_api', { method, path });
|
|
21
|
+
if (!confirmation.allowed) {
|
|
22
|
+
const text = describeRefusal(`qase_api (DELETE ${path})`, confirmation.reason);
|
|
23
|
+
// A decline is the user's decision, so it comes back as an ordinary
|
|
24
|
+
// result; the other reasons are failures the caller has to act on, and
|
|
25
|
+
// throwing is what gets them `isError: true` from the tools/call handler.
|
|
26
|
+
if (confirmation.reason === 'declined')
|
|
27
|
+
return { cancelled: true, message: text };
|
|
28
|
+
throw new ToolExecutionError(text);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
13
31
|
return client.request(path, {
|
|
14
32
|
method,
|
|
15
33
|
data: body,
|
|
@@ -18,11 +36,15 @@ async function handler(args) {
|
|
|
18
36
|
}
|
|
19
37
|
toolRegistry.register({
|
|
20
38
|
name: 'qase_api',
|
|
21
|
-
description: '
|
|
22
|
-
'
|
|
23
|
-
'
|
|
24
|
-
'
|
|
25
|
-
'
|
|
39
|
+
description: 'Call any Qase REST endpoint directly, for the few things no dedicated tool covers. Pass the ' +
|
|
40
|
+
'HTTP method, a path starting with /v1/, and an optional body or query. See ' +
|
|
41
|
+
'developers.qase.io for the reference. Prefer a dedicated tool wherever one exists: they ' +
|
|
42
|
+
'normalize enums, validate arguments before spending a round trip, and shape the response for ' +
|
|
43
|
+
'a model. This one hands back whatever the API returns. It sends JSON only and cannot upload ' +
|
|
44
|
+
'files — multipart uploads go through qase_attachment_upload. A DELETE through this tool asks ' +
|
|
45
|
+
'for confirmation the same way the dedicated delete tools do. Cost: one API call, typically ' +
|
|
46
|
+
'0.3-1.5s depending on the endpoint. No caching, no pagination help, no retries beyond the ' +
|
|
47
|
+
'client defaults.',
|
|
26
48
|
schema: Schema,
|
|
27
49
|
handler,
|
|
28
50
|
annotations: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/operations-v2/escape/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/operations-v2/escape/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;IAChG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,4DAA4D,CAAC;IAC9F,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IAC9E,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;CACpE,CAAC,CAAC;AAEH,KAAK,UAAU,OAAO,CAAC,IAA4B;IACjD,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAE3C,8EAA8E;IAC9E,0EAA0E;IAC1E,4EAA4E;IAC5E,gEAAgE;IAChE,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,eAAe,CAAC,oBAAoB,IAAI,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;YAC/E,oEAAoE;YACpE,uEAAuE;YACvE,0EAA0E;YAC1E,IAAI,YAAY,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAClF,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;QAC1B,MAAM;QACN,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;AACL,CAAC;AAED,YAAY,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,UAAU;IAChB,WAAW,EACT,8FAA8F;QAC9F,6EAA6E;QAC7E,0FAA0F;QAC1F,+FAA+F;QAC/F,8FAA8F;QAC9F,+FAA+F;QAC/F,6FAA6F;QAC7F,4FAA4F;QAC5F,kBAAkB;IACpB,MAAM,EAAE,MAAM;IACd,OAAO;IACP,WAAW,EAAE;QACX,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;QACtB,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,IAAI;KACpB;CACF,CAAC,CAAC"}
|
|
@@ -14,6 +14,8 @@ import './write/environments.js';
|
|
|
14
14
|
import './write/attachments.js';
|
|
15
15
|
import './write/external-issues.js';
|
|
16
16
|
import './write/reviews.js';
|
|
17
|
+
import './write/projects.js';
|
|
18
|
+
import './write/custom-fields.js';
|
|
17
19
|
import './composites/ci-report.js';
|
|
18
20
|
import './composites/triage-defect.js';
|
|
19
21
|
import './composites/regression-run.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operations-v2/index.ts"],"names":[],"mappings":"AACA,OAAO,2BAA2B,CAAC;AACnC,OAAO,eAAe,CAAC;AAGvB,OAAO,gBAAgB,CAAC;AAGxB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,iBAAiB,CAAC;AACzB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,yBAAyB,CAAC;AACjC,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operations-v2/index.ts"],"names":[],"mappings":"AACA,OAAO,2BAA2B,CAAC;AACnC,OAAO,eAAe,CAAC;AAGvB,OAAO,gBAAgB,CAAC;AAGxB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,iBAAiB,CAAC;AACzB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,yBAAyB,CAAC;AACjC,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,0BAA0B,CAAC;AAGlC,OAAO,2BAA2B,CAAC;AACnC,OAAO,+BAA+B,CAAC;AACvC,OAAO,gCAAgC,CAAC;AAGxC,OAAO,oBAAoB,CAAC;AAG5B,OAAO,iBAAiB,CAAC"}
|
|
@@ -17,6 +17,8 @@ import './write/environments.js';
|
|
|
17
17
|
import './write/attachments.js';
|
|
18
18
|
import './write/external-issues.js';
|
|
19
19
|
import './write/reviews.js';
|
|
20
|
+
import './write/projects.js';
|
|
21
|
+
import './write/custom-fields.js';
|
|
20
22
|
// Composites
|
|
21
23
|
import './composites/ci-report.js';
|
|
22
24
|
import './composites/triage-defect.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operations-v2/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,2BAA2B,CAAC;AACnC,OAAO,eAAe,CAAC;AAEvB,YAAY;AACZ,OAAO,gBAAgB,CAAC;AAExB,cAAc;AACd,OAAO,kBAAkB,CAAC;AAC1B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,iBAAiB,CAAC;AACzB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,yBAAyB,CAAC;AACjC,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operations-v2/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,OAAO,2BAA2B,CAAC;AACnC,OAAO,eAAe,CAAC;AAEvB,YAAY;AACZ,OAAO,gBAAgB,CAAC;AAExB,cAAc;AACd,OAAO,kBAAkB,CAAC;AAC1B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,iBAAiB,CAAC;AACzB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,yBAAyB,CAAC;AACjC,OAAO,yBAAyB,CAAC;AACjC,OAAO,wBAAwB,CAAC;AAChC,OAAO,4BAA4B,CAAC;AACpC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,0BAA0B,CAAC;AAElC,aAAa;AACb,OAAO,2BAA2B,CAAC;AACnC,OAAO,+BAA+B,CAAC;AACvC,OAAO,gCAAgC,CAAC;AAExC,aAAa;AACb,OAAO,oBAAoB,CAAC;AAE5B,eAAe;AACf,OAAO,iBAAiB,CAAC"}
|
|
@@ -68,9 +68,14 @@ async function handler(args) {
|
|
|
68
68
|
}
|
|
69
69
|
toolRegistry.register({
|
|
70
70
|
name: 'qase_discover_tools',
|
|
71
|
-
description: '
|
|
72
|
-
'
|
|
73
|
-
'
|
|
71
|
+
description: 'Find and switch on tools that are hidden by default. Only core tools appear in the tool ' +
|
|
72
|
+
'list; deletes, shared steps and parameters, attachments, external issue links, case reviews, ' +
|
|
73
|
+
'defect triage, and project and custom-field management all exist but stay hidden until ' +
|
|
74
|
+
'discovered. Search by what you are trying to do — "delete", "milestone", "attachment", ' +
|
|
75
|
+
'"review", "custom field" — and matching tools are activated and become callable. Every word ' +
|
|
76
|
+
"in the query must appear in a tool's name or description, so prefer two or three words over " +
|
|
77
|
+
'a sentence. Never conclude a capability is missing without searching here first. Cost: no ' +
|
|
78
|
+
'API call, matching happens in memory, about 3ms. Free to call as often as needed.',
|
|
74
79
|
schema: Schema,
|
|
75
80
|
handler,
|
|
76
81
|
annotations: ReadAnnotation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/operations-v2/meta/discover.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/operations-v2/meta/discover.ts"],"names":[],"mappings":"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"}
|
|
@@ -229,7 +229,7 @@ async function getQqlHelp(args) {
|
|
|
229
229
|
'"in_progress", "invalid". A workspace can add its own statuses on top, so this list is ' +
|
|
230
230
|
'not the whole set for a given workspace — read GET /v1/system_field via qase_api and ' +
|
|
231
231
|
'take the `result_status` field for that (its options carry read_only: true for the ' +
|
|
232
|
-
|
|
232
|
+
"built-ins above, false for the workspace's own). Either the title or the slug works, " +
|
|
233
233
|
'case-insensitively: "not ready" and "not_ready" are the same value. ' +
|
|
234
234
|
'"untested" results are EXCLUDED BY DEFAULT (to preserve old query behavior). ANY ' +
|
|
235
235
|
'condition on status lifts that exclusion, but they only show up if the condition ' +
|
|
@@ -264,7 +264,16 @@ async function getQqlHelp(args) {
|
|
|
264
264
|
// ============================================================================
|
|
265
265
|
toolRegistry.register({
|
|
266
266
|
name: 'qql_search',
|
|
267
|
-
description: 'Search
|
|
267
|
+
description: 'Search any entity with Qase Query Language: filtering, cross-project queries, sorting, and ' +
|
|
268
|
+
'aggregation. This is the right tool for every question that is not "give me this one record ' +
|
|
269
|
+
'by ID" — "cases without automation", "results that failed this week", "open blockers across ' +
|
|
270
|
+
'projects" — and the right way to fetch many records at once instead of looping over ' +
|
|
271
|
+
'qase_get. Call qql_help first for the syntax, the fields available per entity, and the enum ' +
|
|
272
|
+
'values; a query naming an unknown attribute is rejected outright. Use qase_get instead when ' +
|
|
273
|
+
'you already know the entity and its ID and want just that one. Cost: one API call. 0.5-0.9s ' +
|
|
274
|
+
'for pages up to 50 records; a page of 100 measured 0.9-2.8s depending on how much each ' +
|
|
275
|
+
'record carries. Prefer one search over N single fetches: the same ten records cost 1.2s here ' +
|
|
276
|
+
'against 5.3s as ten qase_get calls.',
|
|
268
277
|
schema: QqlSearchSchema,
|
|
269
278
|
handler: qqlSearch,
|
|
270
279
|
annotations: ReadAnnotation,
|
|
@@ -272,10 +281,14 @@ toolRegistry.register({
|
|
|
272
281
|
});
|
|
273
282
|
toolRegistry.register({
|
|
274
283
|
name: 'qql_help',
|
|
275
|
-
description: '
|
|
276
|
-
'
|
|
277
|
-
'
|
|
278
|
-
'
|
|
284
|
+
description: 'Read the QQL reference before writing a query. Pass a `topic`: overview, syntax, entities, ' +
|
|
285
|
+
'operators, functions, examples, aggregation, or enumValues. `entities` lists the fields each ' +
|
|
286
|
+
'entity actually exposes, and `enumValues` gives the accepted values for status, priority, ' +
|
|
287
|
+
'severity and the rest — both matter, because QQL rejects a query naming an attribute that ' +
|
|
288
|
+
'does not exist on the entity rather than ignoring it, and the field names differ from those ' +
|
|
289
|
+
'in the write tools. Read this once per session before the first qql_search rather than ' +
|
|
290
|
+
'guessing and retrying. Cost: no API call, static text, about 2ms. Free to call, and cheaper ' +
|
|
291
|
+
'than one rejected query.',
|
|
279
292
|
schema: GetQqlHelpSchema,
|
|
280
293
|
handler: getQqlHelp,
|
|
281
294
|
annotations: ReadAnnotation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/operations-v2/qql/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/operations-v2/qql/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,10 +106,16 @@ async function handler(args) {
|
|
|
106
106
|
}
|
|
107
107
|
toolRegistry.register({
|
|
108
108
|
name: 'qase_get',
|
|
109
|
-
description: '
|
|
110
|
-
'
|
|
111
|
-
'
|
|
112
|
-
'
|
|
109
|
+
description: 'Fetch one known record by type and ID: case, suite, run, result, plan, defect, milestone, ' +
|
|
110
|
+
'environment, shared_step, shared_parameter, configuration, attachment, author, user, review, ' +
|
|
111
|
+
'or custom_field. `code` is required for project-scoped entities and can be omitted for ' +
|
|
112
|
+
'global ones (user, author, attachment, custom_field). Narrow the payload with `fields`, or ' +
|
|
113
|
+
'pass ["*"] for everything. Use this only when you already know the ID and want a single ' +
|
|
114
|
+
'record. For several records, for anything filtered or cross-project, or when you are about ' +
|
|
115
|
+
'to call this in a loop, use qql_search instead — one search returns the whole page at once. ' +
|
|
116
|
+
'Cost: one API call, 0.3-0.5s. Ten of these in sequence measured 5.3s against 1.2s for a ' +
|
|
117
|
+
'single qql_search returning the same ten records, so a loop over IDs is roughly four times ' +
|
|
118
|
+
'slower and ten times more calls.',
|
|
113
119
|
schema: Schema,
|
|
114
120
|
handler,
|
|
115
121
|
annotations: ReadAnnotation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/operations-v2/read/get.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/operations-v2/read/get.ts"],"names":[],"mappings":"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"}
|