diff --git a/.changeset/api-contracts-0-74-1.md b/.changeset/api-contracts-0-74-1.md new file mode 100644 index 000000000..ba04a6b6e --- /dev/null +++ b/.changeset/api-contracts-0-74-1.md @@ -0,0 +1,7 @@ +--- +"@qawolf/cli": minor +--- + +Upgrades `@qawolf/api-contracts` to `0.74.1`. + +`qawolf run optOutOfInvestigation --run-id --flow-ids ` marks failed flows of a run as do not investigate (DNI). `qawolf run get` reports `failure.optedOutOfInvestigation` on a flow that a user or the system took out of the investigation. diff --git a/bun.lock b/bun.lock index f9648081d..1152e01ab 100644 --- a/bun.lock +++ b/bun.lock @@ -8,7 +8,7 @@ "@clack/prompts": "1.5.1", "@napi-rs/keyring": "1.3.0", "@oxc-node/core": "0.1.0", - "@qawolf/api-contracts": "0.74.0", + "@qawolf/api-contracts": "0.74.1", "@qawolf/emails": "1.1.1", "@qawolf/flow-targets": "1.0.0", "@qawolf/flows": "0.1.4", @@ -462,7 +462,7 @@ "@puppeteer/browsers": ["@puppeteer/browsers@2.13.2", "", { "dependencies": { "debug": "^4.4.3", "extract-zip": "^2.0.1", "progress": "^2.0.3", "proxy-agent": "^6.5.0", "semver": "^7.7.4", "tar-fs": "^3.1.1", "yargs": "^17.7.2" }, "bin": { "browsers": "lib/cjs/main-cli.js" } }, "sha512-5EUZSUIc37H6aIXyWO0Z4y8NlF8NnjgmqeQgOGiswAU7pY0HOo16ho4+alIWmSfdZnjqBRawMsP3I5YqLSn6kw=="], - "@qawolf/api-contracts": ["@qawolf/api-contracts@0.74.0", "", { "dependencies": { "tslib": "^2.5.3" }, "peerDependencies": { "zod": "^4.1.11" } }, "sha512-CK/mK5yYgSiqw7iNBhF5grCBgTGyQRSY1T3qKeg5zQo8A4Osn4HzSourxTygWLiKIdcJH2zHWYluNUPUJePylw=="], + "@qawolf/api-contracts": ["@qawolf/api-contracts@0.74.1", "", { "dependencies": { "tslib": "^2.5.3" }, "peerDependencies": { "zod": "^4.1.11" } }, "sha512-OOmvIAQd2mFCcDOoBOELI9XWPEk902u2k5pE8ZLwdYzRmtSX8GTCDAwR7Xhr2sd8zc9kb863xeaXx1qmVpn6aw=="], "@qawolf/emailer-types": ["@qawolf/emailer-types@1.1.0", "", { "dependencies": { "email-addresses": "^5.0.0", "tslib": "^2.5.3", "zod": "^4.1.11", "zod-form-data": "^3.0.1" } }, "sha512-7cX+e31L9dpO8fntQ2cfSMt/1Lla/yUjaLUr/KLpXuscBSajy7CgNzjAGURa1KsCcxz7n+9PGQw6cM3RlC1bSg=="], diff --git a/package.json b/package.json index 3c9676354..6750c6a9b 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,7 @@ "@clack/prompts": "1.5.1", "@napi-rs/keyring": "1.3.0", "@oxc-node/core": "0.1.0", - "@qawolf/api-contracts": "0.74.0", + "@qawolf/api-contracts": "0.74.1", "@qawolf/emails": "1.1.1", "@qawolf/flow-targets": "1.0.0", "@qawolf/flows": "0.1.4", diff --git a/skills/qawolf-cli/SKILL.md b/skills/qawolf-cli/SKILL.md index da6032fce..d40b48013 100644 --- a/skills/qawolf-cli/SKILL.md +++ b/skills/qawolf-cli/SKILL.md @@ -181,6 +181,7 @@ that `url`; never guess a route and never send a repository link in its place. | `qawolf run find` | read | List an environment's recent runs, newest first, including failed-attempt discovery metadata. | | `qawolf run get` | read | Get a run's status, per-flow results, links, and how many of its bugs are blocking. | | `qawolf run getAttemptArtifacts` | read | Get metadata and signed artifact URLs for one finished run attempt. | +| `qawolf run optOutOfInvestigation` | write | Mark failed flows in a run as "do not investigate" (DNI): the failures need no bug or maintenance report. Each flow must have failed in the run and still be under investigation. A flow that already has a diagnosis cannot be opted out. A team or organization key records the opt-out as the workspace's automation user. To link a failure to a report instead, use run.diagnose. | | `qawolf run reattempt` | write | Request new attempts for a run's flows, in the same run. A flow is eligible once its result is failed or canceled and QA Wolf's automatic retries have finished. A fully investigated run no longer accepts reattempts. Attempts run with the latest flow code. Poll run.get for results. | | `qawolf run stop` | write | Stop a run, including its queued flows and automatic retries. Stopping is asynchronous and can update run-status messages and commit statuses in connected integrations. Repeated requests are safe, and finished runs keep their results. A run that is still being created returns not found; retry once run.get returns the run. If run.get returns a different runId, use that ID. Poll run.get for results. | | `qawolf runner act` | write | Perform one raw action on a runner's screen. A browser runner takes click, double_click, scroll, move, drag, keypress, navigate and type; a mobile runner takes tap, swipe, fill and type. A browser runner answers mobile actions with action-not-supported-on-browser; a mobile runner answers the other browser actions with action-not-supported-on-mobile. Use - to read a whole action as JSON from stdin | diff --git a/skills/qawolf-cli/references/run-results.md b/skills/qawolf-cli/references/run-results.md index 062deb4e3..297349ca0 100644 --- a/skills/qawolf-cli/references/run-results.md +++ b/skills/qawolf-cli/references/run-results.md @@ -201,9 +201,11 @@ Every documented field of the `run.get` response. `[]` marks an array, so - `flows[].attempts[].kind` — One of: automated, manual - `flows[].attempts[].startedAt` — Absent when the attempt failed before it could start. - `flows[].attempts[].status` — One of: passed, failed, canceled -- `flows[].failure.diagnosis` — QA Wolf's investigation verdict for the failure: `bug` means the application is broken, `maintenance` means the test needed an update and the failure does not indicate an application problem. Absent until the investigation reaches a verdict. Pass issueId to issue.get for details. +- `flows[].failure.diagnosis` — QA Wolf's investigation verdict for the failure: `bug` means the application is broken, `maintenance` means the test needed an update and the failure does not indicate an application problem. Absent until the investigation reaches a verdict, and absent when the flow was opted out of investigation. Pass issueId to issue.get for details. - `flows[].failure.diagnosis.issueId` — The id of the issue. - `flows[].failure.diagnosis.type` — One of: bug, maintenance +- `flows[].failure.optedOutOfInvestigation` — Present when the failure was marked "do not investigate" (DNI): it will get no bug or maintenance verdict. +- `flows[].failure.optedOutOfInvestigation.by` — One of: user, system - `flows[].flowId` — The id of the flow. - `flows[].status` — One of: failed, queued, running, passed, canceled - `url` — Absolute URL of the run page.