@postman-cse/onboarding-insights 1.0.0 → 1.0.2

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 +122 -162
  2. package/action.yml +2 -2
  3. package/package.json +2 -1
package/README.md CHANGED
@@ -1,33 +1,42 @@
1
- # postman-insights-onboarding-action
1
+ # Postman Onboarding: Insights Linking
2
2
 
3
- [![CI](https://github.com/postman-cs/postman-insights-onboarding-action/actions/workflows/ci.yml/badge.svg)](https://github.com/postman-cs/postman-insights-onboarding-action/actions/workflows/ci.yml)
4
- [![Release](https://img.shields.io/github/v/release/postman-cs/postman-insights-onboarding-action?sort=semver)](https://github.com/postman-cs/postman-insights-onboarding-action/releases)
5
- [![npm](https://img.shields.io/npm/v/%40postman-cse%2Fonboarding-insights)](https://www.npmjs.com/package/@postman-cse/onboarding-insights)
6
- [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
3
+ [![CI](https://github.com/postman-cs/postman-insights-onboarding-action/actions/workflows/ci.yml/badge.svg)](https://github.com/postman-cs/postman-insights-onboarding-action/actions/workflows/ci.yml) [![Release](https://img.shields.io/github/v/release/postman-cs/postman-insights-onboarding-action?sort=semver)](https://github.com/postman-cs/postman-insights-onboarding-action/releases) [![npm](https://img.shields.io/npm/v/%40postman-cse%2Fonboarding-insights)](https://www.npmjs.com/package/@postman-cse/onboarding-insights) [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
7
4
 
8
- GitHub Action that links Postman Insights discovered services to API Catalog workspaces and git repositories. Designed for Kubernetes discovery-mode deployments where the Insights DaemonSet agent automatically finds running services.
5
+ Links Postman Insights discovered services to API Catalog workspaces and git repositories after deployment, so every service the Insights agent finds lands in your catalog with a collection, a repo link, and live telemetry.
9
6
 
10
- ## Scope
7
+ Part of the [Postman API Onboarding suite](https://github.com/postman-cs/postman-api-onboarding-action).
11
8
 
12
- After the Postman Insights agent discovers a service on your cluster, this action:
9
+ ## Usage
13
10
 
14
- - Polls the API Catalog discovered-services list until the service appears (with configurable timeout).
15
- - Prepares an API Catalog collection for the discovered service in your workspace.
16
- - Links the service to a GitHub repository through the API Catalog git onboarding flow.
17
- - Acknowledges the service and workspace with the Insights backend (Akita).
18
- - Creates an application binding with the observability API (required for service graph edges).
19
- - Retrieves the team verification token for DaemonSet telemetry.
11
+ ```yaml
12
+ jobs:
13
+ deploy:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v5
20
17
 
21
- This action does **not** deploy the Insights agent, create workspaces, or manage environments. Use [postman-bootstrap-action](https://github.com/postman-cs/postman-bootstrap-action) and [postman-repo-sync-action](https://github.com/postman-cs/postman-repo-sync-action) for those concerns.
18
+ # ... deploy your service to Kubernetes ...
22
19
 
23
- ## Prerequisites
20
+ - uses: postman-cs/postman-insights-onboarding-action@v1
21
+ with:
22
+ project-name: af-cards-activation
23
+ workspace-id: ${{ vars.POSTMAN_WORKSPACE_ID }}
24
+ environment-id: ${{ vars.POSTMAN_ENVIRONMENT_ID }}
25
+ postman-access-token: ${{ secrets.POSTMAN_ACCESS_TOKEN }}
26
+ ```
27
+
28
+ ### Prerequisites
24
29
 
25
30
  - The Postman Insights DaemonSet agent must be running on your cluster in discovery mode.
26
31
  - The target service must be deployed and running (the agent discovers it from live traffic).
27
32
  - A Postman workspace and environment must already exist for the service.
28
- - A `postman-access-token` (session token) is required for Bifrost API access.
33
+ - A `postman-access-token` (session token) is required for Bifrost API access. See [Credentials and Identity](docs/credentials.md).
29
34
 
30
- ## Usage
35
+ This action does **not** deploy the Insights agent, create workspaces, or manage environments. Use [postman-bootstrap-action](https://github.com/postman-cs/postman-bootstrap-action) and [postman-repo-sync-action](https://github.com/postman-cs/postman-repo-sync-action) for those concerns.
36
+
37
+ ## Examples
38
+
39
+ ### Standalone after a Kubernetes deploy
31
40
 
32
41
  ```yaml
33
42
  jobs:
@@ -50,7 +59,7 @@ jobs:
50
59
  poll-timeout-seconds: 180
51
60
  ```
52
61
 
53
- ### With the full onboarding pipeline
62
+ ### Full onboarding pipeline
54
63
 
55
64
  ```yaml
56
65
  jobs:
@@ -93,179 +102,130 @@ jobs:
93
102
  github-token: ${{ secrets.GITHUB_TOKEN }}
94
103
  ```
95
104
 
96
- ## CLI Usage (Non-GitHub CI)
97
-
98
- The CLI is available for GitLab CI, Bitbucket Pipelines, Azure DevOps, and other CI systems. GitHub Actions users should continue using the `action.yml` interface.
99
-
100
- Install globally:
105
+ ### Tuning discovery polling
101
106
 
102
- ```bash
103
- npm install -g postman-insights-onboarding-action
104
- ```
107
+ The Insights agent takes time to discover services after pods start. The action polls the API Catalog discovered-services list until the service appears or the timeout is reached. For services that take longer to appear (cold cluster, large pod startup time), raise the timeout:
105
108
 
106
- Basic usage:
107
-
108
- ```bash
109
- postman-insights-onboard \
110
- --project-name af-cards-activation \
111
- --workspace-id ws_123 \
112
- --environment-id env_123 \
113
- --postman-access-token "$POSTMAN_ACCESS_TOKEN" \
114
- --postman-api-key "$POSTMAN_API_KEY" \
115
- --cluster-name my-cluster \
116
- --repo-url https://gitlab.com/acme/af-cards-activation \
117
- --poll-timeout-seconds 180 \
118
- --result-json /tmp/insights-result.json \
119
- --dotenv-path /tmp/insights.env
109
+ ```yaml
110
+ - uses: postman-cs/postman-insights-onboarding-action@v1
111
+ with:
112
+ project-name: af-cards-activation
113
+ workspace-id: ${{ vars.POSTMAN_WORKSPACE_ID }}
114
+ environment-id: ${{ vars.POSTMAN_ENVIRONMENT_ID }}
115
+ postman-access-token: ${{ secrets.POSTMAN_ACCESS_TOKEN }}
116
+ poll-timeout-seconds: 300
117
+ poll-interval-seconds: 15
120
118
  ```
121
119
 
122
- The CLI auto-detects the CI provider from environment variables and uses that to resolve the repo URL and owner. For non-GitHub repositories, API Catalog git onboarding is skipped because of a backend limitation, but the remaining Insights steps continue normally.
120
+ `poll-timeout-seconds` is clamped to 10-600 and `poll-interval-seconds` to 2-60. If the service never appears within the timeout, the action sets `status` to `not-found` and emits a warning without failing the workflow.
123
121
 
124
- Output is JSON to stdout. Use `--result-json` to write the same payload to a file, or `--dotenv-path` to write shell-sourceable `KEY=VALUE` pairs with the `POSTMAN_INSIGHTS_` prefix. All logs go to stderr, and stdout is reserved for JSON output.
122
+ ### Credential preflight modes
125
123
 
126
- ### GitLab CI
124
+ Before any onboarding write, the action can verify that `postman-api-key` and `postman-access-token` resolve to the same parent organization. Set `credential-preflight` to `enforce` to fail fast on mismatched credentials, or `off` to skip the probes (the default `warn` logs and continues):
127
125
 
128
126
  ```yaml
129
- onboarding:
130
- image: node:24
131
- script:
132
- - npm install -g postman-insights-onboarding-action
133
- - postman-insights-onboard --project-name af-cards-activation --workspace-id "$WORKSPACE_ID" --environment-id "$ENVIRONMENT_ID" --postman-access-token "$POSTMAN_ACCESS_TOKEN" --postman-api-key "$POSTMAN_API_KEY" --cluster-name "$CLUSTER_NAME" --repo-url "$CI_PROJECT_URL" --poll-timeout-seconds 180 --result-json insights-result.json --dotenv-path insights.env
127
+ - uses: postman-cs/postman-insights-onboarding-action@v1
128
+ with:
129
+ project-name: af-cards-activation
130
+ workspace-id: ${{ vars.POSTMAN_WORKSPACE_ID }}
131
+ environment-id: ${{ vars.POSTMAN_ENVIRONMENT_ID }}
132
+ postman-access-token: ${{ secrets.POSTMAN_ACCESS_TOKEN }}
133
+ postman-api-key: ${{ secrets.POSTMAN_API_KEY }}
134
+ credential-preflight: enforce
134
135
  ```
135
136
 
136
- ### Bitbucket Pipelines
137
+ See [Credentials and Identity](docs/credentials.md) for the full policy, API key auto-creation behavior, and how to obtain the access token.
137
138
 
138
- ```yaml
139
- image: node:24
140
-
141
- pipelines:
142
- default:
143
- - step:
144
- script:
145
- - npm install -g postman-insights-onboarding-action
146
- - postman-insights-onboard --project-name af-cards-activation --workspace-id "$WORKSPACE_ID" --environment-id "$ENVIRONMENT_ID" --postman-access-token "$POSTMAN_ACCESS_TOKEN" --postman-api-key "$POSTMAN_API_KEY" --cluster-name "$CLUSTER_NAME" --repo-url "$BITBUCKET_GIT_HTTP_ORIGIN" --poll-timeout-seconds 180 --result-json insights-result.json --dotenv-path insights.env
147
- ```
139
+ ### Non-GitHub CI via the CLI
148
140
 
149
- ### Azure DevOps
141
+ The same logic ships as a CLI (`postman-insights-onboard`) for GitLab CI, Bitbucket Pipelines, Azure DevOps, and other CI systems:
150
142
 
151
- ```yaml
152
- pool:
153
- vmImage: ubuntu-latest
154
-
155
- steps:
156
- - task: NodeTool@0
157
- inputs:
158
- versionSpec: '24.x'
159
- - script: |
160
- npm install -g postman-insights-onboarding-action
161
- postman-insights-onboard --project-name af-cards-activation --workspace-id "$(WORKSPACE_ID)" --environment-id "$(ENVIRONMENT_ID)" --postman-access-token "$(POSTMAN_ACCESS_TOKEN)" --postman-api-key "$(POSTMAN_API_KEY)" --cluster-name "$(CLUSTER_NAME)" --repo-url "$(BUILD_REPOSITORY_URI)" --poll-timeout-seconds 180 --result-json insights-result.json --dotenv-path insights.env
162
- displayName: Run Postman Insights onboarding
143
+ ```bash
144
+ npm install -g @postman-cse/onboarding-insights
145
+ postman-insights-onboard \
146
+ --project-name af-cards-activation \
147
+ --workspace-id ws_123 \
148
+ --environment-id env_123 \
149
+ --postman-access-token "$POSTMAN_ACCESS_TOKEN" \
150
+ --cluster-name my-cluster
163
151
  ```
164
152
 
153
+ See [CLI Usage](docs/cli.md) for provider auto-detection, output formats, and GitLab/Bitbucket/Azure pipeline examples.
154
+
165
155
  ## Inputs
166
156
 
167
- | Input | Required | Default | Notes |
157
+ <!-- inputs-table:start -->
158
+ | Name | Description | Required | Default |
168
159
  | --- | --- | --- | --- |
169
- | `project-name` | Yes | | Service name to match against discovered service names. Matches `{cluster-name}/{project-name}` in the API Catalog. |
170
- | `workspace-id` | Yes | | Postman workspace ID to link the discovered service to. |
171
- | `environment-id` | Yes | | Postman environment UID for the onboarding association. |
172
- | `system-environment-id` | No | | Postman system environment UUID for service-level Insights acknowledgment. Falls back to the value from the discovered service record. |
173
- | `cluster-name` | No | | Insights cluster name. When set, the action matches `{cluster-name}/{project-name}` exactly. When omitted, falls back to suffix matching. |
174
- | `repo-url` | No | Auto-detected from CI when available | Repository URL used for Git onboarding. |
175
- | `postman-access-token` | Yes | | Postman session token for Bifrost API calls. See [Obtaining postman-access-token](#obtaining-postman-access-token-customer-preview). |
176
- | `postman-team-id` | No | | Explicit Postman team ID for org-mode Bifrost requests. When omitted, the action leaves `x-entity-team-id` unset so Bifrost resolves team context from the access token. |
177
- | `github-token` | No | ambient `GITHUB_TOKEN` env when exported by the workflow | Optional GitHub token passed as `git_api_key` only when repository auth is required by the onboarding endpoint. |
178
- | `postman-api-key` | No | | Postman API key (`PMAK-*`) for the application binding call to the observability API. Auto-created from `postman-access-token` when omitted or invalid after a clear 401/403 validation failure. |
179
- | `poll-timeout-seconds` | No | `120` | Maximum seconds to wait for the service to appear in the discovered list. Clamped to 10--600. |
180
- | `poll-interval-seconds` | No | `10` | Seconds between polling attempts. Clamped to 2--60. |
181
-
182
- Supply `postman-team-id` only for org-mode tokens that require an explicit team header. For non-org tokens, leave it unset so Bifrost can infer team context from the access token.
183
-
184
- If `postman-api-key` is omitted or the `/me` validation call returns `401` or `403`, the action creates a new API key via the Bifrost identity service using the `postman-access-token`. Network failures and unexpected validation responses fail the action instead of silently rotating credentials.
185
-
186
- ### Obtaining `postman-access-token` (Customer Preview)
187
-
188
- > **Customer Preview limitation:** The `postman-access-token` input requires a manually-extracted session token. There is currently no public API to exchange a Postman API key (PMAK) for an access token programmatically. This manual step will be eliminated before GA.
189
-
190
- The `postman-access-token` is a Postman session token (`x-access-token`) required for the Bifrost API Catalog onboarding endpoints. Without it, this action cannot function.
191
-
192
- **To obtain and configure the token:**
193
-
194
- 1. **Log in via the Postman CLI** (requires a browser):
195
- ```bash
196
- postman login
197
- ```
198
-
199
- 2. **Extract the access token:**
200
- ```bash
201
- cat ~/.postman/postmanrc | jq -r '.login._profiles[].accessToken'
202
- ```
203
-
204
- 3. **Set it as a GitHub secret:**
205
- ```bash
206
- gh secret set POSTMAN_ACCESS_TOKEN --repo <owner>/<repo>
207
- ```
208
-
209
- > **Important:** This token is session-scoped and will expire. When it does, the action will fail. You will need to repeat the login and secret update process.
160
+ | `project-name` | Service name or spec ID to match against discovered service names | Yes | |
161
+ | `workspace-id` | Postman workspace ID to link the discovered service to | Yes | |
162
+ | `environment-id` | Postman environment UID for the onboarding association | Yes | |
163
+ | `system-environment-id` | Postman system environment UUID for service-level Insights acknowledgment | No | |
164
+ | `cluster-name` | Insights cluster name. Matches {cluster}/{project-name} in discovered services | No | |
165
+ | `repo-url` | Repository URL for Git onboarding. Auto-detected from CI context when omitted. | No | |
166
+ | `postman-access-token` | Postman access token for Bifrost API calls | Yes | |
167
+ | `postman-team-id` | Explicit Postman team ID for org-mode Bifrost request headers. When omitted, x-entity-team-id is not sent. | No | |
168
+ | `github-token` | Optional GitHub token passed as git_api_key when repository auth is required by onboarding/git | No | |
169
+ | `postman-api-key` | Postman API key (PMAK-*) for the application binding call. Auto-created from postman-access-token when omitted or invalid after a clear 401/403 validation failure. | No | |
170
+ | `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 onboarding write; off skips the identity probes entirely (the reactive error guidance still applies). A rejected or auto-created postman-api-key is never failed on. | No | `warn` |
171
+ | `poll-timeout-seconds` | Maximum seconds to wait for the service to appear in the discovered list | No | `120` |
172
+ | `poll-interval-seconds` | Seconds between discovery polling attempts | No | `10` |
173
+ <!-- inputs-table:end -->
174
+
175
+ Supply `postman-team-id` only for org-mode tokens that require an explicit team header. For non-org tokens, leave it unset so Bifrost can infer team context from the access token. Credential details, the preflight policy, and API key auto-creation are documented in [Credentials and Identity](docs/credentials.md).
210
176
 
211
177
  ## Outputs
212
178
 
213
- | Output | Notes |
214
- | --- | --- |
215
- | `discovered-service-id` | Numeric ID from the API Catalog discovered-services list. |
216
- | `discovered-service-name` | Full `cluster/service` name of the discovered service. |
217
- | `collection-id` | Collection ID returned by the prepare-collection step. |
218
- | `application-id` | Insights application binding ID from the observability API. |
219
- | `verification-token` | Insights team verification token (`tvt_*`) for DaemonSet telemetry. |
220
- | `status` | Result: `success`, `not-found`, or `error`. Failures set `status=error` before the action exits. |
221
-
222
- ## Discovery polling
223
-
224
- The Insights agent takes time to discover services after pods start. This action polls the API Catalog discovered-services list at the configured interval until the service appears or the timeout is reached.
225
-
226
- - Default timeout: 120 seconds (configurable via `poll-timeout-seconds`, clamped to 10--600).
227
- - Default interval: 10 seconds (configurable via `poll-interval-seconds`, clamped to 2--60).
228
- - If the service is not found after the timeout, the action sets `status` to `not-found` and emits a warning (does not fail the workflow).
179
+ <!-- outputs-table:start -->
180
+ | Name | Description | Required | Default |
181
+ | --- | --- | --- | --- |
182
+ | `discovered-service-id` | Numeric ID from the API Catalog discovered-services list | | |
183
+ | `discovered-service-name` | Full cluster/service name of the discovered service | | |
184
+ | `collection-id` | Collection ID returned by the prepare-collection step | | |
185
+ | `application-id` | Insights application binding ID from the observability API | | |
186
+ | `verification-token` | Insights team verification token (tvt_*) for DaemonSet telemetry | | |
187
+ | `status` | Onboarding result: success, not-found, or error | | |
188
+ <!-- outputs-table:end -->
229
189
 
230
- For services that take longer to appear (cold cluster, large pod startup time), increase `poll-timeout-seconds` to 300 or more.
190
+ Failures set `status=error` before the action exits.
231
191
 
232
192
  ## How it works
233
193
 
234
- The action calls the following API endpoints in order:
235
-
236
- 1. **List discovered services** -- `GET /api/v1/onboarding/discovered-services?status=discovered` (Bifrost api-catalog) to find the numeric service ID by matching the service name.
237
- 2. **Prepare collection** -- `POST /api/v1/onboarding/prepare-collection` (Bifrost api-catalog) to create the API Catalog collection entry.
238
- 3. **Onboard git** -- `POST /api/v1/onboarding/git` (Bifrost api-catalog) with `via_integrations: false` to link the service to the GitHub repository.
239
- 4. **Resolve provider service ID** -- `GET /v2/api-catalog/services?status=discovered&...` (Bifrost akita) to find the `svc_*` Akita service ID.
240
- 5. **Service-level acknowledge** -- `POST /v2/api-catalog/services/onboard` (Bifrost akita) to mark the service as managed.
241
- 6. **Application binding** -- `POST /v2/agent/api-catalog/workspaces/{id}/applications` (direct to `api.observability.postman.com`, NOT Bifrost) to bind the workspace to the Insights application. Required for service graph edge generation.
242
- 7. **Workspace acknowledge** -- `POST /v2/workspaces/{id}/onboarding/acknowledge` (Bifrost akita) to activate the Insights project.
243
- 8. **Team verification token** -- `GET /v2/workspaces/{id}/team-verification-token` (Bifrost akita) to retrieve the DaemonSet telemetry token.
244
-
245
- ## Contract smoke monitoring
194
+ **Discovery poll.** The action polls the API Catalog discovered-services list (`GET /api/v1/onboarding/discovered-services?status=discovered` on Bifrost api-catalog) at the configured interval until a service matching `{cluster-name}/{project-name}` appears (suffix matching when `cluster-name` is omitted) or the timeout is reached.
246
195
 
247
- This repo includes `.github/workflows/contract-smoke.yml`, a scheduled live contract check for the upstream APIs used by Insights onboarding.
196
+ **Catalog prep.** It then calls `POST /api/v1/onboarding/prepare-collection` to create the API Catalog collection entry for the discovered service in your workspace.
248
197
 
249
- Configure these repository secrets before enabling the workflow:
198
+ **Git link.** `POST /api/v1/onboarding/git` with `via_integrations: false` links the service to the GitHub repository (`repo-url` input, auto-detected from CI context when omitted; `github-token` is passed as `git_api_key` only when the endpoint requires repository auth).
250
199
 
251
- - `SMOKE_ORG_API_KEY`
252
- - `SMOKE_ORG_ACCESS_TOKEN`
200
+ **Acknowledgment.** The action resolves the `svc_*` Akita service ID, marks the service as managed (`POST /v2/api-catalog/services/onboard`), and acknowledges the workspace (`POST /v2/workspaces/{id}/onboarding/acknowledge`) to activate the Insights project.
253
201
 
254
- The smoke workflow verifies `/me`, `/teams`, `iapub.postman.co/api/sessions/current`, and Bifrost API key creation so auth or payload drift shows up in CI before it hits production onboarding runs.
202
+ **Binding.** Finally it creates an application binding with the observability API (`POST /v2/agent/api-catalog/workspaces/{id}/applications`, sent directly to `api.observability.postman.com` rather than through Bifrost), which is required for service graph edge generation, and retrieves the team verification token (`tvt_*`) for DaemonSet telemetry.
255
203
 
256
- ## Local development
204
+ For local builds, contract smoke monitoring, and release channels, see [Development and Operations](docs/development.md).
257
205
 
258
- ```bash
259
- npm install
260
- npm test
261
- npm run typecheck
262
- npm run build
263
- ```
206
+ ## Resources
264
207
 
265
- `npm run build` produces `dist/index.cjs`, the bundled action entrypoint referenced by `action.yml`.
208
+ ### The suite
266
209
 
267
- ## Customer Preview Release Strategy
268
-
269
- - Customer Preview channel tags use `v1.x.y`.
270
- - Consumers can pin immutable tags such as `v1.0.0` for reproducibility.
271
- - Moving tag `v1` is used as the rolling customer preview channel.
210
+ | Action | Role |
211
+ | --- | --- |
212
+ | [Postman API Onboarding](https://github.com/postman-cs/postman-api-onboarding-action) | Entry point: chains workspace bootstrap, repo sync, and optional Insights linking |
213
+ | [Postman Onboarding: Service Token](https://github.com/postman-cs/postman-resolve-service-token-action) | Mints the service-account access token and team ID |
214
+ | [Postman Onboarding: AWS Spec Discovery](https://github.com/postman-cs/postman-aws-spec-discovery-action) | Discovers and exports API specs from AWS services |
215
+ | [Postman Onboarding: Workspace Bootstrap](https://github.com/postman-cs/postman-bootstrap-action) | Creates the workspace, uploads the spec, generates collections |
216
+ | [Postman Onboarding: Smoke Flow](https://github.com/postman-cs/postman-smoke-flow-action) | Applies a curated flow.yaml to the Smoke collection |
217
+ | [Postman Onboarding: Repo Sync](https://github.com/postman-cs/postman-repo-sync-action) | Exports artifacts into the repo and wires CI, mocks, and monitors |
218
+ | [Postman Onboarding: Insights Linking](https://github.com/postman-cs/postman-insights-onboarding-action) | Links Insights discovered services to the workspace |
219
+
220
+ - [postman-resolve-service-token-action](https://github.com/postman-cs/postman-resolve-service-token-action): mints a service-account access token and team ID.
221
+ - [postman-api-onboarding-action](https://github.com/postman-cs/postman-api-onboarding-action): composite action that orchestrates the onboarding pipeline.
222
+ - [postman-bootstrap-action](https://github.com/postman-cs/postman-bootstrap-action): workspace provisioning, spec upload, and collection generation.
223
+ - [postman-smoke-flow-action](https://github.com/postman-cs/postman-smoke-flow-action): applies a curated flow.yaml to the canonical Smoke collection.
224
+ - [postman-repo-sync-action](https://github.com/postman-cs/postman-repo-sync-action): artifact sync, environments, mocks, monitors, and CI templates.
225
+ - [postman-aws-spec-discovery-action](https://github.com/postman-cs/postman-aws-spec-discovery-action): discovers API specs from AWS.
226
+ - npm package: [@postman-cse/onboarding-insights](https://www.npmjs.com/package/@postman-cse/onboarding-insights)
227
+ - [Postman Insights documentation](https://learning.postman.com/docs/insights/insights-overview/)
228
+
229
+ ## License
230
+
231
+ [MIT](LICENSE)
package/action.yml CHANGED
@@ -1,5 +1,5 @@
1
- name: 'postman-insights-onboarding-action'
2
- description: 'Link Postman Insights discovered services to API Catalog workspaces and git repos'
1
+ name: 'Postman Onboarding: Insights Linking'
2
+ description: Link Postman Insights discovered services to workspaces and git repos. Part of the Postman API Onboarding suite.
3
3
  author: Postman
4
4
  branding:
5
5
  icon: link
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@postman-cse/onboarding-insights",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "GitHub Action to onboard Postman Insights discovered services to API Catalog workspaces.",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -17,6 +17,7 @@
17
17
  "scripts": {
18
18
  "build": "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 --write",
20
21
  "lint": "eslint .",
21
22
  "lint:fix": "eslint . --fix",
22
23
  "test": "vitest run",