ado-sync 0.1.29 → 0.1.30

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 CHANGED
@@ -217,12 +217,12 @@ ado-sync push
217
217
  ado-sync pull
218
218
  ```
219
219
 
220
- ### C# MSTest / NUnit: create TCs, run tests, publish results
220
+ ### C# MSTest / NUnit / SpecFlow: create TCs, run tests, publish results
221
221
 
222
222
  ```bash
223
- # 1. Create TCs and write IDs back into .cs files
223
+ # 1. Create TCs and write IDs back into .cs / .feature files
224
224
  ado-sync push --dry-run # preview
225
- ado-sync push # writes [TestProperty("tc","ID")] / [Property("tc","ID")]
225
+ ado-sync push # writes [TestProperty("tc","ID")] / [Property("tc","ID")] / @tc:ID
226
226
 
227
227
  # 2a. MSTest — TRX contains [TestProperty] values; TC IDs extracted automatically
228
228
  dotnet test --logger "trx;LogFileName=results.trx"
@@ -231,6 +231,10 @@ ado-sync publish-test-results --testResult results/results.trx
231
231
  # 2b. NUnit — use native XML logger so [Property("tc","ID")] values are included
232
232
  dotnet test --logger "nunit3;LogFileName=results.xml"
233
233
  ado-sync publish-test-results --testResult results/results.xml
234
+
235
+ # 2c. SpecFlow — TRX format (SpecFlow writes @tc:ID into TestProperty automatically)
236
+ dotnet test --logger "trx;LogFileName=results.trx"
237
+ ado-sync publish-test-results --testResult results/results.trx
234
238
  ```
235
239
 
236
240
  Recommended `ado-sync.json` for C# MSTest:
@@ -253,6 +257,25 @@ Recommended `ado-sync.json` for C# MSTest:
253
257
  }
254
258
  ```
255
259
 
260
+ Recommended `ado-sync.json` for C# SpecFlow:
261
+
262
+ ```json
263
+ {
264
+ "orgUrl": "https://dev.azure.com/my-org",
265
+ "project": "MyProject",
266
+ "auth": { "type": "pat", "token": "$AZURE_DEVOPS_TOKEN" },
267
+ "testPlan": { "id": 1234 },
268
+ "local": {
269
+ "type": "gherkin",
270
+ "include": ["Features/**/*.feature"]
271
+ },
272
+ "sync": {
273
+ "tagPrefix": "tc",
274
+ "markAutomated": true
275
+ }
276
+ }
277
+ ```
278
+
256
279
  ### Java JUnit / TestNG: create TCs and publish results
257
280
 
258
281
  ```bash
@@ -336,6 +359,40 @@ npx jest --reporters=default --reporters=jest-junit
336
359
  ado-sync publish-test-results --testResult results/junit.xml --testResultFormat junit
337
360
  ```
338
361
 
362
+ ### Playwright: create TCs and publish results with screenshots
363
+
364
+ ```bash
365
+ # 1. Create TCs and write IDs back into .ts spec files
366
+ ado-sync push --dry-run # preview
367
+ ado-sync push # writes // @tc:ID above each test()
368
+
369
+ # 2. Add @tc:ID tag to test title and run Playwright with JSON reporter
370
+ # playwright.config.ts: reporter: [['json', { outputFile: 'results/playwright.json' }]]
371
+ npx playwright test
372
+
373
+ # 3. Publish — TC IDs from @tc:ID in test title; screenshots/videos from attachments[]
374
+ ado-sync publish-test-results --testResult results/playwright.json
375
+ ```
376
+
377
+ Recommended `ado-sync.json` for Playwright:
378
+
379
+ ```json
380
+ {
381
+ "orgUrl": "https://dev.azure.com/my-org",
382
+ "project": "MyProject",
383
+ "auth": { "type": "pat", "token": "$AZURE_DEVOPS_TOKEN" },
384
+ "testPlan": { "id": 1234 },
385
+ "local": {
386
+ "type": "javascript",
387
+ "include": ["tests/**/*.spec.ts"],
388
+ "exclude": ["**/*.helper.ts"]
389
+ },
390
+ "sync": {
391
+ "markAutomated": true
392
+ }
393
+ }
394
+ ```
395
+
339
396
  Recommended `ado-sync.json` for Jest/Jasmine/WebdriverIO:
340
397
 
341
398
  ```json
@@ -413,13 +470,16 @@ The comparison uses title + steps + description. Touch any step to force an upda
413
470
  Delete `.ado-sync-state.json` to reset the cache. The next push re-populates it from Azure.
414
471
 
415
472
  **CSV/Excel IDs not written back**
416
- Ensure the file is not open in another application. Check that `sync.disableLocalChanges` is not `true`.
473
+ Ensure the file is not open in another application and that `sync.disableLocalChanges` is not `true`. If a TC was deleted from Azure and re-created on push, the old ID in column A is now replaced with the new ID automatically.
417
474
 
418
475
  **Excel file not parsed / `No worksheet found`**
419
- ado-sync looks for `xl/worksheets/sheet.xml` or `xl/worksheets/sheet1.xml` inside the xlsx ZIP. Re-export from Azure DevOps to get a compatible file.
476
+ ado-sync searches for the first worksheet by reading `xl/_rels/workbook.xml.rels` from the xlsx ZIP, falling back to common names (`sheet.xml`, `sheet1.xml`). Non-standard sheet names and multi-sheet workbooks are handled automatically. If parsing still fails, re-export from Azure DevOps.
420
477
 
421
- **Pull has no effect on CSV/Excel files**
422
- Pull is not supported for CSV and Excel only push. These formats are managed by external tools.
478
+ **Pull has no effect on CSV files**
479
+ CSV pull is now supported `ado-sync pull` updates the Title and step rows in CSV files to match the current Azure DevOps Test Case. Run `ado-sync pull --dry-run` first to preview changes.
480
+
481
+ **Pull has no effect on Excel files**
482
+ Excel (xlsx) pull is not yet supported — only push. Use CSV export instead if bidirectional sync is needed, or pull the changes manually and re-export.
423
483
 
424
484
  **C# categories show as constant names instead of values**
425
485
  ado-sync resolves `const string` declarations in the same file. Constants defined in a base class are not resolved — use string literals in `[TestCategory("...")]` for reliable tagging.
@@ -447,3 +507,15 @@ ado-sync detects `it()`, `test()`, `xit()`, `xtest()`, and `.only`/`.skip`/`.con
447
507
 
448
508
  **JavaScript ID not written back**
449
509
  ado-sync inserts `// @tc:ID` immediately above the `it()`/`test()` line. There must be no blank line between the comment and the test function call.
510
+
511
+ **`publish-test-results` — "TestPointId, testCaseId must be specified for planned test results"**
512
+ This error means the Test Run was created as a "planned" run (tied to a test plan), which requires test point IDs for each result. ado-sync creates standalone automated runs — do not pass `plan.id` in `runModel`. This is handled automatically; if you see this error, ensure you are on the latest version.
513
+
514
+ **TRX screenshots / `<ResultFiles>` not attached**
515
+ In TRX format, `<ResultFiles>` is a child of `<Output>`, not a direct child of `<UnitTestResult>`. Make sure `TestContext.AddResultFile("path/to/screenshot.png")` is called in your test code. ado-sync reads from the correct nested path automatically.
516
+
517
+ **Attachment paths resolve incorrectly**
518
+ Attachment paths embedded in result files (TRX `<ResultFiles>`, NUnit `<filePath>`, JUnit `[[ATTACHMENT|path]]`, Playwright `attachments[].path`) are resolved **relative to the result file's directory**, not the working directory. Keep result files and screenshots in the same output folder hierarchy as your test runner produces them.
519
+
520
+ **"Invalid AttachmentType specified" from Azure DevOps API**
521
+ Azure DevOps only accepts `GeneralAttachment` and `ConsoleLog` as attachment types. Screenshot and video files are uploaded as `GeneralAttachment` automatically — no special type is needed.
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * ID writeback: updates column A on the title row for newly created test cases.
12
12
  */
13
- import { LinkConfig, ParsedTest } from '../types';
13
+ import { LinkConfig, ParsedStep, ParsedTest } from '../types';
14
14
  export declare function parseCsvFile(filePath: string, tagPrefix: string, linkConfigs?: LinkConfig[]): ParsedTest[];
15
15
  /**
16
16
  * Write (or update) the TC ID in column A of the matching title row in a CSV file.
@@ -18,7 +18,17 @@ export declare function parseCsvFile(filePath: string, tagPrefix: string, linkCo
18
18
  * Strategy:
19
19
  * 1. Parse the CSV into raw lines.
20
20
  * 2. Find the data row whose Title column (col 2) normalises to the test's title.
21
- * 3. Replace the ID field (col 0) with the new numeric id.
22
- * 4. Re-serialise and write back.
21
+ * 3. Replace (or insert) the ID field (col 0) with the new numeric id.
22
+ * 4. Re-serialise with proper quoting and write back.
23
+ *
24
+ * Note: rows that already have an ID are updated too — this handles the case
25
+ * where a deleted TC is re-created with a new ID.
23
26
  */
24
27
  export declare function writebackCsv(filePath: string, title: string, id: number): void;
28
+ /**
29
+ * Apply a title + steps update from Azure DevOps back into a CSV file.
30
+ *
31
+ * Finds the row matching `currentTitle`, updates the Title cell (col C) and
32
+ * replaces all subsequent step rows with the new steps from Azure.
33
+ */
34
+ export declare function applyRemoteToCsv(filePath: string, currentTitle: string, newTitle: string, newSteps: ParsedStep[]): void;
@@ -47,6 +47,7 @@ var __importStar = (this && this.__importStar) || (function () {
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.parseCsvFile = parseCsvFile;
49
49
  exports.writebackCsv = writebackCsv;
50
+ exports.applyRemoteToCsv = applyRemoteToCsv;
50
51
  const fs = __importStar(require("fs"));
51
52
  const tabular_1 = require("./tabular");
52
53
  // ─── RFC-4180 CSV parser ───────────────────────────────────────────────────────
@@ -108,6 +109,18 @@ function parseCsvFile(filePath, tagPrefix, linkConfigs) {
108
109
  }));
109
110
  return (0, tabular_1.parseTabularRows)(rows, filePath, tagPrefix, linkConfigs);
110
111
  }
112
+ // ─── CSV serialiser ───────────────────────────────────────────────────────────
113
+ /** Quote a single cell value if it contains commas, quotes, or newlines. */
114
+ function serializeCsvCell(value) {
115
+ if (value.includes(',') || value.includes('"') || value.includes('\n') || value.includes('\r')) {
116
+ return '"' + value.replace(/"/g, '""') + '"';
117
+ }
118
+ return value;
119
+ }
120
+ /** Serialise a row of already-unquoted cell values back to a valid CSV line. */
121
+ function serializeCsvLine(cells) {
122
+ return cells.map(serializeCsvCell).join(',');
123
+ }
111
124
  // ─── ID writeback ─────────────────────────────────────────────────────────────
112
125
  /**
113
126
  * Write (or update) the TC ID in column A of the matching title row in a CSV file.
@@ -115,8 +128,11 @@ function parseCsvFile(filePath, tagPrefix, linkConfigs) {
115
128
  * Strategy:
116
129
  * 1. Parse the CSV into raw lines.
117
130
  * 2. Find the data row whose Title column (col 2) normalises to the test's title.
118
- * 3. Replace the ID field (col 0) with the new numeric id.
119
- * 4. Re-serialise and write back.
131
+ * 3. Replace (or insert) the ID field (col 0) with the new numeric id.
132
+ * 4. Re-serialise with proper quoting and write back.
133
+ *
134
+ * Note: rows that already have an ID are updated too — this handles the case
135
+ * where a deleted TC is re-created with a new ID.
120
136
  */
121
137
  function writebackCsv(filePath, title, id) {
122
138
  const source = fs.readFileSync(filePath, 'utf8');
@@ -127,17 +143,79 @@ function writebackCsv(filePath, title, id) {
127
143
  const normalize = (s) => s.replace(TITLE_STRIP_RE, '').trim();
128
144
  const updated = lines.map((line) => {
129
145
  const cells = parseCsvLine(line);
130
- const titleCell = cells[2]?.replace(/^"|"$/g, '') ?? '';
131
- const stepCell = cells[3]?.replace(/^"|"$/g, '') ?? '';
132
- const idCell = cells[0]?.replace(/^"|"$/g, '') ?? '';
133
- // Match: has title, no step number, and ID is currently empty or matches a previous ID
134
- if (titleCell && !stepCell && !idCell && normalize(titleCell) === title) {
135
- cells[0] = `"${id}"`;
136
- return cells.join(',');
146
+ const titleCell = cells[2]?.trim() ?? '';
147
+ const stepCell = cells[3]?.trim() ?? '';
148
+ // Match title rows (non-empty title, no step number) by normalised title.
149
+ // Allow any existing ID value handles re-creation of deleted TCs.
150
+ if (titleCell && !stepCell && normalize(titleCell) === title) {
151
+ cells[0] = String(id);
152
+ // Pad to at least 9 columns before re-serialising
153
+ while (cells.length < 9)
154
+ cells.push('');
155
+ return serializeCsvLine(cells);
137
156
  }
138
157
  return line;
139
158
  });
140
159
  const result = (hasBom ? '\uFEFF' : '') + updated.join('\n');
141
160
  fs.writeFileSync(filePath, result, 'utf8');
142
161
  }
162
+ // ─── Pull / apply remote changes ─────────────────────────────────────────────
163
+ /**
164
+ * Apply a title + steps update from Azure DevOps back into a CSV file.
165
+ *
166
+ * Finds the row matching `currentTitle`, updates the Title cell (col C) and
167
+ * replaces all subsequent step rows with the new steps from Azure.
168
+ */
169
+ function applyRemoteToCsv(filePath, currentTitle, newTitle, newSteps) {
170
+ const source = fs.readFileSync(filePath, 'utf8');
171
+ const hasBom = source.startsWith('\uFEFF');
172
+ const text = hasBom ? source.slice(1) : source;
173
+ const lines = text.split(/\r?\n/);
174
+ const TITLE_STRIP_RE = /^(Scenario Outline|Scenario)\s*:\s*/i;
175
+ const normalize = (s) => s.replace(TITLE_STRIP_RE, '').trim();
176
+ // Find the title row
177
+ let titleRowIdx = -1;
178
+ for (let i = 0; i < lines.length; i++) {
179
+ const cells = parseCsvLine(lines[i]);
180
+ const titleCell = cells[2]?.trim() ?? '';
181
+ const stepCell = cells[3]?.trim() ?? '';
182
+ if (titleCell && !stepCell && normalize(titleCell) === currentTitle) {
183
+ titleRowIdx = i;
184
+ break;
185
+ }
186
+ }
187
+ if (titleRowIdx === -1)
188
+ return; // not found
189
+ // Find the extent of the existing step rows (up to the next title row or end)
190
+ let nextTitleIdx = lines.length;
191
+ for (let i = titleRowIdx + 1; i < lines.length; i++) {
192
+ const cells = parseCsvLine(lines[i]);
193
+ const titleCell = cells[2]?.trim() ?? '';
194
+ const stepCell = cells[3]?.trim() ?? '';
195
+ if (titleCell && !stepCell && titleCell.toLowerCase() !== 'title') {
196
+ nextTitleIdx = i;
197
+ break;
198
+ }
199
+ }
200
+ // Update the title row — preserve ID and prefix ("Scenario: " etc.)
201
+ const titleRowCells = parseCsvLine(lines[titleRowIdx]);
202
+ while (titleRowCells.length < 9)
203
+ titleRowCells.push('');
204
+ const prefix = (titleRowCells[2]?.match(TITLE_STRIP_RE)?.[0] ?? '');
205
+ titleRowCells[2] = prefix + newTitle;
206
+ // Build new step rows using the Azure step action text (already includes keyword)
207
+ const newStepRows = newSteps.map((step, idx) => {
208
+ const action = step.text; // Azure action already includes "Given"/"When"/etc.
209
+ const cells = ['', '', '', String(idx + 1), action, step.expected ?? '', '', '', ''];
210
+ return serializeCsvLine(cells);
211
+ });
212
+ const updatedLines = [
213
+ ...lines.slice(0, titleRowIdx),
214
+ serializeCsvLine(titleRowCells),
215
+ ...newStepRows,
216
+ ...lines.slice(nextTitleIdx),
217
+ ];
218
+ const result = (hasBom ? '\uFEFF' : '') + updatedLines.join('\n');
219
+ fs.writeFileSync(filePath, result, 'utf8');
220
+ }
143
221
  //# sourceMappingURL=csv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/parsers/csv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/parsers/csv.ts"],"names":[],"mappings":"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"}
@@ -160,6 +160,46 @@ function parseSheetXml(xml, sharedStrings) {
160
160
  }
161
161
  return rows;
162
162
  }
163
+ // ─── Worksheet discovery ──────────────────────────────────────────────────────
164
+ /**
165
+ * Locate the first worksheet file inside an xlsx ZIP.
166
+ *
167
+ * Strategy (in order):
168
+ * 1. Try common names: sheet.xml, sheet1.xml (case-insensitive).
169
+ * 2. Read xl/_rels/workbook.xml.rels to find the relationship-mapped path.
170
+ * 3. Fall back to any file under xl/worksheets/.
171
+ *
172
+ * Returns the ZIP entry key (e.g. "xl/worksheets/sheet1.xml") or null.
173
+ */
174
+ async function findFirstSheetPath(zip) {
175
+ // Fast path: common names used by ADO exports and most tools
176
+ for (const candidate of [
177
+ 'xl/worksheets/sheet.xml',
178
+ 'xl/worksheets/sheet1.xml',
179
+ 'xl/worksheets/Sheet1.xml',
180
+ ]) {
181
+ if (zip.file(candidate))
182
+ return candidate;
183
+ }
184
+ // Read workbook relationships to find the actual sheet path
185
+ const relsEntry = zip.file('xl/_rels/workbook.xml.rels');
186
+ if (relsEntry) {
187
+ const relsXml = await relsEntry.async('string');
188
+ // Match the first Relationship of type worksheet
189
+ const m = relsXml.match(/Type="[^"]*\/worksheet"[^>]*Target="([^"]+)"/);
190
+ if (m) {
191
+ // Target is relative to xl/; strip leading '../' or '/' if present
192
+ const target = m[1].replace(/^\.\.\//, '').replace(/^\//, '');
193
+ const fullPath = target.startsWith('xl/') ? target : `xl/${target}`;
194
+ if (zip.file(fullPath))
195
+ return fullPath;
196
+ }
197
+ }
198
+ // Last-resort: scan all files under xl/worksheets/
199
+ const allFiles = Object.keys(zip.files);
200
+ const sheetFile = allFiles.find((f) => /^xl\/worksheets\/.+\.xml$/i.test(f) && !f.includes('_rels'));
201
+ return sheetFile ?? null;
202
+ }
163
203
  // ─── Public API ───────────────────────────────────────────────────────────────
164
204
  async function parseExcelFile(filePath, tagPrefix, linkConfigs) {
165
205
  const buffer = fs.readFileSync(filePath);
@@ -169,9 +209,9 @@ async function parseExcelFile(filePath, tagPrefix, linkConfigs) {
169
209
  const sharedStrings = ssEntry
170
210
  ? parseSharedStrings(await ssEntry.async('string'))
171
211
  : [];
172
- // Find the worksheet XML
173
- const sheetEntry = zip.file('xl/worksheets/sheet.xml') ??
174
- zip.file('xl/worksheets/sheet1.xml');
212
+ // Find the worksheet XML (handles non-standard sheet naming)
213
+ const sheetKey = await findFirstSheetPath(zip);
214
+ const sheetEntry = sheetKey ? zip.file(sheetKey) : null;
175
215
  if (!sheetEntry)
176
216
  throw new Error(`No worksheet found in ${filePath}`);
177
217
  const xml = await sheetEntry.async('string');
@@ -197,9 +237,7 @@ async function parseExcelFile(filePath, tagPrefix, linkConfigs) {
197
237
  async function writebackExcel(filePath, title, id) {
198
238
  const buffer = fs.readFileSync(filePath);
199
239
  const zip = await jszip_1.default.loadAsync(buffer);
200
- const sheetKey = zip.file('xl/worksheets/sheet.xml') ? 'xl/worksheets/sheet.xml' :
201
- zip.file('xl/worksheets/sheet1.xml') ? 'xl/worksheets/sheet1.xml' :
202
- null;
240
+ const sheetKey = await findFirstSheetPath(zip);
203
241
  if (!sheetKey)
204
242
  throw new Error(`No worksheet found in ${filePath}`);
205
243
  const ssEntry = zip.file('xl/sharedStrings.xml');
@@ -230,8 +268,9 @@ async function writebackExcel(filePath, title, id) {
230
268
  const idMatch = getCellAtCol('A');
231
269
  const titleVal = titleMatch ? cellValue(titleMatch[0], nsPrefix, sharedStrings) : '';
232
270
  const stepVal = stepMatch ? cellValue(stepMatch[0], nsPrefix, sharedStrings) : '';
233
- const idVal = idMatch ? cellValue(idMatch[0], nsPrefix, sharedStrings) : '';
234
- if (!titleVal || stepVal || idVal)
271
+ // Match title rows (non-empty title, no step number) by normalised title.
272
+ // Do NOT guard on existing ID — allows updating the ID when a deleted TC is re-created.
273
+ if (!titleVal || stepVal)
235
274
  return open + content + close;
236
275
  if (normalise(titleVal) !== title)
237
276
  return open + content + close;
@@ -1 +1 @@
1
- {"version":3,"file":"excel.js","sourceRoot":"","sources":["../../src/parsers/excel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"excel.js","sourceRoot":"","sources":["../../src/parsers/excel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0KH,wCA+BC;AAcD,wCAwEC;AA7RD,uCAAyB;AACzB,kDAA0B;AAG1B,uCAAyD;AAEzD,iFAAiF;AAEjF,6EAA6E;AAC7E,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,qFAAqF,CAAC,CAAC;IAC3G,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAClC,CAAC;AAED,6BAA6B;AAC7B,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,CAAC;SACL,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;SACrB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACrC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,4BAA4B,CAAC;IAC1C,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,0BAA0B,CAAC;QACvC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,EAA0B,CAAC;QAC/B,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,wEAAwE;AACxE,SAAS,gBAAgB,CAAC,OAAe;IACvC,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACvC,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,OAAe,EAAE,QAAgB,EAAE,aAAuB;IAC3E,iEAAiE;IACjE,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,QAAQ,sBAAsB,QAAQ,KAAK,CAAC,CAAC,CAAC;IAC3F,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,QAAQ,0BAA0B,QAAQ,IAAI,EAAE,GAAG,CAAC,CAAC;QAChF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,CAAyB,CAAC;QAC9B,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,QAAQ,qBAAqB,QAAQ,IAAI,CAAC,CAAC,CAAC;IACxF,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,uBAAuB;IACvB,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,GAAW,EAAE,aAAuB;IACzD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,QAAQ,8BAA8B,QAAQ,MAAM,EAAE,GAAG,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,QAAQ,4BAA4B,QAAQ,IAAI,EAAE,GAAG,CAAC,CAAC;IAErF,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,IAAI,QAAgC,CAAC;IAErC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAA6C,EAAE,CAAC;QAC9D,IAAI,SAAiC,CAAC;QAEtC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACtD,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,sCAAsC;YACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC1E,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS,CAAC,wBAAwB;QAE7D,sDAAsD;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,KAAK,CAAS,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,QAAQ,EAAE,CAAC;YACzC,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;;GASG;AACH,KAAK,UAAU,kBAAkB,CAAC,GAAU;IAC1C,6DAA6D;IAC7D,KAAK,MAAM,SAAS,IAAI;QACtB,yBAAyB;QACzB,0BAA0B;QAC1B,0BAA0B;KAC3B,EAAE,CAAC;QACF,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC5C,CAAC;IAED,4DAA4D;IAC5D,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IACzD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChD,iDAAiD;QACjD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACxE,IAAI,CAAC,EAAE,CAAC;YACN,mEAAmE;YACnE,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC;YACpE,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAAE,OAAO,QAAQ,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAE,GAAW,CAAC,KAAgC,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CACpE,CAAC;IACF,OAAO,SAAS,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,iFAAiF;AAE1E,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,SAAiB,EACjB,WAA0B;IAE1B,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAE1C,yDAAyD;IACzD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,OAAO;QAC3B,CAAC,CAAC,kBAAkB,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC,CAAC,EAAE,CAAC;IAEP,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAExD,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IAEtE,MAAM,GAAG,GAAW,MAAM,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAE/D,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAiB,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACtD,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,QAAQ,EAAE,GAAG,GAAG,CAAC;KAClB,CAAC,CAAC,CAAC;IAEJ,OAAO,IAAA,0BAAgB,EAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAClE,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;;GASG;AACI,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,KAAa,EAAE,EAAU;IAC9E,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IAEpE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvF,IAAI,GAAG,GAAW,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,MAAM;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE/B,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,sCAAsC,CAAC;IAC9D,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEtE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,QAAQ,gCAAgC,QAAQ,OAAO,EAAE,GAAG,CAAC,CAAC;IAE5F,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAC1E,IAAI,OAAO;YAAE,OAAO,IAAI,GAAG,OAAO,GAAG,KAAK,CAAC;QAE3C,4CAA4C;QAC5C,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CACtC,IAAI,MAAM,CAAC,KAAK,QAAQ,8BAA8B,QAAQ,KAAK,EAAE,GAAG,CAAC,CAC1E,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,CAAC,SAAiB,EAAE,EAAE;YACzC,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC9C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5B,MAAM,QAAQ,GAAI,CAAC,CAAC,CAAC,CAAY,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBAC9D,OAAO,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;YACxE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,SAAS,GAAI,YAAY,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,OAAO,GAAM,YAAY,CAAC,GAAG,CAAC,CAAC;QAErC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,MAAM,OAAO,GAAI,SAAS,CAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAG,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAErF,0EAA0E;QAC1E,wFAAwF;QACxF,IAAI,CAAC,QAAQ,IAAI,OAAO;YAAE,OAAO,IAAI,GAAG,OAAO,GAAG,KAAK,CAAC;QACxD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,KAAK;YAAE,OAAO,IAAI,GAAG,OAAO,GAAG,KAAK,CAAC;QAEjE,wEAAwE;QACxE,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAElD,MAAM,cAAc,GAAG,IAAI,QAAQ,SAAS,MAAM,YAAY,QAAQ,KAAK,EAAE,KAAK,QAAQ,OAAO,QAAQ,IAAI,CAAC;QAE9G,IAAI,UAAkB,CAAC;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,kCAAkC;YAClC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,UAAU,GAAG,cAAc,GAAG,OAAO,CAAC;QACxC,CAAC;QAED,OAAO,GAAG,IAAI,CAAC;QACf,OAAO,IAAI,GAAG,UAAU,GAAG,KAAK,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IAEtD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1F,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC"}
@@ -491,7 +491,11 @@ function applyRemoteToLocal(test, newTitle, newSteps, newDescription, localType,
491
491
  else if (localType === 'markdown') {
492
492
  applyRemoteToMarkdown(test, newTitle, newSteps, newDescription, tagPrefix);
493
493
  }
494
- // csv / excel: pull not supported (files are typically generated by external tools)
494
+ else if (localType === 'csv') {
495
+ (0, csv_1.applyRemoteToCsv)(test.filePath, test.title, newTitle, newSteps);
496
+ }
497
+ // excel: pull not yet supported (in-place XML surgery for xlsx is complex)
498
+ // csharp / java / python / javascript: pull not supported (code files are managed locally)
495
499
  }
496
500
  function applyRemoteToGherkin(test, newTitle, newSteps) {
497
501
  const raw = fs.readFileSync(test.filePath, 'utf8');
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/sync/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/sync/engine.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  # publish-test-results
2
2
 
3
- Parses test result files (TRX, NUnit XML, JUnit, Cucumber JSON) and publishes them to an Azure DevOps Test Run, linking results back to Test Cases either directly by TC ID (when available in the result file) or by `AutomatedTestName` matching.
3
+ Parses test result files (TRX, NUnit XML, JUnit, Cucumber JSON, Playwright JSON) and publishes them to an Azure DevOps Test Run, linking results back to Test Cases either directly by TC ID (when available in the result file) or by `AutomatedTestName` matching.
4
4
 
5
5
  ---
6
6
 
@@ -44,7 +44,7 @@ ado-sync publish-test-results \
44
44
 
45
45
  | Format | Extension | Auto-detected | TC ID in file? | Attachments extracted |
46
46
  |--------|-----------|---------------|----------------|----------------------|
47
- | TRX (MSTest / VSTest) | `.trx` | Yes (`<TestRun>` root) | Yes — via `[TestProperty("tc","ID")]` | `<Output><StdOut>` + `<ResultFiles>` |
47
+ | TRX (MSTest / SpecFlow / VSTest) | `.trx` | Yes (`<TestRun>` root) | Yes — via `[TestProperty("tc","ID")]` | `<Output><StdOut>` + `<Output><ResultFiles>` |
48
48
  | NUnit XML (native) | `.xml` | Yes (`<test-run>` root) | Yes — via `[Property("tc","ID")]` | `<output>` + `<attachments>` |
49
49
  | JUnit XML | `.xml` | Yes (`<testsuites>` / `<testsuite>` root) | Optional — via `<property name="tc" value="ID"/>` | `<system-out>`, `<system-err>`, `[[ATTACHMENT\|path]]` (Playwright) |
50
50
  | Cucumber JSON | `.json` | Yes (JSON array, Cucumber format) | Yes — via `@tc:ID` tag on scenario | `step.embeddings[]` (base64 screenshots/video) |
@@ -52,6 +52,14 @@ ado-sync publish-test-results \
52
52
 
53
53
  > **NUnit via TRX**: when NUnit tests are run through the VSTest adapter (`--logger trx`), `[Property]` values are **not** included in the TRX output. Use `--logger "nunit3;LogFileName=results.xml"` to get the native NUnit XML format, which does include property values.
54
54
 
55
+ > **TRX `<ResultFiles>` nesting**: In TRX format, `<ResultFiles>` is a child of `<Output>`, not a direct child of `<UnitTestResult>`. ado-sync reads from `UnitTestResult > Output > ResultFiles > ResultFile` — paths are resolved relative to the result file's directory.
56
+
57
+ > **Attachment paths**: All file paths embedded in result files (`<ResultFile path="...">` in TRX, `<filePath>` in NUnit XML, `[[ATTACHMENT|path]]` in JUnit, `attachments[].path` in Playwright JSON) are resolved **relative to the result file's directory**, not the working directory. Ensure screenshots and other artifacts stay in the same folder hierarchy as your test runner produces.
58
+
59
+ > **Automated vs planned runs**: ado-sync creates **standalone automated runs** without a test plan association. Do not add `plan.id` to the run model — doing so makes Azure DevOps treat the run as "planned", requiring `testPointId` and `testCaseRevision` for every result (which ado-sync doesn't provide). TC linking is done via `testCase.id` on individual results, which works for automated runs without a plan association.
60
+
61
+ > **Valid attachment types**: Azure DevOps only accepts `GeneralAttachment` and `ConsoleLog` as `attachmentType` values. ado-sync maps screenshots, images, and binary files to `GeneralAttachment`; plain text and log files to `ConsoleLog`. Other type names (e.g. `Screenshot`, `Log`, `VideoLog`) will cause a 400 error.
62
+
55
63
  ### How TC linking works
56
64
 
57
65
  Results are linked to Azure Test Cases in priority order:
@@ -88,6 +96,25 @@ ado-sync publish-test-results --testResult results/results.trx
88
96
 
89
97
  ---
90
98
 
99
+ ### C# SpecFlow
100
+
101
+ SpecFlow generates TRX output via the VSTest adapter. ado-sync reads `@tc:ID` tags from the Gherkin `@tc:ID` tag embedded as `[TestProperty("tc","ID")]` in the TRX by SpecFlow's runner.
102
+
103
+ ```bash
104
+ # 1. Push feature files to create TCs — @tc:ID is written back into .feature files
105
+ ado-sync push
106
+
107
+ # 2. Run SpecFlow tests (generates TRX)
108
+ dotnet test --logger "trx;LogFileName=results.trx"
109
+
110
+ # 3. Publish results
111
+ ado-sync publish-test-results --testResult results/results.trx
112
+ ```
113
+
114
+ SpecFlow uses `local.type: gherkin` (same as Cucumber). TC IDs are `@tc:ID` Gherkin tags, which SpecFlow embeds into the TRX as `TestProperty` values automatically.
115
+
116
+ ---
117
+
91
118
  ### Java JUnit 4 / JUnit 5 (Maven Surefire)
92
119
 
93
120
  Maven Surefire generates JUnit XML with `classname` = FQCN and `name` = method name. ado-sync builds `automatedTestName` as `FQCN.methodName` on push, which matches the `classname.name` format in the JUnit XML automatically.
@@ -276,18 +303,19 @@ ado-sync publish-test-results \
276
303
 
277
304
  ---
278
305
 
279
- | Framework | Result format | TC ID in file | Attachments uploaded |
280
- |-----------|---------------|---------------|----------------------|
281
- | C# MSTest | TRX | ✅ `[TestProperty("tc","ID")]` | `<Output><StdOut>` + `TestContext.AddResultFile()` files |
282
- | C# NUnit | NUnit XML | ✅ `[Property("tc","ID")]` | `<output>` text + `TestContext.AddAttachment()` files |
283
- | Java JUnit 4/5 | JUnit XML | ⚠️ optional | `<system-out>`, `<system-err>` |
284
- | Java TestNG | JUnit XML | ⚠️ optional | `<system-out>`, `<system-err>` |
285
- | Python pytest | JUnit XML | ⚠️ optional (conftest.py) | `<system-out>`, `<system-err>` |
286
- | Jest | JUnit XML | | `<system-out>`, `<system-err>` |
287
- | WebdriverIO | JUnit XML | | `<system-out>`, `<system-err>` |
288
- | Cucumber JS | Cucumber JSON | `@tc:ID` tag | `step.embeddings[]` (Selenium screenshots/video) |
289
- | Playwright | Playwright JSON | Via `@tc:ID` in title | Screenshots, videos, traces from `attachments[]` |
290
- | Playwright | JUnit XML | Via `@tc:ID` in title | `[[ATTACHMENT\|path]]` referenced files |
306
+ | Framework | Result format | TC ID in file | Attachments uploaded | Live-tested |
307
+ |-----------|---------------|---------------|----------------------|-------------|
308
+ | C# MSTest | TRX | ✅ `[TestProperty("tc","ID")]` | `<Output><StdOut>` + `<Output><ResultFiles>` files | ✅ |
309
+ | C# NUnit | NUnit XML | ✅ `[Property("tc","ID")]` | `<output>` text + `<attachments><filePath>` files | ✅ |
310
+ | C# SpecFlow | TRX | `@tc:ID` `[TestProperty]` | `<Output><StdOut>` + `<Output><ResultFiles>` files | ✅ |
311
+ | Java JUnit 4/5 | JUnit XML | ⚠️ optional `<property name="tc">` | `<system-out>`, `<system-err>` | ✅ |
312
+ | Java TestNG | JUnit XML | ⚠️ optional `<property name="tc">` | `<system-out>`, `<system-err>` | ✅ |
313
+ | Python pytest | JUnit XML | ⚠️ optional (conftest.py hook) | `<system-out>`, `<system-err>` | ✅ |
314
+ | Jest | JUnit XML | ⚠️ optional `<property name="tc">` | `<system-out>`, `<system-err>` | ✅ |
315
+ | WebdriverIO / Jasmine | JUnit XML | ⚠️ optional `<property name="tc">` | `<system-out>`, `<system-err>` | |
316
+ | Cucumber JS | Cucumber JSON | `@tc:ID` tag | `step.embeddings[]` (base64 screenshots/video) | ✅ |
317
+ | Playwright | Playwright JSON | Via `@tc:ID` in test title | Files from `attachments[].path` (screenshots, videos, traces) | ✅ |
318
+ | Playwright | JUnit XML | Via `@tc:ID` in test title | `[[ATTACHMENT\|path]]` referenced files | ✅ |
291
319
 
292
320
  ---
293
321
 
@@ -299,11 +327,15 @@ ado-sync uploads screenshots, videos, and logs from test results to the correspo
299
327
 
300
328
  | Format | Extracted automatically |
301
329
  |--------|------------------------|
302
- | TRX | `<Output><StdOut>` → console log; `<ResultFiles><ResultFile>` → files on disk |
330
+ | TRX | `<Output><StdOut>` → console log; `<Output><ResultFiles><ResultFile path="...">` → files on disk |
303
331
  | NUnit XML | `<output>` → console log; `<attachments><attachment><filePath>` → files on disk |
304
332
  | JUnit XML | `<system-out>` → log; `<system-err>` → log; `[[ATTACHMENT\|path]]` → Playwright files |
305
333
  | Cucumber JSON | `step.embeddings[]` → base64-encoded screenshots/video |
306
- | Playwright JSON | `results[].attachments[]` → files on disk (screenshots, videos, traces) |
334
+ | Playwright JSON | `results[].attachments[].path` → files on disk (screenshots, videos, traces) |
335
+
336
+ > **Note**: All file paths are resolved relative to the result file's directory, not the process working directory. This matches how test runners (Playwright, MSTest, NUnit) write relative paths in their output.
337
+
338
+ > **Attachment types**: Azure DevOps accepts only `GeneralAttachment` (images, videos, binary files) and `ConsoleLog` (text, logs) as attachment type values. ado-sync maps all file types to one of these two automatically.
307
339
 
308
340
  ### `--attachmentsFolder` — folder-based attachment upload
309
341
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ado-sync",
3
- "version": "0.1.29",
3
+ "version": "0.1.30",
4
4
  "description": "Bidirectional sync between local test specs (Cucumber/Markdown) and Azure DevOps Test Cases",
5
5
  "bin": {
6
6
  "ado-sync": "./dist/cli.js"