testeiya 0.6.0 → 0.8.0
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/PIPELINES.md +332 -0
- package/README.md +114 -1
- package/dist/prompt/testomat.io.js +2 -2
- package/dist/prompt/testomat.io.js.map +1 -1
- package/dist/src/args.js +104 -1
- package/dist/src/args.js.map +1 -1
- package/dist/src/checkpoint.js +0 -21
- package/dist/src/checkpoint.js.map +1 -1
- package/dist/src/cli.js +42 -1
- package/dist/src/cli.js.map +1 -1
- package/dist/src/git.js +68 -0
- package/dist/src/git.js.map +1 -0
- package/dist/src/mcp.js +4 -20
- package/dist/src/mcp.js.map +1 -1
- package/dist/src/output.js +16 -3
- package/dist/src/output.js.map +1 -1
- package/dist/src/pipeline/command-stage.js +27 -0
- package/dist/src/pipeline/command-stage.js.map +1 -0
- package/dist/src/pipeline/diagram.js +103 -0
- package/dist/src/pipeline/diagram.js.map +1 -0
- package/dist/src/pipeline/gate.js +59 -0
- package/dist/src/pipeline/gate.js.map +1 -0
- package/dist/src/pipeline/launcher.js +74 -0
- package/dist/src/pipeline/launcher.js.map +1 -0
- package/dist/src/pipeline/log.js +70 -0
- package/dist/src/pipeline/log.js.map +1 -0
- package/dist/src/pipeline/pipeline-file.js +242 -0
- package/dist/src/pipeline/pipeline-file.js.map +1 -0
- package/dist/src/pipeline/pipeline.js +415 -0
- package/dist/src/pipeline/pipeline.js.map +1 -0
- package/dist/src/pipeline/report.js +61 -0
- package/dist/src/pipeline/report.js.map +1 -0
- package/dist/src/pipeline/spec.js +2 -0
- package/dist/src/pipeline/spec.js.map +1 -0
- package/dist/src/pipeline/stage.js +150 -0
- package/dist/src/pipeline/stage.js.map +1 -0
- package/dist/src/pipeline/state.js +70 -0
- package/dist/src/pipeline/state.js.map +1 -0
- package/dist/src/pipeline/task-stage.js +84 -0
- package/dist/src/pipeline/task-stage.js.map +1 -0
- package/dist/src/pipeline/variables.js +41 -0
- package/dist/src/pipeline/variables.js.map +1 -0
- package/dist/src/run.js +6 -3
- package/dist/src/run.js.map +1 -1
- package/mcp-tools.json +1092 -2110
- package/package.json +7 -5
- package/pipelines/api-testing.yml +39 -0
- package/pipelines/issue-test-cases.yml +41 -0
- package/pipelines/pr-review.yml +43 -0
- package/pipelines/regression.yml +39 -0
- package/pipelines/web-testing.yml +50 -0
- package/prompt/testomat.io.ts +5 -5
- package/skills/skills.lock.json +2 -2
- package/skills/testomatio/test-management/detect-useless-tests/SKILL.md +1 -1
- package/skills/testomatio/test-management/improve-test-cases/SKILL.md +1 -1
- package/skills/testomatio/test-management/qa-test-code-coverage/SKILL.md +2 -2
- package/skills/testomatio/test-management/qa-write-test-cases/SKILL.md +3 -3
- package/skills/testomatio/test-management/scan-automation-project/SKILL.md +8 -8
- package/skills/testomatio/test-management/sync-test-cases-with-tms/SKILL.md +9 -9
- package/skills/testomatio/test-management/sync-test-cases-with-tms/references/TESTOMATIO_CLI.md +4 -4
package/mcp-tools.json
CHANGED
|
@@ -8,152 +8,99 @@
|
|
|
8
8
|
}
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
|
-
"name": "
|
|
12
|
-
"description": "
|
|
11
|
+
"name": "tql_help",
|
|
12
|
+
"description": "Full TQL (Testomat.io Query Language) reference — syntax, filter variables (tests + runs), and examples. Call this before writing a `tql` or `q` filter.",
|
|
13
13
|
"inputSchema": {
|
|
14
14
|
"type": "object",
|
|
15
|
-
"properties": {
|
|
16
|
-
"page": {
|
|
17
|
-
"type": "integer",
|
|
18
|
-
"minimum": 1
|
|
19
|
-
},
|
|
20
|
-
"per_page": {
|
|
21
|
-
"type": "integer",
|
|
22
|
-
"minimum": 1,
|
|
23
|
-
"maximum": 100
|
|
24
|
-
},
|
|
25
|
-
"tql": {
|
|
26
|
-
"type": "string",
|
|
27
|
-
"description": "TQL filter for tests. Documented variables: `tag`, `label`, `priority`, `issue`, `jira`, `state`, `status`, `custom_status`, `created_at`, `updated_at`, `last_run_at`, `executed_at`, `created_by`, `assigned_to`, `suite`, `test`, `shared`, `milestone`. Examples: `priority == 'high'`, `priority >= 'normal'`, `state == 'automated'`, `tag in ['smoke', 'stage1'] and status == 'failed'`, `suite % 'Checkout'`, `test % 'User login'`, `custom_status % 'issue'`, `created_at < 1.month_ago`, `jira in ['JST-1', 'JST-2']`, `milestone == 'Sprint 1'`."
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
"additionalProperties": false
|
|
15
|
+
"properties": {}
|
|
31
16
|
}
|
|
32
17
|
},
|
|
33
18
|
{
|
|
34
|
-
"name": "
|
|
35
|
-
"description": "Get
|
|
19
|
+
"name": "project_info",
|
|
20
|
+
"description": "Get configuration and metadata for the current project (/api/v2/{project_id}/info), including framework, language, environments, labels, tags, subscription features, artifact storage status, and CI profiles.",
|
|
36
21
|
"inputSchema": {
|
|
37
22
|
"type": "object",
|
|
38
|
-
"properties": {
|
|
39
|
-
"test_id": {
|
|
40
|
-
"type": "string"
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
"required": [
|
|
44
|
-
"test_id"
|
|
45
|
-
],
|
|
23
|
+
"properties": {},
|
|
46
24
|
"additionalProperties": false
|
|
47
25
|
}
|
|
48
26
|
},
|
|
49
27
|
{
|
|
50
|
-
"name": "
|
|
51
|
-
"description": "
|
|
28
|
+
"name": "tests",
|
|
29
|
+
"description": "Manage tests (/api/v2/{project_id}/tests). Filter tests with `tql` (TQL); call `tql_help` for the syntax and full field list. CLI-style: pass \"command\" plus the params it needs; each param description lists the commands it applies to.",
|
|
52
30
|
"inputSchema": {
|
|
53
31
|
"type": "object",
|
|
54
32
|
"properties": {
|
|
55
|
-
"
|
|
56
|
-
"type": "string"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
"type": "string"
|
|
75
|
-
},
|
|
76
|
-
"state": {
|
|
77
|
-
"type": "string"
|
|
33
|
+
"command": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"enum": [
|
|
36
|
+
"list",
|
|
37
|
+
"get",
|
|
38
|
+
"create",
|
|
39
|
+
"update",
|
|
40
|
+
"delete",
|
|
41
|
+
"bulk_upsert",
|
|
42
|
+
"share",
|
|
43
|
+
"unshare",
|
|
44
|
+
"issues_list",
|
|
45
|
+
"issues_link",
|
|
46
|
+
"issues_unlink",
|
|
47
|
+
"attachments_list",
|
|
48
|
+
"attachments_upload",
|
|
49
|
+
"attachments_delete"
|
|
50
|
+
],
|
|
51
|
+
"description": "CLI-style operation to perform. list: List tests (tql filter, pagination) | get: Get test by ID | create: Create test (title and suite_id required) | update: Update test by ID | delete: Delete test by ID | bulk_upsert: Bulk create/update tests from a testomat.io classical tests markdown document. Tests with an id (@T...) in their metadata are updated, tests without id are created. Suites are resolved by id (@S...) or title, and created when missing. Up to 100 tests and 25 suites per call, sent in batches of 50. tags/labels in the markdown are parsed but not applied. | share: Share tests into a suite of another project. Select by test_ids, labels, or both. Source project stays the single source of truth; shared copies are read-only until unlinked; re-sharing does not duplicate; processed asynchronously (\"queued\" = accepted); skipped shared copies are listed in skipped_test_ids; projects must be of the same type (Classic/BDD). | unshare: Remove a test's share, converting the shared copy back into a regular, editable test. Only the shared copy can be targeted — the original source test is untouched. Must be called against the project that holds the shared copy. | issues_list: List linked issues for a test | issues_link: Link issue to a test (url or jira_id) | issues_unlink: Unlink issue from a test | attachments_list: List attachments for a test | attachments_upload: Upload one attachment to a test | attachments_delete: Delete attachment from a test"
|
|
78
52
|
},
|
|
79
|
-
"link": {
|
|
80
|
-
"type": "array",
|
|
81
|
-
"items": {
|
|
82
|
-
"type": "object",
|
|
83
|
-
"properties": {
|
|
84
|
-
"action": {
|
|
85
|
-
"type": "string",
|
|
86
|
-
"enum": [
|
|
87
|
-
"add",
|
|
88
|
-
"remove"
|
|
89
|
-
]
|
|
90
|
-
},
|
|
91
|
-
"type": {
|
|
92
|
-
"type": "string",
|
|
93
|
-
"enum": [
|
|
94
|
-
"label",
|
|
95
|
-
"custom_field",
|
|
96
|
-
"tag",
|
|
97
|
-
"milestone",
|
|
98
|
-
"issue",
|
|
99
|
-
"jira"
|
|
100
|
-
]
|
|
101
|
-
},
|
|
102
|
-
"value": {
|
|
103
|
-
"type": "string"
|
|
104
|
-
}
|
|
105
|
-
},
|
|
106
|
-
"required": [
|
|
107
|
-
"action",
|
|
108
|
-
"type",
|
|
109
|
-
"value"
|
|
110
|
-
],
|
|
111
|
-
"additionalProperties": false
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
"required": [
|
|
116
|
-
"title",
|
|
117
|
-
"suite_id"
|
|
118
|
-
],
|
|
119
|
-
"additionalProperties": false
|
|
120
|
-
}
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
"name": "tests_update",
|
|
124
|
-
"description": "Update test (/api/v2/{project_id}/tests/{id})",
|
|
125
|
-
"inputSchema": {
|
|
126
|
-
"type": "object",
|
|
127
|
-
"properties": {
|
|
128
53
|
"test_id": {
|
|
129
|
-
"type": "string"
|
|
54
|
+
"type": "string",
|
|
55
|
+
"description": "(get|update|delete|unshare|issues_list|issues_link|issues_unlink|attachments_list|attachments_upload|attachments_delete) Test ID (for unshare: ID of the shared test copy to unlink)"
|
|
130
56
|
},
|
|
131
57
|
"title": {
|
|
132
|
-
"type": "string"
|
|
58
|
+
"type": "string",
|
|
59
|
+
"description": "(create|update)"
|
|
133
60
|
},
|
|
134
61
|
"suite_id": {
|
|
135
|
-
"type": "string"
|
|
62
|
+
"type": "string",
|
|
63
|
+
"description": "(create|update) Suite to place the test in"
|
|
136
64
|
},
|
|
137
65
|
"description": {
|
|
138
|
-
"type": "string"
|
|
66
|
+
"type": "string",
|
|
67
|
+
"description": "(create|update)"
|
|
139
68
|
},
|
|
140
69
|
"emoji": {
|
|
141
|
-
"type": "string"
|
|
70
|
+
"type": "string",
|
|
71
|
+
"description": "(create|update)"
|
|
142
72
|
},
|
|
143
73
|
"priority": {
|
|
144
|
-
"type": "string"
|
|
74
|
+
"type": "string",
|
|
75
|
+
"enum": [
|
|
76
|
+
"low",
|
|
77
|
+
"normal",
|
|
78
|
+
"important",
|
|
79
|
+
"high",
|
|
80
|
+
"critical"
|
|
81
|
+
],
|
|
82
|
+
"description": "(create|update)"
|
|
145
83
|
},
|
|
146
84
|
"assigned_to": {
|
|
147
|
-
"type": "string"
|
|
85
|
+
"type": "string",
|
|
86
|
+
"description": "(create|update)"
|
|
148
87
|
},
|
|
149
88
|
"code": {
|
|
150
|
-
"type": "string"
|
|
89
|
+
"type": "string",
|
|
90
|
+
"description": "(create|update)"
|
|
151
91
|
},
|
|
152
92
|
"state": {
|
|
153
|
-
"type": "string"
|
|
93
|
+
"type": "string",
|
|
94
|
+
"enum": [
|
|
95
|
+
"manual",
|
|
96
|
+
"detached",
|
|
97
|
+
"automated"
|
|
98
|
+
],
|
|
99
|
+
"description": "(create|update)"
|
|
154
100
|
},
|
|
155
101
|
"sync": {
|
|
156
|
-
"type": "boolean"
|
|
102
|
+
"type": "boolean",
|
|
103
|
+
"description": "(update)"
|
|
157
104
|
},
|
|
158
105
|
"link": {
|
|
159
106
|
"type": "array",
|
|
@@ -188,209 +135,188 @@
|
|
|
188
135
|
"value"
|
|
189
136
|
],
|
|
190
137
|
"additionalProperties": false
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
},
|
|
194
|
-
"required": [
|
|
195
|
-
"test_id"
|
|
196
|
-
],
|
|
197
|
-
"additionalProperties": false
|
|
198
|
-
}
|
|
199
|
-
},
|
|
200
|
-
{
|
|
201
|
-
"name": "tests_delete",
|
|
202
|
-
"description": "Delete test",
|
|
203
|
-
"inputSchema": {
|
|
204
|
-
"type": "object",
|
|
205
|
-
"properties": {
|
|
206
|
-
"test_id": {
|
|
207
|
-
"type": "string"
|
|
208
|
-
}
|
|
209
|
-
},
|
|
210
|
-
"required": [
|
|
211
|
-
"test_id"
|
|
212
|
-
],
|
|
213
|
-
"additionalProperties": false
|
|
214
|
-
}
|
|
215
|
-
},
|
|
216
|
-
{
|
|
217
|
-
"name": "tests_search",
|
|
218
|
-
"description": "Search tests using TQL (delegates to tests_list). TQL (Testomat.io Query Language) is a string expression passed in `tql` to filter tests. Supported syntax includes logical operators `and`, `or`, `not`, equality operators `==` and `!=`, list membership `in [...]`, `%` for partial text match on supported text fields, and parentheses for grouping. Ordered comparisons `>`, `<`, `>=`, `<=` are for ordered fields such as `priority`, dates, and numeric counters/durations. Use quotes for string values, for example `state == 'automated'`. Documented test variables: `tag`, `label`, `priority`, `issue`, `jira`, `state`, `status`, `custom_status`, `created_at`, `updated_at`, `last_run_at`, `executed_at`, `created_by`, `assigned_to`, `suite`, `test`, `shared`, `milestone`. Documented examples: `priority == 'high'`, `priority >= 'normal'`, `state == 'automated'`, `tag in ['smoke', 'stage1'] and status == 'failed'`, `suite % 'Checkout'`, `test % 'User login'`, `custom_status % 'issue'`, `created_at < 1.month_ago`, `jira in ['JST-1', 'JST-2']`, `milestone == 'Sprint 1'`. Do not invent undocumented fields or syntax. If a query fails, simplify it to one documented predicate.",
|
|
219
|
-
"inputSchema": {
|
|
220
|
-
"type": "object",
|
|
221
|
-
"properties": {
|
|
222
|
-
"page": {
|
|
223
|
-
"type": "integer",
|
|
224
|
-
"minimum": 1
|
|
225
|
-
},
|
|
226
|
-
"per_page": {
|
|
227
|
-
"type": "integer",
|
|
228
|
-
"minimum": 1,
|
|
229
|
-
"maximum": 100
|
|
138
|
+
},
|
|
139
|
+
"description": "(create|update)"
|
|
230
140
|
},
|
|
231
141
|
"tql": {
|
|
232
142
|
"type": "string",
|
|
233
|
-
"description": "TQL filter for tests.
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
"
|
|
143
|
+
"description": "(list) TQL filter for tests. Fields: tag, label, priority, issue, jira, state, status, custom_status, created_at, updated_at, last_run_at, executed_at, created_by, assigned_to, suite, test, shared, milestone. Call `tql_help` for syntax. Examples: `priority == 'high'`, `state == 'automated'`, `suite % 'Checkout'`."
|
|
144
|
+
},
|
|
145
|
+
"markdown": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"description": "(bulk_upsert) Required for bulk_upsert. Markdown document in the testomat.io classical tests format: suite blocks (<!-- suite ... -->) containing test blocks (<!-- test ... -->), each followed by a title heading and a description. See https://docs.testomat.io/project/import-export/export-tests/classical-tests-markdown-format/"
|
|
148
|
+
},
|
|
149
|
+
"dry_run": {
|
|
150
|
+
"type": "boolean",
|
|
151
|
+
"default": false,
|
|
152
|
+
"description": "(bulk_upsert) Parse the document and report the planned actions without writing anything"
|
|
153
|
+
},
|
|
154
|
+
"create_missing_suites": {
|
|
155
|
+
"type": "boolean",
|
|
156
|
+
"default": true,
|
|
157
|
+
"description": "(bulk_upsert) Create suites that cannot be resolved by id or title. When false, tests of unresolved suites are reported as errors"
|
|
158
|
+
},
|
|
159
|
+
"branch": {
|
|
160
|
+
"type": "string",
|
|
161
|
+
"description": "(list|get|create|update|delete|bulk_upsert) Branch slug to scope the request to (omit or main for the main branch). For tests and suites, a branch-local record is used when it exists, falling back to main; updating/deleting a main-only record forks an isolated copy into the branch. Runs are tagged with the branch (only reachable with the same branch afterwards). Requires the branches feature."
|
|
247
162
|
},
|
|
248
163
|
"page": {
|
|
249
164
|
"type": "integer",
|
|
250
|
-
"minimum": 1
|
|
165
|
+
"minimum": 1,
|
|
166
|
+
"description": "(list|issues_list)"
|
|
251
167
|
},
|
|
252
168
|
"per_page": {
|
|
253
169
|
"type": "integer",
|
|
254
170
|
"minimum": 1,
|
|
255
|
-
"maximum": 100
|
|
171
|
+
"maximum": 100,
|
|
172
|
+
"description": "(list|issues_list)"
|
|
256
173
|
},
|
|
257
174
|
"source": {
|
|
258
|
-
"type": "string"
|
|
259
|
-
|
|
260
|
-
},
|
|
261
|
-
"required": [
|
|
262
|
-
"test_id"
|
|
263
|
-
],
|
|
264
|
-
"additionalProperties": false
|
|
265
|
-
}
|
|
266
|
-
},
|
|
267
|
-
{
|
|
268
|
-
"name": "tests_issues_link",
|
|
269
|
-
"description": "Link issue to a test (/api/v2/{project_id}/issues)",
|
|
270
|
-
"inputSchema": {
|
|
271
|
-
"type": "object",
|
|
272
|
-
"properties": {
|
|
273
|
-
"test_id": {
|
|
274
|
-
"type": "string"
|
|
175
|
+
"type": "string",
|
|
176
|
+
"description": "(issues_list) Filter issues by source (e.g. jira)"
|
|
275
177
|
},
|
|
276
178
|
"url": {
|
|
277
|
-
"type": "string"
|
|
179
|
+
"type": "string",
|
|
180
|
+
"description": "(issues_link) Issue URL to link"
|
|
278
181
|
},
|
|
279
182
|
"jira_id": {
|
|
280
|
-
"type": "string"
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
"required": [
|
|
284
|
-
"test_id"
|
|
285
|
-
],
|
|
286
|
-
"additionalProperties": false
|
|
287
|
-
}
|
|
288
|
-
},
|
|
289
|
-
{
|
|
290
|
-
"name": "tests_issues_unlink",
|
|
291
|
-
"description": "Unlink issue from a test (/api/v2/{project_id}/issues/{id})",
|
|
292
|
-
"inputSchema": {
|
|
293
|
-
"type": "object",
|
|
294
|
-
"properties": {
|
|
183
|
+
"type": "string",
|
|
184
|
+
"description": "(issues_link) Jira issue key to link (alternative to url)"
|
|
185
|
+
},
|
|
295
186
|
"issue_id": {
|
|
296
|
-
"type": "integer"
|
|
187
|
+
"type": "integer",
|
|
188
|
+
"description": "(issues_unlink) ID of the linked issue to remove"
|
|
297
189
|
},
|
|
298
190
|
"type": {
|
|
299
191
|
"type": "string",
|
|
300
192
|
"enum": [
|
|
301
193
|
"issue",
|
|
302
194
|
"jira_issue"
|
|
303
|
-
]
|
|
304
|
-
|
|
305
|
-
},
|
|
306
|
-
"required": [
|
|
307
|
-
"issue_id",
|
|
308
|
-
"type"
|
|
309
|
-
],
|
|
310
|
-
"additionalProperties": false
|
|
311
|
-
}
|
|
312
|
-
},
|
|
313
|
-
{
|
|
314
|
-
"name": "suites_list",
|
|
315
|
-
"description": "List suites as tree (/api/v2/{project_id}/suites)",
|
|
316
|
-
"inputSchema": {
|
|
317
|
-
"type": "object",
|
|
318
|
-
"properties": {
|
|
319
|
-
"page": {
|
|
320
|
-
"type": "integer",
|
|
321
|
-
"minimum": 1
|
|
195
|
+
],
|
|
196
|
+
"description": "(issues_unlink) Kind of the linked issue"
|
|
322
197
|
},
|
|
323
|
-
"
|
|
324
|
-
"type": "
|
|
325
|
-
"
|
|
326
|
-
"maximum": 100
|
|
198
|
+
"file_path": {
|
|
199
|
+
"type": "string",
|
|
200
|
+
"description": "(attachments_upload) Local path to the file that will be sent as multipart/form-data field \"files\"."
|
|
327
201
|
},
|
|
328
|
-
"
|
|
202
|
+
"attachment_id": {
|
|
329
203
|
"type": "string",
|
|
330
|
-
"
|
|
331
|
-
"file",
|
|
332
|
-
"folder"
|
|
333
|
-
]
|
|
204
|
+
"description": "(attachments_delete) ID of the attachment to delete"
|
|
334
205
|
},
|
|
335
|
-
"
|
|
336
|
-
"type": "
|
|
206
|
+
"test_ids": {
|
|
207
|
+
"type": "array",
|
|
208
|
+
"items": {
|
|
209
|
+
"type": "string"
|
|
210
|
+
},
|
|
211
|
+
"description": "(share) Test IDs to share. At least one of test_ids/labels is required. Max 1000 tests per request."
|
|
337
212
|
},
|
|
338
213
|
"labels": {
|
|
339
|
-
"type": "
|
|
214
|
+
"type": "array",
|
|
215
|
+
"items": {
|
|
216
|
+
"type": "string"
|
|
217
|
+
},
|
|
218
|
+
"description": "(share) Label slugs or titles; every test carrying any of these labels is shared, in addition to test_ids."
|
|
340
219
|
},
|
|
341
|
-
"
|
|
342
|
-
"type": "string"
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
"
|
|
355
|
-
"type": "
|
|
220
|
+
"target_project_id": {
|
|
221
|
+
"type": "string",
|
|
222
|
+
"description": "(share) Project ID (slug) of the destination project. Must be accessible to the current user."
|
|
223
|
+
},
|
|
224
|
+
"target_suite_id": {
|
|
225
|
+
"type": "string",
|
|
226
|
+
"description": "(share) Suite ID in the target project to place the shared tests into. Must be a file-type suite, not a folder."
|
|
227
|
+
},
|
|
228
|
+
"verbose": {
|
|
229
|
+
"type": "boolean",
|
|
230
|
+
"default": false,
|
|
231
|
+
"description": "(attachments_list) Return full response bodies. Default strips entity-specific heavy fields and null values; set true when you need those."
|
|
232
|
+
},
|
|
233
|
+
"fields": {
|
|
234
|
+
"type": "array",
|
|
235
|
+
"items": {
|
|
236
|
+
"type": "string"
|
|
237
|
+
},
|
|
238
|
+
"description": "(attachments_list) Fields to keep per item (e.g. [\"id\",\"title\",\"status\",\"message\"]). Ignored when verbose is true."
|
|
239
|
+
},
|
|
240
|
+
"count": {
|
|
241
|
+
"type": "boolean",
|
|
242
|
+
"description": "(list) Return only metadata with total counts instead of the entity list. Pair with group_by for an aggregated breakdown."
|
|
243
|
+
},
|
|
244
|
+
"group_by": {
|
|
245
|
+
"type": "string",
|
|
246
|
+
"description": "(list) Aggregate counts by this field, e.g. status, state, priority, created_by (use with count=true). The backend validates supported fields per resource. For created_by, counts are keyed by user email, not ID."
|
|
356
247
|
}
|
|
357
248
|
},
|
|
358
249
|
"required": [
|
|
359
|
-
"
|
|
250
|
+
"command"
|
|
360
251
|
],
|
|
361
252
|
"additionalProperties": false
|
|
362
253
|
}
|
|
363
254
|
},
|
|
364
255
|
{
|
|
365
|
-
"name": "
|
|
366
|
-
"description": "
|
|
256
|
+
"name": "suites",
|
|
257
|
+
"description": "Manage suites as tree (/api/v2/{project_id}/suites) CLI-style: pass \"command\" plus the params it needs; each param description lists the commands it applies to.",
|
|
367
258
|
"inputSchema": {
|
|
368
259
|
"type": "object",
|
|
369
260
|
"properties": {
|
|
261
|
+
"command": {
|
|
262
|
+
"type": "string",
|
|
263
|
+
"enum": [
|
|
264
|
+
"list",
|
|
265
|
+
"get",
|
|
266
|
+
"create",
|
|
267
|
+
"update",
|
|
268
|
+
"delete",
|
|
269
|
+
"share",
|
|
270
|
+
"unshare",
|
|
271
|
+
"issues_list",
|
|
272
|
+
"issues_link",
|
|
273
|
+
"issues_unlink",
|
|
274
|
+
"attachments_list",
|
|
275
|
+
"attachments_upload",
|
|
276
|
+
"attachments_delete"
|
|
277
|
+
],
|
|
278
|
+
"description": "CLI-style operation to perform. list: List suites as tree (filters: file_type, tag, labels, search_text) | get: Get suite by ID | create: Create suite (title required) | update: Update suite by ID | delete: Delete suite by ID | share: Share suites (with their tests) into one or more other projects. Select by suite_ids, labels, or both. File-type suites are linked (read-only copies that stay in sync); folder suites are deep-copied as editable copies; re-sharing a linked suite into a project that already has it does not duplicate; suites that are themselves shared copies link to their original source; omit destination_folder_id to share into the root; processed asynchronously; projects must be of the same type (Classic/BDD). | unshare: Remove a suite's share, converting the shared copy back into a regular, editable suite. Only the shared (linked) copy can be targeted — the original source suite is untouched. Must be called against the project that holds the shared copy. | issues_list: List linked issues for a suite | issues_link: Link issue to a suite (url or jira_id) | issues_unlink: Unlink issue from a suite | attachments_list: List attachments for a suite | attachments_upload: Upload one attachment to a suite | attachments_delete: Delete attachment from a suite"
|
|
279
|
+
},
|
|
280
|
+
"suite_id": {
|
|
281
|
+
"type": "string",
|
|
282
|
+
"description": "(get|update|delete|unshare|issues_list|issues_link|issues_unlink|attachments_list|attachments_upload|attachments_delete) Suite ID (for unshare: ID of the shared suite copy to unlink)"
|
|
283
|
+
},
|
|
370
284
|
"title": {
|
|
371
|
-
"type": "string"
|
|
285
|
+
"type": "string",
|
|
286
|
+
"description": "(create|update)"
|
|
372
287
|
},
|
|
373
288
|
"description": {
|
|
374
|
-
"type": "string"
|
|
289
|
+
"type": "string",
|
|
290
|
+
"description": "(create|update)"
|
|
375
291
|
},
|
|
376
292
|
"emoji": {
|
|
377
|
-
"type": "string"
|
|
293
|
+
"type": "string",
|
|
294
|
+
"description": "(create|update)"
|
|
378
295
|
},
|
|
379
296
|
"parent_id": {
|
|
380
|
-
"type": "string"
|
|
297
|
+
"type": "string",
|
|
298
|
+
"description": "(create|update) Parent suite ID"
|
|
381
299
|
},
|
|
382
300
|
"file_type": {
|
|
383
|
-
"type": "string"
|
|
301
|
+
"type": "string",
|
|
302
|
+
"enum": [
|
|
303
|
+
"file",
|
|
304
|
+
"folder"
|
|
305
|
+
],
|
|
306
|
+
"description": "(list|create|update) list: filter by type; create/update: the type of suite"
|
|
384
307
|
},
|
|
385
308
|
"assigned_to": {
|
|
386
|
-
"type": "string"
|
|
309
|
+
"type": "string",
|
|
310
|
+
"description": "(create|update)"
|
|
387
311
|
},
|
|
388
312
|
"file": {
|
|
389
|
-
"type": "string"
|
|
313
|
+
"type": "string",
|
|
314
|
+
"description": "(create|update)"
|
|
390
315
|
},
|
|
391
316
|
"children": {
|
|
392
317
|
"type": "array",
|
|
393
|
-
"items": {}
|
|
318
|
+
"items": {},
|
|
319
|
+
"description": "(create|update)"
|
|
394
320
|
},
|
|
395
321
|
"link": {
|
|
396
322
|
"type": "array",
|
|
@@ -426,273 +352,181 @@
|
|
|
426
352
|
"value"
|
|
427
353
|
],
|
|
428
354
|
"additionalProperties": false
|
|
429
|
-
}
|
|
430
|
-
|
|
431
|
-
},
|
|
432
|
-
"required": [
|
|
433
|
-
"title"
|
|
434
|
-
],
|
|
435
|
-
"additionalProperties": false
|
|
436
|
-
}
|
|
437
|
-
},
|
|
438
|
-
{
|
|
439
|
-
"name": "suites_update",
|
|
440
|
-
"description": "Update suite (/api/v2/{project_id}/suites/{id})",
|
|
441
|
-
"inputSchema": {
|
|
442
|
-
"type": "object",
|
|
443
|
-
"properties": {
|
|
444
|
-
"suite_id": {
|
|
445
|
-
"type": "string"
|
|
446
|
-
},
|
|
447
|
-
"title": {
|
|
448
|
-
"type": "string"
|
|
449
|
-
},
|
|
450
|
-
"description": {
|
|
451
|
-
"type": "string"
|
|
452
|
-
},
|
|
453
|
-
"emoji": {
|
|
454
|
-
"type": "string"
|
|
455
|
-
},
|
|
456
|
-
"parent_id": {
|
|
457
|
-
"type": "string"
|
|
458
|
-
},
|
|
459
|
-
"file_type": {
|
|
460
|
-
"type": "string"
|
|
461
|
-
},
|
|
462
|
-
"assigned_to": {
|
|
463
|
-
"type": "string"
|
|
464
|
-
},
|
|
465
|
-
"file": {
|
|
466
|
-
"type": "string"
|
|
355
|
+
},
|
|
356
|
+
"description": "(create|update)"
|
|
467
357
|
},
|
|
468
|
-
"
|
|
469
|
-
"type": "
|
|
470
|
-
"
|
|
358
|
+
"tag": {
|
|
359
|
+
"type": "string",
|
|
360
|
+
"description": "(list) Filter by tag title"
|
|
471
361
|
},
|
|
472
|
-
"
|
|
473
|
-
"type":
|
|
362
|
+
"labels": {
|
|
363
|
+
"type": [
|
|
364
|
+
"string",
|
|
365
|
+
"array"
|
|
366
|
+
],
|
|
474
367
|
"items": {
|
|
475
|
-
"type": "
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
"type": "string",
|
|
479
|
-
"enum": [
|
|
480
|
-
"add",
|
|
481
|
-
"remove"
|
|
482
|
-
]
|
|
483
|
-
},
|
|
484
|
-
"type": {
|
|
485
|
-
"type": "string",
|
|
486
|
-
"enum": [
|
|
487
|
-
"label",
|
|
488
|
-
"custom_field",
|
|
489
|
-
"tag",
|
|
490
|
-
"milestone",
|
|
491
|
-
"issue",
|
|
492
|
-
"jira",
|
|
493
|
-
"requirement"
|
|
494
|
-
]
|
|
495
|
-
},
|
|
496
|
-
"value": {
|
|
497
|
-
"type": "string"
|
|
498
|
-
}
|
|
499
|
-
},
|
|
500
|
-
"required": [
|
|
501
|
-
"action",
|
|
502
|
-
"type",
|
|
503
|
-
"value"
|
|
504
|
-
],
|
|
505
|
-
"additionalProperties": false
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
},
|
|
509
|
-
"required": [
|
|
510
|
-
"suite_id"
|
|
511
|
-
],
|
|
512
|
-
"additionalProperties": false
|
|
513
|
-
}
|
|
514
|
-
},
|
|
515
|
-
{
|
|
516
|
-
"name": "suites_delete",
|
|
517
|
-
"description": "Delete suite",
|
|
518
|
-
"inputSchema": {
|
|
519
|
-
"type": "object",
|
|
520
|
-
"properties": {
|
|
521
|
-
"suite_id": {
|
|
522
|
-
"type": "string"
|
|
523
|
-
}
|
|
524
|
-
},
|
|
525
|
-
"required": [
|
|
526
|
-
"suite_id"
|
|
527
|
-
],
|
|
528
|
-
"additionalProperties": false
|
|
529
|
-
}
|
|
530
|
-
},
|
|
531
|
-
{
|
|
532
|
-
"name": "suites_search",
|
|
533
|
-
"description": "Search suites by title (delegates to suites list with search_text)",
|
|
534
|
-
"inputSchema": {
|
|
535
|
-
"type": "object",
|
|
536
|
-
"properties": {
|
|
537
|
-
"search_text": {
|
|
538
|
-
"type": "string"
|
|
539
|
-
},
|
|
540
|
-
"page": {
|
|
541
|
-
"type": "integer",
|
|
542
|
-
"minimum": 1
|
|
543
|
-
},
|
|
544
|
-
"per_page": {
|
|
545
|
-
"type": "integer",
|
|
546
|
-
"minimum": 1,
|
|
547
|
-
"maximum": 100
|
|
368
|
+
"type": "string"
|
|
369
|
+
},
|
|
370
|
+
"description": "(list|share) list: filter by label slugs/titles; share: every suite carrying any of these labels is shared, in addition to suite_ids."
|
|
548
371
|
},
|
|
549
|
-
"
|
|
372
|
+
"search_text": {
|
|
550
373
|
"type": "string",
|
|
551
|
-
"
|
|
552
|
-
"file",
|
|
553
|
-
"folder"
|
|
554
|
-
]
|
|
555
|
-
},
|
|
556
|
-
"tag": {
|
|
557
|
-
"type": "string"
|
|
374
|
+
"description": "(list)"
|
|
558
375
|
},
|
|
559
|
-
"
|
|
560
|
-
"type": "string"
|
|
561
|
-
|
|
562
|
-
},
|
|
563
|
-
"additionalProperties": false
|
|
564
|
-
}
|
|
565
|
-
},
|
|
566
|
-
{
|
|
567
|
-
"name": "suites_issues_list",
|
|
568
|
-
"description": "List linked issues for a suite (/api/v2/{project_id}/issues?suite_id=...)",
|
|
569
|
-
"inputSchema": {
|
|
570
|
-
"type": "object",
|
|
571
|
-
"properties": {
|
|
572
|
-
"suite_id": {
|
|
573
|
-
"type": "string"
|
|
376
|
+
"branch": {
|
|
377
|
+
"type": "string",
|
|
378
|
+
"description": "(list|get|create|update|delete) Branch slug to scope the request to (omit or main for the main branch). For tests and suites, a branch-local record is used when it exists, falling back to main; updating/deleting a main-only record forks an isolated copy into the branch. Runs are tagged with the branch (only reachable with the same branch afterwards). Requires the branches feature."
|
|
574
379
|
},
|
|
575
380
|
"page": {
|
|
576
381
|
"type": "integer",
|
|
577
|
-
"minimum": 1
|
|
382
|
+
"minimum": 1,
|
|
383
|
+
"description": "(list|issues_list)"
|
|
578
384
|
},
|
|
579
385
|
"per_page": {
|
|
580
386
|
"type": "integer",
|
|
581
387
|
"minimum": 1,
|
|
582
|
-
"maximum": 100
|
|
388
|
+
"maximum": 100,
|
|
389
|
+
"description": "(list|issues_list)"
|
|
583
390
|
},
|
|
584
391
|
"source": {
|
|
585
|
-
"type": "string"
|
|
586
|
-
|
|
587
|
-
},
|
|
588
|
-
"required": [
|
|
589
|
-
"suite_id"
|
|
590
|
-
],
|
|
591
|
-
"additionalProperties": false
|
|
592
|
-
}
|
|
593
|
-
},
|
|
594
|
-
{
|
|
595
|
-
"name": "suites_issues_link",
|
|
596
|
-
"description": "Link issue to a suite (/api/v2/{project_id}/issues)",
|
|
597
|
-
"inputSchema": {
|
|
598
|
-
"type": "object",
|
|
599
|
-
"properties": {
|
|
600
|
-
"suite_id": {
|
|
601
|
-
"type": "string"
|
|
392
|
+
"type": "string",
|
|
393
|
+
"description": "(issues_list) Filter issues by source (e.g. jira)"
|
|
602
394
|
},
|
|
603
395
|
"url": {
|
|
604
|
-
"type": "string"
|
|
396
|
+
"type": "string",
|
|
397
|
+
"description": "(issues_link) Issue URL to link"
|
|
605
398
|
},
|
|
606
399
|
"jira_id": {
|
|
607
|
-
"type": "string"
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
"required": [
|
|
611
|
-
"suite_id"
|
|
612
|
-
],
|
|
613
|
-
"additionalProperties": false
|
|
614
|
-
}
|
|
615
|
-
},
|
|
616
|
-
{
|
|
617
|
-
"name": "suites_issues_unlink",
|
|
618
|
-
"description": "Unlink issue from a suite (/api/v2/{project_id}/issues/{id})",
|
|
619
|
-
"inputSchema": {
|
|
620
|
-
"type": "object",
|
|
621
|
-
"properties": {
|
|
400
|
+
"type": "string",
|
|
401
|
+
"description": "(issues_link) Jira issue key to link (alternative to url)"
|
|
402
|
+
},
|
|
622
403
|
"issue_id": {
|
|
623
|
-
"type": "integer"
|
|
404
|
+
"type": "integer",
|
|
405
|
+
"description": "(issues_unlink) ID of the linked issue to remove"
|
|
624
406
|
},
|
|
625
407
|
"type": {
|
|
626
408
|
"type": "string",
|
|
627
409
|
"enum": [
|
|
628
410
|
"issue",
|
|
629
411
|
"jira_issue"
|
|
630
|
-
]
|
|
631
|
-
|
|
632
|
-
},
|
|
633
|
-
"required": [
|
|
634
|
-
"issue_id",
|
|
635
|
-
"type"
|
|
636
|
-
],
|
|
637
|
-
"additionalProperties": false
|
|
638
|
-
}
|
|
639
|
-
},
|
|
640
|
-
{
|
|
641
|
-
"name": "runs_list",
|
|
642
|
-
"description": "List runs (/api/v2/{project_id}/runs). TQL (Testomat.io Query Language) is a string expression passed in `tql` to filter runs. Supported syntax includes logical operators `and`, `or`, `not`, equality operators `==` and `!=`, list membership `in [...]`, `%` for partial text match on supported text fields, and parentheses for grouping. Ordered comparisons `>`, `<`, `>=`, `<=` are for ordered fields such as `priority`, dates, and numeric counters/durations. Use quotes for string values, for example `state == 'automated'`. Runs also support boolean flags without comparison such as `failed`, `finished`, `automated`, or `with_defect`. Documented run variables: `title`, `plan`, `rungroup`, `env`, `tag`, `label`, `jira`, `duration`, `passed_count`, `failed_count`, `skipped_count`, `automated`, `manual`, `mixed`, `finished`, `unfinished`, `passed`, `failed`, `terminated`, `published`, `private`, `archived`, `unarchived`, `with_defect`, `has_defect`, `has_test`, `has_test_tag`, `has_test_label`, `has_suite`, `has_message`, `has_custom_status`, `has_assigned_to`, `has_retries`, `has_test_duration`, `has_priority`, `created_at`, `updated_at`, `launched_at`, `finished_at`, `milestone`. Documented examples: `title % 'Manual tests'`, `plan == '{PLAN_ID}'`, `env in ['Windows', 'Linux']`, `failed and has_test_tag == 'regression'`, `finished and with_defect`, `has_retries > 2`, `automated and env == 'Production' and has_message % 'Server Error'`, `finished_at >= '2025-07-01' and finished_at <= '2025-07-31' and failed`. Do not invent undocumented fields or syntax. If a query fails, simplify it to one documented predicate.",
|
|
643
|
-
"inputSchema": {
|
|
644
|
-
"type": "object",
|
|
645
|
-
"properties": {
|
|
646
|
-
"page": {
|
|
647
|
-
"type": "integer",
|
|
648
|
-
"minimum": 1
|
|
412
|
+
],
|
|
413
|
+
"description": "(issues_unlink) Kind of the linked issue"
|
|
649
414
|
},
|
|
650
|
-
"
|
|
651
|
-
"type": "
|
|
652
|
-
"
|
|
653
|
-
"maximum": 100
|
|
415
|
+
"file_path": {
|
|
416
|
+
"type": "string",
|
|
417
|
+
"description": "(attachments_upload) Local path to the file that will be sent as multipart/form-data field \"files\"."
|
|
654
418
|
},
|
|
655
|
-
"
|
|
419
|
+
"attachment_id": {
|
|
656
420
|
"type": "string",
|
|
657
|
-
"description": "
|
|
658
|
-
}
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
421
|
+
"description": "(attachments_delete) ID of the attachment to delete"
|
|
422
|
+
},
|
|
423
|
+
"suite_ids": {
|
|
424
|
+
"type": "array",
|
|
425
|
+
"items": {
|
|
426
|
+
"type": "string"
|
|
427
|
+
},
|
|
428
|
+
"description": "(share) Suite IDs to share. At least one of suite_ids/labels is required. Max 200 suites per request."
|
|
429
|
+
},
|
|
430
|
+
"target_project_ids": {
|
|
431
|
+
"type": "array",
|
|
432
|
+
"items": {
|
|
433
|
+
"type": "string"
|
|
434
|
+
},
|
|
435
|
+
"description": "(share) Project IDs (slugs) of the destination projects. Must be accessible to the current user."
|
|
436
|
+
},
|
|
437
|
+
"destination_folder_id": {
|
|
438
|
+
"type": "string",
|
|
439
|
+
"description": "(share) Folder suite ID in the target project to place the shared suites into. Only allowed when sharing to a single target project."
|
|
440
|
+
},
|
|
441
|
+
"verbose": {
|
|
442
|
+
"type": "boolean",
|
|
443
|
+
"default": false,
|
|
444
|
+
"description": "(attachments_list) Return full response bodies. Default strips entity-specific heavy fields and null values; set true when you need those."
|
|
445
|
+
},
|
|
446
|
+
"fields": {
|
|
447
|
+
"type": "array",
|
|
448
|
+
"items": {
|
|
449
|
+
"type": "string"
|
|
450
|
+
},
|
|
451
|
+
"description": "(attachments_list) Fields to keep per item (e.g. [\"id\",\"title\",\"status\",\"message\"]). Ignored when verbose is true."
|
|
452
|
+
},
|
|
453
|
+
"count": {
|
|
454
|
+
"type": "boolean",
|
|
455
|
+
"description": "(list) Return only metadata with total counts instead of the entity list. Pair with group_by for an aggregated breakdown."
|
|
456
|
+
},
|
|
457
|
+
"group_by": {
|
|
458
|
+
"type": "string",
|
|
459
|
+
"description": "(list) Aggregate counts by this field, e.g. status, state, priority, created_by (use with count=true). The backend validates supported fields per resource. For created_by, counts are keyed by user email, not ID."
|
|
671
460
|
}
|
|
672
461
|
},
|
|
673
462
|
"required": [
|
|
674
|
-
"
|
|
463
|
+
"command"
|
|
675
464
|
],
|
|
676
465
|
"additionalProperties": false
|
|
677
466
|
}
|
|
678
467
|
},
|
|
679
468
|
{
|
|
680
|
-
"name": "
|
|
681
|
-
"description": "
|
|
469
|
+
"name": "runs",
|
|
470
|
+
"description": "Manage runs (/api/v2/{project_id}/runs). Filter runs with `tql` (TQL); runs also accept boolean flags. Call `tql_help` for the syntax and full field list. CLI-style: pass \"command\" plus the params it needs; each param description lists the commands it applies to.",
|
|
682
471
|
"inputSchema": {
|
|
683
472
|
"type": "object",
|
|
684
473
|
"properties": {
|
|
474
|
+
"command": {
|
|
475
|
+
"type": "string",
|
|
476
|
+
"enum": [
|
|
477
|
+
"list",
|
|
478
|
+
"get",
|
|
479
|
+
"create",
|
|
480
|
+
"update",
|
|
481
|
+
"delete",
|
|
482
|
+
"stats",
|
|
483
|
+
"issues_list",
|
|
484
|
+
"issues_link",
|
|
485
|
+
"issues_unlink"
|
|
486
|
+
],
|
|
487
|
+
"description": "CLI-style operation to perform. list: List runs (tql filter, pagination) | get: Get run by ID | create: Create run (title required) | update: Update run by ID | delete: Delete run by ID | stats: Break down one run's testruns by suite, tag, label, assignee, or priority (/api/v2/{project_id}/runs/{id}/stats/{dimension}). Each row has passed_count, failed_count, skipped_count, pending_count for its group — answers \"which areas/owners are affected by this run's failures\". Paginated with a fixed page size; meta uses page/perPage/totalCount/totalPages | issues_list: List linked issues for a run | issues_link: Link issue to a run (url or jira_id) | issues_unlink: Unlink issue from a run"
|
|
488
|
+
},
|
|
489
|
+
"run_id": {
|
|
490
|
+
"type": "string",
|
|
491
|
+
"description": "(get|update|delete|stats|issues_list|issues_link)"
|
|
492
|
+
},
|
|
493
|
+
"dimension": {
|
|
494
|
+
"type": "string",
|
|
495
|
+
"enum": [
|
|
496
|
+
"suites",
|
|
497
|
+
"tags",
|
|
498
|
+
"labels",
|
|
499
|
+
"assignees",
|
|
500
|
+
"priorities"
|
|
501
|
+
],
|
|
502
|
+
"description": "(stats)"
|
|
503
|
+
},
|
|
504
|
+
"sort_field": {
|
|
505
|
+
"type": "string",
|
|
506
|
+
"description": "(stats) Column to sort by, e.g. failed_count."
|
|
507
|
+
},
|
|
508
|
+
"sort_direction": {
|
|
509
|
+
"type": "string",
|
|
510
|
+
"enum": [
|
|
511
|
+
"asc",
|
|
512
|
+
"desc"
|
|
513
|
+
],
|
|
514
|
+
"description": "(stats)"
|
|
515
|
+
},
|
|
685
516
|
"title": {
|
|
686
|
-
"type": "string"
|
|
517
|
+
"type": "string",
|
|
518
|
+
"description": "(create|update)"
|
|
687
519
|
},
|
|
688
520
|
"description": {
|
|
689
|
-
"type": "string"
|
|
521
|
+
"type": "string",
|
|
522
|
+
"description": "(create|update)"
|
|
690
523
|
},
|
|
691
524
|
"plan_ids": {
|
|
692
525
|
"type": "array",
|
|
693
526
|
"items": {
|
|
694
527
|
"type": "string"
|
|
695
|
-
}
|
|
528
|
+
},
|
|
529
|
+
"description": "(create)"
|
|
696
530
|
},
|
|
697
531
|
"kind": {
|
|
698
532
|
"type": "string",
|
|
@@ -700,16 +534,32 @@
|
|
|
700
534
|
"manual",
|
|
701
535
|
"automated",
|
|
702
536
|
"mixed"
|
|
703
|
-
]
|
|
537
|
+
],
|
|
538
|
+
"description": "(create|update)"
|
|
704
539
|
},
|
|
705
540
|
"rungroup_id": {
|
|
706
|
-
"type": "string"
|
|
541
|
+
"type": "string",
|
|
542
|
+
"description": "(create|update)"
|
|
707
543
|
},
|
|
708
544
|
"env": {
|
|
709
|
-
"type": "string"
|
|
545
|
+
"type": "string",
|
|
546
|
+
"description": "(create|update)"
|
|
547
|
+
},
|
|
548
|
+
"status_event": {
|
|
549
|
+
"type": "string",
|
|
550
|
+
"enum": [
|
|
551
|
+
"finish",
|
|
552
|
+
"finish_manual",
|
|
553
|
+
"launch",
|
|
554
|
+
"rerun",
|
|
555
|
+
"scheduled",
|
|
556
|
+
"terminate"
|
|
557
|
+
],
|
|
558
|
+
"description": "(update)"
|
|
710
559
|
},
|
|
711
560
|
"assigned_to": {
|
|
712
|
-
"type": "string"
|
|
561
|
+
"type": "string",
|
|
562
|
+
"description": "(create|update)"
|
|
713
563
|
},
|
|
714
564
|
"assign_strategy": {
|
|
715
565
|
"type": "string",
|
|
@@ -717,25 +567,29 @@
|
|
|
717
567
|
"test",
|
|
718
568
|
"random",
|
|
719
569
|
"none"
|
|
720
|
-
]
|
|
570
|
+
],
|
|
571
|
+
"description": "(create|update)"
|
|
721
572
|
},
|
|
722
573
|
"test_ids": {
|
|
723
574
|
"type": "array",
|
|
724
575
|
"items": {
|
|
725
576
|
"type": "string"
|
|
726
|
-
}
|
|
577
|
+
},
|
|
578
|
+
"description": "(create|update)"
|
|
727
579
|
},
|
|
728
580
|
"suite_ids": {
|
|
729
581
|
"type": "array",
|
|
730
582
|
"items": {
|
|
731
583
|
"type": "string"
|
|
732
|
-
}
|
|
584
|
+
},
|
|
585
|
+
"description": "(create|update)"
|
|
733
586
|
},
|
|
734
587
|
"envs": {
|
|
735
588
|
"type": "array",
|
|
736
589
|
"items": {
|
|
737
590
|
"type": "string"
|
|
738
|
-
}
|
|
591
|
+
},
|
|
592
|
+
"description": "(create)"
|
|
739
593
|
},
|
|
740
594
|
"link": {
|
|
741
595
|
"type": "array",
|
|
@@ -770,250 +624,113 @@
|
|
|
770
624
|
"value"
|
|
771
625
|
],
|
|
772
626
|
"additionalProperties": false
|
|
773
|
-
}
|
|
774
|
-
|
|
775
|
-
},
|
|
776
|
-
"required": [
|
|
777
|
-
"title"
|
|
778
|
-
],
|
|
779
|
-
"additionalProperties": false
|
|
780
|
-
}
|
|
781
|
-
},
|
|
782
|
-
{
|
|
783
|
-
"name": "runs_update",
|
|
784
|
-
"description": "Update run (/api/v2/{project_id}/runs/{id})",
|
|
785
|
-
"inputSchema": {
|
|
786
|
-
"type": "object",
|
|
787
|
-
"properties": {
|
|
788
|
-
"run_id": {
|
|
789
|
-
"type": "string"
|
|
627
|
+
},
|
|
628
|
+
"description": "(create|update)"
|
|
790
629
|
},
|
|
791
|
-
"
|
|
792
|
-
"type": "string"
|
|
630
|
+
"tql": {
|
|
631
|
+
"type": "string",
|
|
632
|
+
"description": "(list) TQL filter for runs. Fields: title, plan, rungroup, env, tag, label, jira, duration, passed_count, failed_count, skipped_count, automated, manual, mixed, finished, unfinished, passed, failed, terminated, published, private, archived, unarchived, with_defect, has_defect, has_test, has_test_tag, has_test_label, has_suite, has_message, has_custom_status, has_assigned_to, has_retries, has_test_duration, has_priority, created_at, updated_at, launched_at, finished_at, milestone. Call `tql_help` for syntax. Examples: `finished and with_defect`, `env in ['Windows', 'Linux']`, `has_retries > 2`."
|
|
793
633
|
},
|
|
794
|
-
"
|
|
795
|
-
"type": "string"
|
|
634
|
+
"branch": {
|
|
635
|
+
"type": "string",
|
|
636
|
+
"description": "(list|get|create|update|delete) Branch slug to scope the request to (omit or main for the main branch). For tests and suites, a branch-local record is used when it exists, falling back to main; updating/deleting a main-only record forks an isolated copy into the branch. Runs are tagged with the branch (only reachable with the same branch afterwards). Requires the branches feature."
|
|
796
637
|
},
|
|
797
|
-
"kind": {
|
|
798
|
-
"type": "string",
|
|
799
|
-
"enum": [
|
|
800
|
-
"manual",
|
|
801
|
-
"automated",
|
|
802
|
-
"mixed"
|
|
803
|
-
]
|
|
804
|
-
},
|
|
805
|
-
"rungroup_id": {
|
|
806
|
-
"type": "string"
|
|
807
|
-
},
|
|
808
|
-
"env": {
|
|
809
|
-
"type": "string"
|
|
810
|
-
},
|
|
811
|
-
"status_event": {
|
|
812
|
-
"type": "string",
|
|
813
|
-
"enum": [
|
|
814
|
-
"finish",
|
|
815
|
-
"finish_manual",
|
|
816
|
-
"launch",
|
|
817
|
-
"rerun",
|
|
818
|
-
"scheduled",
|
|
819
|
-
"terminate"
|
|
820
|
-
]
|
|
821
|
-
},
|
|
822
|
-
"assigned_to": {
|
|
823
|
-
"type": "string"
|
|
824
|
-
},
|
|
825
|
-
"assign_strategy": {
|
|
826
|
-
"type": "string",
|
|
827
|
-
"enum": [
|
|
828
|
-
"test",
|
|
829
|
-
"random",
|
|
830
|
-
"none"
|
|
831
|
-
]
|
|
832
|
-
},
|
|
833
|
-
"test_ids": {
|
|
834
|
-
"type": "array",
|
|
835
|
-
"items": {
|
|
836
|
-
"type": "string"
|
|
837
|
-
}
|
|
838
|
-
},
|
|
839
|
-
"suite_ids": {
|
|
840
|
-
"type": "array",
|
|
841
|
-
"items": {
|
|
842
|
-
"type": "string"
|
|
843
|
-
}
|
|
844
|
-
},
|
|
845
|
-
"link": {
|
|
846
|
-
"type": "array",
|
|
847
|
-
"items": {
|
|
848
|
-
"type": "object",
|
|
849
|
-
"properties": {
|
|
850
|
-
"action": {
|
|
851
|
-
"type": "string",
|
|
852
|
-
"enum": [
|
|
853
|
-
"add",
|
|
854
|
-
"remove"
|
|
855
|
-
]
|
|
856
|
-
},
|
|
857
|
-
"type": {
|
|
858
|
-
"type": "string",
|
|
859
|
-
"enum": [
|
|
860
|
-
"label",
|
|
861
|
-
"custom_field",
|
|
862
|
-
"tag",
|
|
863
|
-
"milestone",
|
|
864
|
-
"issue",
|
|
865
|
-
"jira"
|
|
866
|
-
]
|
|
867
|
-
},
|
|
868
|
-
"value": {
|
|
869
|
-
"type": "string"
|
|
870
|
-
}
|
|
871
|
-
},
|
|
872
|
-
"required": [
|
|
873
|
-
"action",
|
|
874
|
-
"type",
|
|
875
|
-
"value"
|
|
876
|
-
],
|
|
877
|
-
"additionalProperties": false
|
|
878
|
-
}
|
|
879
|
-
}
|
|
880
|
-
},
|
|
881
|
-
"required": [
|
|
882
|
-
"run_id"
|
|
883
|
-
],
|
|
884
|
-
"additionalProperties": false
|
|
885
|
-
}
|
|
886
|
-
},
|
|
887
|
-
{
|
|
888
|
-
"name": "runs_delete",
|
|
889
|
-
"description": "Delete run (/api/v2/{project_id}/runs/{id})",
|
|
890
|
-
"inputSchema": {
|
|
891
|
-
"type": "object",
|
|
892
|
-
"properties": {
|
|
893
|
-
"run_id": {
|
|
894
|
-
"type": "string"
|
|
895
|
-
}
|
|
896
|
-
},
|
|
897
|
-
"required": [
|
|
898
|
-
"run_id"
|
|
899
|
-
],
|
|
900
|
-
"additionalProperties": false
|
|
901
|
-
}
|
|
902
|
-
},
|
|
903
|
-
{
|
|
904
|
-
"name": "runs_search",
|
|
905
|
-
"description": "Search runs using TQL (delegates to runs_list). TQL (Testomat.io Query Language) is a string expression passed in `tql` to filter runs. Supported syntax includes logical operators `and`, `or`, `not`, equality operators `==` and `!=`, list membership `in [...]`, `%` for partial text match on supported text fields, and parentheses for grouping. Ordered comparisons `>`, `<`, `>=`, `<=` are for ordered fields such as `priority`, dates, and numeric counters/durations. Use quotes for string values, for example `state == 'automated'`. Runs also support boolean flags without comparison such as `failed`, `finished`, `automated`, or `with_defect`. Documented run variables: `title`, `plan`, `rungroup`, `env`, `tag`, `label`, `jira`, `duration`, `passed_count`, `failed_count`, `skipped_count`, `automated`, `manual`, `mixed`, `finished`, `unfinished`, `passed`, `failed`, `terminated`, `published`, `private`, `archived`, `unarchived`, `with_defect`, `has_defect`, `has_test`, `has_test_tag`, `has_test_label`, `has_suite`, `has_message`, `has_custom_status`, `has_assigned_to`, `has_retries`, `has_test_duration`, `has_priority`, `created_at`, `updated_at`, `launched_at`, `finished_at`, `milestone`. Documented examples: `title % 'Manual tests'`, `plan == '{PLAN_ID}'`, `env in ['Windows', 'Linux']`, `failed and has_test_tag == 'regression'`, `finished and with_defect`, `has_retries > 2`, `automated and env == 'Production' and has_message % 'Server Error'`, `finished_at >= '2025-07-01' and finished_at <= '2025-07-31' and failed`. Do not invent undocumented fields or syntax. If a query fails, simplify it to one documented predicate.",
|
|
906
|
-
"inputSchema": {
|
|
907
|
-
"type": "object",
|
|
908
|
-
"properties": {
|
|
909
638
|
"page": {
|
|
910
|
-
"type": "integer",
|
|
911
|
-
"minimum": 1
|
|
912
|
-
},
|
|
913
|
-
"per_page": {
|
|
914
639
|
"type": "integer",
|
|
915
640
|
"minimum": 1,
|
|
916
|
-
"
|
|
917
|
-
},
|
|
918
|
-
"tql": {
|
|
919
|
-
"type": "string",
|
|
920
|
-
"description": "TQL filter for runs. Documented variables: `title`, `plan`, `rungroup`, `env`, `tag`, `label`, `jira`, `duration`, `passed_count`, `failed_count`, `skipped_count`, `automated`, `manual`, `mixed`, `finished`, `unfinished`, `passed`, `failed`, `terminated`, `published`, `private`, `archived`, `unarchived`, `with_defect`, `has_defect`, `has_test`, `has_test_tag`, `has_test_label`, `has_suite`, `has_message`, `has_custom_status`, `has_assigned_to`, `has_retries`, `has_test_duration`, `has_priority`, `created_at`, `updated_at`, `launched_at`, `finished_at`, `milestone`. Examples: `title % 'Manual tests'`, `plan == '{PLAN_ID}'`, `env in ['Windows', 'Linux']`, `failed and has_test_tag == 'regression'`, `finished and with_defect`, `has_retries > 2`, `automated and env == 'Production' and has_message % 'Server Error'`, `finished_at >= '2025-07-01' and finished_at <= '2025-07-31' and failed`."
|
|
921
|
-
}
|
|
922
|
-
},
|
|
923
|
-
"additionalProperties": false
|
|
924
|
-
}
|
|
925
|
-
},
|
|
926
|
-
{
|
|
927
|
-
"name": "runs_issues_list",
|
|
928
|
-
"description": "List linked issues for a run (/api/v2/{project_id}/issues?run_id=...)",
|
|
929
|
-
"inputSchema": {
|
|
930
|
-
"type": "object",
|
|
931
|
-
"properties": {
|
|
932
|
-
"run_id": {
|
|
933
|
-
"type": "string"
|
|
934
|
-
},
|
|
935
|
-
"page": {
|
|
936
|
-
"type": "integer",
|
|
937
|
-
"minimum": 1
|
|
641
|
+
"description": "(list|issues_list|stats)"
|
|
938
642
|
},
|
|
939
643
|
"per_page": {
|
|
940
644
|
"type": "integer",
|
|
941
645
|
"minimum": 1,
|
|
942
|
-
"maximum": 100
|
|
646
|
+
"maximum": 100,
|
|
647
|
+
"description": "(list|issues_list)"
|
|
943
648
|
},
|
|
944
649
|
"source": {
|
|
945
|
-
"type": "string"
|
|
946
|
-
|
|
947
|
-
},
|
|
948
|
-
"required": [
|
|
949
|
-
"run_id"
|
|
950
|
-
],
|
|
951
|
-
"additionalProperties": false
|
|
952
|
-
}
|
|
953
|
-
},
|
|
954
|
-
{
|
|
955
|
-
"name": "runs_issues_link",
|
|
956
|
-
"description": "Link issue to a run (/api/v2/{project_id}/issues)",
|
|
957
|
-
"inputSchema": {
|
|
958
|
-
"type": "object",
|
|
959
|
-
"properties": {
|
|
960
|
-
"run_id": {
|
|
961
|
-
"type": "string"
|
|
650
|
+
"type": "string",
|
|
651
|
+
"description": "(issues_list) Filter issues by source (e.g. jira)"
|
|
962
652
|
},
|
|
963
653
|
"url": {
|
|
964
|
-
"type": "string"
|
|
654
|
+
"type": "string",
|
|
655
|
+
"description": "(issues_link) Issue URL to link"
|
|
965
656
|
},
|
|
966
657
|
"jira_id": {
|
|
967
|
-
"type": "string"
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
"required": [
|
|
971
|
-
"run_id"
|
|
972
|
-
],
|
|
973
|
-
"additionalProperties": false
|
|
974
|
-
}
|
|
975
|
-
},
|
|
976
|
-
{
|
|
977
|
-
"name": "runs_issues_unlink",
|
|
978
|
-
"description": "Unlink issue from a run (/api/v2/{project_id}/issues/{id})",
|
|
979
|
-
"inputSchema": {
|
|
980
|
-
"type": "object",
|
|
981
|
-
"properties": {
|
|
658
|
+
"type": "string",
|
|
659
|
+
"description": "(issues_link) Jira issue key to link (alternative to url)"
|
|
660
|
+
},
|
|
982
661
|
"issue_id": {
|
|
983
|
-
"type": "integer"
|
|
662
|
+
"type": "integer",
|
|
663
|
+
"description": "(issues_unlink) ID of the linked issue to remove"
|
|
984
664
|
},
|
|
985
665
|
"type": {
|
|
986
666
|
"type": "string",
|
|
987
667
|
"enum": [
|
|
988
668
|
"issue",
|
|
989
669
|
"jira_issue"
|
|
990
|
-
]
|
|
670
|
+
],
|
|
671
|
+
"description": "(issues_unlink) Kind of the linked issue"
|
|
672
|
+
},
|
|
673
|
+
"verbose": {
|
|
674
|
+
"type": "boolean",
|
|
675
|
+
"default": false,
|
|
676
|
+
"description": "(issues_list) Return full response bodies. Default strips entity-specific heavy fields and null values; set true when you need those."
|
|
677
|
+
},
|
|
678
|
+
"fields": {
|
|
679
|
+
"type": "array",
|
|
680
|
+
"items": {
|
|
681
|
+
"type": "string"
|
|
682
|
+
},
|
|
683
|
+
"description": "(issues_list) Fields to keep per item (e.g. [\"id\",\"title\",\"status\",\"message\"]). Ignored when verbose is true."
|
|
684
|
+
},
|
|
685
|
+
"count": {
|
|
686
|
+
"type": "boolean",
|
|
687
|
+
"description": "(list) Return only metadata with total counts instead of the entity list. Pair with group_by for an aggregated breakdown."
|
|
688
|
+
},
|
|
689
|
+
"group_by": {
|
|
690
|
+
"type": "string",
|
|
691
|
+
"description": "(list) Aggregate counts by this field, e.g. status, state, priority, created_by (use with count=true). The backend validates supported fields per resource. For created_by, counts are keyed by user email, not ID."
|
|
991
692
|
}
|
|
992
693
|
},
|
|
993
694
|
"required": [
|
|
994
|
-
"
|
|
995
|
-
"type"
|
|
695
|
+
"command"
|
|
996
696
|
],
|
|
997
697
|
"additionalProperties": false
|
|
998
698
|
}
|
|
999
699
|
},
|
|
1000
700
|
{
|
|
1001
|
-
"name": "
|
|
1002
|
-
"description": "
|
|
701
|
+
"name": "testruns",
|
|
702
|
+
"description": "Manage individual test runs (/api/v2/{project_id}/testruns) CLI-style: pass \"command\" plus the params it needs; each param description lists the commands it applies to.",
|
|
1003
703
|
"inputSchema": {
|
|
1004
704
|
"type": "object",
|
|
1005
705
|
"properties": {
|
|
1006
|
-
"
|
|
1007
|
-
"type": "
|
|
1008
|
-
"
|
|
706
|
+
"command": {
|
|
707
|
+
"type": "string",
|
|
708
|
+
"enum": [
|
|
709
|
+
"list",
|
|
710
|
+
"get",
|
|
711
|
+
"create",
|
|
712
|
+
"update",
|
|
713
|
+
"delete",
|
|
714
|
+
"issues_list",
|
|
715
|
+
"issues_link",
|
|
716
|
+
"issues_unlink",
|
|
717
|
+
"attachments_list",
|
|
718
|
+
"attachments_upload",
|
|
719
|
+
"attachments_delete"
|
|
720
|
+
],
|
|
721
|
+
"description": "CLI-style operation to perform. list: List testruns (rich filters: filter_status, filter_kind, tags, labels, envs, rungroups, defects, ...) | get: Get testrun by ID | create: Create testrun in a run (run_id required) | update: Update testrun by ID | delete: Delete testrun by ID | issues_list: List linked issues for a testrun | issues_link: Link issue to a testrun (url or jira_id) | issues_unlink: Unlink issue from a testrun | attachments_list: List attachments for a testrun | attachments_upload: Upload one attachment to a testrun | attachments_delete: Delete attachment from a testrun"
|
|
1009
722
|
},
|
|
1010
|
-
"
|
|
723
|
+
"testrun_id": {
|
|
1011
724
|
"type": "integer",
|
|
1012
|
-
"
|
|
1013
|
-
"maximum": 100
|
|
725
|
+
"description": "(get|update|delete|issues_list|issues_link|attachments_list|attachments_upload|attachments_delete)"
|
|
1014
726
|
},
|
|
1015
727
|
"run_id": {
|
|
1016
|
-
"type": "string"
|
|
728
|
+
"type": "string",
|
|
729
|
+
"description": "(list|create|update) list: filter by run; create/update: the run the testrun belongs to"
|
|
730
|
+
},
|
|
731
|
+
"test_id": {
|
|
732
|
+
"type": "string",
|
|
733
|
+
"description": "(create|update)"
|
|
1017
734
|
},
|
|
1018
735
|
"test_ids": {
|
|
1019
736
|
"type": [
|
|
@@ -1022,7 +739,56 @@
|
|
|
1022
739
|
],
|
|
1023
740
|
"items": {
|
|
1024
741
|
"type": "string"
|
|
1025
|
-
}
|
|
742
|
+
},
|
|
743
|
+
"description": "(list)"
|
|
744
|
+
},
|
|
745
|
+
"sort": {
|
|
746
|
+
"type": "string",
|
|
747
|
+
"enum": [
|
|
748
|
+
"created_at",
|
|
749
|
+
"suite",
|
|
750
|
+
"testcase",
|
|
751
|
+
"failure"
|
|
752
|
+
],
|
|
753
|
+
"description": "(list) Sort field. Default order is oldest-first — use created_at with order=desc to get the most recent executions first."
|
|
754
|
+
},
|
|
755
|
+
"order": {
|
|
756
|
+
"type": "string",
|
|
757
|
+
"enum": [
|
|
758
|
+
"asc",
|
|
759
|
+
"desc"
|
|
760
|
+
],
|
|
761
|
+
"description": "(list) Sort direction. Defaults to asc."
|
|
762
|
+
},
|
|
763
|
+
"status": {
|
|
764
|
+
"type": "string",
|
|
765
|
+
"enum": [
|
|
766
|
+
"passed",
|
|
767
|
+
"failed",
|
|
768
|
+
"skipped",
|
|
769
|
+
"pending"
|
|
770
|
+
],
|
|
771
|
+
"description": "(create|update)"
|
|
772
|
+
},
|
|
773
|
+
"message": {
|
|
774
|
+
"type": "string",
|
|
775
|
+
"description": "(create|update)"
|
|
776
|
+
},
|
|
777
|
+
"run_time": {
|
|
778
|
+
"type": "number",
|
|
779
|
+
"description": "(create|update)"
|
|
780
|
+
},
|
|
781
|
+
"assigned_to": {
|
|
782
|
+
"type": "string",
|
|
783
|
+
"description": "(create|update)"
|
|
784
|
+
},
|
|
785
|
+
"test_title": {
|
|
786
|
+
"type": "string",
|
|
787
|
+
"description": "(create|update)"
|
|
788
|
+
},
|
|
789
|
+
"automated": {
|
|
790
|
+
"type": "boolean",
|
|
791
|
+
"description": "(create|update)"
|
|
1026
792
|
},
|
|
1027
793
|
"filter_status": {
|
|
1028
794
|
"type": "string",
|
|
@@ -1031,20 +797,23 @@
|
|
|
1031
797
|
"failed",
|
|
1032
798
|
"skipped",
|
|
1033
799
|
"pending"
|
|
1034
|
-
]
|
|
800
|
+
],
|
|
801
|
+
"description": "(list)"
|
|
1035
802
|
},
|
|
1036
803
|
"filter_kind": {
|
|
1037
804
|
"type": "string",
|
|
1038
805
|
"enum": [
|
|
1039
806
|
"manual",
|
|
1040
807
|
"automated"
|
|
1041
|
-
]
|
|
808
|
+
],
|
|
809
|
+
"description": "(list)"
|
|
1042
810
|
},
|
|
1043
811
|
"filter_user": {
|
|
1044
812
|
"type": [
|
|
1045
813
|
"integer",
|
|
1046
814
|
"string"
|
|
1047
|
-
]
|
|
815
|
+
],
|
|
816
|
+
"description": "(list)"
|
|
1048
817
|
},
|
|
1049
818
|
"filter_priority": {
|
|
1050
819
|
"type": "string",
|
|
@@ -1054,22 +823,28 @@
|
|
|
1054
823
|
"important",
|
|
1055
824
|
"high",
|
|
1056
825
|
"critical"
|
|
1057
|
-
]
|
|
826
|
+
],
|
|
827
|
+
"description": "(list)"
|
|
1058
828
|
},
|
|
1059
829
|
"filter_substatus": {
|
|
1060
|
-
"type": "string"
|
|
830
|
+
"type": "string",
|
|
831
|
+
"description": "(list)"
|
|
1061
832
|
},
|
|
1062
833
|
"filter_search": {
|
|
1063
|
-
"type": "string"
|
|
834
|
+
"type": "string",
|
|
835
|
+
"description": "(list)"
|
|
1064
836
|
},
|
|
1065
837
|
"filter_message": {
|
|
1066
|
-
"type": "boolean"
|
|
838
|
+
"type": "boolean",
|
|
839
|
+
"description": "(list)"
|
|
1067
840
|
},
|
|
1068
841
|
"filter_link": {
|
|
1069
|
-
"type": "boolean"
|
|
842
|
+
"type": "boolean",
|
|
843
|
+
"description": "(list)"
|
|
1070
844
|
},
|
|
1071
845
|
"filter_finished_at_date_range": {
|
|
1072
|
-
"type": "string"
|
|
846
|
+
"type": "string",
|
|
847
|
+
"description": "(list)"
|
|
1073
848
|
},
|
|
1074
849
|
"tags": {
|
|
1075
850
|
"type": [
|
|
@@ -1078,7 +853,8 @@
|
|
|
1078
853
|
],
|
|
1079
854
|
"items": {
|
|
1080
855
|
"type": "string"
|
|
1081
|
-
}
|
|
856
|
+
},
|
|
857
|
+
"description": "(list)"
|
|
1082
858
|
},
|
|
1083
859
|
"labels": {
|
|
1084
860
|
"type": [
|
|
@@ -1087,7 +863,8 @@
|
|
|
1087
863
|
],
|
|
1088
864
|
"items": {
|
|
1089
865
|
"type": "string"
|
|
1090
|
-
}
|
|
866
|
+
},
|
|
867
|
+
"description": "(list)"
|
|
1091
868
|
},
|
|
1092
869
|
"envs": {
|
|
1093
870
|
"type": [
|
|
@@ -1096,7 +873,8 @@
|
|
|
1096
873
|
],
|
|
1097
874
|
"items": {
|
|
1098
875
|
"type": "string"
|
|
1099
|
-
}
|
|
876
|
+
},
|
|
877
|
+
"description": "(list)"
|
|
1100
878
|
},
|
|
1101
879
|
"rungroups": {
|
|
1102
880
|
"type": [
|
|
@@ -1105,556 +883,207 @@
|
|
|
1105
883
|
],
|
|
1106
884
|
"items": {
|
|
1107
885
|
"type": "string"
|
|
1108
|
-
}
|
|
886
|
+
},
|
|
887
|
+
"description": "(list)"
|
|
1109
888
|
},
|
|
1110
889
|
"defects": {
|
|
1111
890
|
"type": "string",
|
|
1112
891
|
"enum": [
|
|
1113
892
|
"has_defects",
|
|
1114
893
|
"without_defects"
|
|
1115
|
-
]
|
|
894
|
+
],
|
|
895
|
+
"description": "(list)"
|
|
896
|
+
},
|
|
897
|
+
"page": {
|
|
898
|
+
"type": "integer",
|
|
899
|
+
"minimum": 1,
|
|
900
|
+
"description": "(list|issues_list)"
|
|
901
|
+
},
|
|
902
|
+
"per_page": {
|
|
903
|
+
"type": "integer",
|
|
904
|
+
"minimum": 1,
|
|
905
|
+
"maximum": 100,
|
|
906
|
+
"description": "(list|issues_list)"
|
|
907
|
+
},
|
|
908
|
+
"source": {
|
|
909
|
+
"type": "string",
|
|
910
|
+
"description": "(issues_list) Filter issues by source (e.g. jira)"
|
|
911
|
+
},
|
|
912
|
+
"url": {
|
|
913
|
+
"type": "string",
|
|
914
|
+
"description": "(issues_link) Issue URL to link"
|
|
915
|
+
},
|
|
916
|
+
"jira_id": {
|
|
917
|
+
"type": "string",
|
|
918
|
+
"description": "(issues_link) Jira issue key to link (alternative to url)"
|
|
919
|
+
},
|
|
920
|
+
"issue_id": {
|
|
921
|
+
"type": "integer",
|
|
922
|
+
"description": "(issues_unlink) ID of the linked issue to remove"
|
|
923
|
+
},
|
|
924
|
+
"type": {
|
|
925
|
+
"type": "string",
|
|
926
|
+
"enum": [
|
|
927
|
+
"issue",
|
|
928
|
+
"jira_issue"
|
|
929
|
+
],
|
|
930
|
+
"description": "(issues_unlink) Kind of the linked issue"
|
|
931
|
+
},
|
|
932
|
+
"file_path": {
|
|
933
|
+
"type": "string",
|
|
934
|
+
"description": "(attachments_upload) Local path to the file that will be sent as multipart/form-data field \"files\"."
|
|
935
|
+
},
|
|
936
|
+
"attachment_id": {
|
|
937
|
+
"type": "string",
|
|
938
|
+
"description": "(attachments_delete) ID of the attachment to delete"
|
|
939
|
+
},
|
|
940
|
+
"verbose": {
|
|
941
|
+
"type": "boolean",
|
|
942
|
+
"default": false,
|
|
943
|
+
"description": "(attachments_list) Return full response bodies. Default strips entity-specific heavy fields and null values; set true when you need those."
|
|
944
|
+
},
|
|
945
|
+
"fields": {
|
|
946
|
+
"type": "array",
|
|
947
|
+
"items": {
|
|
948
|
+
"type": "string"
|
|
949
|
+
},
|
|
950
|
+
"description": "(attachments_list) Fields to keep per item (e.g. [\"id\",\"title\",\"status\",\"message\"]). Ignored when verbose is true."
|
|
951
|
+
},
|
|
952
|
+
"count": {
|
|
953
|
+
"type": "boolean",
|
|
954
|
+
"description": "(list) Return only metadata with total counts instead of the entity list. Pair with group_by for an aggregated breakdown."
|
|
955
|
+
},
|
|
956
|
+
"group_by": {
|
|
957
|
+
"type": "string",
|
|
958
|
+
"description": "(list) Aggregate counts by this field, e.g. status, state, priority, created_by (use with count=true). The backend validates supported fields per resource. For created_by, counts are keyed by user email, not ID."
|
|
1116
959
|
}
|
|
1117
960
|
},
|
|
961
|
+
"required": [
|
|
962
|
+
"command"
|
|
963
|
+
],
|
|
1118
964
|
"additionalProperties": false
|
|
1119
965
|
}
|
|
1120
966
|
},
|
|
1121
967
|
{
|
|
1122
|
-
"name": "
|
|
1123
|
-
"description": "
|
|
968
|
+
"name": "rungroups",
|
|
969
|
+
"description": "Manage run groups as tree (/api/v2/{project_id}/rungroups) CLI-style: pass \"command\" plus the params it needs; each param description lists the commands it applies to.",
|
|
1124
970
|
"inputSchema": {
|
|
1125
971
|
"type": "object",
|
|
1126
972
|
"properties": {
|
|
1127
|
-
"
|
|
1128
|
-
"type": "integer"
|
|
1129
|
-
}
|
|
1130
|
-
},
|
|
1131
|
-
"required": [
|
|
1132
|
-
"testrun_id"
|
|
1133
|
-
],
|
|
1134
|
-
"additionalProperties": false
|
|
1135
|
-
}
|
|
1136
|
-
},
|
|
1137
|
-
{
|
|
1138
|
-
"name": "testruns_create",
|
|
1139
|
-
"description": "Create testrun (/api/v2/{project_id}/testruns)",
|
|
1140
|
-
"inputSchema": {
|
|
1141
|
-
"type": "object",
|
|
1142
|
-
"properties": {
|
|
1143
|
-
"run_id": {
|
|
1144
|
-
"type": "string"
|
|
1145
|
-
},
|
|
1146
|
-
"test_id": {
|
|
1147
|
-
"type": "string"
|
|
1148
|
-
},
|
|
1149
|
-
"status": {
|
|
1150
|
-
"type": "string"
|
|
1151
|
-
},
|
|
1152
|
-
"message": {
|
|
1153
|
-
"type": "string"
|
|
1154
|
-
},
|
|
1155
|
-
"run_time": {
|
|
1156
|
-
"type": "number"
|
|
1157
|
-
},
|
|
1158
|
-
"assigned_to": {
|
|
1159
|
-
"type": "string"
|
|
1160
|
-
},
|
|
1161
|
-
"test_title": {
|
|
1162
|
-
"type": "string"
|
|
1163
|
-
},
|
|
1164
|
-
"automated": {
|
|
1165
|
-
"type": "boolean"
|
|
1166
|
-
}
|
|
1167
|
-
},
|
|
1168
|
-
"required": [
|
|
1169
|
-
"run_id"
|
|
1170
|
-
],
|
|
1171
|
-
"additionalProperties": false
|
|
1172
|
-
}
|
|
1173
|
-
},
|
|
1174
|
-
{
|
|
1175
|
-
"name": "testruns_update",
|
|
1176
|
-
"description": "Update testrun (/api/v2/{project_id}/testruns/{id})",
|
|
1177
|
-
"inputSchema": {
|
|
1178
|
-
"type": "object",
|
|
1179
|
-
"properties": {
|
|
1180
|
-
"testrun_id": {
|
|
1181
|
-
"type": "integer"
|
|
1182
|
-
},
|
|
1183
|
-
"run_id": {
|
|
1184
|
-
"type": "string"
|
|
1185
|
-
},
|
|
1186
|
-
"test_id": {
|
|
1187
|
-
"type": "string"
|
|
1188
|
-
},
|
|
1189
|
-
"status": {
|
|
1190
|
-
"type": "string"
|
|
1191
|
-
},
|
|
1192
|
-
"message": {
|
|
1193
|
-
"type": "string"
|
|
1194
|
-
},
|
|
1195
|
-
"run_time": {
|
|
1196
|
-
"type": "number"
|
|
1197
|
-
},
|
|
1198
|
-
"assigned_to": {
|
|
1199
|
-
"type": "string"
|
|
1200
|
-
},
|
|
1201
|
-
"test_title": {
|
|
1202
|
-
"type": "string"
|
|
1203
|
-
},
|
|
1204
|
-
"automated": {
|
|
1205
|
-
"type": "boolean"
|
|
1206
|
-
}
|
|
1207
|
-
},
|
|
1208
|
-
"required": [
|
|
1209
|
-
"testrun_id"
|
|
1210
|
-
],
|
|
1211
|
-
"additionalProperties": false
|
|
1212
|
-
}
|
|
1213
|
-
},
|
|
1214
|
-
{
|
|
1215
|
-
"name": "testruns_delete",
|
|
1216
|
-
"description": "Delete testrun (/api/v2/{project_id}/testruns/{id})",
|
|
1217
|
-
"inputSchema": {
|
|
1218
|
-
"type": "object",
|
|
1219
|
-
"properties": {
|
|
1220
|
-
"testrun_id": {
|
|
1221
|
-
"type": "integer"
|
|
1222
|
-
}
|
|
1223
|
-
},
|
|
1224
|
-
"required": [
|
|
1225
|
-
"testrun_id"
|
|
1226
|
-
],
|
|
1227
|
-
"additionalProperties": false
|
|
1228
|
-
}
|
|
1229
|
-
},
|
|
1230
|
-
{
|
|
1231
|
-
"name": "testruns_search",
|
|
1232
|
-
"description": "Search testruns (delegates to testruns list; docs has no dedicated search parameter)",
|
|
1233
|
-
"inputSchema": {
|
|
1234
|
-
"type": "object",
|
|
1235
|
-
"properties": {
|
|
1236
|
-
"run_id": {
|
|
1237
|
-
"type": "string"
|
|
1238
|
-
},
|
|
1239
|
-
"test_ids": {
|
|
1240
|
-
"type": [
|
|
1241
|
-
"array",
|
|
1242
|
-
"string"
|
|
1243
|
-
],
|
|
1244
|
-
"items": {
|
|
1245
|
-
"type": "string"
|
|
1246
|
-
}
|
|
1247
|
-
},
|
|
1248
|
-
"filter_status": {
|
|
1249
|
-
"type": "string",
|
|
1250
|
-
"enum": [
|
|
1251
|
-
"passed",
|
|
1252
|
-
"failed",
|
|
1253
|
-
"skipped",
|
|
1254
|
-
"pending"
|
|
1255
|
-
]
|
|
1256
|
-
},
|
|
1257
|
-
"filter_kind": {
|
|
973
|
+
"command": {
|
|
1258
974
|
"type": "string",
|
|
1259
975
|
"enum": [
|
|
1260
|
-
"
|
|
1261
|
-
"
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
"type": [
|
|
1266
|
-
"integer",
|
|
1267
|
-
"string"
|
|
1268
|
-
]
|
|
1269
|
-
},
|
|
1270
|
-
"filter_priority": {
|
|
1271
|
-
"type": "string",
|
|
1272
|
-
"enum": [
|
|
1273
|
-
"low",
|
|
1274
|
-
"normal",
|
|
1275
|
-
"important",
|
|
1276
|
-
"high",
|
|
1277
|
-
"critical"
|
|
1278
|
-
]
|
|
1279
|
-
},
|
|
1280
|
-
"filter_substatus": {
|
|
1281
|
-
"type": "string"
|
|
1282
|
-
},
|
|
1283
|
-
"filter_search": {
|
|
1284
|
-
"type": "string"
|
|
1285
|
-
},
|
|
1286
|
-
"page": {
|
|
1287
|
-
"type": "integer",
|
|
1288
|
-
"minimum": 1
|
|
1289
|
-
},
|
|
1290
|
-
"per_page": {
|
|
1291
|
-
"type": "integer",
|
|
1292
|
-
"minimum": 1,
|
|
1293
|
-
"maximum": 100
|
|
1294
|
-
},
|
|
1295
|
-
"filter_message": {
|
|
1296
|
-
"type": "boolean"
|
|
1297
|
-
},
|
|
1298
|
-
"filter_link": {
|
|
1299
|
-
"type": "boolean"
|
|
1300
|
-
},
|
|
1301
|
-
"filter_finished_at_date_range": {
|
|
1302
|
-
"type": "string"
|
|
1303
|
-
},
|
|
1304
|
-
"tags": {
|
|
1305
|
-
"type": [
|
|
1306
|
-
"array",
|
|
1307
|
-
"string"
|
|
1308
|
-
],
|
|
1309
|
-
"items": {
|
|
1310
|
-
"type": "string"
|
|
1311
|
-
}
|
|
1312
|
-
},
|
|
1313
|
-
"labels": {
|
|
1314
|
-
"type": [
|
|
1315
|
-
"array",
|
|
1316
|
-
"string"
|
|
1317
|
-
],
|
|
1318
|
-
"items": {
|
|
1319
|
-
"type": "string"
|
|
1320
|
-
}
|
|
1321
|
-
},
|
|
1322
|
-
"envs": {
|
|
1323
|
-
"type": [
|
|
1324
|
-
"array",
|
|
1325
|
-
"string"
|
|
976
|
+
"list",
|
|
977
|
+
"get",
|
|
978
|
+
"create",
|
|
979
|
+
"update",
|
|
980
|
+
"delete"
|
|
1326
981
|
],
|
|
1327
|
-
"
|
|
1328
|
-
"type": "string"
|
|
1329
|
-
}
|
|
982
|
+
"description": "CLI-style operation to perform. list: List run groups as tree | get: Get run group by ID | create: Create run group (title required) | update: Update run group by ID | delete: Delete run group by ID"
|
|
1330
983
|
},
|
|
1331
|
-
"
|
|
1332
|
-
"type": [
|
|
1333
|
-
"array",
|
|
1334
|
-
"string"
|
|
1335
|
-
],
|
|
1336
|
-
"items": {
|
|
1337
|
-
"type": "string"
|
|
1338
|
-
}
|
|
1339
|
-
},
|
|
1340
|
-
"defects": {
|
|
1341
|
-
"type": "string",
|
|
1342
|
-
"enum": [
|
|
1343
|
-
"has_defects",
|
|
1344
|
-
"without_defects"
|
|
1345
|
-
]
|
|
1346
|
-
}
|
|
1347
|
-
},
|
|
1348
|
-
"additionalProperties": false
|
|
1349
|
-
}
|
|
1350
|
-
},
|
|
1351
|
-
{
|
|
1352
|
-
"name": "testruns_issues_list",
|
|
1353
|
-
"description": "List linked issues for a testrun (/api/v2/{project_id}/issues?testrun_id=...)",
|
|
1354
|
-
"inputSchema": {
|
|
1355
|
-
"type": "object",
|
|
1356
|
-
"properties": {
|
|
1357
|
-
"testrun_id": {
|
|
1358
|
-
"type": "integer"
|
|
1359
|
-
},
|
|
1360
|
-
"page": {
|
|
1361
|
-
"type": "integer",
|
|
1362
|
-
"minimum": 1
|
|
1363
|
-
},
|
|
1364
|
-
"per_page": {
|
|
1365
|
-
"type": "integer",
|
|
1366
|
-
"minimum": 1,
|
|
1367
|
-
"maximum": 100
|
|
1368
|
-
},
|
|
1369
|
-
"source": {
|
|
1370
|
-
"type": "string"
|
|
1371
|
-
}
|
|
1372
|
-
},
|
|
1373
|
-
"required": [
|
|
1374
|
-
"testrun_id"
|
|
1375
|
-
],
|
|
1376
|
-
"additionalProperties": false
|
|
1377
|
-
}
|
|
1378
|
-
},
|
|
1379
|
-
{
|
|
1380
|
-
"name": "testruns_issues_link",
|
|
1381
|
-
"description": "Link issue to a testrun (/api/v2/{project_id}/issues)",
|
|
1382
|
-
"inputSchema": {
|
|
1383
|
-
"type": "object",
|
|
1384
|
-
"properties": {
|
|
1385
|
-
"testrun_id": {
|
|
1386
|
-
"type": "integer"
|
|
1387
|
-
},
|
|
1388
|
-
"url": {
|
|
1389
|
-
"type": "string"
|
|
1390
|
-
},
|
|
1391
|
-
"jira_id": {
|
|
1392
|
-
"type": "string"
|
|
1393
|
-
}
|
|
1394
|
-
},
|
|
1395
|
-
"required": [
|
|
1396
|
-
"testrun_id"
|
|
1397
|
-
],
|
|
1398
|
-
"additionalProperties": false
|
|
1399
|
-
}
|
|
1400
|
-
},
|
|
1401
|
-
{
|
|
1402
|
-
"name": "testruns_issues_unlink",
|
|
1403
|
-
"description": "Unlink issue from a testrun (/api/v2/{project_id}/issues/{id})",
|
|
1404
|
-
"inputSchema": {
|
|
1405
|
-
"type": "object",
|
|
1406
|
-
"properties": {
|
|
1407
|
-
"issue_id": {
|
|
1408
|
-
"type": "integer"
|
|
1409
|
-
},
|
|
1410
|
-
"type": {
|
|
984
|
+
"rungroup_id": {
|
|
1411
985
|
"type": "string",
|
|
1412
|
-
"
|
|
1413
|
-
"issue",
|
|
1414
|
-
"jira_issue"
|
|
1415
|
-
]
|
|
1416
|
-
}
|
|
1417
|
-
},
|
|
1418
|
-
"required": [
|
|
1419
|
-
"issue_id",
|
|
1420
|
-
"type"
|
|
1421
|
-
],
|
|
1422
|
-
"additionalProperties": false
|
|
1423
|
-
}
|
|
1424
|
-
},
|
|
1425
|
-
{
|
|
1426
|
-
"name": "rungroups_list",
|
|
1427
|
-
"description": "List run groups as tree (/api/v2/{project_id}/rungroups)",
|
|
1428
|
-
"inputSchema": {
|
|
1429
|
-
"type": "object",
|
|
1430
|
-
"properties": {
|
|
1431
|
-
"page": {
|
|
1432
|
-
"type": "integer",
|
|
1433
|
-
"minimum": 1
|
|
986
|
+
"description": "(get|update|delete)"
|
|
1434
987
|
},
|
|
1435
|
-
"per_page": {
|
|
1436
|
-
"type": "integer",
|
|
1437
|
-
"minimum": 1,
|
|
1438
|
-
"maximum": 100
|
|
1439
|
-
}
|
|
1440
|
-
},
|
|
1441
|
-
"additionalProperties": false
|
|
1442
|
-
}
|
|
1443
|
-
},
|
|
1444
|
-
{
|
|
1445
|
-
"name": "rungroups_get",
|
|
1446
|
-
"description": "Get run group by ID",
|
|
1447
|
-
"inputSchema": {
|
|
1448
|
-
"type": "object",
|
|
1449
|
-
"properties": {
|
|
1450
|
-
"rungroup_id": {
|
|
1451
|
-
"type": "string"
|
|
1452
|
-
}
|
|
1453
|
-
},
|
|
1454
|
-
"required": [
|
|
1455
|
-
"rungroup_id"
|
|
1456
|
-
],
|
|
1457
|
-
"additionalProperties": false
|
|
1458
|
-
}
|
|
1459
|
-
},
|
|
1460
|
-
{
|
|
1461
|
-
"name": "rungroups_create",
|
|
1462
|
-
"description": "Create run group (/api/v2/{project_id}/rungroups)",
|
|
1463
|
-
"inputSchema": {
|
|
1464
|
-
"type": "object",
|
|
1465
|
-
"properties": {
|
|
1466
988
|
"title": {
|
|
1467
|
-
"type": "string"
|
|
989
|
+
"type": "string",
|
|
990
|
+
"description": "(create|update)"
|
|
1468
991
|
},
|
|
1469
992
|
"description": {
|
|
1470
|
-
"type": "string"
|
|
993
|
+
"type": "string",
|
|
994
|
+
"description": "(create|update)"
|
|
1471
995
|
},
|
|
1472
996
|
"emoji": {
|
|
1473
|
-
"type": "string"
|
|
997
|
+
"type": "string",
|
|
998
|
+
"description": "(create|update)"
|
|
1474
999
|
},
|
|
1475
1000
|
"kind": {
|
|
1476
|
-
"type": "string"
|
|
1001
|
+
"type": "string",
|
|
1002
|
+
"description": "(create|update)"
|
|
1477
1003
|
},
|
|
1478
1004
|
"pin": {
|
|
1479
|
-
"type": "boolean"
|
|
1005
|
+
"type": "boolean",
|
|
1006
|
+
"description": "(create|update)"
|
|
1480
1007
|
},
|
|
1481
1008
|
"status": {
|
|
1482
|
-
"type": "string"
|
|
1009
|
+
"type": "string",
|
|
1010
|
+
"description": "(create|update)"
|
|
1483
1011
|
},
|
|
1484
1012
|
"parent_id": {
|
|
1485
|
-
"type": "string"
|
|
1013
|
+
"type": "string",
|
|
1014
|
+
"description": "(create|update)"
|
|
1486
1015
|
},
|
|
1487
1016
|
"children": {
|
|
1488
1017
|
"type": "array",
|
|
1489
|
-
"items": {}
|
|
1490
|
-
|
|
1491
|
-
},
|
|
1492
|
-
"required": [
|
|
1493
|
-
"title"
|
|
1494
|
-
],
|
|
1495
|
-
"additionalProperties": false
|
|
1496
|
-
}
|
|
1497
|
-
},
|
|
1498
|
-
{
|
|
1499
|
-
"name": "rungroups_update",
|
|
1500
|
-
"description": "Update run group (/api/v2/{project_id}/rungroups/{id})",
|
|
1501
|
-
"inputSchema": {
|
|
1502
|
-
"type": "object",
|
|
1503
|
-
"properties": {
|
|
1504
|
-
"rungroup_id": {
|
|
1505
|
-
"type": "string"
|
|
1506
|
-
},
|
|
1507
|
-
"title": {
|
|
1508
|
-
"type": "string"
|
|
1018
|
+
"items": {},
|
|
1019
|
+
"description": "(create|update)"
|
|
1509
1020
|
},
|
|
1510
|
-
"description": {
|
|
1511
|
-
"type": "string"
|
|
1512
|
-
},
|
|
1513
|
-
"emoji": {
|
|
1514
|
-
"type": "string"
|
|
1515
|
-
},
|
|
1516
|
-
"kind": {
|
|
1517
|
-
"type": "string"
|
|
1518
|
-
},
|
|
1519
|
-
"pin": {
|
|
1520
|
-
"type": "boolean"
|
|
1521
|
-
},
|
|
1522
|
-
"status": {
|
|
1523
|
-
"type": "string"
|
|
1524
|
-
},
|
|
1525
|
-
"parent_id": {
|
|
1526
|
-
"type": "string"
|
|
1527
|
-
},
|
|
1528
|
-
"children": {
|
|
1529
|
-
"type": "array",
|
|
1530
|
-
"items": {}
|
|
1531
|
-
}
|
|
1532
|
-
},
|
|
1533
|
-
"required": [
|
|
1534
|
-
"rungroup_id"
|
|
1535
|
-
],
|
|
1536
|
-
"additionalProperties": false
|
|
1537
|
-
}
|
|
1538
|
-
},
|
|
1539
|
-
{
|
|
1540
|
-
"name": "rungroups_delete",
|
|
1541
|
-
"description": "Delete run group (/api/v2/{project_id}/rungroups/{id})",
|
|
1542
|
-
"inputSchema": {
|
|
1543
|
-
"type": "object",
|
|
1544
|
-
"properties": {
|
|
1545
|
-
"rungroup_id": {
|
|
1546
|
-
"type": "string"
|
|
1547
|
-
}
|
|
1548
|
-
},
|
|
1549
|
-
"required": [
|
|
1550
|
-
"rungroup_id"
|
|
1551
|
-
],
|
|
1552
|
-
"additionalProperties": false
|
|
1553
|
-
}
|
|
1554
|
-
},
|
|
1555
|
-
{
|
|
1556
|
-
"name": "steps_list",
|
|
1557
|
-
"description": "List steps (/api/v2/{project_id}/steps)",
|
|
1558
|
-
"inputSchema": {
|
|
1559
|
-
"type": "object",
|
|
1560
|
-
"properties": {
|
|
1561
1021
|
"page": {
|
|
1562
1022
|
"type": "integer",
|
|
1563
|
-
"minimum": 1
|
|
1023
|
+
"minimum": 1,
|
|
1024
|
+
"description": "(list)"
|
|
1564
1025
|
},
|
|
1565
1026
|
"per_page": {
|
|
1566
1027
|
"type": "integer",
|
|
1567
1028
|
"minimum": 1,
|
|
1568
|
-
"maximum": 100
|
|
1569
|
-
|
|
1570
|
-
},
|
|
1571
|
-
"additionalProperties": false
|
|
1572
|
-
}
|
|
1573
|
-
},
|
|
1574
|
-
{
|
|
1575
|
-
"name": "steps_get",
|
|
1576
|
-
"description": "Get step by ID",
|
|
1577
|
-
"inputSchema": {
|
|
1578
|
-
"type": "object",
|
|
1579
|
-
"properties": {
|
|
1580
|
-
"step_id": {
|
|
1581
|
-
"type": "integer"
|
|
1582
|
-
}
|
|
1583
|
-
},
|
|
1584
|
-
"required": [
|
|
1585
|
-
"step_id"
|
|
1586
|
-
],
|
|
1587
|
-
"additionalProperties": false
|
|
1588
|
-
}
|
|
1589
|
-
},
|
|
1590
|
-
{
|
|
1591
|
-
"name": "steps_create",
|
|
1592
|
-
"description": "Create step (/api/v2/{project_id}/steps)",
|
|
1593
|
-
"inputSchema": {
|
|
1594
|
-
"type": "object",
|
|
1595
|
-
"properties": {
|
|
1596
|
-
"title": {
|
|
1597
|
-
"type": "string"
|
|
1029
|
+
"maximum": 100,
|
|
1030
|
+
"description": "(list)"
|
|
1598
1031
|
},
|
|
1599
|
-
"
|
|
1600
|
-
"type": "
|
|
1032
|
+
"verbose": {
|
|
1033
|
+
"type": "boolean",
|
|
1034
|
+
"default": false,
|
|
1035
|
+
"description": "(list) Return full response bodies. Default strips entity-specific heavy fields and null values; set true when you need those."
|
|
1601
1036
|
},
|
|
1602
|
-
"
|
|
1037
|
+
"fields": {
|
|
1603
1038
|
"type": "array",
|
|
1604
1039
|
"items": {
|
|
1605
|
-
"type": "
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
"enum": [
|
|
1617
|
-
"label",
|
|
1618
|
-
"custom_field",
|
|
1619
|
-
"tag",
|
|
1620
|
-
"milestone",
|
|
1621
|
-
"issue",
|
|
1622
|
-
"jira"
|
|
1623
|
-
]
|
|
1624
|
-
},
|
|
1625
|
-
"value": {
|
|
1626
|
-
"type": "string"
|
|
1627
|
-
}
|
|
1628
|
-
},
|
|
1629
|
-
"required": [
|
|
1630
|
-
"action",
|
|
1631
|
-
"type",
|
|
1632
|
-
"value"
|
|
1633
|
-
],
|
|
1634
|
-
"additionalProperties": false
|
|
1635
|
-
}
|
|
1040
|
+
"type": "string"
|
|
1041
|
+
},
|
|
1042
|
+
"description": "(list) Fields to keep per item (e.g. [\"id\",\"title\",\"status\",\"message\"]). Ignored when verbose is true."
|
|
1043
|
+
},
|
|
1044
|
+
"count": {
|
|
1045
|
+
"type": "boolean",
|
|
1046
|
+
"description": "(list) Return only metadata with total counts instead of the entity list. Pair with group_by for an aggregated breakdown."
|
|
1047
|
+
},
|
|
1048
|
+
"group_by": {
|
|
1049
|
+
"type": "string",
|
|
1050
|
+
"description": "(list) Aggregate counts by this field, e.g. status, state, priority, created_by (use with count=true). The backend validates supported fields per resource. For created_by, counts are keyed by user email, not ID."
|
|
1636
1051
|
}
|
|
1637
1052
|
},
|
|
1638
1053
|
"required": [
|
|
1639
|
-
"
|
|
1054
|
+
"command"
|
|
1640
1055
|
],
|
|
1641
1056
|
"additionalProperties": false
|
|
1642
1057
|
}
|
|
1643
1058
|
},
|
|
1644
1059
|
{
|
|
1645
|
-
"name": "
|
|
1646
|
-
"description": "
|
|
1060
|
+
"name": "steps",
|
|
1061
|
+
"description": "Manage test steps (/api/v2/{project_id}/steps) CLI-style: pass \"command\" plus the params it needs; each param description lists the commands it applies to.",
|
|
1647
1062
|
"inputSchema": {
|
|
1648
1063
|
"type": "object",
|
|
1649
1064
|
"properties": {
|
|
1065
|
+
"command": {
|
|
1066
|
+
"type": "string",
|
|
1067
|
+
"enum": [
|
|
1068
|
+
"list",
|
|
1069
|
+
"get",
|
|
1070
|
+
"create",
|
|
1071
|
+
"update",
|
|
1072
|
+
"delete"
|
|
1073
|
+
],
|
|
1074
|
+
"description": "CLI-style operation to perform. list: List steps | get: Get step by ID | create: Create step (title required) | update: Update step by ID | delete: Delete step by ID"
|
|
1075
|
+
},
|
|
1650
1076
|
"step_id": {
|
|
1651
|
-
"type": "integer"
|
|
1077
|
+
"type": "integer",
|
|
1078
|
+
"description": "(get|update|delete)"
|
|
1652
1079
|
},
|
|
1653
1080
|
"title": {
|
|
1654
|
-
"type": "string"
|
|
1081
|
+
"type": "string",
|
|
1082
|
+
"description": "(create|update)"
|
|
1655
1083
|
},
|
|
1656
1084
|
"description": {
|
|
1657
|
-
"type": "string"
|
|
1085
|
+
"type": "string",
|
|
1086
|
+
"description": "(create|update)"
|
|
1658
1087
|
},
|
|
1659
1088
|
"link": {
|
|
1660
1089
|
"type": "array",
|
|
@@ -1689,134 +1118,75 @@
|
|
|
1689
1118
|
"value"
|
|
1690
1119
|
],
|
|
1691
1120
|
"additionalProperties": false
|
|
1692
|
-
}
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
"required": [
|
|
1696
|
-
"step_id"
|
|
1697
|
-
],
|
|
1698
|
-
"additionalProperties": false
|
|
1699
|
-
}
|
|
1700
|
-
},
|
|
1701
|
-
{
|
|
1702
|
-
"name": "steps_delete",
|
|
1703
|
-
"description": "Delete step (/api/v2/{project_id}/steps/{id})",
|
|
1704
|
-
"inputSchema": {
|
|
1705
|
-
"type": "object",
|
|
1706
|
-
"properties": {
|
|
1707
|
-
"step_id": {
|
|
1708
|
-
"type": "integer"
|
|
1709
|
-
}
|
|
1710
|
-
},
|
|
1711
|
-
"required": [
|
|
1712
|
-
"step_id"
|
|
1713
|
-
],
|
|
1714
|
-
"additionalProperties": false
|
|
1715
|
-
}
|
|
1716
|
-
},
|
|
1717
|
-
{
|
|
1718
|
-
"name": "snippets_list",
|
|
1719
|
-
"description": "List snippets (/api/v2/{project_id}/snippets)",
|
|
1720
|
-
"inputSchema": {
|
|
1721
|
-
"type": "object",
|
|
1722
|
-
"properties": {
|
|
1121
|
+
},
|
|
1122
|
+
"description": "(create|update)"
|
|
1123
|
+
},
|
|
1723
1124
|
"page": {
|
|
1724
1125
|
"type": "integer",
|
|
1725
|
-
"minimum": 1
|
|
1126
|
+
"minimum": 1,
|
|
1127
|
+
"description": "(list)"
|
|
1726
1128
|
},
|
|
1727
1129
|
"per_page": {
|
|
1728
1130
|
"type": "integer",
|
|
1729
|
-
"minimum": 1,
|
|
1730
|
-
"maximum": 100
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
"
|
|
1744
|
-
}
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
{
|
|
1753
|
-
"name": "snippets_create",
|
|
1754
|
-
"description": "Create snippet (/api/v2/{project_id}/snippets)",
|
|
1755
|
-
"inputSchema": {
|
|
1756
|
-
"type": "object",
|
|
1757
|
-
"properties": {
|
|
1758
|
-
"title": {
|
|
1759
|
-
"type": "string"
|
|
1760
|
-
},
|
|
1761
|
-
"description": {
|
|
1762
|
-
"type": "string"
|
|
1763
|
-
},
|
|
1764
|
-
"link": {
|
|
1765
|
-
"type": "array",
|
|
1766
|
-
"items": {
|
|
1767
|
-
"type": "object",
|
|
1768
|
-
"properties": {
|
|
1769
|
-
"action": {
|
|
1770
|
-
"type": "string",
|
|
1771
|
-
"enum": [
|
|
1772
|
-
"add",
|
|
1773
|
-
"remove"
|
|
1774
|
-
]
|
|
1775
|
-
},
|
|
1776
|
-
"type": {
|
|
1777
|
-
"type": "string",
|
|
1778
|
-
"enum": [
|
|
1779
|
-
"label",
|
|
1780
|
-
"custom_field",
|
|
1781
|
-
"tag",
|
|
1782
|
-
"milestone",
|
|
1783
|
-
"issue",
|
|
1784
|
-
"jira"
|
|
1785
|
-
]
|
|
1786
|
-
},
|
|
1787
|
-
"value": {
|
|
1788
|
-
"type": "string"
|
|
1789
|
-
}
|
|
1790
|
-
},
|
|
1791
|
-
"required": [
|
|
1792
|
-
"action",
|
|
1793
|
-
"type",
|
|
1794
|
-
"value"
|
|
1795
|
-
],
|
|
1796
|
-
"additionalProperties": false
|
|
1797
|
-
}
|
|
1131
|
+
"minimum": 1,
|
|
1132
|
+
"maximum": 100,
|
|
1133
|
+
"description": "(list)"
|
|
1134
|
+
},
|
|
1135
|
+
"verbose": {
|
|
1136
|
+
"type": "boolean",
|
|
1137
|
+
"default": false,
|
|
1138
|
+
"description": "(list) Return full response bodies. Default strips entity-specific heavy fields and null values; set true when you need those."
|
|
1139
|
+
},
|
|
1140
|
+
"fields": {
|
|
1141
|
+
"type": "array",
|
|
1142
|
+
"items": {
|
|
1143
|
+
"type": "string"
|
|
1144
|
+
},
|
|
1145
|
+
"description": "(list) Fields to keep per item (e.g. [\"id\",\"title\",\"status\",\"message\"]). Ignored when verbose is true."
|
|
1146
|
+
},
|
|
1147
|
+
"count": {
|
|
1148
|
+
"type": "boolean",
|
|
1149
|
+
"description": "(list) Return only metadata with total counts instead of the entity list. Pair with group_by for an aggregated breakdown."
|
|
1150
|
+
},
|
|
1151
|
+
"group_by": {
|
|
1152
|
+
"type": "string",
|
|
1153
|
+
"description": "(list) Aggregate counts by this field, e.g. status, state, priority, created_by (use with count=true). The backend validates supported fields per resource. For created_by, counts are keyed by user email, not ID."
|
|
1798
1154
|
}
|
|
1799
1155
|
},
|
|
1800
1156
|
"required": [
|
|
1801
|
-
"
|
|
1157
|
+
"command"
|
|
1802
1158
|
],
|
|
1803
1159
|
"additionalProperties": false
|
|
1804
1160
|
}
|
|
1805
1161
|
},
|
|
1806
1162
|
{
|
|
1807
|
-
"name": "
|
|
1808
|
-
"description": "
|
|
1163
|
+
"name": "snippets",
|
|
1164
|
+
"description": "Manage code snippets (/api/v2/{project_id}/snippets) CLI-style: pass \"command\" plus the params it needs; each param description lists the commands it applies to.",
|
|
1809
1165
|
"inputSchema": {
|
|
1810
1166
|
"type": "object",
|
|
1811
1167
|
"properties": {
|
|
1168
|
+
"command": {
|
|
1169
|
+
"type": "string",
|
|
1170
|
+
"enum": [
|
|
1171
|
+
"list",
|
|
1172
|
+
"get",
|
|
1173
|
+
"create",
|
|
1174
|
+
"update",
|
|
1175
|
+
"delete"
|
|
1176
|
+
],
|
|
1177
|
+
"description": "CLI-style operation to perform. list: List snippets | get: Get snippet by ID | create: Create snippet (title required) | update: Update snippet by ID | delete: Delete snippet by ID"
|
|
1178
|
+
},
|
|
1812
1179
|
"snippet_id": {
|
|
1813
|
-
"type": "integer"
|
|
1180
|
+
"type": "integer",
|
|
1181
|
+
"description": "(get|update|delete)"
|
|
1814
1182
|
},
|
|
1815
1183
|
"title": {
|
|
1816
|
-
"type": "string"
|
|
1184
|
+
"type": "string",
|
|
1185
|
+
"description": "(create|update)"
|
|
1817
1186
|
},
|
|
1818
1187
|
"description": {
|
|
1819
|
-
"type": "string"
|
|
1188
|
+
"type": "string",
|
|
1189
|
+
"description": "(create|update)"
|
|
1820
1190
|
},
|
|
1821
1191
|
"link": {
|
|
1822
1192
|
"type": "array",
|
|
@@ -1851,126 +1221,75 @@
|
|
|
1851
1221
|
"value"
|
|
1852
1222
|
],
|
|
1853
1223
|
"additionalProperties": false
|
|
1854
|
-
}
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
"required": [
|
|
1858
|
-
"snippet_id"
|
|
1859
|
-
],
|
|
1860
|
-
"additionalProperties": false
|
|
1861
|
-
}
|
|
1862
|
-
},
|
|
1863
|
-
{
|
|
1864
|
-
"name": "snippets_delete",
|
|
1865
|
-
"description": "Delete snippet (/api/v2/{project_id}/snippets/{id})",
|
|
1866
|
-
"inputSchema": {
|
|
1867
|
-
"type": "object",
|
|
1868
|
-
"properties": {
|
|
1869
|
-
"snippet_id": {
|
|
1870
|
-
"type": "integer"
|
|
1871
|
-
}
|
|
1872
|
-
},
|
|
1873
|
-
"required": [
|
|
1874
|
-
"snippet_id"
|
|
1875
|
-
],
|
|
1876
|
-
"additionalProperties": false
|
|
1877
|
-
}
|
|
1878
|
-
},
|
|
1879
|
-
{
|
|
1880
|
-
"name": "labels_list",
|
|
1881
|
-
"description": "List labels (/api/v2/{project_id}/labels)",
|
|
1882
|
-
"inputSchema": {
|
|
1883
|
-
"type": "object",
|
|
1884
|
-
"properties": {
|
|
1224
|
+
},
|
|
1225
|
+
"description": "(create|update)"
|
|
1226
|
+
},
|
|
1885
1227
|
"page": {
|
|
1886
1228
|
"type": "integer",
|
|
1887
|
-
"minimum": 1
|
|
1229
|
+
"minimum": 1,
|
|
1230
|
+
"description": "(list)"
|
|
1888
1231
|
},
|
|
1889
1232
|
"per_page": {
|
|
1890
1233
|
"type": "integer",
|
|
1891
1234
|
"minimum": 1,
|
|
1892
|
-
"maximum": 100
|
|
1893
|
-
|
|
1894
|
-
},
|
|
1895
|
-
"additionalProperties": false
|
|
1896
|
-
}
|
|
1897
|
-
},
|
|
1898
|
-
{
|
|
1899
|
-
"name": "labels_get",
|
|
1900
|
-
"description": "Get label by slug",
|
|
1901
|
-
"inputSchema": {
|
|
1902
|
-
"type": "object",
|
|
1903
|
-
"properties": {
|
|
1904
|
-
"label_id": {
|
|
1905
|
-
"type": "string"
|
|
1906
|
-
}
|
|
1907
|
-
},
|
|
1908
|
-
"required": [
|
|
1909
|
-
"label_id"
|
|
1910
|
-
],
|
|
1911
|
-
"additionalProperties": false
|
|
1912
|
-
}
|
|
1913
|
-
},
|
|
1914
|
-
{
|
|
1915
|
-
"name": "labels_create",
|
|
1916
|
-
"description": "Create label (/api/v2/{project_id}/labels)",
|
|
1917
|
-
"inputSchema": {
|
|
1918
|
-
"type": "object",
|
|
1919
|
-
"properties": {
|
|
1920
|
-
"title": {
|
|
1921
|
-
"type": "string"
|
|
1235
|
+
"maximum": 100,
|
|
1236
|
+
"description": "(list)"
|
|
1922
1237
|
},
|
|
1923
|
-
"
|
|
1924
|
-
"type": "
|
|
1238
|
+
"verbose": {
|
|
1239
|
+
"type": "boolean",
|
|
1240
|
+
"default": false,
|
|
1241
|
+
"description": "(list) Return full response bodies. Default strips entity-specific heavy fields and null values; set true when you need those."
|
|
1925
1242
|
},
|
|
1926
|
-
"
|
|
1243
|
+
"fields": {
|
|
1927
1244
|
"type": "array",
|
|
1928
1245
|
"items": {
|
|
1929
|
-
"type": "string"
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
"list"
|
|
1933
|
-
]
|
|
1934
|
-
}
|
|
1246
|
+
"type": "string"
|
|
1247
|
+
},
|
|
1248
|
+
"description": "(list) Fields to keep per item (e.g. [\"id\",\"title\",\"status\",\"message\"]). Ignored when verbose is true."
|
|
1935
1249
|
},
|
|
1936
|
-
"
|
|
1937
|
-
"type": "
|
|
1938
|
-
"
|
|
1939
|
-
"type": "string",
|
|
1940
|
-
"enum": [
|
|
1941
|
-
"tests",
|
|
1942
|
-
"suites",
|
|
1943
|
-
"runs",
|
|
1944
|
-
"plans",
|
|
1945
|
-
"steps",
|
|
1946
|
-
"templates"
|
|
1947
|
-
]
|
|
1948
|
-
}
|
|
1250
|
+
"count": {
|
|
1251
|
+
"type": "boolean",
|
|
1252
|
+
"description": "(list) Return only metadata with total counts instead of the entity list. Pair with group_by for an aggregated breakdown."
|
|
1949
1253
|
},
|
|
1950
|
-
"
|
|
1951
|
-
"type": "
|
|
1254
|
+
"group_by": {
|
|
1255
|
+
"type": "string",
|
|
1256
|
+
"description": "(list) Aggregate counts by this field, e.g. status, state, priority, created_by (use with count=true). The backend validates supported fields per resource. For created_by, counts are keyed by user email, not ID."
|
|
1952
1257
|
}
|
|
1953
1258
|
},
|
|
1954
1259
|
"required": [
|
|
1955
|
-
"
|
|
1260
|
+
"command"
|
|
1956
1261
|
],
|
|
1957
1262
|
"additionalProperties": false
|
|
1958
1263
|
}
|
|
1959
1264
|
},
|
|
1960
1265
|
{
|
|
1961
|
-
"name": "
|
|
1962
|
-
"description": "
|
|
1266
|
+
"name": "labels",
|
|
1267
|
+
"description": "Manage labels (/api/v2/{project_id}/labels) CLI-style: pass \"command\" plus the params it needs; each param description lists the commands it applies to.",
|
|
1963
1268
|
"inputSchema": {
|
|
1964
1269
|
"type": "object",
|
|
1965
1270
|
"properties": {
|
|
1271
|
+
"command": {
|
|
1272
|
+
"type": "string",
|
|
1273
|
+
"enum": [
|
|
1274
|
+
"list",
|
|
1275
|
+
"get",
|
|
1276
|
+
"create",
|
|
1277
|
+
"update",
|
|
1278
|
+
"delete"
|
|
1279
|
+
],
|
|
1280
|
+
"description": "CLI-style operation to perform. list: List labels | get: Get label by slug | create: Create label (title required) | update: Update label by slug | delete: Delete label by slug"
|
|
1281
|
+
},
|
|
1966
1282
|
"label_id": {
|
|
1967
|
-
"type": "string"
|
|
1283
|
+
"type": "string",
|
|
1284
|
+
"description": "(get|update|delete) Label slug"
|
|
1968
1285
|
},
|
|
1969
1286
|
"title": {
|
|
1970
|
-
"type": "string"
|
|
1287
|
+
"type": "string",
|
|
1288
|
+
"description": "(create|update)"
|
|
1971
1289
|
},
|
|
1972
1290
|
"color": {
|
|
1973
|
-
"type": "string"
|
|
1291
|
+
"type": "string",
|
|
1292
|
+
"description": "(create|update)"
|
|
1974
1293
|
},
|
|
1975
1294
|
"visibility": {
|
|
1976
1295
|
"type": "array",
|
|
@@ -1980,7 +1299,8 @@
|
|
|
1980
1299
|
"filter",
|
|
1981
1300
|
"list"
|
|
1982
1301
|
]
|
|
1983
|
-
}
|
|
1302
|
+
},
|
|
1303
|
+
"description": "(create|update)"
|
|
1984
1304
|
},
|
|
1985
1305
|
"scope": {
|
|
1986
1306
|
"type": "array",
|
|
@@ -1994,577 +1314,298 @@
|
|
|
1994
1314
|
"steps",
|
|
1995
1315
|
"templates"
|
|
1996
1316
|
]
|
|
1997
|
-
}
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
"required": [
|
|
2004
|
-
"label_id"
|
|
2005
|
-
],
|
|
2006
|
-
"additionalProperties": false
|
|
2007
|
-
}
|
|
2008
|
-
},
|
|
2009
|
-
{
|
|
2010
|
-
"name": "labels_delete",
|
|
2011
|
-
"description": "Delete label (/api/v2/{project_id}/labels/{id})",
|
|
2012
|
-
"inputSchema": {
|
|
2013
|
-
"type": "object",
|
|
2014
|
-
"properties": {
|
|
2015
|
-
"label_id": {
|
|
2016
|
-
"type": "string"
|
|
2017
|
-
}
|
|
2018
|
-
},
|
|
2019
|
-
"required": [
|
|
2020
|
-
"label_id"
|
|
2021
|
-
],
|
|
2022
|
-
"additionalProperties": false
|
|
2023
|
-
}
|
|
2024
|
-
},
|
|
2025
|
-
{
|
|
2026
|
-
"name": "tags_list",
|
|
2027
|
-
"description": "List tags with counts (/api/v2/{project_id}/tags)",
|
|
2028
|
-
"inputSchema": {
|
|
2029
|
-
"type": "object",
|
|
2030
|
-
"properties": {},
|
|
2031
|
-
"additionalProperties": false
|
|
2032
|
-
}
|
|
2033
|
-
},
|
|
2034
|
-
{
|
|
2035
|
-
"name": "tags_get",
|
|
2036
|
-
"description": "Get tests by tag title (/api/v2/{project_id}/tags/{id})",
|
|
2037
|
-
"inputSchema": {
|
|
2038
|
-
"type": "object",
|
|
2039
|
-
"properties": {
|
|
2040
|
-
"tag_id": {
|
|
2041
|
-
"type": "string"
|
|
2042
|
-
}
|
|
2043
|
-
},
|
|
2044
|
-
"required": [
|
|
2045
|
-
"tag_id"
|
|
2046
|
-
],
|
|
2047
|
-
"additionalProperties": false
|
|
2048
|
-
}
|
|
2049
|
-
},
|
|
2050
|
-
{
|
|
2051
|
-
"name": "tags_search",
|
|
2052
|
-
"description": "Search by tag title (delegates to tags_get)",
|
|
2053
|
-
"inputSchema": {
|
|
2054
|
-
"type": "object",
|
|
2055
|
-
"properties": {
|
|
2056
|
-
"tag_id": {
|
|
2057
|
-
"type": "string"
|
|
2058
|
-
},
|
|
2059
|
-
"query": {
|
|
2060
|
-
"type": "string"
|
|
2061
|
-
}
|
|
2062
|
-
},
|
|
2063
|
-
"additionalProperties": false
|
|
2064
|
-
}
|
|
2065
|
-
},
|
|
2066
|
-
{
|
|
2067
|
-
"name": "milestones_list",
|
|
2068
|
-
"description": "List milestones (/api/v2/{project_id}/milestones)",
|
|
2069
|
-
"inputSchema": {
|
|
2070
|
-
"type": "object",
|
|
2071
|
-
"properties": {
|
|
2072
|
-
"page": {
|
|
2073
|
-
"type": "integer",
|
|
2074
|
-
"minimum": 1
|
|
2075
|
-
},
|
|
2076
|
-
"per_page": {
|
|
2077
|
-
"type": "integer",
|
|
2078
|
-
"minimum": 1,
|
|
2079
|
-
"maximum": 100
|
|
2080
|
-
},
|
|
2081
|
-
"type": {
|
|
2082
|
-
"type": "string",
|
|
2083
|
-
"description": "Filter by milestone type (title), e.g. Sprint or Release."
|
|
2084
|
-
},
|
|
2085
|
-
"status": {
|
|
2086
|
-
"type": "string",
|
|
2087
|
-
"enum": [
|
|
2088
|
-
"created",
|
|
2089
|
-
"active",
|
|
2090
|
-
"closed"
|
|
2091
|
-
]
|
|
2092
|
-
}
|
|
2093
|
-
},
|
|
2094
|
-
"additionalProperties": false
|
|
2095
|
-
}
|
|
2096
|
-
},
|
|
2097
|
-
{
|
|
2098
|
-
"name": "milestones_get",
|
|
2099
|
-
"description": "Get milestone by ID",
|
|
2100
|
-
"inputSchema": {
|
|
2101
|
-
"type": "object",
|
|
2102
|
-
"properties": {
|
|
2103
|
-
"milestone_id": {
|
|
2104
|
-
"type": "string"
|
|
2105
|
-
}
|
|
2106
|
-
},
|
|
2107
|
-
"required": [
|
|
2108
|
-
"milestone_id"
|
|
2109
|
-
],
|
|
2110
|
-
"additionalProperties": false
|
|
2111
|
-
}
|
|
2112
|
-
},
|
|
2113
|
-
{
|
|
2114
|
-
"name": "issues_list",
|
|
2115
|
-
"description": "List linked issues (/api/v2/{project_id}/issues)",
|
|
2116
|
-
"inputSchema": {
|
|
2117
|
-
"type": "object",
|
|
2118
|
-
"properties": {
|
|
2119
|
-
"page": {
|
|
2120
|
-
"type": "integer",
|
|
2121
|
-
"minimum": 1
|
|
2122
|
-
},
|
|
2123
|
-
"per_page": {
|
|
2124
|
-
"type": "integer",
|
|
2125
|
-
"minimum": 1,
|
|
2126
|
-
"maximum": 100
|
|
2127
|
-
},
|
|
2128
|
-
"test_id": {
|
|
2129
|
-
"type": "string"
|
|
2130
|
-
},
|
|
2131
|
-
"suite_id": {
|
|
2132
|
-
"type": "string"
|
|
2133
|
-
},
|
|
2134
|
-
"run_id": {
|
|
2135
|
-
"type": "string"
|
|
2136
|
-
},
|
|
2137
|
-
"testrun_id": {
|
|
2138
|
-
"type": "integer"
|
|
2139
|
-
},
|
|
2140
|
-
"plan_id": {
|
|
2141
|
-
"type": "string"
|
|
2142
|
-
},
|
|
2143
|
-
"source": {
|
|
2144
|
-
"type": "string"
|
|
2145
|
-
}
|
|
2146
|
-
},
|
|
2147
|
-
"additionalProperties": false
|
|
2148
|
-
}
|
|
2149
|
-
},
|
|
2150
|
-
{
|
|
2151
|
-
"name": "issues_create",
|
|
2152
|
-
"description": "Link issue to resource (/api/v2/{project_id}/issues)",
|
|
2153
|
-
"inputSchema": {
|
|
2154
|
-
"type": "object",
|
|
2155
|
-
"properties": {
|
|
2156
|
-
"test_id": {
|
|
2157
|
-
"type": "string"
|
|
2158
|
-
},
|
|
2159
|
-
"suite_id": {
|
|
2160
|
-
"type": "string"
|
|
2161
|
-
},
|
|
2162
|
-
"run_id": {
|
|
2163
|
-
"type": "string"
|
|
2164
|
-
},
|
|
2165
|
-
"testrun_id": {
|
|
2166
|
-
"type": "integer"
|
|
2167
|
-
},
|
|
2168
|
-
"plan_id": {
|
|
2169
|
-
"type": "string"
|
|
2170
|
-
},
|
|
2171
|
-
"url": {
|
|
2172
|
-
"type": "string"
|
|
2173
|
-
},
|
|
2174
|
-
"jira_id": {
|
|
2175
|
-
"type": "string"
|
|
2176
|
-
}
|
|
2177
|
-
},
|
|
2178
|
-
"additionalProperties": false
|
|
2179
|
-
}
|
|
2180
|
-
},
|
|
2181
|
-
{
|
|
2182
|
-
"name": "issues_delete",
|
|
2183
|
-
"description": "Unlink issue (/api/v2/{project_id}/issues/{id})",
|
|
2184
|
-
"inputSchema": {
|
|
2185
|
-
"type": "object",
|
|
2186
|
-
"properties": {
|
|
2187
|
-
"issue_id": {
|
|
2188
|
-
"type": "integer"
|
|
1317
|
+
},
|
|
1318
|
+
"description": "(create|update)"
|
|
1319
|
+
},
|
|
1320
|
+
"field": {
|
|
1321
|
+
"type": "object",
|
|
1322
|
+
"description": "(create|update)"
|
|
2189
1323
|
},
|
|
2190
|
-
"type": {
|
|
2191
|
-
"type": "string",
|
|
2192
|
-
"enum": [
|
|
2193
|
-
"issue",
|
|
2194
|
-
"jira_issue"
|
|
2195
|
-
]
|
|
2196
|
-
}
|
|
2197
|
-
},
|
|
2198
|
-
"required": [
|
|
2199
|
-
"issue_id",
|
|
2200
|
-
"type"
|
|
2201
|
-
],
|
|
2202
|
-
"additionalProperties": false
|
|
2203
|
-
}
|
|
2204
|
-
},
|
|
2205
|
-
{
|
|
2206
|
-
"name": "issues_search",
|
|
2207
|
-
"description": "Search issues (delegates to issues_list filters)",
|
|
2208
|
-
"inputSchema": {
|
|
2209
|
-
"type": "object",
|
|
2210
|
-
"properties": {
|
|
2211
1324
|
"page": {
|
|
2212
1325
|
"type": "integer",
|
|
2213
|
-
"minimum": 1
|
|
1326
|
+
"minimum": 1,
|
|
1327
|
+
"description": "(list)"
|
|
2214
1328
|
},
|
|
2215
1329
|
"per_page": {
|
|
2216
1330
|
"type": "integer",
|
|
2217
1331
|
"minimum": 1,
|
|
2218
|
-
"maximum": 100
|
|
2219
|
-
|
|
2220
|
-
"test_id": {
|
|
2221
|
-
"type": "string"
|
|
2222
|
-
},
|
|
2223
|
-
"suite_id": {
|
|
2224
|
-
"type": "string"
|
|
1332
|
+
"maximum": 100,
|
|
1333
|
+
"description": "(list)"
|
|
2225
1334
|
},
|
|
2226
|
-
"
|
|
2227
|
-
"type": "
|
|
1335
|
+
"verbose": {
|
|
1336
|
+
"type": "boolean",
|
|
1337
|
+
"default": false,
|
|
1338
|
+
"description": "(list) Return full response bodies. Default strips entity-specific heavy fields and null values; set true when you need those."
|
|
2228
1339
|
},
|
|
2229
|
-
"
|
|
2230
|
-
"type": "
|
|
1340
|
+
"fields": {
|
|
1341
|
+
"type": "array",
|
|
1342
|
+
"items": {
|
|
1343
|
+
"type": "string"
|
|
1344
|
+
},
|
|
1345
|
+
"description": "(list) Fields to keep per item (e.g. [\"id\",\"title\",\"status\",\"message\"]). Ignored when verbose is true."
|
|
2231
1346
|
},
|
|
2232
|
-
"
|
|
2233
|
-
"type": "
|
|
1347
|
+
"count": {
|
|
1348
|
+
"type": "boolean",
|
|
1349
|
+
"description": "(list) Return only metadata with total counts instead of the entity list. Pair with group_by for an aggregated breakdown."
|
|
2234
1350
|
},
|
|
2235
|
-
"
|
|
2236
|
-
"type": "string"
|
|
2237
|
-
|
|
2238
|
-
},
|
|
2239
|
-
"additionalProperties": false
|
|
2240
|
-
}
|
|
2241
|
-
},
|
|
2242
|
-
{
|
|
2243
|
-
"name": "tests_attachments_list",
|
|
2244
|
-
"description": "List attachments for a test (/api/v2/{project_id}/attachments?test_id=...)",
|
|
2245
|
-
"inputSchema": {
|
|
2246
|
-
"type": "object",
|
|
2247
|
-
"properties": {
|
|
2248
|
-
"test_id": {
|
|
2249
|
-
"type": "string"
|
|
1351
|
+
"group_by": {
|
|
1352
|
+
"type": "string",
|
|
1353
|
+
"description": "(list) Aggregate counts by this field, e.g. status, state, priority, created_by (use with count=true). The backend validates supported fields per resource. For created_by, counts are keyed by user email, not ID."
|
|
2250
1354
|
}
|
|
2251
1355
|
},
|
|
2252
1356
|
"required": [
|
|
2253
|
-
"
|
|
1357
|
+
"command"
|
|
2254
1358
|
],
|
|
2255
1359
|
"additionalProperties": false
|
|
2256
1360
|
}
|
|
2257
1361
|
},
|
|
2258
1362
|
{
|
|
2259
|
-
"name": "
|
|
2260
|
-
"description": "
|
|
1363
|
+
"name": "tags",
|
|
1364
|
+
"description": "Tags: list with counts and get tests by tag (/api/v2/{project_id}/tags) CLI-style: pass \"command\" plus the params it needs; each param description lists the commands it applies to.",
|
|
2261
1365
|
"inputSchema": {
|
|
2262
1366
|
"type": "object",
|
|
2263
1367
|
"properties": {
|
|
2264
|
-
"
|
|
2265
|
-
"type": "string"
|
|
1368
|
+
"command": {
|
|
1369
|
+
"type": "string",
|
|
1370
|
+
"enum": [
|
|
1371
|
+
"list",
|
|
1372
|
+
"get",
|
|
1373
|
+
"search"
|
|
1374
|
+
],
|
|
1375
|
+
"description": "CLI-style operation to perform. list: List tags with counts | get: Get tests by tag title (tag_id) | search: Search by tag title (delegates to get)"
|
|
2266
1376
|
},
|
|
2267
|
-
"
|
|
1377
|
+
"tag_id": {
|
|
2268
1378
|
"type": "string",
|
|
2269
|
-
"description": "
|
|
2270
|
-
}
|
|
2271
|
-
},
|
|
2272
|
-
"required": [
|
|
2273
|
-
"test_id",
|
|
2274
|
-
"file_path"
|
|
2275
|
-
],
|
|
2276
|
-
"additionalProperties": false
|
|
2277
|
-
}
|
|
2278
|
-
},
|
|
2279
|
-
{
|
|
2280
|
-
"name": "tests_attachments_delete",
|
|
2281
|
-
"description": "Delete attachment from a test (/api/v2/{project_id}/attachments/{id}?test_id=...)",
|
|
2282
|
-
"inputSchema": {
|
|
2283
|
-
"type": "object",
|
|
2284
|
-
"properties": {
|
|
2285
|
-
"test_id": {
|
|
2286
|
-
"type": "string"
|
|
1379
|
+
"description": "(get|search) Tag title to look up"
|
|
2287
1380
|
},
|
|
2288
|
-
"
|
|
2289
|
-
"type": "string"
|
|
2290
|
-
|
|
2291
|
-
},
|
|
2292
|
-
"required": [
|
|
2293
|
-
"test_id",
|
|
2294
|
-
"attachment_id"
|
|
2295
|
-
],
|
|
2296
|
-
"additionalProperties": false
|
|
2297
|
-
}
|
|
2298
|
-
},
|
|
2299
|
-
{
|
|
2300
|
-
"name": "suites_attachments_list",
|
|
2301
|
-
"description": "List attachments for a suite (/api/v2/{project_id}/attachments?suite_id=...)",
|
|
2302
|
-
"inputSchema": {
|
|
2303
|
-
"type": "object",
|
|
2304
|
-
"properties": {
|
|
2305
|
-
"suite_id": {
|
|
2306
|
-
"type": "string"
|
|
2307
|
-
}
|
|
2308
|
-
},
|
|
2309
|
-
"required": [
|
|
2310
|
-
"suite_id"
|
|
2311
|
-
],
|
|
2312
|
-
"additionalProperties": false
|
|
2313
|
-
}
|
|
2314
|
-
},
|
|
2315
|
-
{
|
|
2316
|
-
"name": "suites_attachments_upload",
|
|
2317
|
-
"description": "Upload one attachment to a suite (/api/v2/{project_id}/attachments?suite_id=...)",
|
|
2318
|
-
"inputSchema": {
|
|
2319
|
-
"type": "object",
|
|
2320
|
-
"properties": {
|
|
2321
|
-
"suite_id": {
|
|
2322
|
-
"type": "string"
|
|
1381
|
+
"query": {
|
|
1382
|
+
"type": "string",
|
|
1383
|
+
"description": "(search)"
|
|
2323
1384
|
},
|
|
2324
|
-
"
|
|
1385
|
+
"verbose": {
|
|
1386
|
+
"type": "boolean",
|
|
1387
|
+
"default": false,
|
|
1388
|
+
"description": "(list) Return full response bodies. Default strips entity-specific heavy fields and null values; set true when you need those."
|
|
1389
|
+
},
|
|
1390
|
+
"fields": {
|
|
1391
|
+
"type": "array",
|
|
1392
|
+
"items": {
|
|
1393
|
+
"type": "string"
|
|
1394
|
+
},
|
|
1395
|
+
"description": "(list) Fields to keep per item (e.g. [\"id\",\"title\",\"status\",\"message\"]). Ignored when verbose is true."
|
|
1396
|
+
},
|
|
1397
|
+
"count": {
|
|
1398
|
+
"type": "boolean",
|
|
1399
|
+
"description": "(list) Return only metadata with total counts instead of the entity list. Pair with group_by for an aggregated breakdown."
|
|
1400
|
+
},
|
|
1401
|
+
"group_by": {
|
|
2325
1402
|
"type": "string",
|
|
2326
|
-
"description": "
|
|
1403
|
+
"description": "(list) Aggregate counts by this field, e.g. status, state, priority, created_by (use with count=true). The backend validates supported fields per resource. For created_by, counts are keyed by user email, not ID."
|
|
2327
1404
|
}
|
|
2328
1405
|
},
|
|
2329
1406
|
"required": [
|
|
2330
|
-
"
|
|
2331
|
-
"file_path"
|
|
1407
|
+
"command"
|
|
2332
1408
|
],
|
|
2333
1409
|
"additionalProperties": false
|
|
2334
1410
|
}
|
|
2335
1411
|
},
|
|
2336
1412
|
{
|
|
2337
|
-
"name": "
|
|
2338
|
-
"description": "
|
|
1413
|
+
"name": "milestones",
|
|
1414
|
+
"description": "Milestones: list and get (/api/v2/{project_id}/milestones) CLI-style: pass \"command\" plus the params it needs; each param description lists the commands it applies to.",
|
|
2339
1415
|
"inputSchema": {
|
|
2340
1416
|
"type": "object",
|
|
2341
1417
|
"properties": {
|
|
2342
|
-
"
|
|
2343
|
-
"type": "string"
|
|
1418
|
+
"command": {
|
|
1419
|
+
"type": "string",
|
|
1420
|
+
"enum": [
|
|
1421
|
+
"list",
|
|
1422
|
+
"get"
|
|
1423
|
+
],
|
|
1424
|
+
"description": "CLI-style operation to perform. list: List milestones (type, status filters) | get: Get milestone by ID"
|
|
2344
1425
|
},
|
|
2345
|
-
"
|
|
2346
|
-
"type": "string"
|
|
2347
|
-
|
|
2348
|
-
},
|
|
2349
|
-
"required": [
|
|
2350
|
-
"suite_id",
|
|
2351
|
-
"attachment_id"
|
|
2352
|
-
],
|
|
2353
|
-
"additionalProperties": false
|
|
2354
|
-
}
|
|
2355
|
-
},
|
|
2356
|
-
{
|
|
2357
|
-
"name": "testruns_attachments_list",
|
|
2358
|
-
"description": "List attachments for a testrun (/api/v2/{project_id}/attachments?testrun_id=...)",
|
|
2359
|
-
"inputSchema": {
|
|
2360
|
-
"type": "object",
|
|
2361
|
-
"properties": {
|
|
2362
|
-
"testrun_id": {
|
|
2363
|
-
"type": "integer"
|
|
2364
|
-
}
|
|
2365
|
-
},
|
|
2366
|
-
"required": [
|
|
2367
|
-
"testrun_id"
|
|
2368
|
-
],
|
|
2369
|
-
"additionalProperties": false
|
|
2370
|
-
}
|
|
2371
|
-
},
|
|
2372
|
-
{
|
|
2373
|
-
"name": "testruns_attachments_upload",
|
|
2374
|
-
"description": "Upload one attachment to a testrun (/api/v2/{project_id}/attachments?testrun_id=...)",
|
|
2375
|
-
"inputSchema": {
|
|
2376
|
-
"type": "object",
|
|
2377
|
-
"properties": {
|
|
2378
|
-
"testrun_id": {
|
|
2379
|
-
"type": "integer"
|
|
1426
|
+
"milestone_id": {
|
|
1427
|
+
"type": "string",
|
|
1428
|
+
"description": "(get)"
|
|
2380
1429
|
},
|
|
2381
|
-
"
|
|
1430
|
+
"type": {
|
|
2382
1431
|
"type": "string",
|
|
2383
|
-
"description": "
|
|
2384
|
-
}
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
{
|
|
2394
|
-
"name": "testruns_attachments_delete",
|
|
2395
|
-
"description": "Delete attachment from a testrun (/api/v2/{project_id}/attachments/{id}?testrun_id=...)",
|
|
2396
|
-
"inputSchema": {
|
|
2397
|
-
"type": "object",
|
|
2398
|
-
"properties": {
|
|
2399
|
-
"testrun_id": {
|
|
2400
|
-
"type": "integer"
|
|
1432
|
+
"description": "(list) Filter by milestone type (title), e.g. Sprint or Release."
|
|
1433
|
+
},
|
|
1434
|
+
"status": {
|
|
1435
|
+
"type": "string",
|
|
1436
|
+
"enum": [
|
|
1437
|
+
"created",
|
|
1438
|
+
"active",
|
|
1439
|
+
"closed"
|
|
1440
|
+
],
|
|
1441
|
+
"description": "(list)"
|
|
2401
1442
|
},
|
|
2402
|
-
"attachment_id": {
|
|
2403
|
-
"type": "string"
|
|
2404
|
-
}
|
|
2405
|
-
},
|
|
2406
|
-
"required": [
|
|
2407
|
-
"testrun_id",
|
|
2408
|
-
"attachment_id"
|
|
2409
|
-
],
|
|
2410
|
-
"additionalProperties": false
|
|
2411
|
-
}
|
|
2412
|
-
},
|
|
2413
|
-
{
|
|
2414
|
-
"name": "plans_list",
|
|
2415
|
-
"description": "List plans (/api/v2/{project_id}/plans)",
|
|
2416
|
-
"inputSchema": {
|
|
2417
|
-
"type": "object",
|
|
2418
|
-
"properties": {
|
|
2419
1443
|
"page": {
|
|
2420
1444
|
"type": "integer",
|
|
2421
|
-
"minimum": 1
|
|
1445
|
+
"minimum": 1,
|
|
1446
|
+
"description": "(list)"
|
|
2422
1447
|
},
|
|
2423
1448
|
"per_page": {
|
|
2424
1449
|
"type": "integer",
|
|
2425
1450
|
"minimum": 1,
|
|
2426
|
-
"maximum": 100
|
|
2427
|
-
|
|
2428
|
-
"kind": {
|
|
2429
|
-
"type": "string",
|
|
2430
|
-
"enum": [
|
|
2431
|
-
"manual",
|
|
2432
|
-
"automated",
|
|
2433
|
-
"mixed"
|
|
2434
|
-
]
|
|
1451
|
+
"maximum": 100,
|
|
1452
|
+
"description": "(list)"
|
|
2435
1453
|
},
|
|
2436
|
-
"
|
|
2437
|
-
"type": "boolean"
|
|
1454
|
+
"verbose": {
|
|
1455
|
+
"type": "boolean",
|
|
1456
|
+
"default": false,
|
|
1457
|
+
"description": "(list) Return full response bodies. Default strips entity-specific heavy fields and null values; set true when you need those."
|
|
2438
1458
|
},
|
|
2439
|
-
"
|
|
1459
|
+
"fields": {
|
|
2440
1460
|
"type": "array",
|
|
2441
1461
|
"items": {
|
|
2442
1462
|
"type": "string"
|
|
2443
|
-
}
|
|
1463
|
+
},
|
|
1464
|
+
"description": "(list) Fields to keep per item (e.g. [\"id\",\"title\",\"status\",\"message\"]). Ignored when verbose is true."
|
|
2444
1465
|
},
|
|
2445
|
-
"
|
|
2446
|
-
"type": "
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
{
|
|
2453
|
-
"name": "plans_get",
|
|
2454
|
-
"description": "Get plan by ID",
|
|
2455
|
-
"inputSchema": {
|
|
2456
|
-
"type": "object",
|
|
2457
|
-
"properties": {
|
|
2458
|
-
"plan_id": {
|
|
2459
|
-
"type": "string"
|
|
1466
|
+
"count": {
|
|
1467
|
+
"type": "boolean",
|
|
1468
|
+
"description": "(list) Return only metadata with total counts instead of the entity list. Pair with group_by for an aggregated breakdown."
|
|
1469
|
+
},
|
|
1470
|
+
"group_by": {
|
|
1471
|
+
"type": "string",
|
|
1472
|
+
"description": "(list) Aggregate counts by this field, e.g. status, state, priority, created_by (use with count=true). The backend validates supported fields per resource. For created_by, counts are keyed by user email, not ID."
|
|
2460
1473
|
}
|
|
2461
1474
|
},
|
|
2462
1475
|
"required": [
|
|
2463
|
-
"
|
|
1476
|
+
"command"
|
|
2464
1477
|
],
|
|
2465
1478
|
"additionalProperties": false
|
|
2466
1479
|
}
|
|
2467
1480
|
},
|
|
2468
1481
|
{
|
|
2469
|
-
"name": "
|
|
2470
|
-
"description": "
|
|
1482
|
+
"name": "issues",
|
|
1483
|
+
"description": "Linked issues across resources (/api/v2/{project_id}/issues) CLI-style: pass \"command\" plus the params it needs; each param description lists the commands it applies to.",
|
|
2471
1484
|
"inputSchema": {
|
|
2472
1485
|
"type": "object",
|
|
2473
1486
|
"properties": {
|
|
2474
|
-
"
|
|
2475
|
-
"type": "string"
|
|
1487
|
+
"command": {
|
|
1488
|
+
"type": "string",
|
|
1489
|
+
"enum": [
|
|
1490
|
+
"list",
|
|
1491
|
+
"create",
|
|
1492
|
+
"delete"
|
|
1493
|
+
],
|
|
1494
|
+
"description": "CLI-style operation to perform. list: List linked issues (scope by test_id/suite_id/run_id/testrun_id/plan_id, filter by source) | create: Link issue to a resource (url or jira_id + one scope id) | delete: Unlink issue"
|
|
2476
1495
|
},
|
|
2477
|
-
"
|
|
2478
|
-
"type": "string"
|
|
1496
|
+
"test_id": {
|
|
1497
|
+
"type": "string",
|
|
1498
|
+
"description": "(list|create)"
|
|
2479
1499
|
},
|
|
2480
|
-
"
|
|
1500
|
+
"suite_id": {
|
|
2481
1501
|
"type": "string",
|
|
2482
|
-
"
|
|
2483
|
-
"manual",
|
|
2484
|
-
"automated",
|
|
2485
|
-
"mixed"
|
|
2486
|
-
]
|
|
1502
|
+
"description": "(list|create)"
|
|
2487
1503
|
},
|
|
2488
|
-
"
|
|
2489
|
-
"type": "
|
|
1504
|
+
"run_id": {
|
|
1505
|
+
"type": "string",
|
|
1506
|
+
"description": "(list|create)"
|
|
2490
1507
|
},
|
|
2491
|
-
"
|
|
2492
|
-
"type": "
|
|
1508
|
+
"testrun_id": {
|
|
1509
|
+
"type": "integer",
|
|
1510
|
+
"description": "(list|create)"
|
|
2493
1511
|
},
|
|
2494
|
-
"
|
|
2495
|
-
"type": "
|
|
2496
|
-
"
|
|
2497
|
-
"type": "string"
|
|
2498
|
-
},
|
|
2499
|
-
"description": "List of test IDs (8-char) to include in the plan. If omitted, all tests matching the plan kind are included."
|
|
1512
|
+
"plan_id": {
|
|
1513
|
+
"type": "string",
|
|
1514
|
+
"description": "(list|create)"
|
|
2500
1515
|
},
|
|
2501
|
-
"
|
|
2502
|
-
"type": "
|
|
2503
|
-
"
|
|
2504
|
-
"type": "string"
|
|
2505
|
-
},
|
|
2506
|
-
"description": "List of suite IDs (8-char) to include in the plan. If omitted, all suites are considered."
|
|
1516
|
+
"source": {
|
|
1517
|
+
"type": "string",
|
|
1518
|
+
"description": "(list) Filter issues by source (e.g. jira)"
|
|
2507
1519
|
},
|
|
2508
|
-
"
|
|
1520
|
+
"url": {
|
|
2509
1521
|
"type": "string",
|
|
2510
|
-
"description": "
|
|
1522
|
+
"description": "(create) Issue URL to link"
|
|
2511
1523
|
},
|
|
2512
|
-
"
|
|
1524
|
+
"jira_id": {
|
|
1525
|
+
"type": "string",
|
|
1526
|
+
"description": "(create) Jira issue key to link (alternative to url)"
|
|
1527
|
+
},
|
|
1528
|
+
"issue_id": {
|
|
1529
|
+
"type": "integer",
|
|
1530
|
+
"description": "(delete) ID of the linked issue to remove"
|
|
1531
|
+
},
|
|
1532
|
+
"type": {
|
|
1533
|
+
"type": "string",
|
|
1534
|
+
"enum": [
|
|
1535
|
+
"issue",
|
|
1536
|
+
"jira_issue"
|
|
1537
|
+
],
|
|
1538
|
+
"description": "(delete) Kind of the linked issue"
|
|
1539
|
+
},
|
|
1540
|
+
"page": {
|
|
1541
|
+
"type": "integer",
|
|
1542
|
+
"minimum": 1,
|
|
1543
|
+
"description": "(list)"
|
|
1544
|
+
},
|
|
1545
|
+
"per_page": {
|
|
1546
|
+
"type": "integer",
|
|
1547
|
+
"minimum": 1,
|
|
1548
|
+
"maximum": 100,
|
|
1549
|
+
"description": "(list)"
|
|
1550
|
+
},
|
|
1551
|
+
"verbose": {
|
|
1552
|
+
"type": "boolean",
|
|
1553
|
+
"default": false,
|
|
1554
|
+
"description": "(list) Return full response bodies. Default strips entity-specific heavy fields and null values; set true when you need those."
|
|
1555
|
+
},
|
|
1556
|
+
"fields": {
|
|
2513
1557
|
"type": "array",
|
|
2514
1558
|
"items": {
|
|
2515
|
-
"type": "
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
"enum": [
|
|
2527
|
-
"label",
|
|
2528
|
-
"custom_field",
|
|
2529
|
-
"tag",
|
|
2530
|
-
"milestone",
|
|
2531
|
-
"issue",
|
|
2532
|
-
"jira"
|
|
2533
|
-
]
|
|
2534
|
-
},
|
|
2535
|
-
"value": {
|
|
2536
|
-
"type": "string"
|
|
2537
|
-
}
|
|
2538
|
-
},
|
|
2539
|
-
"required": [
|
|
2540
|
-
"action",
|
|
2541
|
-
"type",
|
|
2542
|
-
"value"
|
|
2543
|
-
],
|
|
2544
|
-
"additionalProperties": false
|
|
2545
|
-
}
|
|
1559
|
+
"type": "string"
|
|
1560
|
+
},
|
|
1561
|
+
"description": "(list) Fields to keep per item (e.g. [\"id\",\"title\",\"status\",\"message\"]). Ignored when verbose is true."
|
|
1562
|
+
},
|
|
1563
|
+
"count": {
|
|
1564
|
+
"type": "boolean",
|
|
1565
|
+
"description": "(list) Return only metadata with total counts instead of the entity list. Pair with group_by for an aggregated breakdown."
|
|
1566
|
+
},
|
|
1567
|
+
"group_by": {
|
|
1568
|
+
"type": "string",
|
|
1569
|
+
"description": "(list) Aggregate counts by this field, e.g. status, state, priority, created_by (use with count=true). The backend validates supported fields per resource. For created_by, counts are keyed by user email, not ID."
|
|
2546
1570
|
}
|
|
2547
1571
|
},
|
|
2548
1572
|
"required": [
|
|
2549
|
-
"
|
|
1573
|
+
"command"
|
|
2550
1574
|
],
|
|
2551
1575
|
"additionalProperties": false
|
|
2552
1576
|
}
|
|
2553
1577
|
},
|
|
2554
1578
|
{
|
|
2555
|
-
"name": "
|
|
2556
|
-
"description": "
|
|
1579
|
+
"name": "plans",
|
|
1580
|
+
"description": "Manage test plans (/api/v2/{project_id}/plans). Select tests for the plan with `tql` (TQL); the API resolves matching tests. Call `tql_help` for the syntax and full field list. CLI-style: pass \"command\" plus the params it needs; each param description lists the commands it applies to.",
|
|
2557
1581
|
"inputSchema": {
|
|
2558
1582
|
"type": "object",
|
|
2559
1583
|
"properties": {
|
|
1584
|
+
"command": {
|
|
1585
|
+
"type": "string",
|
|
1586
|
+
"enum": [
|
|
1587
|
+
"list",
|
|
1588
|
+
"get",
|
|
1589
|
+
"create",
|
|
1590
|
+
"update",
|
|
1591
|
+
"delete",
|
|
1592
|
+
"issues_list",
|
|
1593
|
+
"issues_link",
|
|
1594
|
+
"issues_unlink"
|
|
1595
|
+
],
|
|
1596
|
+
"description": "CLI-style operation to perform. list: List plans (kind, hidden, labels, search_text filters) | get: Get plan by ID | create: Create plan (title required; select tests via test_ids/suite_ids/tql) | update: Update plan by ID | delete: Delete plan by ID | issues_list: List linked issues for a plan | issues_link: Link issue to a plan (url or jira_id) | issues_unlink: Unlink issue from a plan"
|
|
1597
|
+
},
|
|
2560
1598
|
"plan_id": {
|
|
2561
|
-
"type": "string"
|
|
1599
|
+
"type": "string",
|
|
1600
|
+
"description": "(get|update|delete|issues_list|issues_link)"
|
|
2562
1601
|
},
|
|
2563
1602
|
"title": {
|
|
2564
|
-
"type": "string"
|
|
1603
|
+
"type": "string",
|
|
1604
|
+
"description": "(create|update)"
|
|
2565
1605
|
},
|
|
2566
1606
|
"description": {
|
|
2567
|
-
"type": "string"
|
|
1607
|
+
"type": "string",
|
|
1608
|
+
"description": "(create|update)"
|
|
2568
1609
|
},
|
|
2569
1610
|
"kind": {
|
|
2570
1611
|
"type": "string",
|
|
@@ -2572,31 +1613,45 @@
|
|
|
2572
1613
|
"manual",
|
|
2573
1614
|
"automated",
|
|
2574
1615
|
"mixed"
|
|
2575
|
-
]
|
|
1616
|
+
],
|
|
1617
|
+
"description": "(list|create|update) list: filter by kind; create/update: the plan kind"
|
|
2576
1618
|
},
|
|
2577
1619
|
"hidden": {
|
|
2578
|
-
"type": "boolean"
|
|
1620
|
+
"type": "boolean",
|
|
1621
|
+
"description": "(list|create|update) list: include hidden plans; create/update: set hidden flag"
|
|
2579
1622
|
},
|
|
2580
1623
|
"as_manual": {
|
|
2581
|
-
"type": "boolean"
|
|
1624
|
+
"type": "boolean",
|
|
1625
|
+
"description": "(create|update)"
|
|
1626
|
+
},
|
|
1627
|
+
"labels": {
|
|
1628
|
+
"type": "array",
|
|
1629
|
+
"items": {
|
|
1630
|
+
"type": "string"
|
|
1631
|
+
},
|
|
1632
|
+
"description": "(list)"
|
|
1633
|
+
},
|
|
1634
|
+
"search_text": {
|
|
1635
|
+
"type": "string",
|
|
1636
|
+
"description": "(list)"
|
|
1637
|
+
},
|
|
1638
|
+
"tql": {
|
|
1639
|
+
"type": "string",
|
|
1640
|
+
"description": "(create|update) TQL to select tests for the plan. Fields: tag, label, priority, issue, jira, state, status, custom_status, created_at, updated_at, last_run_at, executed_at, created_by, assigned_to, suite, test, shared, milestone. Call `tql_help` for syntax. Examples: `priority == 'high'`, `tag in ['smoke', 'stage1']`."
|
|
2582
1641
|
},
|
|
2583
1642
|
"test_ids": {
|
|
2584
1643
|
"type": "array",
|
|
2585
1644
|
"items": {
|
|
2586
1645
|
"type": "string"
|
|
2587
1646
|
},
|
|
2588
|
-
"description": "List of test IDs (8-char) to include in the plan. If omitted, all tests matching the plan kind are included."
|
|
1647
|
+
"description": "(create|update) List of test IDs (8-char) to include in the plan. If omitted, all tests matching the plan kind are included."
|
|
2589
1648
|
},
|
|
2590
1649
|
"suite_ids": {
|
|
2591
1650
|
"type": "array",
|
|
2592
1651
|
"items": {
|
|
2593
1652
|
"type": "string"
|
|
2594
1653
|
},
|
|
2595
|
-
"description": "List of suite IDs (8-char) to include in the plan. If omitted, all suites are considered."
|
|
2596
|
-
},
|
|
2597
|
-
"tql": {
|
|
2598
|
-
"type": "string",
|
|
2599
|
-
"description": "TQL filter for selecting tests included in the plan. Documented test variables: `tag`, `label`, `priority`, `issue`, `jira`, `state`, `status`, `custom_status`, `created_at`, `updated_at`, `last_run_at`, `executed_at`, `created_by`, `assigned_to`, `suite`, `test`, `shared`, `milestone`. Examples: `priority == 'high'`, `priority >= 'normal'`, `state == 'automated'`, `tag in ['smoke', 'stage1'] and status == 'failed'`, `suite % 'Checkout'`, `test % 'User login'`, `custom_status % 'issue'`, `created_at < 1.month_ago`, `jira in ['JST-1', 'JST-2']`, `milestone == 'Sprint 1'`."
|
|
1654
|
+
"description": "(create|update) List of suite IDs (8-char) to include in the plan. If omitted, all suites are considered."
|
|
2600
1655
|
},
|
|
2601
1656
|
"link": {
|
|
2602
1657
|
"type": "array",
|
|
@@ -2631,158 +1686,105 @@
|
|
|
2631
1686
|
"value"
|
|
2632
1687
|
],
|
|
2633
1688
|
"additionalProperties": false
|
|
2634
|
-
}
|
|
2635
|
-
|
|
2636
|
-
},
|
|
2637
|
-
"required": [
|
|
2638
|
-
"plan_id"
|
|
2639
|
-
],
|
|
2640
|
-
"additionalProperties": false
|
|
2641
|
-
}
|
|
2642
|
-
},
|
|
2643
|
-
{
|
|
2644
|
-
"name": "plans_delete",
|
|
2645
|
-
"description": "Delete plan",
|
|
2646
|
-
"inputSchema": {
|
|
2647
|
-
"type": "object",
|
|
2648
|
-
"properties": {
|
|
2649
|
-
"plan_id": {
|
|
2650
|
-
"type": "string"
|
|
2651
|
-
}
|
|
2652
|
-
},
|
|
2653
|
-
"required": [
|
|
2654
|
-
"plan_id"
|
|
2655
|
-
],
|
|
2656
|
-
"additionalProperties": false
|
|
2657
|
-
}
|
|
2658
|
-
},
|
|
2659
|
-
{
|
|
2660
|
-
"name": "plans_search",
|
|
2661
|
-
"description": "Search plans (delegates to plans list; docs has no dedicated search parameter)",
|
|
2662
|
-
"inputSchema": {
|
|
2663
|
-
"type": "object",
|
|
2664
|
-
"properties": {
|
|
2665
|
-
"search_text": {
|
|
2666
|
-
"type": "string"
|
|
1689
|
+
},
|
|
1690
|
+
"description": "(create|update)"
|
|
2667
1691
|
},
|
|
2668
1692
|
"page": {
|
|
2669
|
-
"type": "integer",
|
|
2670
|
-
"minimum": 1
|
|
2671
|
-
},
|
|
2672
|
-
"per_page": {
|
|
2673
1693
|
"type": "integer",
|
|
2674
1694
|
"minimum": 1,
|
|
2675
|
-
"
|
|
2676
|
-
},
|
|
2677
|
-
"kind": {
|
|
2678
|
-
"type": "string",
|
|
2679
|
-
"enum": [
|
|
2680
|
-
"manual",
|
|
2681
|
-
"automated",
|
|
2682
|
-
"mixed"
|
|
2683
|
-
]
|
|
2684
|
-
},
|
|
2685
|
-
"hidden": {
|
|
2686
|
-
"type": "boolean"
|
|
2687
|
-
},
|
|
2688
|
-
"labels": {
|
|
2689
|
-
"type": "array",
|
|
2690
|
-
"items": {
|
|
2691
|
-
"type": "string"
|
|
2692
|
-
}
|
|
2693
|
-
}
|
|
2694
|
-
},
|
|
2695
|
-
"additionalProperties": false
|
|
2696
|
-
}
|
|
2697
|
-
},
|
|
2698
|
-
{
|
|
2699
|
-
"name": "plans_issues_list",
|
|
2700
|
-
"description": "List linked issues for a plan (/api/v2/{project_id}/issues?plan_id=...)",
|
|
2701
|
-
"inputSchema": {
|
|
2702
|
-
"type": "object",
|
|
2703
|
-
"properties": {
|
|
2704
|
-
"plan_id": {
|
|
2705
|
-
"type": "string"
|
|
2706
|
-
},
|
|
2707
|
-
"page": {
|
|
2708
|
-
"type": "integer",
|
|
2709
|
-
"minimum": 1
|
|
1695
|
+
"description": "(list|issues_list)"
|
|
2710
1696
|
},
|
|
2711
1697
|
"per_page": {
|
|
2712
1698
|
"type": "integer",
|
|
2713
1699
|
"minimum": 1,
|
|
2714
|
-
"maximum": 100
|
|
1700
|
+
"maximum": 100,
|
|
1701
|
+
"description": "(list|issues_list)"
|
|
2715
1702
|
},
|
|
2716
1703
|
"source": {
|
|
2717
|
-
"type": "string"
|
|
2718
|
-
|
|
2719
|
-
},
|
|
2720
|
-
"required": [
|
|
2721
|
-
"plan_id"
|
|
2722
|
-
],
|
|
2723
|
-
"additionalProperties": false
|
|
2724
|
-
}
|
|
2725
|
-
},
|
|
2726
|
-
{
|
|
2727
|
-
"name": "plans_issues_link",
|
|
2728
|
-
"description": "Link issue to a plan (/api/v2/{project_id}/issues)",
|
|
2729
|
-
"inputSchema": {
|
|
2730
|
-
"type": "object",
|
|
2731
|
-
"properties": {
|
|
2732
|
-
"plan_id": {
|
|
2733
|
-
"type": "string"
|
|
1704
|
+
"type": "string",
|
|
1705
|
+
"description": "(issues_list) Filter issues by source (e.g. jira)"
|
|
2734
1706
|
},
|
|
2735
1707
|
"url": {
|
|
2736
|
-
"type": "string"
|
|
1708
|
+
"type": "string",
|
|
1709
|
+
"description": "(issues_link) Issue URL to link"
|
|
2737
1710
|
},
|
|
2738
1711
|
"jira_id": {
|
|
2739
|
-
"type": "string"
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
"required": [
|
|
2743
|
-
"plan_id"
|
|
2744
|
-
],
|
|
2745
|
-
"additionalProperties": false
|
|
2746
|
-
}
|
|
2747
|
-
},
|
|
2748
|
-
{
|
|
2749
|
-
"name": "plans_issues_unlink",
|
|
2750
|
-
"description": "Unlink issue from a plan (/api/v2/{project_id}/issues/{id})",
|
|
2751
|
-
"inputSchema": {
|
|
2752
|
-
"type": "object",
|
|
2753
|
-
"properties": {
|
|
1712
|
+
"type": "string",
|
|
1713
|
+
"description": "(issues_link) Jira issue key to link (alternative to url)"
|
|
1714
|
+
},
|
|
2754
1715
|
"issue_id": {
|
|
2755
|
-
"type": "integer"
|
|
1716
|
+
"type": "integer",
|
|
1717
|
+
"description": "(issues_unlink) ID of the linked issue to remove"
|
|
2756
1718
|
},
|
|
2757
1719
|
"type": {
|
|
2758
1720
|
"type": "string",
|
|
2759
1721
|
"enum": [
|
|
2760
1722
|
"issue",
|
|
2761
1723
|
"jira_issue"
|
|
2762
|
-
]
|
|
1724
|
+
],
|
|
1725
|
+
"description": "(issues_unlink) Kind of the linked issue"
|
|
1726
|
+
},
|
|
1727
|
+
"verbose": {
|
|
1728
|
+
"type": "boolean",
|
|
1729
|
+
"default": false,
|
|
1730
|
+
"description": "(issues_list) Return full response bodies. Default strips entity-specific heavy fields and null values; set true when you need those."
|
|
1731
|
+
},
|
|
1732
|
+
"fields": {
|
|
1733
|
+
"type": "array",
|
|
1734
|
+
"items": {
|
|
1735
|
+
"type": "string"
|
|
1736
|
+
},
|
|
1737
|
+
"description": "(issues_list) Fields to keep per item (e.g. [\"id\",\"title\",\"status\",\"message\"]). Ignored when verbose is true."
|
|
1738
|
+
},
|
|
1739
|
+
"count": {
|
|
1740
|
+
"type": "boolean",
|
|
1741
|
+
"description": "(list) Return only metadata with total counts instead of the entity list. Pair with group_by for an aggregated breakdown."
|
|
1742
|
+
},
|
|
1743
|
+
"group_by": {
|
|
1744
|
+
"type": "string",
|
|
1745
|
+
"description": "(list) Aggregate counts by this field, e.g. status, state, priority, created_by (use with count=true). The backend validates supported fields per resource. For created_by, counts are keyed by user email, not ID."
|
|
2763
1746
|
}
|
|
2764
1747
|
},
|
|
2765
1748
|
"required": [
|
|
2766
|
-
"
|
|
2767
|
-
"type"
|
|
1749
|
+
"command"
|
|
2768
1750
|
],
|
|
2769
1751
|
"additionalProperties": false
|
|
2770
1752
|
}
|
|
2771
1753
|
},
|
|
2772
1754
|
{
|
|
2773
|
-
"name": "
|
|
2774
|
-
"description": "
|
|
1755
|
+
"name": "requirements",
|
|
1756
|
+
"description": "Manage requirements (/api/v2/{project_id}/requirements) CLI-style: pass \"command\" plus the params it needs; each param description lists the commands it applies to.",
|
|
2775
1757
|
"inputSchema": {
|
|
2776
1758
|
"type": "object",
|
|
2777
1759
|
"properties": {
|
|
2778
|
-
"
|
|
2779
|
-
"type": "
|
|
2780
|
-
"
|
|
1760
|
+
"command": {
|
|
1761
|
+
"type": "string",
|
|
1762
|
+
"enum": [
|
|
1763
|
+
"list",
|
|
1764
|
+
"get",
|
|
1765
|
+
"create",
|
|
1766
|
+
"update",
|
|
1767
|
+
"delete"
|
|
1768
|
+
],
|
|
1769
|
+
"description": "CLI-style operation to perform. list: List requirements (source, scope filters) | get: Get requirement by ID | create: Create requirement (title and source_type required) | update: Update requirement by ID | delete: Delete requirement by ID"
|
|
2781
1770
|
},
|
|
2782
|
-
"
|
|
2783
|
-
"type": "
|
|
2784
|
-
"
|
|
2785
|
-
|
|
1771
|
+
"requirement_id": {
|
|
1772
|
+
"type": "string",
|
|
1773
|
+
"description": "(get|update|delete)"
|
|
1774
|
+
},
|
|
1775
|
+
"title": {
|
|
1776
|
+
"type": "string",
|
|
1777
|
+
"description": "(create|update)"
|
|
1778
|
+
},
|
|
1779
|
+
"source_type": {
|
|
1780
|
+
"type": "string",
|
|
1781
|
+
"enum": [
|
|
1782
|
+
"jira",
|
|
1783
|
+
"confluence",
|
|
1784
|
+
"file",
|
|
1785
|
+
"text"
|
|
1786
|
+
],
|
|
1787
|
+
"description": "(create)"
|
|
2786
1788
|
},
|
|
2787
1789
|
"source": {
|
|
2788
1790
|
"type": "string",
|
|
@@ -2791,7 +1793,8 @@
|
|
|
2791
1793
|
"confluence",
|
|
2792
1794
|
"file",
|
|
2793
1795
|
"text"
|
|
2794
|
-
]
|
|
1796
|
+
],
|
|
1797
|
+
"description": "(list)"
|
|
2795
1798
|
},
|
|
2796
1799
|
"scope": {
|
|
2797
1800
|
"type": "string",
|
|
@@ -2800,167 +1803,146 @@
|
|
|
2800
1803
|
"attached",
|
|
2801
1804
|
"detached",
|
|
2802
1805
|
"without_suites"
|
|
2803
|
-
]
|
|
2804
|
-
|
|
2805
|
-
},
|
|
2806
|
-
"additionalProperties": false
|
|
2807
|
-
}
|
|
2808
|
-
},
|
|
2809
|
-
{
|
|
2810
|
-
"name": "requirements_get",
|
|
2811
|
-
"description": "Get requirement by ID",
|
|
2812
|
-
"inputSchema": {
|
|
2813
|
-
"type": "object",
|
|
2814
|
-
"properties": {
|
|
2815
|
-
"requirement_id": {
|
|
2816
|
-
"type": "string"
|
|
2817
|
-
}
|
|
2818
|
-
},
|
|
2819
|
-
"required": [
|
|
2820
|
-
"requirement_id"
|
|
2821
|
-
],
|
|
2822
|
-
"additionalProperties": false
|
|
2823
|
-
}
|
|
2824
|
-
},
|
|
2825
|
-
{
|
|
2826
|
-
"name": "requirements_create",
|
|
2827
|
-
"description": "Create requirement (/api/v2/{project_id}/requirements)",
|
|
2828
|
-
"inputSchema": {
|
|
2829
|
-
"type": "object",
|
|
2830
|
-
"properties": {
|
|
2831
|
-
"title": {
|
|
2832
|
-
"type": "string"
|
|
2833
|
-
},
|
|
2834
|
-
"source_type": {
|
|
2835
|
-
"type": "string",
|
|
2836
|
-
"enum": [
|
|
2837
|
-
"jira",
|
|
2838
|
-
"confluence",
|
|
2839
|
-
"file",
|
|
2840
|
-
"text"
|
|
2841
|
-
]
|
|
1806
|
+
],
|
|
1807
|
+
"description": "(list)"
|
|
2842
1808
|
},
|
|
2843
1809
|
"description": {
|
|
2844
1810
|
"type": "string",
|
|
2845
|
-
"description": "Required for text requirements
|
|
1811
|
+
"description": "(create|update) Required for text requirements (min 500 chars on create); only applied for text requirements on update."
|
|
2846
1812
|
},
|
|
2847
1813
|
"details": {
|
|
2848
|
-
"type": "string"
|
|
1814
|
+
"type": "string",
|
|
1815
|
+
"description": "(create|update)"
|
|
2849
1816
|
},
|
|
2850
1817
|
"active": {
|
|
2851
|
-
"type": "boolean"
|
|
1818
|
+
"type": "boolean",
|
|
1819
|
+
"description": "(create|update)"
|
|
2852
1820
|
},
|
|
2853
1821
|
"global": {
|
|
2854
|
-
"type": "boolean"
|
|
1822
|
+
"type": "boolean",
|
|
1823
|
+
"description": "(create|update)"
|
|
2855
1824
|
},
|
|
2856
1825
|
"confluence_url": {
|
|
2857
1826
|
"type": "string",
|
|
2858
|
-
"description": "Required for confluence requirements."
|
|
1827
|
+
"description": "(create) Required for confluence requirements."
|
|
2859
1828
|
},
|
|
2860
1829
|
"files": {
|
|
2861
1830
|
"type": "array",
|
|
2862
1831
|
"items": {
|
|
2863
1832
|
"type": "string"
|
|
2864
1833
|
},
|
|
2865
|
-
"description": "Local file paths to upload for file requirements."
|
|
2866
|
-
}
|
|
2867
|
-
},
|
|
2868
|
-
"required": [
|
|
2869
|
-
"title",
|
|
2870
|
-
"source_type"
|
|
2871
|
-
],
|
|
2872
|
-
"additionalProperties": false
|
|
2873
|
-
}
|
|
2874
|
-
},
|
|
2875
|
-
{
|
|
2876
|
-
"name": "requirements_update",
|
|
2877
|
-
"description": "Update requirement (/api/v2/{project_id}/requirements/{id})",
|
|
2878
|
-
"inputSchema": {
|
|
2879
|
-
"type": "object",
|
|
2880
|
-
"properties": {
|
|
2881
|
-
"requirement_id": {
|
|
2882
|
-
"type": "string"
|
|
2883
|
-
},
|
|
2884
|
-
"title": {
|
|
2885
|
-
"type": "string"
|
|
2886
|
-
},
|
|
2887
|
-
"description": {
|
|
2888
|
-
"type": "string",
|
|
2889
|
-
"description": "Only applied for text requirements."
|
|
1834
|
+
"description": "(create|update) Local file paths to upload for file requirements."
|
|
2890
1835
|
},
|
|
2891
|
-
"
|
|
2892
|
-
"type": "
|
|
1836
|
+
"page": {
|
|
1837
|
+
"type": "integer",
|
|
1838
|
+
"minimum": 1,
|
|
1839
|
+
"description": "(list)"
|
|
2893
1840
|
},
|
|
2894
|
-
"
|
|
2895
|
-
"type": "
|
|
1841
|
+
"per_page": {
|
|
1842
|
+
"type": "integer",
|
|
1843
|
+
"minimum": 1,
|
|
1844
|
+
"maximum": 100,
|
|
1845
|
+
"description": "(list)"
|
|
2896
1846
|
},
|
|
2897
|
-
"
|
|
2898
|
-
"type": "boolean"
|
|
1847
|
+
"verbose": {
|
|
1848
|
+
"type": "boolean",
|
|
1849
|
+
"default": false,
|
|
1850
|
+
"description": "(list) Return full response bodies. Default strips entity-specific heavy fields and null values; set true when you need those."
|
|
2899
1851
|
},
|
|
2900
|
-
"
|
|
1852
|
+
"fields": {
|
|
2901
1853
|
"type": "array",
|
|
2902
1854
|
"items": {
|
|
2903
1855
|
"type": "string"
|
|
2904
1856
|
},
|
|
2905
|
-
"description": "
|
|
2906
|
-
}
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
{
|
|
2915
|
-
"name": "requirements_delete",
|
|
2916
|
-
"description": "Delete requirement (/api/v2/{project_id}/requirements/{id})",
|
|
2917
|
-
"inputSchema": {
|
|
2918
|
-
"type": "object",
|
|
2919
|
-
"properties": {
|
|
2920
|
-
"requirement_id": {
|
|
2921
|
-
"type": "string"
|
|
1857
|
+
"description": "(list) Fields to keep per item (e.g. [\"id\",\"title\",\"status\",\"message\"]). Ignored when verbose is true."
|
|
1858
|
+
},
|
|
1859
|
+
"count": {
|
|
1860
|
+
"type": "boolean",
|
|
1861
|
+
"description": "(list) Return only metadata with total counts instead of the entity list. Pair with group_by for an aggregated breakdown."
|
|
1862
|
+
},
|
|
1863
|
+
"group_by": {
|
|
1864
|
+
"type": "string",
|
|
1865
|
+
"description": "(list) Aggregate counts by this field, e.g. status, state, priority, created_by (use with count=true). The backend validates supported fields per resource. For created_by, counts are keyed by user email, not ID."
|
|
2922
1866
|
}
|
|
2923
1867
|
},
|
|
2924
1868
|
"required": [
|
|
2925
|
-
"
|
|
1869
|
+
"command"
|
|
2926
1870
|
],
|
|
2927
1871
|
"additionalProperties": false
|
|
2928
1872
|
}
|
|
2929
1873
|
},
|
|
2930
1874
|
{
|
|
2931
|
-
"name": "
|
|
2932
|
-
"description": "
|
|
1875
|
+
"name": "branches",
|
|
1876
|
+
"description": "Manage project branches (/api/v2/{project_id}/branches). Requires the branches feature (enterprise plan). CLI-style: pass \"command\" plus the params it needs; each param description lists the commands it applies to.",
|
|
2933
1877
|
"inputSchema": {
|
|
2934
1878
|
"type": "object",
|
|
2935
1879
|
"properties": {
|
|
1880
|
+
"command": {
|
|
1881
|
+
"type": "string",
|
|
1882
|
+
"enum": [
|
|
1883
|
+
"list",
|
|
1884
|
+
"get",
|
|
1885
|
+
"create",
|
|
1886
|
+
"update",
|
|
1887
|
+
"delete"
|
|
1888
|
+
],
|
|
1889
|
+
"description": "CLI-style operation to perform. list: List project branches (filter_state / filter_title to narrow down) | get: Get branch by slug | create: Create branch (title required; slug is generated from it) | update: Update branch title | delete: Delete branch by slug"
|
|
1890
|
+
},
|
|
1891
|
+
"branch_id": {
|
|
1892
|
+
"type": "string",
|
|
1893
|
+
"description": "(get|update|delete) Branch slug"
|
|
1894
|
+
},
|
|
1895
|
+
"title": {
|
|
1896
|
+
"type": "string",
|
|
1897
|
+
"description": "(create|update) Branch title; a slug is generated from it"
|
|
1898
|
+
},
|
|
1899
|
+
"filter_state": {
|
|
1900
|
+
"type": "string",
|
|
1901
|
+
"enum": [
|
|
1902
|
+
"active",
|
|
1903
|
+
"merged"
|
|
1904
|
+
],
|
|
1905
|
+
"description": "(list) Filter by branch state"
|
|
1906
|
+
},
|
|
1907
|
+
"filter_title": {
|
|
1908
|
+
"type": "string",
|
|
1909
|
+
"description": "(list) Filter by title (partial substring match)"
|
|
1910
|
+
},
|
|
2936
1911
|
"page": {
|
|
2937
1912
|
"type": "integer",
|
|
2938
|
-
"minimum": 1
|
|
1913
|
+
"minimum": 1,
|
|
1914
|
+
"description": "(list)"
|
|
2939
1915
|
},
|
|
2940
1916
|
"per_page": {
|
|
2941
1917
|
"type": "integer",
|
|
2942
1918
|
"minimum": 1,
|
|
2943
|
-
"maximum": 100
|
|
1919
|
+
"maximum": 100,
|
|
1920
|
+
"description": "(list)"
|
|
2944
1921
|
},
|
|
2945
|
-
"
|
|
2946
|
-
"type": "
|
|
2947
|
-
"
|
|
2948
|
-
|
|
2949
|
-
"confluence",
|
|
2950
|
-
"file",
|
|
2951
|
-
"text"
|
|
2952
|
-
]
|
|
1922
|
+
"verbose": {
|
|
1923
|
+
"type": "boolean",
|
|
1924
|
+
"default": false,
|
|
1925
|
+
"description": "(list) Return full response bodies. Default strips entity-specific heavy fields and null values; set true when you need those."
|
|
2953
1926
|
},
|
|
2954
|
-
"
|
|
1927
|
+
"fields": {
|
|
1928
|
+
"type": "array",
|
|
1929
|
+
"items": {
|
|
1930
|
+
"type": "string"
|
|
1931
|
+
},
|
|
1932
|
+
"description": "(list) Fields to keep per item (e.g. [\"id\",\"title\",\"status\",\"message\"]). Ignored when verbose is true."
|
|
1933
|
+
},
|
|
1934
|
+
"count": {
|
|
1935
|
+
"type": "boolean",
|
|
1936
|
+
"description": "(list) Return only metadata with total counts instead of the entity list. Pair with group_by for an aggregated breakdown."
|
|
1937
|
+
},
|
|
1938
|
+
"group_by": {
|
|
2955
1939
|
"type": "string",
|
|
2956
|
-
"
|
|
2957
|
-
"global",
|
|
2958
|
-
"attached",
|
|
2959
|
-
"detached",
|
|
2960
|
-
"without_suites"
|
|
2961
|
-
]
|
|
1940
|
+
"description": "(list) Aggregate counts by this field, e.g. status, state, priority, created_by (use with count=true). The backend validates supported fields per resource. For created_by, counts are keyed by user email, not ID."
|
|
2962
1941
|
}
|
|
2963
1942
|
},
|
|
1943
|
+
"required": [
|
|
1944
|
+
"command"
|
|
1945
|
+
],
|
|
2964
1946
|
"additionalProperties": false
|
|
2965
1947
|
}
|
|
2966
1948
|
}
|