@postman-cse/onboarding-repo-sync 1.0.0 → 1.0.1

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.
Files changed (3) hide show
  1. package/README.md +148 -177
  2. package/action.yml +2 -2
  3. package/package.json +2 -1
package/README.md CHANGED
@@ -1,22 +1,13 @@
1
- # postman-repo-sync-action
1
+ # Postman Repo Sync
2
2
 
3
3
  [![CI](https://github.com/postman-cs/postman-repo-sync-action/actions/workflows/ci.yml/badge.svg)](https://github.com/postman-cs/postman-repo-sync-action/actions/workflows/ci.yml)
4
4
  [![Release](https://img.shields.io/github/v/release/postman-cs/postman-repo-sync-action?sort=semver)](https://github.com/postman-cs/postman-repo-sync-action/releases)
5
5
  [![npm](https://img.shields.io/npm/v/%40postman-cse%2Fonboarding-repo-sync)](https://www.npmjs.com/package/@postman-cse/onboarding-repo-sync)
6
6
  [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
7
7
 
8
- Sync Postman workspace assets into a repository and optionally connect the workspace back to that repository.
8
+ Exports Postman collections and environments into your repository and wires CI, mocks, and monitors around them.
9
9
 
10
- Use this action when a repo should contain the Postman artifacts needed for CI, reviews, and repeatable API test runs:
11
-
12
- - Postman Collection v3 multi-file YAML exports under `postman/collections/`.
13
- - Postman environment exports under `postman/environments/`.
14
- - `.postman/resources.yaml` with local-to-cloud resource mappings.
15
- - Optional `.postman/workflows.yaml` spec-to-collection metadata.
16
- - Optional generated GitHub Actions workflow for Postman CLI smoke and contract runs.
17
- - Optional mock server, cloud monitor, workspace repository link, and system environment associations.
18
-
19
- ## Quick Start
10
+ ## Usage
20
11
 
21
12
  ```yaml
22
13
  jobs:
@@ -31,219 +22,199 @@ jobs:
31
22
  - uses: postman-cs/postman-repo-sync-action@v1
32
23
  with:
33
24
  project-name: core-payments
34
- workspace-id: ws-123
35
- baseline-collection-id: col-baseline
36
- smoke-collection-id: col-smoke
37
- contract-collection-id: col-contract
38
- environments-json: '["prod","stage"]'
39
- env-runtime-urls-json: '{"prod":"https://api.example.com","stage":"https://stage-api.example.com"}'
40
25
  postman-api-key: ${{ secrets.POSTMAN_API_KEY }}
41
- postman-access-token: ${{ secrets.POSTMAN_ACCESS_TOKEN }}
42
26
  github-token: ${{ secrets.GITHUB_TOKEN }}
43
27
  ```
44
28
 
45
- For existing repositories that already own their CI workflow, disable workflow generation:
29
+ `actions/checkout` must run before this action. `project-name` is the only required input; workspace and collection IDs are resolved from `.postman/resources.yaml` when the repo already carries one.
46
30
 
47
- ```yaml
48
- with:
49
- generate-ci-workflow: false
50
- ```
31
+ ## Examples
51
32
 
52
- Or write the generated workflow somewhere other than `.github/workflows/ci.yml`:
33
+ ### Full sync with workspace assets
53
34
 
54
35
  ```yaml
55
- with:
56
- ci-workflow-path: .github/workflows/postman-sync.yml
36
+ - uses: postman-cs/postman-repo-sync-action@v1
37
+ with:
38
+ project-name: core-payments
39
+ workspace-id: ws-123
40
+ baseline-collection-id: col-baseline
41
+ smoke-collection-id: col-smoke
42
+ contract-collection-id: col-contract
43
+ environments-json: '["prod","stage"]'
44
+ env-runtime-urls-json: '{"prod":"https://api.example.com","stage":"https://stage-api.example.com"}'
45
+ postman-api-key: ${{ secrets.POSTMAN_API_KEY }}
46
+ postman-access-token: ${{ secrets.POSTMAN_ACCESS_TOKEN }}
47
+ github-token: ${{ secrets.GITHUB_TOKEN }}
57
48
  ```
58
49
 
59
- ## Requirements
50
+ `postman-access-token` is required for workspace-to-repository linking, system environment association, and API key generation. If it is omitted, those integration steps are skipped and the remaining artifact sync can still run with `postman-api-key`. See [docs/credentials.md](docs/credentials.md).
60
51
 
61
- - `actions/checkout` must run before this action.
62
- - `project-name` is required.
63
- - Provide a valid `postman-api-key`, or provide `postman-access-token` so the action can generate one.
64
- - `contents: write` is required when `repo-write-mode` commits files.
65
- - `actions: write` is required when the action writes workflow files.
66
- - `gh-fallback-token` is recommended when the default `GITHUB_TOKEN` cannot update workflow files or repository secrets.
52
+ ### Disable CI workflow generation
67
53
 
68
- `postman-access-token` is required for workspace-to-repository linking, system environment association, and API key generation. If it is omitted, those integration steps are skipped and the remaining artifact sync can still run with `postman-api-key`.
69
-
70
- ## What Gets Written
54
+ For existing repositories that already own their CI workflow, disable workflow generation:
71
55
 
72
- The default artifact root is `postman/`. The action ensures these directories exist:
56
+ ```yaml
57
+ with:
58
+ generate-ci-workflow: false
59
+ ```
73
60
 
74
- - `postman/collections`
75
- - `postman/environments`
76
- - `postman/flows`
77
- - `postman/globals`
78
- - `postman/mocks`
79
- - `postman/specs`
61
+ ### Custom CI workflow path
80
62
 
81
- Collections are exported as Collection v3 multi-file YAML directories, for example:
63
+ Write the generated workflow somewhere other than `.github/workflows/ci.yml`:
82
64
 
83
- ```text
84
- postman/collections/[Smoke] core-payments/
85
- collection.yaml
86
- <folder>.yaml
87
- <request>.yaml
65
+ ```yaml
66
+ with:
67
+ ci-workflow-path: .github/workflows/postman-sync.yml
88
68
  ```
89
69
 
90
- The action also writes `.postman/resources.yaml`. The generated CI workflow reads that file to resolve smoke collection, contract collection, and environment IDs for Postman CLI runs.
91
-
92
- Long Postman folder and request names are truncated to 120 characters per path segment when files are written.
70
+ ### Commit-only mode for protected branches
93
71
 
94
- When a local OpenAPI spec is found, `.postman/resources.yaml` records it under `localResources.specs`. If `spec-id` and an unambiguous local spec are available, the action also maps the spec under `cloudResources.specs`. When a mapped spec and exported collections are both present, `.postman/workflows.yaml` is written with `syncSpecToCollection` metadata.
72
+ If branch protection requires pull requests, run on a temporary branch with commit-only writes, then create the PR in a later workflow step. Use this for customer-managed PR workflows.
95
73
 
96
- ## Repository Writes
74
+ ```yaml
75
+ with:
76
+ repo-write-mode: commit-only
77
+ ```
97
78
 
98
- `repo-write-mode` controls repository mutation:
79
+ `repo-write-mode` options:
99
80
 
100
81
  | Mode | Behavior |
101
82
  | --- | --- |
102
83
  | `commit-and-push` | Commit generated files and push them back to the current checked out ref. |
103
- | `commit-only` | Commit generated files without pushing. Use this for customer-managed PR workflows. |
84
+ | `commit-only` | Commit generated files without pushing. |
104
85
  | `none` | Write files in the workspace only. |
105
86
 
106
- For `commit-and-push`, the push target is resolved from `current-ref`, then `GITHUB_HEAD_REF`, then `GITHUB_REF_NAME`. Pull request merge refs are normalized to the PR head branch. Pushes use `HEAD:refs/heads/<resolved-branch>`.
107
-
108
- If branch protection requires pull requests, run on a temporary branch with `repo-write-mode: commit-only`, then create the PR in a later workflow step.
109
-
110
- ## Sync Modes
111
-
112
- `collection-sync-mode` controls collection lifecycle:
113
-
114
- | Mode | Behavior |
115
- | --- | --- |
116
- | `refresh` | Refresh exports and rewrite resource mappings for the current ref. |
117
- | `reuse` | Reuse explicit IDs or IDs already present in `.postman/resources.yaml`. |
118
- | `version` | Require a release label and suffix exported collection directories, mock names, and monitor names with that label. |
119
-
120
- `spec-sync-mode` supports:
121
-
122
- | Mode | Behavior |
123
- | --- | --- |
124
- | `update` | Keep the current spec mapping updated. |
125
- | `version` | Require a release label and use versioned metadata. |
126
-
127
- If either mode is `version`, provide `release-label` or run on a ref name that can be used as the release label.
128
-
129
- ## Monitoring And Mocks
130
-
131
- When `baseline-collection-id`, `workspace-id`, and at least one environment are available, the action creates or reuses a mock server.
132
-
133
- When `smoke-collection-id`, `workspace-id`, and at least one environment are available, the action creates or reuses a cloud smoke monitor unless `monitor-type: cli` is set. If `monitor-cron` is empty, a new cloud monitor is created disabled.
87
+ ### Reuse an existing mock server and monitor
134
88
 
135
- Use `mock-url` or `monitor-id` to force reuse of existing assets.
89
+ Pass `mock-url` or `monitor-id` to validate and reuse existing assets instead of creating new ones:
136
90
 
137
- ## mTLS
138
-
139
- The generated CI workflow can run Postman CLI with client certificates. Set these GitHub repository secrets:
140
-
141
- - `POSTMAN_SSL_CLIENT_CERT_B64`
142
- - `POSTMAN_SSL_CLIENT_KEY_B64`
143
- - `POSTMAN_SSL_CLIENT_PASSPHRASE` (optional)
144
- - `POSTMAN_SSL_EXTRA_CA_CERTS_B64` (optional)
145
-
146
- You can also pass the matching action inputs. When `ssl-client-cert` is provided and a GitHub token/repository context is available, the action attempts to persist those values as repository secrets for the generated workflow.
147
-
148
- ## CLI
91
+ ```yaml
92
+ with:
93
+ mock-url: https://abc123.mock.pstmn.io
94
+ monitor-id: 1e2f3a4b-monitor-id
95
+ ```
149
96
 
150
- The package also ships a `postman-repo-sync` binary for GitLab CI, Bitbucket Pipelines, Azure DevOps, and other CI systems.
97
+ ### mTLS certificates for Postman CLI runs
151
98
 
152
- ```bash
153
- npm install -g @postman-cse/onboarding-repo-sync
99
+ The generated CI workflow can run Postman CLI with client certificates. Pass the cert material as inputs; when a GitHub token and repository context are available, the action persists them as repository secrets (`POSTMAN_SSL_CLIENT_CERT_B64`, `POSTMAN_SSL_CLIENT_KEY_B64`, `POSTMAN_SSL_CLIENT_PASSPHRASE`, `POSTMAN_SSL_EXTRA_CA_CERTS_B64`) for the generated workflow:
154
100
 
155
- postman-repo-sync \
156
- --project-name core-payments \
157
- --workspace-id ws-123 \
158
- --baseline-collection-id col-baseline \
159
- --smoke-collection-id col-smoke \
160
- --contract-collection-id col-contract \
161
- --postman-api-key "$POSTMAN_API_KEY" \
162
- --result-json postman-repo-sync-result.json \
163
- --dotenv-path postman-repo-sync.env \
164
- --repo-write-mode commit-only
101
+ ```yaml
102
+ with:
103
+ ssl-client-cert: ${{ secrets.POSTMAN_SSL_CLIENT_CERT_B64 }}
104
+ ssl-client-key: ${{ secrets.POSTMAN_SSL_CLIENT_KEY_B64 }}
105
+ ssl-client-passphrase: ${{ secrets.POSTMAN_SSL_CLIENT_PASSPHRASE }}
165
106
  ```
166
107
 
167
- The CLI auto-detects repository URL, branch, and SHA from common CI environment variables. It writes JSON to stdout, writes the same JSON to `--result-json`, and optionally writes shell-sourceable `POSTMAN_REPO_SYNC_*` values to `--dotenv-path`. Logs go to stderr.
168
-
169
108
  ## Inputs
170
109
 
171
- | Input | Default | Notes |
172
- | --- | --- | --- |
173
- | `project-name` | | Required. Service name used for environments, mock servers, and monitors. |
174
- | `workspace-id` | | Postman workspace ID. Can be resolved from `.postman/resources.yaml` when available. |
175
- | `baseline-collection-id` | | Baseline collection exported into the repo and used for mock server creation. |
176
- | `smoke-collection-id` | | Smoke collection used for monitor creation and generated CI. |
177
- | `contract-collection-id` | | Contract collection exported into the repo and used for generated CI. |
178
- | `environments-json` | `["prod"]` | JSON array of environment slugs to create or update. |
179
- | `env-runtime-urls-json` | `{}` | JSON map of environment slug to runtime base URL. |
180
- | `environment-uids-json` | `{}` | JSON map of environment slug to existing Postman environment UID. |
181
- | `system-env-map-json` | `{}` | JSON map of environment slug to system environment ID. |
182
- | `repo-url` | Auto-detected | Explicit repository URL for workspace linking. Auto-detected from common GitHub, GitLab, Bitbucket, and Azure DevOps CI variables when available. |
183
- | `artifact-dir` | `postman` | Root directory for exported artifacts. |
184
- | `repo-write-mode` | `commit-and-push` | `commit-and-push`, `commit-only`, or `none`. |
185
- | `current-ref` | | Explicit branch/ref override for push target resolution. |
186
- | `generate-ci-workflow` | `true` | Whether to write the generated CI workflow. |
187
- | `ci-workflow-path` | `.github/workflows/ci.yml` | Path for the generated CI workflow. |
188
- | `ci-workflow-base64` | | Base64-encoded workflow content that replaces the built-in template. |
189
- | `collection-sync-mode` | `refresh` | `refresh`, `reuse`, or `version`. |
190
- | `spec-sync-mode` | `update` | `update` or `version`. |
191
- | `release-label` | | Label used for versioned collection/spec sync. |
192
- | `spec-id` | | Cloud spec UID to persist in `.postman/resources.yaml`. |
193
- | `spec-path` | | Repo-root-relative local spec path to use for metadata. |
194
- | `monitor-type` | `cloud` | `cloud` creates/reuses a cloud monitor; `cli` skips cloud monitor creation. |
195
- | `monitor-id` | | Existing smoke monitor ID to validate and reuse. |
196
- | `mock-url` | | Existing mock server URL to reuse. |
197
- | `monitor-cron` | | Cron expression for cloud monitor scheduling. Empty creates a disabled monitor. |
198
- | `workspace-link-enabled` | `true` | Enable workspace-to-repository linking. Requires `postman-access-token`. |
199
- | `environment-sync-enabled` | `true` | Enable system environment association. Requires `postman-access-token`. |
200
- | `integration-backend` | `bifrost` | Backend used for workspace linking and environment association. |
201
- | `org-mode` | `false` | Include `x-entity-team-id` for org-mode Bifrost calls. |
202
- | `postman-api-key` | | Postman API key for standard Postman API operations. |
203
- | `postman-access-token` | | Postman session access token for integration operations and API key generation. |
204
- | `github-token` | | Token for commits, pushes, workflow updates, and secret persistence. |
205
- | `gh-fallback-token` | | Preferred fallback token for workflow-file pushes and secret persistence. |
206
- | `committer-name` | `Postman CSE` | Git committer name for sync commits. |
207
- | `committer-email` | `help@postman.com` | Git committer email for sync commits. |
208
- | `ssl-client-cert` | | Base64-encoded PEM client certificate. |
209
- | `ssl-client-key` | | Base64-encoded PEM private key. Required with `ssl-client-cert`. |
210
- | `ssl-client-passphrase` | | Optional private-key passphrase. |
211
- | `ssl-extra-ca-certs` | | Optional base64-encoded PEM CA bundle. |
110
+ <!-- inputs-table:start -->
111
+ | Name | Description | Required | Default |
112
+ | --- | --- | --- | --- |
113
+ | `generate-ci-workflow` | Whether to generate the CI workflow file | no | `true` |
114
+ | `ci-workflow-path` | Path to write the generated CI workflow file | no | `.github/workflows/ci.yml` |
115
+ | `project-name` | Service project name used for environment, mock, and monitor naming. | yes | |
116
+ | `workspace-id` | Postman workspace ID used for workspace-link and export metadata. | no | |
117
+ | `baseline-collection-id` | Baseline collection ID used for exported artifacts and mock server creation. | no | |
118
+ | `monitor-type` | Type of monitor to create ("cloud" or "cli"). "cli" will skip cloud monitor creation and rely on the CI workflow. | no | `cloud` |
119
+ | `smoke-collection-id` | Smoke collection ID used for monitor creation. | no | |
120
+ | `contract-collection-id` | Contract collection ID used for exported artifacts. | no | |
121
+ | `collection-sync-mode` | Collection sync lifecycle mode (refresh or version). | no | `refresh` |
122
+ | `spec-sync-mode` | Spec sync lifecycle mode (update or version). | no | `update` |
123
+ | `release-label` | Optional release label used for versioned naming. | no | |
124
+ | `monitor-id` | Existing smoke monitor ID. When set, the action validates and reuses this monitor instead of creating a new one. | no | |
125
+ | `mock-url` | Existing mock server URL. When set, the action validates and reuses this mock instead of creating a new one. | no | |
126
+ | `monitor-cron` | Cron expression for monitor scheduling (e.g. '0 */6 * * *'). When empty, the monitor is created disabled and triggered to run once per workflow invocation (and once on every subsequent run). | no | `""` |
127
+ | `environments-json` | JSON array of environment slugs to create or update. | no | `["prod"]` |
128
+ | `repo-url` | Explicit repository URL (GitHub or GitLab). Defaults to https://github.com/$GITHUB_REPOSITORY on GitHub Actions, or $CI_PROJECT_URL on GitLab CI, when omitted. | no | |
129
+ | `integration-backend` | Integration backend for workspace linking and environment sync. | no | `bifrost` |
130
+ | `workspace-link-enabled` | Enable workspace linking. | no | `true` |
131
+ | `environment-sync-enabled` | Enable association of Postman environments to system environments. | no | `true` |
132
+ | `system-env-map-json` | JSON map of environment slug to system environment id. | no | `{}` |
133
+ | `environment-uids-json` | JSON map of environment slug to Postman environment uid. | no | `{}` |
134
+ | `env-runtime-urls-json` | JSON map of environment slug to runtime base URL. | no | `{}` |
135
+ | `artifact-dir` | Root directory for exported Postman artifacts. | no | `postman` |
136
+ | `repo-write-mode` | Repo mutation mode for generated artifacts and workflow files. | no | `commit-and-push` |
137
+ | `current-ref` | Explicit ref override for push-changes when the checkout is detached. | no | |
138
+ | `committer-name` | Git committer name for sync commits. | no | `Postman CSE` |
139
+ | `committer-email` | Git committer email for sync commits. | no | `help@postman.com` |
140
+ | `postman-api-key` | Postman API key used for environment, mock, and monitor operations. | no | |
141
+ | `postman-access-token` | Postman access token used for Bifrost and system environment association. | no | |
142
+ | `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` |
143
+ | `github-token` | GitHub token used for repo variable persistence and commits. | no | |
144
+ | `gh-fallback-token` | Fallback token for repository variable APIs and workflow-file pushes. | no | |
145
+ | `org-mode` | Whether the Postman team uses org-mode. When true, x-entity-team-id header is included in Bifrost proxy calls. Non-org teams must omit this header. | no | `false` |
146
+ | `ci-workflow-base64` | Optional base64-encoded ci.yml content. Defaults to the built-in template. | no | |
147
+ | `ssl-client-cert` | Base64-encoded PEM client certificate for Postman CLI mTLS runs. | no | |
148
+ | `ssl-client-key` | Base64-encoded PEM client private key for Postman CLI mTLS runs. | no | |
149
+ | `ssl-client-passphrase` | Optional passphrase for encrypted ssl-client-key. | no | |
150
+ | `ssl-extra-ca-certs` | Optional base64-encoded PEM CA certificate bundle for custom trust. | no | |
151
+ | `spec-id` | Spec UID from bootstrap, persisted into .postman/resources.yaml cloudResources. | no | |
152
+ | `spec-path` | Optional repo-root-relative path to the local spec file for resources/workflows metadata. | no | |
153
+ | `postman-stack` | Postman stack profile. | no | `prod` |
154
+ <!-- inputs-table:end -->
212
155
 
213
156
  ## Outputs
214
157
 
215
- | Output | Meaning |
158
+ <!-- outputs-table:start -->
159
+ | Name | Description |
216
160
  | --- | --- |
217
- | `integration-backend` | Resolved integration backend. |
218
- | `resolved-current-ref` | Branch used as the push target for `commit-and-push`. |
219
- | `workspace-link-status` | `success`, `skipped`, or `failed`. |
220
- | `environment-sync-status` | `success`, `skipped`, or `failed`. |
221
- | `environment-uids-json` | JSON map of environment slug to Postman environment UID. |
161
+ | `integration-backend` | Resolved integration backend for the customer preview run. |
162
+ | `resolved-current-ref` | Resolved push target based on current-ref semantics. |
163
+ | `workspace-link-status` | Whether workspace linking succeeded, was skipped, or failed. |
164
+ | `environment-sync-status` | Whether environment sync succeeded, was skipped, or failed. |
165
+ | `environment-uids-json` | JSON map of environment slug to Postman environment uid. |
222
166
  | `mock-url` | Created or reused mock server URL. |
223
167
  | `monitor-id` | Created or reused smoke monitor ID. |
224
- | `repo-sync-summary-json` | JSON summary of commit, environment, mock, monitor, push, and integration state. |
225
- | `commit-sha` | Commit SHA produced by `repo-write-mode`, when a commit is created. |
168
+ | `repo-sync-summary-json` | JSON summary of repo materialization and workspace sync outputs. |
169
+ | `commit-sha` | Commit SHA produced by repo-write-mode, if any. |
170
+ <!-- outputs-table:end -->
226
171
 
227
- ## Credentials
172
+ ## How it works
228
173
 
229
- Create a Postman API key in Postman under **Settings -> Account Settings -> API Keys**, then store it as `POSTMAN_API_KEY`.
174
+ The action syncs a Postman workspace into the checked-out repository and can connect the workspace back to that repository:
230
175
 
231
- The `postman-access-token` value is a session token used for integration APIs that are not covered by PMAK. To obtain it:
176
+ - Postman Collection v3 multi-file YAML exports under `postman/collections/`.
177
+ - Postman environment exports under `postman/environments/`.
178
+ - `.postman/resources.yaml` with local-to-cloud resource mappings.
179
+ - Optional `.postman/workflows.yaml` spec-to-collection metadata.
180
+ - Optional generated GitHub Actions workflow for Postman CLI smoke and contract runs.
181
+ - Optional mock server, cloud monitor, workspace repository link, and system environment associations.
232
182
 
233
- ```bash
234
- postman login
235
- cat ~/.postman/postmanrc | jq -r '.login._profiles[].accessToken'
183
+ A typical export looks like:
184
+
185
+ ```text
186
+ postman/collections/[Smoke] core-payments/
187
+ collection.yaml
188
+ <folder>.yaml
189
+ <request>.yaml
190
+ postman/environments/
191
+ prod.postman_environment.json
192
+ .postman/
193
+ resources.yaml
236
194
  ```
237
195
 
238
- Store that value as `POSTMAN_ACCESS_TOKEN`. It expires with the Postman session and must be refreshed when integration steps start skipping or failing because of authentication.
196
+ For `commit-and-push`, the push target is resolved from `current-ref`, then `GITHUB_HEAD_REF`, then `GITHUB_REF_NAME`. Pull request merge refs are normalized to the PR head branch.
239
197
 
240
- ## Local Development
198
+ Mocks and monitors: when `baseline-collection-id`, `workspace-id`, and at least one environment are available, the action creates or reuses a mock server. When `smoke-collection-id` is also available, it creates or reuses a cloud smoke monitor unless `monitor-type: cli` is set. With an empty `monitor-cron`, a new cloud monitor is created disabled and triggered once per workflow invocation.
241
199
 
242
- ```bash
243
- npm install
244
- npm test
245
- npm run typecheck
246
- npm run build
247
- ```
200
+ Deeper reference:
201
+
202
+ - [Artifact layout and Collection v3 format](docs/artifact-layout.md), including sync modes and versioned releases.
203
+ - [Credentials](docs/credentials.md): `postman-api-key`, `postman-access-token`, credential preflight, GitHub tokens.
204
+ - [CLI usage](docs/cli.md): the `postman-repo-sync` binary for GitLab CI, Bitbucket Pipelines, and Azure DevOps.
205
+
206
+ ## Resources
207
+
208
+ - [postman-resolve-service-token-action](https://github.com/postman-cs/postman-resolve-service-token-action): mints a service-account access token and team ID.
209
+ - [postman-api-onboarding-action](https://github.com/postman-cs/postman-api-onboarding-action): composite action that orchestrates the onboarding pipeline.
210
+ - [postman-bootstrap-action](https://github.com/postman-cs/postman-bootstrap-action): workspace provisioning, spec upload, and collection generation.
211
+ - [postman-smoke-flow-action](https://github.com/postman-cs/postman-smoke-flow-action): applies a curated flow.yaml to the Smoke collection.
212
+ - [postman-insights-onboarding-action](https://github.com/postman-cs/postman-insights-onboarding-action): links Postman Insights to a workspace.
213
+ - [postman-aws-spec-discovery-action](https://github.com/postman-cs/postman-aws-spec-discovery-action): discovers API specs in AWS accounts.
214
+ - npm package: [@postman-cse/onboarding-repo-sync](https://www.npmjs.com/package/@postman-cse/onboarding-repo-sync)
215
+ - [Postman API documentation](https://learning.postman.com/docs/developer/postman-api/intro-api/)
216
+ - [Postman CLI](https://learning.postman.com/docs/postman-cli/postman-cli-overview/)
217
+
218
+ ## License
248
219
 
249
- `npm run build` produces the committed `dist/index.cjs` action bundle used by `action.yml` and `dist/cli.cjs` for the CLI.
220
+ [MIT](LICENSE)
package/action.yml CHANGED
@@ -1,5 +1,5 @@
1
- name: postman-repo-sync-action
2
- description: Sync exported Postman artifacts into a repository and expose workspace-link and environment-sync outputs.
1
+ name: Postman Repo Sync
2
+ description: Export Postman collections and environments into your repo and wire CI, mocks, and monitors around them.
3
3
  author: Postman
4
4
  branding:
5
5
  icon: refresh-cw
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@postman-cse/onboarding-repo-sync",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Public customer preview Postman repo sync GitHub Action.",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -17,6 +17,7 @@
17
17
  "scripts": {
18
18
  "build": "npm run typecheck && rm -rf dist && esbuild src/index.ts --bundle --platform=node --target=node24 --format=cjs --outfile=dist/index.cjs && esbuild src/main.ts --bundle --platform=node --target=node24 --format=cjs --outfile=dist/action.cjs && esbuild src/cli.ts --bundle --platform=node --target=node24 --format=cjs --outfile=dist/cli.cjs",
19
19
  "check:dist": "npm run build && git diff --exit-code -- dist",
20
+ "docs:tables": "node scripts/render-action-tables.mjs",
20
21
  "lint": "eslint .",
21
22
  "lint:fix": "eslint . --fix",
22
23
  "test": "vitest run",