Update to Postman
Snapshot Oct 24, 2026 · 12:56 UTC · version 0.4.0
Collection source: downloaded plugin package. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.
Instructions updated for ci-integration
Full description — Now says: Use when adding API tests, structural or governance lint, or AI-readiness gates to CI, or publishing reviewed API artifacts to a Postman workspace after...
Observed in instructions or declared skills. Runtime behavior has not been tested.
Up to 3 plugins free · no card required.
All fields and original values.
Full description
Sep 30, 2026 · 23:09 UTC
Common CI integrations that can added as independent pass/fail gates. Use when the user asks to "add Postman to CI," "run this collection on every PR," "fail the build on a governance violation," or "push to the postman cloud workspace a...
Oct 24, 2026 · 12:56 UTC
Use when adding API tests, structural or governance lint, or AI-readiness gates to CI, or publishing reviewed API artifacts to a Postman workspace after merge. Makes contract checks repeatable and separates validation from shared workspa...
Skill instructions
Sep 30, 2026 · 23:09 UTC
Common CI integrations that can added as independent pass/fail gates. Use when the user asks to "add Postman to CI," "run this collection on every PR," "fail the build on a governance violation," or "push to the postman cloud workspace a...
Oct 24, 2026 · 12:56 UTC
Use when adding API tests, structural or governance lint, or AI-readiness gates to CI, or publishing reviewed API artifacts to a Postman workspace after merge. Makes contract checks repeatable and separates validation from shared workspa...
Compare saved observations
Download comparison JSONSKILL.md text changes
− removed · + added
--- before +++ after @@ -1,121 +1,62 @@ --- name: ci-integration -description: Common CI integrations that can added as independent pass/fail gates. Use when the user asks to "add Postman to CI," "run this collection on every PR," "fail the build on a governance violation," or "push to the postman cloud workspace after merge to main", "add some api related operation in my Github actions". +description: Use when adding API tests, structural or governance lint, or AI-readiness gates to CI, or publishing reviewed API artifacts to a Postman workspace after merge. Makes contract checks repeatable and separates validation from shared workspace changes. Use for requests such as "run this collection on every PR". --- # CI Integration -## Overview -These are some common workflows that one can add in their CI pipeline leveraging postman cli. - -## Run a collection — a gated pipeline step - -`postman collection run <path/id>` exits nonzero on a failed `pm.test` -assertion, which is what makes it a usable gate — see `api-testing` for how -that exit code actually gets set. What's CI-specific: `-r junit,html` (or -`--reporter-*-export`) writes a report your CI provider can surface as -build artifacts or test annotations, instead of leaving the result buried in -a log. `--bail` stops the run early on the first failure when a fast signal -matters more than a full report. - -## Lint — pick the target that matches the gate you want - -Three verbs look interchangeable and aren't — only two of them apply your -organization's governance rules, and the CLI's own `-h` output is where that -becomes visible (no assumption below goes further than what it printed): - -| Want to check | Command | Applies org governance? | -| --- | --- | --- | -| One spec against your rules | `spec lint <spec> --workspace-id <id> -f error` | Yes, via `--workspace-id` | -| One collection's structure/style | `collection lint <path> -f error` | **No** — this verb takes no `--workspace-id` at all | -| The whole workspace: every entity plus `.postman/resources.yaml` | `workspace lint --workspace-id <id> -f error` | Yes | - -`collection lint` is a schema/style check only — running it and reporting -"governance passed" overstates what it did. If the ask is "does this -collection violate our rules," `workspace lint` is the one that actually -answers it (and covers every collection in the repo in one pass); reach for -bare `collection lint` only when there's no workspace to fetch rules from -yet. - -## Push to workspace — only after merge - -`postman workspace push -y` is the one command in this skill that changes -shared cloud state, so it belongs behind a merge-to-main trigger, not a PR -trigger. `-y` skips confirmation prompts a non-interactive job can't answer. -Leave `--no-prepare` off — the default prepare step is what assigns real IDs -to entities that are new since the last push; skipping it because a run -felt slow trades a few seconds for a push that silently fails to create -anything new. - -`--push-strategy force-sync` mirrors the whole workspace, deleting any cloud -entity with no local counterpart — genuinely destructive, and not the -default for a reason. See Critical Rules before adding it to a merge job. - -## AI readiness threshold - -`collection ai-readiness <path> --min-score <n>` and its spec-side -counterpart `spec ai-readiness <path> --min-score <n>` (see `ai-readiness` -skill) are a fourth, separate gate — they score AI-agent consumability, not -test results or governance/structural style. Keep either in its own step: -folding it into the same step as `run` or one of the `lint` verbs above -hides which kind of check actually failed when the job goes red. Pick the -verb that matches what's checked into the repo — `collection ai-readiness` -for a git-synced collection, `spec ai-readiness` for an OpenAPI spec with no -collection generated from it yet. - -```yaml -- run: postman collection ai-readiness ./postman/collections/My\ API --min-score 70 -``` - -## Critical Rules - -1. **Never collapse `run`, `lint`, and `ai-readiness` into one step, and - never pass `-x`/`--suppress-exit-code` to a CI run.** One combined exit - code hides which check broke; a suppressed one hides that anything broke - at all. -2. **Gate `workspace push` to the merge event, never a PR event.** Everything - else in this skill is read-only against the cloud; this is the one - command that writes to it, so a PR-triggered push ships an unmerged - branch's entities to the shared workspace. -3. **`--push-strategy force-sync` deletes cloud entities absent locally.** - Only add it to a job whose explicit job is mirroring the workspace exactly, - with that intent confirmed — never as the default merge step, where the - default (create/update-only) strategy is the safe choice. -4. **Authenticate once, non-interactively:** - `postman login --with-api-key "$POSTMAN_API_KEY"`, reading the key from - the CI provider's secret store. Don't reach for `collection run`'s - `--postman-api-key` as the general answer — it's US-region only — and - `spec lint`/`workspace push` don't take it at all. - - ```yaml - # WRONG — key committed in plain text, and scoped to one command anyway - - run: postman collection run api.json --postman-api-key PMAK-abc123... - - # CORRECT — one non-interactive login, key from the provider's secret store - - run: postman login --with-api-key "$POSTMAN_API_KEY" - - run: postman collection run api.json - - run: postman spec lint spec.yaml --workspace-id $WS -f error - ``` -5. **Never `newman run` in place of `postman collection run`.** The CLI is - the supported runner every other skill here assumes; Newman forks the - toolchain and skips whatever reporting/governance depends on the CLI - specifically. +Versioned collections and specs let a PR carry its API checks beside the code +change. CI reruns those checks independently of the author's session, while +publishing after merge makes the reviewed contract available to teammates and +future work. **api-discovery** helps identify consumers the gate should cover; +the author's own passing tests do not establish cross-service compatibility. + +1. Select checks by the guarantee they establish: + + | Guarantee | Gate | + | --- | --- | + | Saved behavioral assertions pass | `postman collection run <path-or-id>` | + | A collection's structure/style is valid | `postman collection lint <path> -f error` | + | A spec meets workspace governance rules | `postman spec lint <spec> --workspace-id <id> -f error` | + | Workspace entities and bindings pass lint/governance | `postman workspace lint --workspace-id <id> -f error` | + | Agent consumability meets an agreed threshold | `postman collection ai-readiness <path> --min-score <n>` or the spec equivalent | + + Collection lint does not apply organization governance. Workspace-aware + lint evaluates the rules available to that workspace; it does not author + the policy. Confirm the intended rules are configured before claiming + compliance. Read command-specific `-h` for installed options. +2. Keep gate results distinguishable so a failed build identifies behavior, + structure, governance, or readiness. Preserve nonzero exits; suppressing + them with `-x`/`--suppress-exit-code` removes the gate. For collection runs, + `-r junit,html` produces reviewable reports; `--bail` trades a complete + failure inventory for an earlier signal. See **api-testing** for assertion + semantics and **ai-readiness** for score limitations. +3. Restore declared dependencies with `postman dependency install` when tests + use them. Choose the target deliberately: a mock checks behavior under a + model, while a live run sends real requests and can write data. PR gates + should use a suitable isolated target and credentials; being a test does + not make the command read-only. +4. Authenticate only jobs that need workspace resources. Use the CI secret + store to supply `POSTMAN_API_KEY`, then + `postman login --with-api-key "$POSTMAN_API_KEY"`. A local-only gate need + not log in. Command-specific API-key flags are not a general replacement + for login across lint and push operations. Use **bootstrap** for unresolved + bindings, and **variables** for request credentials. +5. Publish only the reviewed branch after its merge checks pass. + `postman workspace push -y` changes shared context; a PR-triggered push + would publish an unmerged contract. The normal prepare phase assigns IDs + to new entities, so `--no-prepare` can leave additions unpublished. + Inspect the intended diff and binding when configuring this job; `-y` + supplies noninteractive execution, not authorization for a different scope. +6. Use the default create/update strategy unless exact mirroring is the + explicit requirement. `--push-strategy force-sync` can delete workspace + entities absent from the checkout, including resources managed elsewhere. + Follow **bootstrap**'s diff and consent boundary for that branch. ## Verification -State each gate that ran and its individual result — not "CI passed," but -which check ran, what it checked (governance vs. structure per the Lint -table above, or AI-agent consumability for `ai-readiness`), and its exit -code. If `workspace push` ran, confirm it was triggered by the merge event -and not a PR event, state which push strategy was used, and report -`Created`/`Updated` per entity rather than just "push succeeded." Confirm -no secret value appears literally in the committed workflow file. - -## Reference - -- `api-testing` skill — `collection run`'s exit-code semantics and reporter - flags in full. -- `collection-schema-v3` skill — what `workspace push` is actually pushing. -- `bootstrap` skill — CLI resolution, workspace linking, `.postman/resources.yaml`. -- `ai-readiness` skill — `collection ai-readiness`, `spec ai-readiness`, and - their `--min-score` gate. +Validate the workflow's event conditions and secret references, then report +which gates actually ran, their targets and individual results. Distinguish a +locally checked workflow from an observed CI run. For publication, establish +the merge trigger, push strategy, created/updated entities, and conflicts; +a green job alone does not prove the intended artifacts became available.
Full technical diff · 2 changed fields
changed /description
"Common CI integrations that can added as independent pass/fail gates. Use when the user asks to \"add Postman to CI,\" \"run this collection on every PR,\" \"fail the build on a governance violation,\" or \"push to the postman cloud workspace after merge to main\", \"add some api related operation in my Github actions\"."
"Use when adding API tests, structural or governance lint, or AI-readiness gates to CI, or publishing reviewed API artifacts to a Postman workspace after merge. Makes contract checks repeatable and separates validation from shared workspace changes. Use for requests such as \"run this collection on every PR\"."
changed /skill_md_contents
"---\nname: ci-integration\ndescription: Common CI integrations that can added as independent pass/fail gates. Use when the user asks to \"add Postman to CI,\" \"run this collection on every PR,\" \"fail the build on a governance violation,\" or \"push to the postman cloud workspace after merge to main\", \"add some api related operation in my Github actions\". \n---\n\n# CI Integration\n\n## Overview\nThese are some common workflows that one can add in their CI pipeline leveraging postman cli.\n\n## Run a collection — a gated pipeline step\n\n`postman collection run <path/id>` exits nonzero on a failed `pm.test`\nassertion, which is what makes it a usable gate — see `api-testing` for how\nthat exit code actually gets set. What's CI-specific: `-r junit,html` (or\n`--reporter-*-export`) writes a report your CI provider can surface as\nbuild artifacts or test annotations, instead of leaving the result buried in\na log. `--bail` stops the run early on the first failure when a fast signal\nmatters more than a full report.\n\n## Lint — pick the target that matches the gate you want\n\nThree verbs look interchangeable and aren't — only two of them apply your\norganization's governance rules, and the CLI's own `-h` output is where that\nbecomes visible (no assumption below goes further than what it printed):\n\n| Want to check | Command | Applies org governance? |\n| --- | --- | --- |\n| One spec against your rules | `spec lint <spec> --workspace-id <id> -f error` | Yes, via `--workspace-id` |\n| One collection's structure/style | `collection lint <path> -f error` | **No** — this verb takes no `--workspace-id` at all |\n| The whole workspace: every entity plus `.postman/resources.yaml` | `workspace lint --workspace-id <id> -f error` | Yes |\n\n`collection lint` is a schema/style check only — running it and reporting\n\"governance passed\" overstates what it did. If the ask is \"does this\ncollection violate our rules,\" `workspace lint` is the one that actually\nanswers it (and covers every collection in the repo in one pass); reach for\nbare `collection lint` only when there's no workspace to fetch rules from\nyet.\n\n## Push to workspace — only after merge\n\n`postman workspace push -y` is the one command in this skill that changes\nshared cloud state, so it belongs behind a merge-to-main trigger, not a PR\ntrigger. `-y` skips confirmation prompts a non-interactive job can't answer.\nLeave `--no-prepare` off — the default prepare step is what assigns real IDs\nto entities that are new since the last push; skipping it because a run\nfelt slow trades a few seconds for a push that silently fails to create\nanything new.\n\n`--push-strategy force-sync` mirrors the whole workspace, deleting any cloud\nentity with no local counterpart — genuinely destructive, and not the\ndefault for a reason. See Critical Rules before adding it to a merge job.\n\n## AI readiness threshold\n\n`collection ai-readiness <path> --min-score <n>` and its spec-side\ncounterpart `spec ai-readiness <path> --min-score <n>` (see `ai-readiness`\nskill) are a fourth, separate gate — they score AI-agent consumability, not\ntest results or governance/structural style. Keep either in its own step:\nfolding it into the same step as `run` or one of the `lint` verbs above\nhides which kind of check actually failed when the job goes red. Pick the\nverb that matches what's checked into the repo — `collection ai-readiness`\nfor a git-synced collection, `spec ai-readiness` for an OpenAPI spec with no\ncollection generated from it yet.\n\n```yaml\n- run: postman collection ai-readiness ./postman/collections/My\\ API --min-score 70\n```\n\n## Critical Rules\n\n1. **Never collapse `run`, `lint`, and `ai-readiness` into one step, and\n never pass `-x`/`--suppress-exit-code` to a CI run.** One combined exit\n code hides which check broke; a suppressed one hides that anything broke\n at all.\n2. **Gate `workspace push` to the merge event, never a PR event.** Everything\n else in this skill is read-only against the cloud; this is the one\n command that writes to it, so a PR-triggered push ships an unmerged\n branch's entities to the shared workspace.\n3. **`--push-strategy force-sync` deletes cloud entities absent locally.**\n Only add it to a job whose explicit job is mirroring the workspace exactly,\n with that intent confirmed — never as the default merge step, where the\n default (create/update-only) strategy is the safe choice.\n4. **Authenticate once, non-interactively:**\n `postman login --with-api-key \"$POSTMAN_API_KEY\"`, reading the key from\n the CI provider's secret store. Don't reach for `collection run`'s\n `--postman-api-key` as the general answer — it's US-region only — and\n `spec lint`/`workspace push` don't take it at all.\n\n ```yaml\n # WRONG — key committed in plain text, and scoped to one command anyway\n - run: postman collection run api.json --postman-api-key PMAK-abc123...\n\n # CORRECT — one non-interactive login, key from the provider's secret store\n - run: postman login --with-api-key \"$POSTMAN_API_KEY\"\n - run: postman collection run api.json\n - run: postman spec lint spec.yaml --workspace-id $WS -f error\n ```\n5. **Never `newman run` in place of `postman collection run`.** The CLI is\n the supported runner every other skill here assumes; Newman forks the\n toolchain and skips whatever reporting/governance depends on the CLI\n specifically.\n\n## Verification\n\nState each gate that ran and its individual result — not \"CI passed,\" but\nwhich check ran, what it checked (governance vs. structure per the Lint\ntable above, or AI-agent consumability for `ai-readiness`), and its exit\ncode. If `workspace push` ran, confirm it was triggered by the merge event\nand not a PR event, state which push strategy was used, and report\n`Created`/`Updated` per entity rather than just \"push succeeded.\" Confirm\nno secret value appears literally in the committed workflow file.\n\n## Reference\n\n- `api-testing` skill — `collection run`'s exit-code semantics and reporter\n flags in full.\n- `collection-schema-v3` skill — what `workspace push` is actually pushing.\n- `bootstrap` skill — CLI resolution, workspace linking, `.postman/resources.yaml`.\n- `ai-readiness` skill — `collection ai-readiness`, `spec ai-readiness`, and\n their `--min-score` gate.\n"
"---\nname: ci-integration\ndescription: Use when adding API tests, structural or governance lint, or AI-readiness gates to CI, or publishing reviewed API artifacts to a Postman workspace after merge. Makes contract checks repeatable and separates validation from shared workspace changes. Use for requests such as \"run this collection on every PR\".\n---\n\n# CI Integration\n\nVersioned collections and specs let a PR carry its API checks beside the code\nchange. CI reruns those checks independently of the author's session, while\npublishing after merge makes the reviewed contract available to teammates and\nfuture work. **api-discovery** helps identify consumers the gate should cover;\nthe author's own passing tests do not establish cross-service compatibility.\n\n1. Select checks by the guarantee they establish:\n\n | Guarantee | Gate |\n | --- | --- |\n | Saved behavioral assertions pass | `postman collection run <path-or-id>` |\n | A collection's structure/style is valid | `postman collection lint <path> -f error` |\n | A spec meets workspace governance rules | `postman spec lint <spec> --workspace-id <id> -f error` |\n | Workspace entities and bindings pass lint/governance | `postman workspace lint --workspace-id <id> -f error` |\n | Agent consumability meets an agreed threshold | `postman collection ai-readiness <path> --min-score <n>` or the spec equivalent |\n\n Collection lint does not apply organization governance. Workspace-aware\n lint evaluates the rules available to that workspace; it does not author\n the policy. Confirm the intended rules are configured before claiming\n compliance. Read command-specific `-h` for installed options.\n2. Keep gate results distinguishable so a failed build identifies behavior,\n structure, governance, or readiness. Preserve nonzero exits; suppressing\n them with `-x`/`--suppress-exit-code` removes the gate. For collection runs,\n `-r junit,html` produces reviewable reports; `--bail` trades a complete\n failure inventory for an earlier signal. See **api-testing** for assertion\n semantics and **ai-readiness** for score limitations.\n3. Restore declared dependencies with `postman dependency install` when tests\n use them. Choose the target deliberately: a mock checks behavior under a\n model, while a live run sends real requests and can write data. PR gates\n should use a suitable isolated target and credentials; being a test does\n not make the command read-only.\n4. Authenticate only jobs that need workspace resources. Use the CI secret\n store to supply `POSTMAN_API_KEY`, then\n `postman login --with-api-key \"$POSTMAN_API_KEY\"`. A local-only gate need\n not log in. Command-specific API-key flags are not a general replacement\n for login across lint and push operations. Use **bootstrap** for unresolved\n bindings, and **variables** for request credentials.\n5. Publish only the reviewed branch after its merge checks pass.\n `postman workspace push -y` changes shared context; a PR-triggered push\n would publish an unmerged contract. The normal prepare phase assigns IDs\n to new entities, so `--no-prepare` can leave additions unpublished.\n Inspect the intended diff and binding when configuring this job; `-y`\n supplies noninteractive execution, not authorization for a different scope.\n6. Use the default create/update strategy unless exact mirroring is the\n explicit requirement. `--push-strategy force-sync` can delete workspace\n entities absent from the checkout, including resources managed elsewhere.\n Follow **bootstrap**'s diff and consent boundary for that branch.\n\n## Verification\n\nValidate the workflow's event conditions and secret references, then report\nwhich gates actually ran, their targets and individual results. Distinguish a\nlocally checked workflow from an observed CI run. For publication, establish\nthe merge trigger, push strategy, created/updated entities, and conflicts;\na green job alone does not prove the intended artifacts became available.\n"
Full snapshot data
{
"description": "Use when adding API tests, structural or governance lint, or AI-readiness gates to CI, or publishing reviewed API artifacts to a Postman workspace after merge. Makes contract checks repeatable and separates validation from shared workspace changes. Use for requests such as \"run this collection on every PR\".",
"included_files": [],
"name": "ci-integration",
"skill_md_contents": "---\nname: ci-integration\ndescription: Use when adding API tests, structural or governance lint, or AI-readiness gates to CI, or publishing reviewed API artifacts to a Postman workspace after merge. Makes contract checks repeatable and separates validation from shared workspace changes. Use for requests such as \"run this collection on every PR\".\n---\n\n# CI Integration\n\nVersioned collections and specs let a PR carry its API checks beside the code\nchange. CI reruns those checks independently of the author's session, while\npublishing after merge makes the reviewed contract available to teammates and\nfuture work. **api-discovery** helps identify consumers the gate should cover;\nthe author's own passing tests do not establish cross-service compatibility.\n\n1. Select checks by the guarantee they establish:\n\n | Guarantee | Gate |\n | --- | --- |\n | Saved behavioral assertions pass | `postman collection run <path-or-id>` |\n | A collection's structure/style is valid | `postman collection lint <path> -f error` |\n | A spec meets workspace governance rules | `postman spec lint <spec> --workspace-id <id> -f error` |\n | Workspace entities and bindings pass lint/governance | `postman workspace lint --workspace-id <id> -f error` |\n | Agent consumability meets an agreed threshold | `postman collection ai-readiness <path> --min-score <n>` or the spec equivalent |\n\n Collection lint does not apply organization governance. Workspace-aware\n lint evaluates the rules available to that workspace; it does not author\n the policy. Confirm the intended rules are configured before claiming\n compliance. Read command-specific `-h` for installed options.\n2. Keep gate results distinguishable so a failed build identifies behavior,\n structure, governance, or readiness. Preserve nonzero exits; suppressing\n them with `-x`/`--suppress-exit-code` removes the gate. For collection runs,\n `-r junit,html` produces reviewable reports; `--bail` trades a complete\n failure inventory for an earlier signal. See **api-testing** for assertion\n semantics and **ai-readiness** for score limitations.\n3. Restore declared dependencies with `postman dependency install` when tests\n use them. Choose the target deliberately: a mock checks behavior under a\n model, while a live run sends real requests and can write data. PR gates\n should use a suitable isolated target and credentials; being a test does\n not make the command read-only.\n4. Authenticate only jobs that need workspace resources. Use the CI secret\n store to supply `POSTMAN_API_KEY`, then\n `postman login --with-api-key \"$POSTMAN_API_KEY\"`. A local-only gate need\n not log in. Command-specific API-key flags are not a general replacement\n for login across lint and push operations. Use **bootstrap** for unresolved\n bindings, and **variables** for request credentials.\n5. Publish only the reviewed branch after its merge checks pass.\n `postman workspace push -y` changes shared context; a PR-triggered push\n would publish an unmerged contract. The normal prepare phase assigns IDs\n to new entities, so `--no-prepare` can leave additions unpublished.\n Inspect the intended diff and binding when configuring this job; `-y`\n supplies noninteractive execution, not authorization for a different scope.\n6. Use the default create/update strategy unless exact mirroring is the\n explicit requirement. `--push-strategy force-sync` can delete workspace\n entities absent from the checkout, including resources managed elsewhere.\n Follow **bootstrap**'s diff and consent boundary for that branch.\n\n## Verification\n\nValidate the workflow's event conditions and secret references, then report\nwhich gates actually ran, their targets and individual results. Distinguish a\nlocally checked workflow from an observed CI run. For publication, establish\nthe merge trigger, push strategy, created/updated entities, and conflicts;\na green job alone does not prove the intended artifacts became available.\n"
}SHA-256 of public snapshot: 527567f93fb6fec7b7588356a22592a22beb803ea7222c2732ada27b2b933b14