@postman-cse/onboarding-bootstrap 1.2.1 → 1.2.3
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 +113 -31
- package/action.yml +9 -6
- package/dist/action.cjs +5095 -4633
- package/dist/cli.cjs +5047 -4612
- package/dist/index.cjs +5097 -4633
- package/package.json +7 -5
package/README.md
CHANGED
|
@@ -1,11 +1,26 @@
|
|
|
1
|
-
# Postman Workspace Bootstrap
|
|
1
|
+
# Postman Onboarding: Workspace Bootstrap
|
|
2
2
|
|
|
3
|
-
[](https://github.com/postman-cs/postman-bootstrap-action/actions/workflows/ci.yml)
|
|
4
|
-
[](https://github.com/postman-cs/postman-bootstrap-action/releases)
|
|
5
|
-
[](https://www.npmjs.com/package/@postman-cse/onboarding-bootstrap)
|
|
6
|
-
[](LICENSE)
|
|
3
|
+
[](https://github.com/postman-cs/postman-bootstrap-action/actions/workflows/ci.yml) [](https://github.com/postman-cs/postman-bootstrap-action/releases) [](https://www.npmjs.com/package/@postman-cse/onboarding-bootstrap) [](LICENSE)
|
|
7
4
|
|
|
8
|
-
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
|
+
|
|
7
|
+
Part of the [Postman API Onboarding suite](https://github.com/postman-cs/postman-api-onboarding-action).
|
|
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.
|
|
9
24
|
|
|
10
25
|
## Usage
|
|
11
26
|
|
|
@@ -20,18 +35,26 @@ jobs:
|
|
|
20
35
|
runs-on: ubuntu-latest
|
|
21
36
|
steps:
|
|
22
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
|
|
23
43
|
- uses: postman-cs/postman-bootstrap-action@v1
|
|
24
44
|
with:
|
|
25
45
|
project-name: core-payments
|
|
26
|
-
spec-url: https://
|
|
46
|
+
spec-url: https://raw.githubusercontent.com/postman-cs/postman-bootstrap-action/main/examples/core-payments-openapi.yaml
|
|
47
|
+
postman-region: us
|
|
27
48
|
postman-api-key: ${{ secrets.POSTMAN_API_KEY }}
|
|
49
|
+
postman-access-token: ${{ steps.postman_token.outputs.token }}
|
|
50
|
+
credential-preflight: enforce
|
|
28
51
|
```
|
|
29
52
|
|
|
30
|
-
Provide either `spec-url` (public HTTPS) or `spec-path` (a file in the checked-out repo)
|
|
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.
|
|
31
54
|
|
|
32
|
-
##
|
|
55
|
+
## Common scenarios
|
|
33
56
|
|
|
34
|
-
###
|
|
57
|
+
### Git-first spec from the repository
|
|
35
58
|
|
|
36
59
|
For Git-first workflows, read the OpenAPI document directly from the checked-out workspace instead of hosting it over HTTPS:
|
|
37
60
|
|
|
@@ -44,7 +67,7 @@ For Git-first workflows, read the OpenAPI document directly from the checked-out
|
|
|
44
67
|
postman-api-key: ${{ secrets.POSTMAN_API_KEY }}
|
|
45
68
|
```
|
|
46
69
|
|
|
47
|
-
###
|
|
70
|
+
### Safe rerun for an existing service
|
|
48
71
|
|
|
49
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.
|
|
50
73
|
|
|
@@ -57,7 +80,7 @@ Pass `workspace-id`, `spec-id`, and existing collection IDs to rerun without cre
|
|
|
57
80
|
baseline-collection-id: col-baseline
|
|
58
81
|
smoke-collection-id: col-smoke
|
|
59
82
|
contract-collection-id: col-contract
|
|
60
|
-
spec-url: https://
|
|
83
|
+
spec-url: https://raw.githubusercontent.com/postman-cs/postman-bootstrap-action/main/examples/core-payments-openapi.yaml
|
|
61
84
|
postman-api-key: ${{ secrets.POSTMAN_API_KEY }}
|
|
62
85
|
```
|
|
63
86
|
|
|
@@ -69,7 +92,7 @@ Create a release-scoped spec and collection set instead of refreshing the canoni
|
|
|
69
92
|
- uses: postman-cs/postman-bootstrap-action@v1
|
|
70
93
|
with:
|
|
71
94
|
project-name: core-payments
|
|
72
|
-
spec-url: https://
|
|
95
|
+
spec-url: https://raw.githubusercontent.com/postman-cs/postman-bootstrap-action/main/examples/core-payments-openapi.yaml
|
|
73
96
|
collection-sync-mode: version
|
|
74
97
|
spec-sync-mode: version
|
|
75
98
|
release-label: v1.1.1
|
|
@@ -103,16 +126,23 @@ Modes `off`, `previous-spec`, `pr-native`, and `baseline-only` are described in
|
|
|
103
126
|
Set the repository custom property `postman-governance-group`, then provide tokens so the action can perform workspace enrichment:
|
|
104
127
|
|
|
105
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
|
+
|
|
106
135
|
- uses: postman-cs/postman-bootstrap-action@v1
|
|
107
136
|
with:
|
|
108
137
|
project-name: core-payments
|
|
109
|
-
spec-url: https://
|
|
138
|
+
spec-url: https://raw.githubusercontent.com/postman-cs/postman-bootstrap-action/main/examples/core-payments-openapi.yaml
|
|
139
|
+
postman-region: us
|
|
110
140
|
github-token: ${{ github.token }}
|
|
111
141
|
postman-api-key: ${{ secrets.POSTMAN_API_KEY }}
|
|
112
|
-
postman-access-token: ${{
|
|
142
|
+
postman-access-token: ${{ steps.postman-token.outputs.token }}
|
|
113
143
|
```
|
|
114
144
|
|
|
115
|
-
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.
|
|
116
146
|
|
|
117
147
|
### Create the workspace under an org-mode sub-team
|
|
118
148
|
|
|
@@ -122,7 +152,7 @@ Postman organizations with multiple sub-teams require an explicit `workspace-tea
|
|
|
122
152
|
- uses: postman-cs/postman-bootstrap-action@v1
|
|
123
153
|
with:
|
|
124
154
|
project-name: core-payments
|
|
125
|
-
spec-url: https://
|
|
155
|
+
spec-url: https://raw.githubusercontent.com/postman-cs/postman-bootstrap-action/main/examples/core-payments-openapi.yaml
|
|
126
156
|
workspace-team-id: ${{ vars.POSTMAN_WORKSPACE_TEAM_ID }}
|
|
127
157
|
postman-api-key: ${{ secrets.POSTMAN_API_KEY }}
|
|
128
158
|
```
|
|
@@ -164,12 +194,11 @@ See [Team Identity](docs/team-identity.md) for sub-team discovery and team-ID de
|
|
|
164
194
|
| `gh-fallback-token` | Fallback GitHub token used to read repository custom properties when github-token cannot | no | |
|
|
165
195
|
| `postman-api-key` | Postman API key used for bootstrap operations | yes | |
|
|
166
196
|
| `postman-access-token` | Postman access token used for governance and workspace mutations | no | |
|
|
167
|
-
| `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
|
|
168
|
-
| `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` |
|
|
169
198
|
| `folder-strategy` | Folder organization strategy for generated collections (Paths or Tags) | no | `Paths` |
|
|
170
199
|
| `nested-folder-hierarchy` | When folder-strategy is Tags, enables nested folder hierarchy | no | `false` |
|
|
171
200
|
| `request-name-source` | Determines how requests are named in generated collections (Fallback or URL) | no | `Fallback` |
|
|
172
|
-
| `postman-
|
|
201
|
+
| `postman-region` | Postman data residency region for public API and Postman CLI calls. | no | `us` |
|
|
173
202
|
<!-- inputs-table:end -->
|
|
174
203
|
|
|
175
204
|
## Outputs
|
|
@@ -199,7 +228,7 @@ npm install -g @postman-cse/onboarding-bootstrap
|
|
|
199
228
|
|
|
200
229
|
postman-bootstrap \
|
|
201
230
|
--project-name core-payments \
|
|
202
|
-
--spec-url https://
|
|
231
|
+
--spec-url https://raw.githubusercontent.com/postman-cs/postman-bootstrap-action/main/examples/core-payments-openapi.yaml \
|
|
203
232
|
--postman-api-key "$POSTMAN_API_KEY" \
|
|
204
233
|
--postman-access-token "$POSTMAN_ACCESS_TOKEN" \
|
|
205
234
|
--result-json bootstrap-result.json \
|
|
@@ -215,7 +244,7 @@ bootstrap:
|
|
|
215
244
|
image: node:24
|
|
216
245
|
script:
|
|
217
246
|
- npm install -g @postman-cse/onboarding-bootstrap
|
|
218
|
-
- postman-bootstrap --project-name core-payments --spec-url "
|
|
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
|
|
219
248
|
artifacts:
|
|
220
249
|
paths:
|
|
221
250
|
- bootstrap-result.json
|
|
@@ -231,7 +260,7 @@ pipelines:
|
|
|
231
260
|
image: node:24
|
|
232
261
|
script:
|
|
233
262
|
- npm install -g @postman-cse/onboarding-bootstrap
|
|
234
|
-
- postman-bootstrap --project-name core-payments --spec-url "
|
|
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
|
|
235
264
|
artifacts:
|
|
236
265
|
- bootstrap-result.json
|
|
237
266
|
- bootstrap.env
|
|
@@ -246,7 +275,7 @@ steps:
|
|
|
246
275
|
versionSpec: '24.x'
|
|
247
276
|
- script: |
|
|
248
277
|
npm install -g @postman-cse/onboarding-bootstrap
|
|
249
|
-
postman-bootstrap --project-name core-payments --spec-url "
|
|
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
|
|
250
279
|
displayName: Bootstrap Postman assets
|
|
251
280
|
- publish: bootstrap-result.json
|
|
252
281
|
- publish: bootstrap.env
|
|
@@ -254,13 +283,13 @@ steps:
|
|
|
254
283
|
|
|
255
284
|
## How it works
|
|
256
285
|
|
|
257
|
-
The action
|
|
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.
|
|
258
287
|
|
|
259
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).
|
|
260
|
-
- **Team identity:** the team ID is derived from `postman-api-key
|
|
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).
|
|
261
290
|
- **Git providers:** workspace-to-repository linking supports GitHub and GitLab, cloud and self-hosted. See [Git Provider Support](docs/git-provider-support.md).
|
|
262
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).
|
|
263
|
-
- **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
|
|
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).
|
|
264
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).
|
|
265
294
|
|
|
266
295
|
## Dynamic contract tests
|
|
@@ -282,7 +311,7 @@ Dynamic contract failures and warnings use `CONTRACT_` error codes. Remediation
|
|
|
282
311
|
| `CONTRACT_REF_SIZE_EXCEEDED` | A fetched resource or total fetched bytes exceeded limits. | Reduce spec/ref size or pre-bundle the document. |
|
|
283
312
|
| `CONTRACT_SPEC_PARSE_FAILED` | The fetched document was not valid JSON/YAML object content. | Fix the source document syntax. |
|
|
284
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. |
|
|
285
|
-
| `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. |
|
|
286
315
|
| `CONTRACT_UNSUPPORTED_OPENAPI_VERSION` | The document was not OpenAPI 3.0 or 3.1. | Provide an OpenAPI 3.0/3.1 document. |
|
|
287
316
|
| `CONTRACT_NO_ELIGIBLE_OPERATIONS` | No eligible `paths` operations with responses were found. | Add path operations with responses. |
|
|
288
317
|
| `CONTRACT_OPERATION_NO_RESPONSES` | A `paths` operation had no response definitions. | Add at least one OpenAPI response to each path operation. |
|
|
@@ -307,7 +336,7 @@ Dynamic contract failures and warnings use `CONTRACT_` error codes. Remediation
|
|
|
307
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. |
|
|
308
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. |
|
|
309
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. |
|
|
310
|
-
| `CONTRACT_DISCRIMINATOR_NOT_VALIDATED` | A `discriminator` has no sibling `oneOf`/`anyOf` of
|
|
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. |
|
|
311
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. |
|
|
312
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. |
|
|
313
342
|
| `CONTRACT_DUPLICATE_OPERATION_MATCH` | Multiple OpenAPI operations share the same canonical request mapping candidate. | Disambiguate paths, server prefixes, or templated routes. |
|
|
@@ -322,6 +351,18 @@ Dynamic contract failures and warnings use `CONTRACT_` error codes. Remediation
|
|
|
322
351
|
|
|
323
352
|
## Resources
|
|
324
353
|
|
|
354
|
+
### The suite
|
|
355
|
+
|
|
356
|
+
| Action | Role |
|
|
357
|
+
| --- | --- |
|
|
358
|
+
| [Postman API Onboarding](https://github.com/postman-cs/postman-api-onboarding-action) | Entry point: chains workspace bootstrap, repo sync, and optional Insights linking |
|
|
359
|
+
| [Postman Onboarding: Service Token](https://github.com/postman-cs/postman-resolve-service-token-action) | Mints the service-account access token and team ID |
|
|
360
|
+
| [Postman Onboarding: AWS Spec Discovery](https://github.com/postman-cs/postman-aws-spec-discovery-action) | Discovers and exports API specs from AWS services |
|
|
361
|
+
| [Postman Onboarding: Workspace Bootstrap](https://github.com/postman-cs/postman-bootstrap-action) | Creates the workspace, uploads the spec, generates collections |
|
|
362
|
+
| [Postman Onboarding: Smoke Flow](https://github.com/postman-cs/postman-smoke-flow-action) | Applies a curated flow.yaml to the Smoke collection |
|
|
363
|
+
| [Postman Onboarding: Repo Sync](https://github.com/postman-cs/postman-repo-sync-action) | Exports artifacts into the repo and wires CI, mocks, and monitors |
|
|
364
|
+
| [Postman Onboarding: Insights Linking](https://github.com/postman-cs/postman-insights-onboarding-action) | Links Insights discovered services to the workspace |
|
|
365
|
+
|
|
325
366
|
Sibling actions in the Postman onboarding pipeline:
|
|
326
367
|
|
|
327
368
|
- [postman-cs/postman-api-onboarding-action](https://github.com/postman-cs/postman-api-onboarding-action): composite action that orchestrates the pipeline
|
|
@@ -334,10 +375,51 @@ Sibling actions in the Postman onboarding pipeline:
|
|
|
334
375
|
Package and docs:
|
|
335
376
|
|
|
336
377
|
- npm package: [@postman-cse/onboarding-bootstrap](https://www.npmjs.com/package/@postman-cse/onboarding-bootstrap)
|
|
337
|
-
- [
|
|
338
|
-
- [
|
|
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/)
|
|
339
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`
|
|
340
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
|
+
|
|
341
423
|
## License
|
|
342
424
|
|
|
343
425
|
[MIT](LICENSE)
|
package/action.yml
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
name: Postman Workspace Bootstrap
|
|
2
|
-
description: Provision a Postman workspace from an OpenAPI spec
|
|
1
|
+
name: 'Postman Onboarding: Workspace Bootstrap'
|
|
2
|
+
description: Provision a Postman workspace from an OpenAPI spec with generated collections. Part of the Postman API Onboarding suite.
|
|
3
3
|
author: Postman
|
|
4
4
|
branding:
|
|
5
5
|
icon: box
|
|
@@ -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
|
|
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
|
|
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:
|