ado-sync 0.1.65 → 0.1.68
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -15
- package/dist/__tests__/regressions.test.js +1133 -1
- package/dist/__tests__/regressions.test.js.map +1 -1
- package/dist/ai/summarizer.d.ts +2 -1
- package/dist/ai/summarizer.js +6 -1
- package/dist/ai/summarizer.js.map +1 -1
- package/dist/azure/test-cases.d.ts +11 -1
- package/dist/azure/test-cases.js +286 -43
- package/dist/azure/test-cases.js.map +1 -1
- package/dist/cli-diagnostics.d.ts +66 -0
- package/dist/cli-diagnostics.js +75 -0
- package/dist/cli-diagnostics.js.map +1 -0
- package/dist/cli.js +335 -23
- package/dist/cli.js.map +1 -1
- package/dist/config.js +194 -9
- package/dist/config.js.map +1 -1
- package/dist/extensions.d.ts +8 -0
- package/dist/extensions.js +86 -0
- package/dist/extensions.js.map +1 -0
- package/dist/id-markers.d.ts +1 -0
- package/dist/id-markers.js +13 -0
- package/dist/id-markers.js.map +1 -1
- package/dist/sync/cache.d.ts +2 -0
- package/dist/sync/cache.js.map +1 -1
- package/dist/sync/engine.d.ts +29 -2
- package/dist/sync/engine.js +270 -41
- package/dist/sync/engine.js.map +1 -1
- package/dist/sync/publish-results.d.ts +25 -0
- package/dist/sync/publish-results.js +81 -2
- package/dist/sync/publish-results.js.map +1 -1
- package/dist/types.d.ts +98 -2
- package/llms.txt +11 -11
- package/package.json +9 -1
- package/docs/advanced.md +0 -989
- package/docs/agent-setup.md +0 -204
- package/docs/capability-roadmap.md +0 -280
- package/docs/cli.md +0 -614
- package/docs/configuration.md +0 -322
- package/docs/examples/csharp-mstest-local-llm.yaml +0 -35
- package/docs/examples/csharp-mstest.yaml +0 -21
- package/docs/examples/csharp-nunit.yaml +0 -21
- package/docs/examples/csharp-specflow.yaml +0 -16
- package/docs/examples/cypress.yaml +0 -21
- package/docs/examples/detox-react-native.yaml +0 -21
- package/docs/examples/espresso-android.yaml +0 -21
- package/docs/examples/flutter-dart.yaml +0 -21
- package/docs/examples/java-junit.yaml +0 -21
- package/docs/examples/java-testng.yaml +0 -21
- package/docs/examples/js-jasmine-wdio.yaml +0 -21
- package/docs/examples/js-jest.yaml +0 -21
- package/docs/examples/playwright-js.yaml +0 -21
- package/docs/examples/playwright-ts.yaml +0 -21
- package/docs/examples/puppeteer.yaml +0 -21
- package/docs/examples/python-pytest.yaml +0 -21
- package/docs/examples/robot-framework.yaml +0 -19
- package/docs/examples/testcafe.yaml +0 -21
- package/docs/examples/xcuitest-ios.yaml +0 -21
- package/docs/mcp-server.md +0 -312
- package/docs/publish-test-results.md +0 -947
- package/docs/spec-formats.md +0 -1357
- package/docs/troubleshooting.md +0 -101
- package/docs/vscode-extension.md +0 -139
- package/docs/work-item-links.md +0 -115
- package/docs/workflows.md +0 -457
- package/mkdocs.yml +0 -40
- package/requirements-docs.txt +0 -4
- package/scripts/build_site.sh +0 -6
package/docs/configuration.md
DELETED
|
@@ -1,322 +0,0 @@
|
|
|
1
|
-
# Configuration reference
|
|
2
|
-
|
|
3
|
-
Config files can be JSON (`.json`) or YAML (`.yml` / `.yaml`). Run `ado-sync init` to generate a template.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Full example (JSON)
|
|
8
|
-
|
|
9
|
-
```json
|
|
10
|
-
{
|
|
11
|
-
"orgUrl": "https://dev.azure.com/YOUR_ORG",
|
|
12
|
-
"project": "YOUR_PROJECT",
|
|
13
|
-
"configurationKey": "my-repo-smoke",
|
|
14
|
-
|
|
15
|
-
"auth": {
|
|
16
|
-
"type": "pat",
|
|
17
|
-
"token": "$AZURE_DEVOPS_TOKEN"
|
|
18
|
-
},
|
|
19
|
-
|
|
20
|
-
"testPlan": {
|
|
21
|
-
"id": 1234,
|
|
22
|
-
"suiteId": 5678,
|
|
23
|
-
"suiteMapping": "flat",
|
|
24
|
-
"suiteRouting": [
|
|
25
|
-
{ "tags": "@smoke", "suite": "Smoke" },
|
|
26
|
-
{ "tags": "@regression", "suite": "Regression" },
|
|
27
|
-
{ "suite": "General" }
|
|
28
|
-
]
|
|
29
|
-
},
|
|
30
|
-
|
|
31
|
-
"local": {
|
|
32
|
-
"type": "gherkin",
|
|
33
|
-
"include": "specs/**/*.feature",
|
|
34
|
-
"exclude": [],
|
|
35
|
-
"condition": "@done and not @wip"
|
|
36
|
-
},
|
|
37
|
-
|
|
38
|
-
"toolSettings": {
|
|
39
|
-
"parentConfig": "../base-ado-sync.json",
|
|
40
|
-
"outputLevel": "normal"
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
"sync": {
|
|
44
|
-
"tagPrefix": "tc",
|
|
45
|
-
"titleField": "System.Title",
|
|
46
|
-
"areaPath": "MyProject\\Team A",
|
|
47
|
-
"iterationPath": "MyProject\\Sprint 1",
|
|
48
|
-
"disableLocalChanges": false,
|
|
49
|
-
"conflictAction": "overwrite",
|
|
50
|
-
"links": [
|
|
51
|
-
{ "prefix": "story", "relationship": "System.LinkTypes.Related" },
|
|
52
|
-
{ "prefix": "bug", "relationship": "System.LinkTypes.Related" }
|
|
53
|
-
],
|
|
54
|
-
"state": {
|
|
55
|
-
"setValueOnChangeTo": "Design",
|
|
56
|
-
"condition": "@active"
|
|
57
|
-
},
|
|
58
|
-
"fieldUpdates": {
|
|
59
|
-
"System.AreaPath": {
|
|
60
|
-
"conditionalValue": {
|
|
61
|
-
"@smoke": "MyProject\\Smoke",
|
|
62
|
-
"otherwise": "MyProject\\Regression"
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
"Custom.Priority": {
|
|
66
|
-
"condition": "@priority:*",
|
|
67
|
-
"value": "{1}",
|
|
68
|
-
"update": "onCreate"
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
"format": {
|
|
72
|
-
"prefixTitle": true,
|
|
73
|
-
"prefixBackgroundSteps": true,
|
|
74
|
-
"useExpectedResult": false,
|
|
75
|
-
"syncDataTableAsText": false,
|
|
76
|
-
"showParameterListStep": "whenUnusedParameters"
|
|
77
|
-
},
|
|
78
|
-
"attachments": {
|
|
79
|
-
"enabled": true,
|
|
80
|
-
"tagPrefixes": ["wireframe", "spec"],
|
|
81
|
-
"baseFolder": "specs/attachments"
|
|
82
|
-
},
|
|
83
|
-
"pull": {
|
|
84
|
-
"enableCreatingNewLocalTestCases": false,
|
|
85
|
-
"targetFolder": "specs/pulled"
|
|
86
|
-
},
|
|
87
|
-
"ai": {
|
|
88
|
-
"provider": "heuristic",
|
|
89
|
-
"contextFile": "./docs/ai-context.md",
|
|
90
|
-
"writebackDocComment": false
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
|
|
94
|
-
"customizations": {
|
|
95
|
-
"fieldDefaults": {
|
|
96
|
-
"enabled": true,
|
|
97
|
-
"defaultValues": {
|
|
98
|
-
"System.State": "Design",
|
|
99
|
-
"Custom.AutomationStatus": "Planned"
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
"ignoreTestCaseTags": {
|
|
103
|
-
"enabled": true,
|
|
104
|
-
"tags": ["reviewed", "ado-*"]
|
|
105
|
-
},
|
|
106
|
-
"tagTextMapTransformation": {
|
|
107
|
-
"enabled": true,
|
|
108
|
-
"textMap": { "_": " " }
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
---
|
|
115
|
-
|
|
116
|
-
## Top-level fields
|
|
117
|
-
|
|
118
|
-
### `orgUrl`
|
|
119
|
-
|
|
120
|
-
Azure DevOps organisation URL. Format: `https://dev.azure.com/YOUR_ORG`.
|
|
121
|
-
|
|
122
|
-
---
|
|
123
|
-
|
|
124
|
-
### `project`
|
|
125
|
-
|
|
126
|
-
Azure DevOps project name.
|
|
127
|
-
|
|
128
|
-
---
|
|
129
|
-
|
|
130
|
-
### `configurationKey`
|
|
131
|
-
|
|
132
|
-
*(Optional)* A unique string identifying this config within the ADO project. Used to prevent conflicts when multiple ado-sync configs push into the same Test Plan (e.g. `"smoke-suite"`, `"regression-suite"`). When set, ID writeback tags are namespaced so that one config's tags don't collide with another's.
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
### `auth`
|
|
137
|
-
|
|
138
|
-
| Field | Description |
|
|
139
|
-
|-------|-------------|
|
|
140
|
-
| `type` | `"pat"` · `"accessToken"` · `"managedIdentity"` |
|
|
141
|
-
| `token` | PAT or access token value. Prefix with `$` to read from an environment variable (e.g. `"$AZURE_DEVOPS_TOKEN"`). |
|
|
142
|
-
| `applicationIdURI` | Required only when `type` is `"managedIdentity"`. |
|
|
143
|
-
|
|
144
|
-
**PAT permissions required:** Test Management (Read & Write), Work Items (Read & Write).
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
### `testPlan`
|
|
149
|
-
|
|
150
|
-
| Field | Default | Description |
|
|
151
|
-
|-------|---------|-------------|
|
|
152
|
-
| `id` | *(required)* | ID of the Azure DevOps Test Plan. |
|
|
153
|
-
| `suiteId` | plan root | ID of the Test Suite within the plan. Defaults to the plan's root suite. |
|
|
154
|
-
| `suiteMapping` | `"flat"` | `"flat"` — all TCs go into one suite. `"byFolder"` — folder hierarchy mirrored as nested child suites. `"byFile"` — each spec file gets its own child suite named after the file. |
|
|
155
|
-
| `suiteRouting` | *(none)* | Tag-condition-based primary suite routing. Routes are evaluated in order; first match wins. See [Multi-suite routing](advanced.md#multi-suite-routing). |
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
### `testPlans` (multi-plan)
|
|
160
|
-
|
|
161
|
-
Use `testPlans` instead of `testPlan` to sync one repo against multiple Test Plans in a single config.
|
|
162
|
-
|
|
163
|
-
```json
|
|
164
|
-
{
|
|
165
|
-
"testPlans": [
|
|
166
|
-
{
|
|
167
|
-
"id": 1001,
|
|
168
|
-
"suiteId": 2001,
|
|
169
|
-
"include": "specs/smoke/**/*.feature",
|
|
170
|
-
"suiteRouting": [
|
|
171
|
-
{ "tags": "@critical", "suite": "Critical" },
|
|
172
|
-
{ "suite": "Smoke" }
|
|
173
|
-
]
|
|
174
|
-
},
|
|
175
|
-
{ "id": 1002, "suiteId": 2002, "include": "specs/regression/**/*.feature", "suiteMapping": "byFile" }
|
|
176
|
-
]
|
|
177
|
-
}
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
| Field | Description |
|
|
181
|
-
|-------|-------------|
|
|
182
|
-
| `id` | Test Plan ID |
|
|
183
|
-
| `suiteId` | *(Optional)* Target suite ID |
|
|
184
|
-
| `suiteMapping` | *(Optional)* `"flat"`, `"byFolder"`, or `"byFile"` |
|
|
185
|
-
| `include` | *(Optional)* Override `local.include` for this plan |
|
|
186
|
-
| `exclude` | *(Optional)* Override `local.exclude` for this plan |
|
|
187
|
-
| `suiteRouting` | *(Optional)* Per-plan tag-based primary suite routing (overrides base `testPlan.suiteRouting`) |
|
|
188
|
-
| `suiteConditions` | *(Optional)* Per-plan additive suite conditions (overrides base `sync.suiteConditions`) |
|
|
189
|
-
|
|
190
|
-
---
|
|
191
|
-
|
|
192
|
-
### `local`
|
|
193
|
-
|
|
194
|
-
| Field | Default | Description |
|
|
195
|
-
|-------|---------|-------------|
|
|
196
|
-
| `type` | *(required)* | `"gherkin"` · `"markdown"` · `"csv"` · `"excel"` · `"csharp"` · `"java"` · `"python"` · `"javascript"` · `"playwright"` · `"robot"` |
|
|
197
|
-
| `include` | *(required)* | Glob pattern(s) relative to the config file. String or array. |
|
|
198
|
-
| `exclude` | *(none)* | Glob pattern(s) to exclude. String or array. |
|
|
199
|
-
| `condition` | *(none)* | Tag expression filter applied before `--tags`. Only scenarios matching this expression are included in sync. e.g. `"@done and not (@ignored or @planned)"` |
|
|
200
|
-
|
|
201
|
-
---
|
|
202
|
-
|
|
203
|
-
### `toolSettings`
|
|
204
|
-
|
|
205
|
-
| Field | Default | Description |
|
|
206
|
-
|-------|---------|-------------|
|
|
207
|
-
| `parentConfig` | *(none)* | Relative path to a parent config file. Child values override parent values (deep merge). Circular references are detected and rejected. |
|
|
208
|
-
| `ignoreParentConfig` | `false` | When `true`, the `parentConfig` reference is ignored. Useful to opt a child config out of inheritance temporarily. |
|
|
209
|
-
| `outputLevel` | `"normal"` | `"normal"` — show all results per-line. `"quiet"` — suppress `skipped` lines, show only actionable results. `"verbose"` — reserved for future detailed output. |
|
|
210
|
-
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
### `sync`
|
|
214
|
-
|
|
215
|
-
| Field | Default | Description |
|
|
216
|
-
|-------|---------|-------------|
|
|
217
|
-
| `tagPrefix` | `"tc"` | Prefix used in ID tags (`@tc:12345`). |
|
|
218
|
-
| `titleField` | `"System.Title"` | Azure DevOps field used as the test case title. |
|
|
219
|
-
| `areaPath` | *(none)* | Area path for newly created Test Cases. |
|
|
220
|
-
| `iterationPath` | *(none)* | Iteration path for newly created Test Cases. |
|
|
221
|
-
| `disableLocalChanges` | `false` | When `true`, no local files are modified (no ID writeback, no pull apply). Use in CI. |
|
|
222
|
-
| `conflictAction` | `"overwrite"` | `"overwrite"` · `"skip"` · `"fail"` — see [Conflict detection](advanced.md#conflict-detection). |
|
|
223
|
-
| `links` | `[]` | Work item link configs — see [Work item linking](spec-formats.md#work-item-linking). |
|
|
224
|
-
| `state` | *(none)* | Set TC State field on change — see [State configuration](advanced.md#state-configuration). |
|
|
225
|
-
| `fieldUpdates` | *(none)* | Custom field update rules — see [Field updates](advanced.md#field-updates). |
|
|
226
|
-
| `format` | *(none)* | TC content formatting options — see [Format configuration](advanced.md#format-configuration). |
|
|
227
|
-
| `attachments` | *(none)* | File attachment sync — see [Attachments](advanced.md#attachments). |
|
|
228
|
-
| `pull` | *(none)* | Pull-specific options — see [Pull configuration](advanced.md#pull-configuration). |
|
|
229
|
-
| `suiteConditions` | *(none)* | Per-tag additive suite routing rules. |
|
|
230
|
-
| `ai` | *(none)* | AI provider config for auto-summarization, generate context, and failure analysis — see [AI auto-summary](advanced.md#ai-auto-summary-for-code-tests). Fields: `provider`, `model`, `baseUrl`, `apiKey`, `contextFile`, `analyzeFailures`, `writebackDocComment`. |
|
|
231
|
-
|
|
232
|
-
---
|
|
233
|
-
|
|
234
|
-
### `customizations`
|
|
235
|
-
|
|
236
|
-
Controls tag transformations applied before push. See [Customizations](advanced.md#customizations).
|
|
237
|
-
|
|
238
|
-
| Field | Description |
|
|
239
|
-
|-------|-------------|
|
|
240
|
-
| `fieldDefaults` | Default field values applied only on create. |
|
|
241
|
-
| `ignoreTestCaseTags` | Preserve certain Azure-side tags from being removed on push. |
|
|
242
|
-
| `tagTextMapTransformation` | Character/substring replacements applied to tags before push. |
|
|
243
|
-
|
|
244
|
-
---
|
|
245
|
-
|
|
246
|
-
### `publishTestResults`
|
|
247
|
-
|
|
248
|
-
Configuration for the `publish-test-results` command. See [Publishing test results](publish-test-results.md#configuration).
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
## YAML example
|
|
253
|
-
|
|
254
|
-
```yaml
|
|
255
|
-
orgUrl: https://dev.azure.com/my-org
|
|
256
|
-
project: MyProject
|
|
257
|
-
|
|
258
|
-
auth:
|
|
259
|
-
type: pat
|
|
260
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
261
|
-
|
|
262
|
-
testPlan:
|
|
263
|
-
id: 1234
|
|
264
|
-
suiteId: 5678
|
|
265
|
-
suiteMapping: byFolder
|
|
266
|
-
suiteRouting:
|
|
267
|
-
- tags: "@smoke"
|
|
268
|
-
suite: Smoke
|
|
269
|
-
- suite: General
|
|
270
|
-
|
|
271
|
-
local:
|
|
272
|
-
type: gherkin
|
|
273
|
-
include: specs/**/*.feature
|
|
274
|
-
exclude:
|
|
275
|
-
- specs/archive/**
|
|
276
|
-
condition: "@done and not @wip"
|
|
277
|
-
|
|
278
|
-
toolSettings:
|
|
279
|
-
outputLevel: quiet
|
|
280
|
-
|
|
281
|
-
sync:
|
|
282
|
-
tagPrefix: tc
|
|
283
|
-
areaPath: "MyProject\\QA Team"
|
|
284
|
-
conflictAction: skip
|
|
285
|
-
links:
|
|
286
|
-
- prefix: story
|
|
287
|
-
relationship: System.LinkTypes.Related
|
|
288
|
-
format:
|
|
289
|
-
prefixTitle: true
|
|
290
|
-
useExpectedResult: false
|
|
291
|
-
ai:
|
|
292
|
-
provider: heuristic
|
|
293
|
-
# contextFile: ./docs/ai-context.md
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
---
|
|
297
|
-
|
|
298
|
-
## Hierarchical config
|
|
299
|
-
|
|
300
|
-
Use `toolSettings.parentConfig` to share common settings across multiple config files.
|
|
301
|
-
|
|
302
|
-
```
|
|
303
|
-
repo/
|
|
304
|
-
ado-sync-base.json ← org, project, auth, shared sync settings
|
|
305
|
-
smoke/
|
|
306
|
-
ado-sync.json ← testPlan.id: 1001, local.include: specs/smoke/**
|
|
307
|
-
regression/
|
|
308
|
-
ado-sync.json ← testPlan.id: 1002, local.include: specs/regression/**
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
Child config:
|
|
312
|
-
```json
|
|
313
|
-
{
|
|
314
|
-
"toolSettings": { "parentConfig": "../ado-sync-base.json" },
|
|
315
|
-
"testPlan": { "id": 1002, "suiteId": 3001 },
|
|
316
|
-
"local": { "type": "gherkin", "include": "specs/regression/**/*.feature" }
|
|
317
|
-
}
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
Child values override parent values using a deep merge (arrays are replaced, not concatenated). Circular references are detected and throw an error.
|
|
321
|
-
|
|
322
|
-
Set `toolSettings.ignoreParentConfig: true` in any child to opt out of inheritance for that config without editing the parent.
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: csharp
|
|
12
|
-
include: Tests/**/*.cs
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
17
|
-
ai:
|
|
18
|
-
provider: local
|
|
19
|
-
# Download a GGUF model file once, then point to it here.
|
|
20
|
-
# macOS / Linux:
|
|
21
|
-
# mkdir -p ~/.cache/ado-sync/models
|
|
22
|
-
# curl -L -o ~/.cache/ado-sync/models/qwen2.5-coder-7b-instruct-q4_k_m.gguf \
|
|
23
|
-
# "https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct-GGUF/resolve/main/qwen2.5-coder-7b-instruct-q4_k_m.gguf"
|
|
24
|
-
#
|
|
25
|
-
# Windows (PowerShell):
|
|
26
|
-
# New-Item -ItemType Directory -Force "$env:LOCALAPPDATA\ado-sync\models"
|
|
27
|
-
# Invoke-WebRequest -Uri "https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct-GGUF/resolve/main/qwen2.5-coder-7b-instruct-q4_k_m.gguf" `
|
|
28
|
-
# -OutFile "$env:LOCALAPPDATA\ado-sync\models\qwen2.5-coder-7b-instruct-q4_k_m.gguf"
|
|
29
|
-
#
|
|
30
|
-
# Model size options (Qwen2.5-Coder recommended):
|
|
31
|
-
# 1.5B Q4_K_M ~1.1 GB RAM Good
|
|
32
|
-
# 7B Q4_K_M ~4.5 GB RAM Better
|
|
33
|
-
# 14B Q4_K_M ~8.5 GB RAM Excellent
|
|
34
|
-
model: ~/.cache/ado-sync/models/qwen2.5-coder-7b-instruct-q4_k_m.gguf
|
|
35
|
-
# model: $env:LOCALAPPDATA\ado-sync\models\qwen2.5-coder-7b-instruct-q4_k_m.gguf # Windows
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: csharp
|
|
12
|
-
include: Tests/**/*.cs
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
17
|
-
ai:
|
|
18
|
-
provider: openai
|
|
19
|
-
baseUrl: https://router.huggingface.co/v1
|
|
20
|
-
apiKey: $HF_TOKEN
|
|
21
|
-
model: Qwen/Qwen2.5-Coder-7B-Instruct
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: csharp
|
|
12
|
-
include: Tests/**/*.cs
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
17
|
-
ai:
|
|
18
|
-
provider: openai
|
|
19
|
-
baseUrl: https://router.huggingface.co/v1
|
|
20
|
-
apiKey: $HF_TOKEN
|
|
21
|
-
model: Qwen/Qwen2.5-Coder-7B-Instruct
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: gherkin
|
|
12
|
-
include: Features/**/*.feature
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: cypress
|
|
12
|
-
include: cypress/e2e/**/*.cy.{js,ts}
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
17
|
-
ai:
|
|
18
|
-
provider: openai
|
|
19
|
-
baseUrl: https://router.huggingface.co/v1
|
|
20
|
-
apiKey: $HF_TOKEN
|
|
21
|
-
model: Qwen/Qwen2.5-Coder-7B-Instruct
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: detox
|
|
12
|
-
include: tests/**/*.test.ts
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
17
|
-
ai:
|
|
18
|
-
provider: openai
|
|
19
|
-
baseUrl: https://router.huggingface.co/v1
|
|
20
|
-
apiKey: $HF_TOKEN
|
|
21
|
-
model: Qwen/Qwen2.5-Coder-7B-Instruct
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: espresso
|
|
12
|
-
include: app/src/androidTest/**/*.java
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
17
|
-
ai:
|
|
18
|
-
provider: openai
|
|
19
|
-
baseUrl: https://router.huggingface.co/v1
|
|
20
|
-
apiKey: $HF_TOKEN
|
|
21
|
-
model: Qwen/Qwen2.5-Coder-7B-Instruct
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: flutter
|
|
12
|
-
include: test/**/*_test.dart
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
17
|
-
ai:
|
|
18
|
-
provider: openai
|
|
19
|
-
baseUrl: https://router.huggingface.co/v1
|
|
20
|
-
apiKey: $HF_TOKEN
|
|
21
|
-
model: Qwen/Qwen2.5-Coder-7B-Instruct
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: java
|
|
12
|
-
include: src/test/java/**/*.java
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
17
|
-
ai:
|
|
18
|
-
provider: openai
|
|
19
|
-
baseUrl: https://router.huggingface.co/v1
|
|
20
|
-
apiKey: $HF_TOKEN
|
|
21
|
-
model: Qwen/Qwen2.5-Coder-7B-Instruct
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: java
|
|
12
|
-
include: src/test/java/**/*.java
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
17
|
-
ai:
|
|
18
|
-
provider: openai
|
|
19
|
-
baseUrl: https://router.huggingface.co/v1
|
|
20
|
-
apiKey: $HF_TOKEN
|
|
21
|
-
model: Qwen/Qwen2.5-Coder-7B-Instruct
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: javascript
|
|
12
|
-
include: test/specs/**/*.spec.js
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
17
|
-
ai:
|
|
18
|
-
provider: openai
|
|
19
|
-
baseUrl: https://router.huggingface.co/v1
|
|
20
|
-
apiKey: $HF_TOKEN
|
|
21
|
-
model: Qwen/Qwen2.5-Coder-7B-Instruct
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: javascript
|
|
12
|
-
include: tests/**/*.test.js
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
17
|
-
ai:
|
|
18
|
-
provider: openai
|
|
19
|
-
baseUrl: https://router.huggingface.co/v1
|
|
20
|
-
apiKey: $HF_TOKEN
|
|
21
|
-
model: Qwen/Qwen2.5-Coder-7B-Instruct
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: playwright
|
|
12
|
-
include: tests/**/*.spec.js
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
17
|
-
ai:
|
|
18
|
-
provider: openai
|
|
19
|
-
baseUrl: https://router.huggingface.co/v1
|
|
20
|
-
apiKey: $HF_TOKEN
|
|
21
|
-
model: Qwen/Qwen2.5-Coder-7B-Instruct
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: playwright
|
|
12
|
-
include: tests/**/*.spec.ts
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
17
|
-
ai:
|
|
18
|
-
provider: openai
|
|
19
|
-
baseUrl: https://router.huggingface.co/v1
|
|
20
|
-
apiKey: $HF_TOKEN
|
|
21
|
-
model: Qwen/Qwen2.5-Coder-7B-Instruct
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: puppeteer
|
|
12
|
-
include: tests/**/*.test.{js,ts}
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
17
|
-
ai:
|
|
18
|
-
provider: openai
|
|
19
|
-
baseUrl: https://router.huggingface.co/v1
|
|
20
|
-
apiKey: $HF_TOKEN
|
|
21
|
-
model: Qwen/Qwen2.5-Coder-7B-Instruct
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
orgUrl: https://dev.azure.com/your-org
|
|
2
|
-
project: YourProject
|
|
3
|
-
auth:
|
|
4
|
-
type: pat
|
|
5
|
-
token: $AZURE_DEVOPS_TOKEN
|
|
6
|
-
testPlan:
|
|
7
|
-
id: 12345 # replace with your test plan ID
|
|
8
|
-
suiteId: 12346 # replace with your root suite ID
|
|
9
|
-
suiteMapping: flat
|
|
10
|
-
local:
|
|
11
|
-
type: python
|
|
12
|
-
include: tests/**/*.py
|
|
13
|
-
sync:
|
|
14
|
-
tagPrefix: tc
|
|
15
|
-
titleField: System.Title
|
|
16
|
-
markAutomated: true
|
|
17
|
-
ai:
|
|
18
|
-
provider: openai
|
|
19
|
-
baseUrl: https://router.huggingface.co/v1
|
|
20
|
-
apiKey: $HF_TOKEN
|
|
21
|
-
model: Qwen/Qwen2.5-Coder-7B-Instruct
|