@postman-cse/onboarding-bootstrap 1.2.2 → 1.2.4

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
@@ -2,10 +2,26 @@
2
2
 
3
3
  [![CI](https://github.com/postman-cs/postman-bootstrap-action/actions/workflows/ci.yml/badge.svg)](https://github.com/postman-cs/postman-bootstrap-action/actions/workflows/ci.yml) [![Release](https://img.shields.io/github/v/release/postman-cs/postman-bootstrap-action?sort=semver)](https://github.com/postman-cs/postman-bootstrap-action/releases) [![npm](https://img.shields.io/npm/v/%40postman-cse%2Fonboarding-bootstrap)](https://www.npmjs.com/package/@postman-cse/onboarding-bootstrap) [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
4
4
 
5
- Provisions a Postman workspace from an OpenAPI spec, generating baseline, smoke, and contract collections in one step.
5
+ Provisions a [Postman workspace](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/overview/) from an OpenAPI spec, generating baseline, smoke, and contract collections in one step.
6
6
 
7
7
  Part of the [Postman API Onboarding suite](https://github.com/postman-cs/postman-api-onboarding-action).
8
8
 
9
+ ## Which action should I use?
10
+
11
+ | Need | Use |
12
+ | --- | --- |
13
+ | Full API onboarding pipeline | [`postman-cs/postman-api-onboarding-action`](https://github.com/postman-cs/postman-api-onboarding-action) |
14
+ | Mint a service-account access token for the pipeline | [`postman-cs/postman-resolve-service-token-action`](https://github.com/postman-cs/postman-resolve-service-token-action) |
15
+ | Create or refresh Postman workspaces, specs, and generated collections | This bootstrap action |
16
+ | Discover OpenAPI specs from AWS services | [`postman-cs/postman-aws-spec-discovery-action`](https://github.com/postman-cs/postman-aws-spec-discovery-action) |
17
+ | Apply a curated flow.yaml to the Smoke collection | [`postman-cs/postman-smoke-flow-action`](https://github.com/postman-cs/postman-smoke-flow-action) |
18
+ | Sync generated Postman artifacts back to the repo | [`postman-cs/postman-repo-sync-action`](https://github.com/postman-cs/postman-repo-sync-action) |
19
+ | Link Insights discovered services to the workspace | [`postman-cs/postman-insights-onboarding-action`](https://github.com/postman-cs/postman-insights-onboarding-action) |
20
+
21
+ ## Region
22
+
23
+ The action defaults to the US production region (`postman-region: us`). [EU data residency](https://learning.postman.com/docs/administration/enterprise/about-eu-data-residency/) teams should set `postman-region: eu` on this action and on the service-token step that feeds it.
24
+
9
25
  ## Usage
10
26
 
11
27
  ```yaml
@@ -19,18 +35,26 @@ jobs:
19
35
  runs-on: ubuntu-latest
20
36
  steps:
21
37
  - uses: actions/checkout@v5
38
+ - id: postman_token
39
+ uses: postman-cs/postman-resolve-service-token-action@v1
40
+ with:
41
+ postman-api-key: ${{ secrets.POSTMAN_API_KEY }}
42
+ postman-region: us
22
43
  - uses: postman-cs/postman-bootstrap-action@v1
23
44
  with:
24
45
  project-name: core-payments
25
- spec-url: https://example.com/openapi.yaml
46
+ spec-url: https://raw.githubusercontent.com/postman-cs/postman-bootstrap-action/main/examples/core-payments-openapi.yaml
47
+ postman-region: us
26
48
  postman-api-key: ${{ secrets.POSTMAN_API_KEY }}
49
+ postman-access-token: ${{ steps.postman_token.outputs.token }}
50
+ credential-preflight: enforce
27
51
  ```
28
52
 
29
- Provide either `spec-url` (public HTTPS) or `spec-path` (a file in the checked-out repo). See [Obtaining Credentials](docs/credentials.md) for how to generate `postman-api-key` and the optional `postman-access-token`.
53
+ Provide either `spec-url` (public HTTPS) or `spec-path` (a file in the checked-out repo) for the [Spec Hub import](https://learning.postman.com/docs/design-apis/specifications/import-a-specification/) path. Use a [Postman service account](https://learning.postman.com/docs/administration/service-accounts/) PMAK for `postman-api-key`; the service-token action is the primary way to mint the `postman-access-token` used for governance, cloud sync, and canonical workspace validation. See [Obtaining Credentials](docs/credentials.md) for the credential matrix and legacy fallback.
30
54
 
31
- ## Examples
55
+ ## Common scenarios
32
56
 
33
- ### Load the spec from the repository
57
+ ### Git-first spec from the repository
34
58
 
35
59
  For Git-first workflows, read the OpenAPI document directly from the checked-out workspace instead of hosting it over HTTPS:
36
60
 
@@ -43,7 +67,7 @@ For Git-first workflows, read the OpenAPI document directly from the checked-out
43
67
  postman-api-key: ${{ secrets.POSTMAN_API_KEY }}
44
68
  ```
45
69
 
46
- ### Rerun safely for an existing service
70
+ ### Safe rerun for an existing service
47
71
 
48
72
  Pass `workspace-id`, `spec-id`, and existing collection IDs to rerun without creating duplicate Postman assets. When `.postman/resources.yaml` is committed on the checked-out ref, the action reuses its workspace, spec, and collection mappings automatically.
49
73
 
@@ -56,7 +80,7 @@ Pass `workspace-id`, `spec-id`, and existing collection IDs to rerun without cre
56
80
  baseline-collection-id: col-baseline
57
81
  smoke-collection-id: col-smoke
58
82
  contract-collection-id: col-contract
59
- spec-url: https://example.com/openapi.yaml
83
+ spec-url: https://raw.githubusercontent.com/postman-cs/postman-bootstrap-action/main/examples/core-payments-openapi.yaml
60
84
  postman-api-key: ${{ secrets.POSTMAN_API_KEY }}
61
85
  ```
62
86
 
@@ -68,7 +92,7 @@ Create a release-scoped spec and collection set instead of refreshing the canoni
68
92
  - uses: postman-cs/postman-bootstrap-action@v1
69
93
  with:
70
94
  project-name: core-payments
71
- spec-url: https://example.com/openapi.yaml
95
+ spec-url: https://raw.githubusercontent.com/postman-cs/postman-bootstrap-action/main/examples/core-payments-openapi.yaml
72
96
  collection-sync-mode: version
73
97
  spec-sync-mode: version
74
98
  release-label: v1.1.1
@@ -102,16 +126,23 @@ Modes `off`, `previous-spec`, `pr-native`, and `baseline-only` are described in
102
126
  Set the repository custom property `postman-governance-group`, then provide tokens so the action can perform workspace enrichment:
103
127
 
104
128
  ```yaml
129
+ - id: postman-token
130
+ uses: postman-cs/postman-resolve-service-token-action@v1
131
+ with:
132
+ postman-api-key: ${{ secrets.POSTMAN_API_KEY }}
133
+ postman-region: us
134
+
105
135
  - uses: postman-cs/postman-bootstrap-action@v1
106
136
  with:
107
137
  project-name: core-payments
108
- spec-url: https://example.com/openapi.yaml
138
+ spec-url: https://raw.githubusercontent.com/postman-cs/postman-bootstrap-action/main/examples/core-payments-openapi.yaml
139
+ postman-region: us
109
140
  github-token: ${{ github.token }}
110
141
  postman-api-key: ${{ secrets.POSTMAN_API_KEY }}
111
- postman-access-token: ${{ secrets.POSTMAN_ACCESS_TOKEN }}
142
+ postman-access-token: ${{ steps.postman-token.outputs.token }}
112
143
  ```
113
144
 
114
- For one-off runs, `governance-group` can be passed directly and overrides the repository custom property. `governance-mapping-json` remains supported as a domain-map fallback for older workflows. If the group configuration is missing, the group is not found, or the access token is expired, bootstrap logs a warning and continues with the created workspace, spec, and collections.
145
+ For one-off runs, `governance-group` can be passed directly and overrides the repository custom property. `governance-mapping-json` remains supported as a domain-map fallback for older workflows. If the [governance group](https://learning.postman.com/docs/api-governance/configurable-rules/configuring-api-governance-rules/) configuration is missing, the group is not found, or the access token is expired, bootstrap logs a warning and continues with the created workspace, spec, and collections.
115
146
 
116
147
  ### Create the workspace under an org-mode sub-team
117
148
 
@@ -121,7 +152,7 @@ Postman organizations with multiple sub-teams require an explicit `workspace-tea
121
152
  - uses: postman-cs/postman-bootstrap-action@v1
122
153
  with:
123
154
  project-name: core-payments
124
- spec-url: https://example.com/openapi.yaml
155
+ spec-url: https://raw.githubusercontent.com/postman-cs/postman-bootstrap-action/main/examples/core-payments-openapi.yaml
125
156
  workspace-team-id: ${{ vars.POSTMAN_WORKSPACE_TEAM_ID }}
126
157
  postman-api-key: ${{ secrets.POSTMAN_API_KEY }}
127
158
  ```
@@ -163,12 +194,11 @@ See [Team Identity](docs/team-identity.md) for sub-team discovery and team-ID de
163
194
  | `gh-fallback-token` | Fallback GitHub token used to read repository custom properties when github-token cannot | no | |
164
195
  | `postman-api-key` | Postman API key used for bootstrap operations | yes | |
165
196
  | `postman-access-token` | Postman access token used for governance and workspace mutations | no | |
166
- | `credential-preflight` | Credential identity preflight policy. warn (default) logs a note and continues when postman-api-key and postman-access-token resolve to different parent orgs; enforce fails the run on that condition before any workspace is created; off skips the identity probes entirely (the reactive error guidance still applies). Promotion of the default to enforce is planned once the live e2e legs prove both directions. | no | `warn` |
167
- | `integration-backend` | Integration backend for downstream workspace connectivity | no | `bifrost` |
197
+ | `credential-preflight` | Credential identity preflight policy. warn (default) logs a note and continues when postman-api-key and postman-access-token resolve to different parent orgs; enforce fails the run on that condition before any workspace is created. | no | `warn` |
168
198
  | `folder-strategy` | Folder organization strategy for generated collections (Paths or Tags) | no | `Paths` |
169
199
  | `nested-folder-hierarchy` | When folder-strategy is Tags, enables nested folder hierarchy | no | `false` |
170
200
  | `request-name-source` | Determines how requests are named in generated collections (Fallback or URL) | no | `Fallback` |
171
- | `postman-stack` | Postman stack profile | no | `prod` |
201
+ | `postman-region` | Postman data residency region for public API and Postman CLI calls. | no | `us` |
172
202
  <!-- inputs-table:end -->
173
203
 
174
204
  ## Outputs
@@ -198,7 +228,7 @@ npm install -g @postman-cse/onboarding-bootstrap
198
228
 
199
229
  postman-bootstrap \
200
230
  --project-name core-payments \
201
- --spec-url https://example.com/openapi.yaml \
231
+ --spec-url https://raw.githubusercontent.com/postman-cs/postman-bootstrap-action/main/examples/core-payments-openapi.yaml \
202
232
  --postman-api-key "$POSTMAN_API_KEY" \
203
233
  --postman-access-token "$POSTMAN_ACCESS_TOKEN" \
204
234
  --result-json bootstrap-result.json \
@@ -214,7 +244,7 @@ bootstrap:
214
244
  image: node:24
215
245
  script:
216
246
  - npm install -g @postman-cse/onboarding-bootstrap
217
- - postman-bootstrap --project-name core-payments --spec-url "$SPEC_URL" --postman-api-key "$POSTMAN_API_KEY" --postman-access-token "$POSTMAN_ACCESS_TOKEN" --result-json bootstrap-result.json --dotenv-path bootstrap.env
247
+ - postman-bootstrap --project-name core-payments --spec-url "https://raw.githubusercontent.com/postman-cs/postman-bootstrap-action/main/examples/core-payments-openapi.yaml" --postman-api-key "$POSTMAN_API_KEY" --postman-access-token "$POSTMAN_ACCESS_TOKEN" --result-json bootstrap-result.json --dotenv-path bootstrap.env
218
248
  artifacts:
219
249
  paths:
220
250
  - bootstrap-result.json
@@ -230,7 +260,7 @@ pipelines:
230
260
  image: node:24
231
261
  script:
232
262
  - npm install -g @postman-cse/onboarding-bootstrap
233
- - postman-bootstrap --project-name core-payments --spec-url "$SPEC_URL" --postman-api-key "$POSTMAN_API_KEY" --postman-access-token "$POSTMAN_ACCESS_TOKEN" --result-json bootstrap-result.json --dotenv-path bootstrap.env
263
+ - postman-bootstrap --project-name core-payments --spec-url "https://raw.githubusercontent.com/postman-cs/postman-bootstrap-action/main/examples/core-payments-openapi.yaml" --postman-api-key "$POSTMAN_API_KEY" --postman-access-token "$POSTMAN_ACCESS_TOKEN" --result-json bootstrap-result.json --dotenv-path bootstrap.env
234
264
  artifacts:
235
265
  - bootstrap-result.json
236
266
  - bootstrap.env
@@ -245,7 +275,7 @@ steps:
245
275
  versionSpec: '24.x'
246
276
  - script: |
247
277
  npm install -g @postman-cse/onboarding-bootstrap
248
- postman-bootstrap --project-name core-payments --spec-url "$(SPEC_URL)" --postman-api-key "$(POSTMAN_API_KEY)" --postman-access-token "$(POSTMAN_ACCESS_TOKEN)" --result-json bootstrap-result.json --dotenv-path bootstrap.env
278
+ postman-bootstrap --project-name core-payments --spec-url "https://raw.githubusercontent.com/postman-cs/postman-bootstrap-action/main/examples/core-payments-openapi.yaml" --postman-api-key "$(POSTMAN_API_KEY)" --postman-access-token "$(POSTMAN_ACCESS_TOKEN)" --result-json bootstrap-result.json --dotenv-path bootstrap.env
249
279
  displayName: Bootstrap Postman assets
250
280
  - publish: bootstrap-result.json
251
281
  - publish: bootstrap.env
@@ -253,13 +283,13 @@ steps:
253
283
 
254
284
  ## How it works
255
285
 
256
- The action preserves the bootstrap slice of the API Catalog demo flow: create or reuse a Postman workspace, assign governance, invite the requester and workspace admins, upload or update the spec in Spec Hub, lint it with the Postman CLI, generate or reuse baseline, smoke, and contract collections, inject generated tests, apply tags, and reuse committed `.postman/resources.yaml` state when present. Inputs and outputs use kebab-case, and `integration-backend` defaults to `bifrost`.
286
+ The action handles the bootstrap slice of the Postman onboarding workflow: create or reuse a Postman workspace, assign governance, invite the requester and workspace admins, upload or update the spec in [Spec Hub](https://learning.postman.com/docs/design-apis/specifications/overview/), lint it with the [Postman CLI](https://learning.postman.com/docs/postman-cli/postman-cli-governance/), generate or reuse baseline, smoke, and contract collections, inject generated tests, apply tags, and reuse committed `.postman/resources.yaml` state when present. Inputs and outputs use kebab-case.
257
287
 
258
288
  - **Phase independence:** bootstrap succeeds on its own even when later pipeline stages (repo sync, Insights) fail, and reruns reuse existing assets. See [Bootstrap Phase Independence](docs/bootstrap-phase-independence.md).
259
- - **Team identity:** the team ID is derived from `postman-api-key` via `/me`; org-mode tenants pass `workspace-team-id`. See [Team Identity](docs/team-identity.md).
289
+ - **Team identity:** the parent team ID is derived from `postman-api-key`; org-mode tenants pass `workspace-team-id` for the sub-team that should own the workspace. See [Team Identity](docs/team-identity.md).
260
290
  - **Git providers:** workspace-to-repository linking supports GitHub and GitLab, cloud and self-hosted. See [Git Provider Support](docs/git-provider-support.md).
261
291
  - **Spec handling:** operation summaries are normalized before upload, `spec-url` fetches are SSRF-hardened HTTPS with pinned DNS, and breaking-change comparison runs before any Postman mutation when enabled. See [OpenAPI Spec Handling](docs/spec-handling.md).
262
- - **Lifecycle modes:** `collection-sync-mode` (`refresh`/`version`, legacy `reuse`), `spec-sync-mode` (`update`/`version`), release-label derivation, ref-native state, cloud spec-to-collection syncing, smoke monitoring, and the REST migration seam. See [Lifecycle Modes and Operational Reference](docs/lifecycle-and-operations.md).
292
+ - **Lifecycle modes:** `collection-sync-mode` (`refresh`/`version`, legacy `reuse`), `spec-sync-mode` (`update`/`version`), release-label derivation, ref-native state, cloud spec-to-collection syncing, and smoke monitoring. See [Lifecycle Modes and Operational Reference](docs/lifecycle-and-operations.md).
263
293
  - **Credentials:** `postman-api-key` handles standard Postman API operations; the optional `postman-access-token` unlocks governance assignment, cloud link/sync, and canonical workspace validation. See [Obtaining Credentials](docs/credentials.md).
264
294
 
265
295
  ## Dynamic contract tests
@@ -281,7 +311,7 @@ Dynamic contract failures and warnings use `CONTRACT_` error codes. Remediation
281
311
  | `CONTRACT_REF_SIZE_EXCEEDED` | A fetched resource or total fetched bytes exceeded limits. | Reduce spec/ref size or pre-bundle the document. |
282
312
  | `CONTRACT_SPEC_PARSE_FAILED` | The fetched document was not valid JSON/YAML object content. | Fix the source document syntax. |
283
313
  | `CONTRACT_SPEC_READ_FAILED` | The `spec-path` file could not be read from the workspace. | Verify the file exists at the configured path and that the workflow checked out the branch that contains it. |
284
- | `CONTRACT_SPEC_VALIDATION_FAILED` | The bundled document failed OpenAPI validation. | Fix OpenAPI validation errors. |
314
+ | `CONTRACT_SPEC_VALIDATION_FAILED` | The bundled document failed OpenAPI validation. | Fix [OpenAPI validation](https://learning.postman.com/docs/design-apis/specifications/validate-a-specification/) errors. |
285
315
  | `CONTRACT_UNSUPPORTED_OPENAPI_VERSION` | The document was not OpenAPI 3.0 or 3.1. | Provide an OpenAPI 3.0/3.1 document. |
286
316
  | `CONTRACT_NO_ELIGIBLE_OPERATIONS` | No eligible `paths` operations with responses were found. | Add path operations with responses. |
287
317
  | `CONTRACT_OPERATION_NO_RESPONSES` | A `paths` operation had no response definitions. | Add at least one OpenAPI response to each path operation. |
@@ -306,7 +336,7 @@ Dynamic contract failures and warnings use `CONTRACT_` error codes. Remediation
306
336
  | `CONTRACT_ENCODING_MISMATCH` | A generated form-body field does not match its OpenAPI encoding object: a declared multipart per-part `contentType` is missing or different, a binary-typed field was not generated as a file part, or a field declaring a JSON `contentType` carries an unparseable value. | Regenerate the collection or align the encoding object with the intended part layout. |
307
337
  | `CONTRACT_ENCODING_HEADERS_NOT_VALIDATED` | A multipart encoding object declares per-part `headers`, which Postman formdata entries cannot carry, so they are not asserted. | Validate per-part headers with dedicated tests if the server depends on them. |
308
338
  | `CONTRACT_FORM_FIELD_SCHEMA_MISMATCH` | A generated urlencoded or multipart text value does not validate against its scalar property schema. | Fix the spec example feeding the generated body, or correct the property schema. |
309
- | `CONTRACT_DISCRIMINATOR_NOT_VALIDATED` | A `discriminator` has no sibling `oneOf`/`anyOf` of internal `$ref` members (typically allOf-parent inheritance), so its dispatch is not validated. | Restructure to the oneOf-plus-discriminator form, or rely on the still-validated composition keywords. |
339
+ | `CONTRACT_DISCRIMINATOR_NOT_VALIDATED` | A `discriminator` has no sibling `oneOf`/`anyOf` of same-spec `$ref` members (typically allOf-parent inheritance), so its dispatch is not validated. | Restructure to the oneOf-plus-discriminator form, or rely on the still-validated composition keywords. |
310
340
  | `CONTRACT_HEADER_SCHEMA_NOT_VALIDATED` | A response header declares an object or otherwise undecodable schema, so its serialized value is checked for presence only. Arrays of scalars are split on commas and validated. | Use a scalar or array-of-scalars header schema, or validate the serialized header form with dedicated tests. |
311
341
  | `CONTRACT_PATH_PARAM_NOT_VALIDATED` | A path parameter declares a non-scalar schema or a serialization the runtime cannot decode, so its value is not validated. Scalar path parameters are validated at runtime against the resolved path segment. | Use a scalar path schema, or validate path value semantics with dedicated tests. |
312
342
  | `CONTRACT_DUPLICATE_OPERATION_MATCH` | Multiple OpenAPI operations share the same canonical request mapping candidate. | Disambiguate paths, server prefixes, or templated routes. |
@@ -345,10 +375,51 @@ Sibling actions in the Postman onboarding pipeline:
345
375
  Package and docs:
346
376
 
347
377
  - npm package: [@postman-cse/onboarding-bootstrap](https://www.npmjs.com/package/@postman-cse/onboarding-bootstrap)
348
- - [Postman API documentation](https://learning.postman.com/docs/developer/postman-api/intro-api/)
349
- - [Postman Spec Hub](https://learning.postman.com/docs/design-apis/specifications/overview/)
378
+ - [Credential matrix](docs/credentials.md)
379
+ - [Support](SUPPORT.md)
380
+ - [Security Policy](SECURITY.md)
381
+ - [Release Policy](RELEASE_POLICY.md)
382
+ - Postman API and auth references: [Postman API](https://learning.postman.com/docs/reference/postman-api/intro-api/), [API authentication](https://learning.postman.com/docs/reference/postman-api/authentication/), [service accounts](https://learning.postman.com/docs/administration/service-accounts/), [EU data residency](https://learning.postman.com/docs/administration/enterprise/about-eu-data-residency/)
383
+ - Postman design resources: [workspaces](https://learning.postman.com/docs/collaborating-in-postman/using-workspaces/overview/), [Spec Hub](https://learning.postman.com/docs/design-apis/specifications/overview/), [import a specification](https://learning.postman.com/docs/design-apis/specifications/import-a-specification/), [generate collections](https://learning.postman.com/docs/design-apis/specifications/generate-collections/), [validate a specification](https://learning.postman.com/docs/design-apis/specifications/validate-a-specification/)
384
+ - Postman execution resources: [Postman CLI collection runs](https://learning.postman.com/docs/postman-cli/postman-cli-collections/), [Postman CLI governance](https://learning.postman.com/docs/postman-cli/postman-cli-governance/), [API governance rules](https://learning.postman.com/docs/api-governance/configurable-rules/configuring-api-governance-rules/), [mock servers](https://learning.postman.com/docs/design-apis/mock-apis/set-up-mock-servers/), [monitors](https://learning.postman.com/docs/monitoring-your-api/intro-monitors/)
350
385
  - Local development: `npm install`, `npm test`, `npm run typecheck`, `npm run build` (produces the committed `dist/` bundles used by `action.yml`); regenerate the Inputs and Outputs tables with `npm run docs:tables`
351
386
 
387
+ ## Telemetry
388
+
389
+ This action sends a single non-identifying usage event when a run completes, so the
390
+ Postman team can measure adoption across CI systems. The event contains the
391
+ action name and version, your Postman team ID, the detected CI provider and
392
+ runner kind, the run outcome, the CI run identifier, an event timestamp, and a one-way SHA-256 hash of the repository
393
+ identifier. Each event also carries a schema version and a constant event marker (always `completion`). The Postman team ID is sent in the clear on a legitimate-interest
394
+ basis to measure product adoption.
395
+
396
+ The `events.pm-cse.dev` endpoint is operated by the Postman Customer Success
397
+ Engineering team. Postman, Inc. processes these events only to measure
398
+ onboarding adoption in aggregate, retains them only as aggregated counts for
399
+ product-adoption trend analysis, and includes no payload field that identifies
400
+ an individual person.
401
+
402
+ It never sends API keys, access tokens, spec content, workspace or repository
403
+ names, or any personal data. It is fire-and-forget with a hard
404
+ timeout and can never block or fail your pipeline. Corporate HTTP and HTTPS
405
+ proxies are honored through the standard `HTTPS_PROXY`, `HTTP_PROXY`, and
406
+ `NO_PROXY` environment variables.
407
+
408
+ Disable it by setting either environment variable in your CI:
409
+
410
+ ```sh
411
+ POSTMAN_ACTIONS_TELEMETRY=off
412
+ # or the cross-tool standard
413
+ DO_NOT_TRACK=1
414
+ ```
415
+
416
+ Telemetry is also skipped automatically when no Postman team ID can be resolved.
417
+
418
+ Events are sent over HTTPS to `https://events.pm-cse.dev/v1/events`. To
419
+ allowlist this destination on a restricted network, or to route events to a
420
+ collector you operate, set the `POSTMAN_ACTIONS_TELEMETRY_ENDPOINT` environment
421
+ variable to your own URL.
422
+
352
423
  ## License
353
424
 
354
425
  [MIT](LICENSE)
package/action.yml CHANGED
@@ -109,13 +109,12 @@ inputs:
109
109
  description: Postman access token used for governance and workspace mutations
110
110
  required: false
111
111
  credential-preflight:
112
- description: "Credential identity preflight policy. warn (default) logs a note and continues when postman-api-key and postman-access-token resolve to different parent orgs; enforce fails the run on that condition before any workspace is created; off skips the identity probes entirely (the reactive error guidance still applies). Promotion of the default to enforce is planned once the live e2e legs prove both directions."
112
+ description: "Credential identity preflight policy. warn (default) logs a note and continues when postman-api-key and postman-access-token resolve to different parent orgs; enforce fails the run on that condition before any workspace is created."
113
113
  required: false
114
114
  default: warn
115
115
  integration-backend:
116
- description: Integration backend for downstream workspace connectivity
116
+ description: Advanced/internal. Integration backend for managed workspace connectivity; leave unset to use the default.
117
117
  required: false
118
- default: bifrost
119
118
  folder-strategy:
120
119
  description: Folder organization strategy for generated collections (Paths or Tags)
121
120
  required: false
@@ -128,8 +127,12 @@ inputs:
128
127
  description: Determines how requests are named in generated collections (Fallback or URL)
129
128
  required: false
130
129
  default: Fallback
130
+ postman-region:
131
+ description: Postman data residency region for public API and Postman CLI calls.
132
+ required: false
133
+ default: us
131
134
  postman-stack:
132
- description: Postman stack profile
135
+ description: 'Postman stack profile. Leave at the default unless Postman support directs otherwise.'
133
136
  required: false
134
137
  default: prod
135
138
  outputs: