Ci Integration

作者 postmanlabs67cff8f385d8无许可证收录于 2026年10月8日更新于 2026年10月8日

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".

仅含说明DevOps & Cloud
AI 生成的概览

将 Postman CLI 检查作为独立的通过/失败门禁加入 CI 流水线。

功能
说明如何把 Postman CLI 命令接入 CI 工作流并作为独立门禁:运行集合、对规范、集合或工作区执行 lint、检查 AI 就绪评分,以及在合并后推送到 Postman 云端工作区。内容涵盖退出码行为、报告输出、通过 API 密钥认证,以及哪些命令会应用组织治理规则。产出的是指导说明和示例工作流片段,而非脚本。
适用场景
当用户希望把 Postman 集合运行、lint、AI 就绪阈值或工作区推送加入 GitHub Actions 等 CI 流水线时使用。也适用于判断哪个 Postman CLI 子命令对应所需门禁,或如何进行非交互式认证。
运行要求
需要 Postman CLI,以及通过 CI 提供方密钥存储提供的 Postman API 密钥;需要访问 Postman 服务的网络连接。仅为说明文档,不含随附脚本。

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 checkCommandApplies org governance?
One spec against your rulesspec lint <spec> --workspace-id <id> -f errorYes, via --workspace-id
One collection's structure/stylecollection lint <path> -f errorNo — this verb takes no --workspace-id at all
The whole workspace: every entity plus .postman/resources.yamlworkspace lint --workspace-id <id> -f errorYes

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.

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.

来源与署名

来源:postmanlabs/postman-plugin位于skills/ci-integration提交67cff8f

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架

更多来自 postmanlabs/postman-plugin 的技能

Performance Testing

postmanlabs

使用虚拟用户、负载配置和通过/失败阈值运行 Postman 集合负载测试。

Software Development2026年10月8日

Flows

postmanlabs

通过命令行操作 Postman Flows:列出、运行、触发、部署、更新并调试流程及其运行记录。

DevOps & Cloud2026年10月8日

Api Testing

postmanlabs

Runs tests against an API from the command line — a single ad-hoc request, a full collection of pm.test assertions, or matching real captured app traffic against a collection contract. Use when the user asks to "test this endpoint," "run this collection," "check the API still works," or "verify my app's requests match the contract." Covers `postman request`, `postman collection run`, and `postman application test`. Depends on bootstrap when the target is a cloud collection or workspace-bound environment; a bare URL or local collection needs nothing from bootstrap.

待分类2026年10月8日

Api Monitoring

postmanlabs

Creates, schedules, and manages Postman Monitors — recurring checks against a live API — triggers ad hoc runs, inspects job/run history to diagnose failures, and hosts self-hosted execution runners for monitors on a private network. Use when the user asks to "set up a monitor," "run this monitor now," "check monitor results," "pause/resume a monitor," or "set up a runner for our internal APIs." Covers `postman monitor` (create, update, delete, list, get, pause, resume, run, jobs, runs) and `postman runner` (start, list, regions).

待分类2026年10月8日

Api Mocking

postmanlabs

在本地或云端创建并运行模拟 API 后端,支持场景与状态码覆盖以便测试。

Software Development2026年10月8日

Api Engineer

postmanlabs

指导 API 工程工作,涵盖契约设计、实现、模拟、测试、文档与部署。

Software Development2026年10月8日