postman-cli-completion 1.71.0 → 1.74.0
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 +72 -8
- package/bin/postman-completion.mjs +36 -2
- package/completions/bash/postman.bash +1102 -1005
- package/completions/fish/postman.fish +1111 -1054
- package/completions/zsh/_postman +1676 -1571
- package/lib/postinstall.mjs +79 -0
- package/lib/version-check.mjs +261 -0
- package/package.json +3 -1
package/completions/zsh/_postman
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#compdef postman
|
|
2
2
|
compdef _postman postman
|
|
3
|
-
# Zsh completion for Postman CLI (postman v1.
|
|
3
|
+
# Zsh completion for Postman CLI (postman v1.74.0)
|
|
4
4
|
# Auto-generated by scripts/generate.mjs — DO NOT EDIT
|
|
5
5
|
# Source: spec/commands.json
|
|
6
6
|
# https://github.com/yokawasa/postman-cli-completion
|
|
@@ -10,47 +10,47 @@ _postman() {
|
|
|
10
10
|
typeset -A opt_args
|
|
11
11
|
|
|
12
12
|
_arguments -C \
|
|
13
|
-
'
|
|
13
|
+
'--color[Enable/Disable colored output (auto|on|off)]:value:(auto on off)' \
|
|
14
|
+
'(-h --help)'{-h,--help}'[Show help for command]' \
|
|
14
15
|
'--silent[Silences all terminal output]' \
|
|
15
|
-
'--
|
|
16
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
16
|
+
'(-v --version)'{-v,--version}'[Show postman version]' \
|
|
17
17
|
'1: :_postman_commands' \
|
|
18
18
|
'*::arg:->args'
|
|
19
19
|
|
|
20
20
|
case $state in
|
|
21
21
|
args)
|
|
22
22
|
case $words[1] in
|
|
23
|
-
|
|
24
|
-
signup) _postman_signup ;;
|
|
25
|
-
logout) _postman_logout ;;
|
|
26
|
-
init) _postman_init ;;
|
|
27
|
-
whoami) _postman_whoami ;;
|
|
28
|
-
feedback) _postman_feedback ;;
|
|
29
|
-
update) _postman_update ;;
|
|
30
|
-
skills) _postman_skills ;;
|
|
23
|
+
api) _postman_api ;;
|
|
31
24
|
collection) _postman_collection ;;
|
|
25
|
+
dataset) _postman_dataset ;;
|
|
32
26
|
environment) _postman_environment ;;
|
|
27
|
+
flows|fl) _postman_flows ;;
|
|
33
28
|
globals) _postman_globals ;;
|
|
34
|
-
|
|
35
|
-
runner) _postman_runner ;;
|
|
36
|
-
spec) _postman_spec ;;
|
|
29
|
+
mock) _postman_mock ;;
|
|
37
30
|
monitor) _postman_monitor ;;
|
|
38
|
-
workspace|ws) _postman_workspace ;;
|
|
39
|
-
team) _postman_team ;;
|
|
40
|
-
performance) _postman_performance ;;
|
|
41
|
-
flows|fl) _postman_flows ;;
|
|
42
31
|
request) _postman_request ;;
|
|
32
|
+
runner) _postman_runner ;;
|
|
43
33
|
sdk) _postman_sdk ;;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
simulation) _postman_simulation ;;
|
|
47
|
-
describe) _postman_describe ;;
|
|
34
|
+
spec) _postman_spec ;;
|
|
35
|
+
workspace|ws) _postman_workspace ;;
|
|
48
36
|
context-graph) _postman_context_graph ;;
|
|
37
|
+
describe) _postman_describe ;;
|
|
38
|
+
init) _postman_init ;;
|
|
49
39
|
search) _postman_search ;;
|
|
50
|
-
|
|
51
|
-
|
|
40
|
+
skills) _postman_skills ;;
|
|
41
|
+
login) _postman_login ;;
|
|
42
|
+
logout) _postman_logout ;;
|
|
43
|
+
signup) _postman_signup ;;
|
|
44
|
+
whoami) _postman_whoami ;;
|
|
45
|
+
application|app) _postman_application ;;
|
|
52
46
|
dependency) _postman_dependency ;;
|
|
47
|
+
feedback) _postman_feedback ;;
|
|
48
|
+
performance) _postman_performance ;;
|
|
53
49
|
secret) _postman_secret ;;
|
|
50
|
+
simulation) _postman_simulation ;;
|
|
51
|
+
team) _postman_team ;;
|
|
52
|
+
update) _postman_update ;;
|
|
53
|
+
webhook) _postman_webhook ;;
|
|
54
54
|
esac
|
|
55
55
|
;;
|
|
56
56
|
esac
|
|
@@ -59,141 +59,89 @@ _postman() {
|
|
|
59
59
|
_postman_commands() {
|
|
60
60
|
local -a commands
|
|
61
61
|
commands=(
|
|
62
|
-
'login:Authenticate with Postman to access your resources.'
|
|
63
|
-
'signup:Sign up to keep the work you created as a guest (claims your guest workspace). Waits and signs this CLI in once the sign-up is completed in a browser — opening that browser here on a terminal, or printing the URL to hand over when output is piped.'
|
|
64
|
-
'logout:Delete the stored Postman API key.'
|
|
65
|
-
'init:Set up Postman artifacts and agent instructions in a repository.'
|
|
66
|
-
'whoami:Show the Postman account or guest session this CLI session is using.'
|
|
67
|
-
'feedback:Submit feedback about CLI usability, gaps, and improvement suggestions.'
|
|
68
|
-
'update:Update Postman CLI using the original installation method.'
|
|
69
|
-
'skills:Check and update the agent skills in this repository.'
|
|
70
|
-
'collection:Run and test your Postman collections directly from the command line.'
|
|
71
|
-
'environment:Work with local Postman environments from the command line. Also read cloud environments by ID.'
|
|
72
|
-
'globals:Work with local Postman globals from the command line. Also read cloud globals by workspace.'
|
|
73
62
|
'api:Publish and test your APIs directly from the command line'
|
|
74
|
-
'
|
|
75
|
-
'
|
|
76
|
-
'
|
|
77
|
-
'
|
|
78
|
-
'ws:Alias for workspace'
|
|
79
|
-
'team:Work with the teams inside your organisation.'
|
|
80
|
-
'performance:Manage performance tests on your collections.'
|
|
81
|
-
'flows:Manage and interact with flows.'
|
|
63
|
+
'collection:Run and test your Postman collections directly from the command line'
|
|
64
|
+
'dataset:Work with Postman datasets in local YAML files or the cloud'
|
|
65
|
+
'environment:Work with local and cloud Postman environments'
|
|
66
|
+
'flows:Manage and interact with flows'
|
|
82
67
|
'fl:Alias for flows'
|
|
83
|
-
'
|
|
84
|
-
'
|
|
85
|
-
'
|
|
86
|
-
'
|
|
68
|
+
'globals:Work with local and cloud Postman globals'
|
|
69
|
+
'mock:Create, run, and manage Postman mocks'
|
|
70
|
+
'monitor:Run and manage Postman monitors'
|
|
71
|
+
'request:Send HTTP requests with full Postman capabilities'
|
|
72
|
+
'runner:Start and inspect self-hosted runners, and list Postman-operated regions'
|
|
73
|
+
'sdk:Generate and manage your SDKs directly from the command line'
|
|
74
|
+
'spec:Lint and validate specifications from the command line'
|
|
75
|
+
'workspace:Manage workspace resources'
|
|
76
|
+
'ws:Alias for workspace'
|
|
77
|
+
'context-graph:Ask natural-language questions about your team'\''s Context Graph'
|
|
78
|
+
'describe:Get API context for AI coding agents directly from the command line'
|
|
79
|
+
'init:Set up Postman artifacts and agent instructions in a repository'
|
|
80
|
+
'search:Search for Postman element types'
|
|
81
|
+
'skills:Check and update the agent skills in this repository'
|
|
82
|
+
'login:Authenticate with Postman to access your resources'
|
|
83
|
+
'logout:Delete the stored Postman API key'
|
|
84
|
+
'signup:Sign up to keep the work you created as a guest'
|
|
85
|
+
'whoami:Show the Postman account or guest session this CLI session is using'
|
|
86
|
+
'application:Application-level commands\: initialise config and run tests'
|
|
87
87
|
'app:Alias for application'
|
|
88
|
-
'
|
|
89
|
-
'
|
|
90
|
-
'
|
|
91
|
-
'
|
|
92
|
-
'
|
|
93
|
-
'
|
|
94
|
-
'
|
|
95
|
-
'
|
|
88
|
+
'dependency:Manage workspace dependencies reused from other workspaces'
|
|
89
|
+
'feedback:Submit feedback about CLI usability, gaps, and improvements'
|
|
90
|
+
'performance:Manage performance tests on your collections'
|
|
91
|
+
'secret:Create and manage Postman secrets in a team'\''s shared vault'
|
|
92
|
+
'simulation:Create, run and manage simulations'
|
|
93
|
+
'team:Work with the teams inside your organisation'
|
|
94
|
+
'update:Update Postman CLI using the original installation method'
|
|
95
|
+
'webhook:Create and manage Postman webhooks'
|
|
96
96
|
)
|
|
97
97
|
_describe -t commands 'postman command' commands
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
|
|
101
|
-
_arguments \
|
|
102
|
-
'--alias[Specify the alias of the API key to fetch your resources using it. (This option is discontinued and will be removed in a future release.)]:alias' \
|
|
103
|
-
'--with-api-key[Specify the API key directly.]:apikey' \
|
|
104
|
-
'--region[Specify the region for authentication. Use "eu" for EU region.]:region:(us eu)' \
|
|
105
|
-
'--verbose[Show detailed error information]' \
|
|
106
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
_postman_signup() {
|
|
110
|
-
_arguments \
|
|
111
|
-
'--guest[Start working as an anonymous guest instead of signing up — no account or browser needed, so it works anywhere. Your work is saved to a temporary workspace you can keep later by running `postman signup`.]' \
|
|
112
|
-
'--json[Print the sign-up details as machine-readable JSON.]' \
|
|
113
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
_postman_logout() {
|
|
117
|
-
_arguments \
|
|
118
|
-
'--alias[Specify the alias of the API key to fetch your resources using it. (This option is discontinued and will be removed in a future release.)]:alias' \
|
|
119
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
_postman_init() {
|
|
123
|
-
_arguments \
|
|
124
|
-
'--json[Emit machine-readable output for agents]' \
|
|
125
|
-
'--dry-run[Report what would happen without writing anything]' \
|
|
126
|
-
'--no-fetch[Use the skills bundled with this CLI instead of fetching the latest]' \
|
|
127
|
-
'--spec[Which spec is authoritative, when more than one could be]:path:_files -g "*.(yaml|yml|json)"' \
|
|
128
|
-
'--visibility[Create and bind a workspace non-interactively (personal, team)]:status' \
|
|
129
|
-
'(-y --yes)'{-y,--yes}'[Accept the default for every question instead of asking or stopping]' \
|
|
130
|
-
'--report-events[Dispatch init events to the API Catalog and Application Inventory ingestion pipelines (requires login)]' \
|
|
131
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
132
|
-
'*:path:_files -g "*.json"'
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
_postman_whoami() {
|
|
136
|
-
_arguments \
|
|
137
|
-
'--json[Print current identity as machine-readable JSON.]' \
|
|
138
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
_postman_feedback() {
|
|
142
|
-
_arguments \
|
|
143
|
-
'--type[Feedback type\: cli_gap, improvement_suggestion, bug_report, feature_request, general (default\: general)]:type' \
|
|
144
|
-
'--context[Command or feature context this feedback is about]:context' \
|
|
145
|
-
'--json[Print result as machine-readable JSON]' \
|
|
146
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
147
|
-
'*:text:'
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
_postman_update() {
|
|
151
|
-
_arguments \
|
|
152
|
-
'--check[Check whether a Postman CLI update is available.]' \
|
|
153
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
_postman_skills() {
|
|
100
|
+
_postman_api() {
|
|
157
101
|
local context state state_descr line
|
|
158
102
|
typeset -A opt_args
|
|
159
103
|
_arguments -C \
|
|
160
104
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
161
|
-
'1: :
|
|
105
|
+
'1: :_postman_api_commands' \
|
|
162
106
|
'*::arg:->args'
|
|
163
107
|
case $state in
|
|
164
108
|
args)
|
|
165
109
|
case $words[1] in
|
|
166
|
-
|
|
167
|
-
|
|
110
|
+
lint) _postman_api_lint ;;
|
|
111
|
+
publish) _postman_api_publish ;;
|
|
168
112
|
esac
|
|
169
113
|
;;
|
|
170
114
|
esac
|
|
171
115
|
}
|
|
172
116
|
|
|
173
|
-
|
|
117
|
+
_postman_api_commands() {
|
|
174
118
|
local -a sub
|
|
175
119
|
sub=(
|
|
176
|
-
'
|
|
177
|
-
'
|
|
120
|
+
'lint:Run linting on the schema of the given API ID or local file in the given path. If \[api\] is not provided we will run the linting on the schema present in the .postman config file'
|
|
121
|
+
'publish:Publish a version of an API for the given apiId. All entities added to the API will be published by default. User can choose which entities to publish by using additional options.'
|
|
178
122
|
)
|
|
179
|
-
_describe -t commands '
|
|
123
|
+
_describe -t commands 'api command' sub
|
|
180
124
|
}
|
|
181
125
|
|
|
182
|
-
|
|
126
|
+
_postman_api_lint() {
|
|
183
127
|
_arguments \
|
|
184
|
-
'--
|
|
185
|
-
'--
|
|
128
|
+
'--integration-id[Specify the integration ID for the report.]:integration-id' \
|
|
129
|
+
'(-f --fail-severity)'{-f,--fail-severity}'[Results of this level or above will trigger a failure exit code. \[choices\: "error", "warn", "info", "hint"\] (default\: "ERROR")]:value' \
|
|
130
|
+
'(-x --suppress-exit-code)'{-x,--suppress-exit-code}'[Specify whether or not to override the default exit code for the current run]' \
|
|
186
131
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
187
|
-
'*:
|
|
132
|
+
'*:api:'
|
|
188
133
|
}
|
|
189
134
|
|
|
190
|
-
|
|
135
|
+
_postman_api_publish() {
|
|
191
136
|
_arguments \
|
|
192
|
-
'--
|
|
193
|
-
'--
|
|
194
|
-
'--
|
|
137
|
+
'--name[Specify the name of the version to publish.]:name' \
|
|
138
|
+
'--release-notes[Specify release notes for the version to publish.]:releaseNotes' \
|
|
139
|
+
'--collections[Specify the collections to publish. If API is connected to a repository, provide file path instead of IDs.]:collectionIds/paths...:_files -g "*.json"' \
|
|
140
|
+
'--api-definition[Specify the API Definition to publish. If API is connected to a repository, provide schema root file path. Note that some repository connections utilize a schema directory path; for such APIs, provide schema directory path instead of file path.]:apiDefinitionId/directory/file' \
|
|
141
|
+
'--do-not-poll[Specify whether or not to poll for completion status of the publish action.]' \
|
|
142
|
+
'(-x --suppress-exit-code)'{-x,--suppress-exit-code}'[Specify whether or not to override the default exit code for the current run.]' \
|
|
195
143
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
196
|
-
'*:
|
|
144
|
+
'*:apiId:'
|
|
197
145
|
}
|
|
198
146
|
|
|
199
147
|
_postman_collection() {
|
|
@@ -706,680 +654,975 @@ _postman_collection_run() {
|
|
|
706
654
|
'--export-cookie-jar[Exports the cookie jar to a file after completing the run]:path:_files -g "*.json"' \
|
|
707
655
|
'--verbose[Show detailed information of collection run and each request sent]' \
|
|
708
656
|
'--mock[Start a mock server for the run, its path if it lives in your repository (relative or absolute, e.g. ./postman/mocks/orders) or its id if it lives in Postman cloud (fetched then run locally). An id needs `postman login` (or --postman-api-key).]:pathOrId:_files -g "*.json"' \
|
|
709
|
-
'--port[Port for the --mock server (e.g. 4010), or "auto" for a free one. Defaults to the
|
|
657
|
+
'--port[Port for the --mock server or --simulation (e.g. 4010), or "auto" for a free one. Defaults to the configured port. Only valid with --mock or --simulation.]:port' \
|
|
710
658
|
'--use-mock[Redirect requests for a URL or {{variable}} to a mock during the run. Format\: "<url> mock|mock-server\:<path|id> \[scenario\]". Repeat the flag to redirect several URLs (one --use-mock each). Use "mock\:<path>" for a mock in your repository (path relative or absolute, e.g. ./postman/mocks/orders), "mock\:<id>" for a mock in Postman cloud (fetched then run locally), or "mock-server\:<id>" to send requests to a deployed mock server. An id needs `postman login` (or --postman-api-key). The optional third field picks a scenario (defaults to "default"). (default\: \[\])]:mapping' \
|
|
711
|
-
'--
|
|
712
|
-
'--
|
|
713
|
-
'--
|
|
714
|
-
'--no-
|
|
715
|
-
'--report-events[Dispatch run events, including git-native v3 collection run results, to the API Catalog and Application Inventory ingestion pipelines (on by default)]' \
|
|
716
|
-
'--no-report-events[Do not dispatch run events to the API Catalog and Application Inventory ingestion pipelines]' \
|
|
659
|
+
'--simulation[Run the mocks in a simulation for the run, its .sim.yaml path if it lives in your repository (relative or absolute, e.g. ./postman/simulations/checkout.sim.yaml) or its id if it lives in Postman cloud (fetched then run locally). Members share one port and are addressed by routeKey (e.g. http\://localhost\:3000/<routeKey>/path). An id needs `postman login` (or --postman-api-key).]:pathOrId:_files -g "*.json"' \
|
|
660
|
+
'(-w --workspace)'{-w,--workspace}'[Workspace to record the --simulation run'\''s start history against. Defaults to the simulation'\''s own workspace (when run by id) or the linked project'\''s workspace.]:workspaceId' \
|
|
661
|
+
'--report-events[Dispatch run events, including git-native v3 collection run results and any --simulation start history, to the API Catalog and Application Inventory ingestion pipelines (on by default)]' \
|
|
662
|
+
'--no-report-events[Do not dispatch run events (results, --simulation start history, and analytics) to the API Catalog and Application Inventory ingestion pipelines]' \
|
|
717
663
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
718
664
|
'*:collectionId/Path:_files -g "*.json"'
|
|
719
665
|
}
|
|
720
666
|
|
|
721
|
-
|
|
667
|
+
_postman_dataset() {
|
|
722
668
|
local context state state_descr line
|
|
723
669
|
typeset -A opt_args
|
|
724
670
|
_arguments -C \
|
|
725
671
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
726
|
-
'1: :
|
|
672
|
+
'1: :_postman_dataset_commands' \
|
|
727
673
|
'*::arg:->args'
|
|
728
674
|
case $state in
|
|
729
675
|
args)
|
|
730
676
|
case $words[1] in
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
677
|
+
list) _postman_dataset_list ;;
|
|
678
|
+
get) _postman_dataset_get ;;
|
|
679
|
+
query) _postman_dataset_query ;;
|
|
680
|
+
create) _postman_dataset_create ;;
|
|
681
|
+
delete) _postman_dataset_delete ;;
|
|
682
|
+
source) _postman_dataset_source ;;
|
|
683
|
+
view) _postman_dataset_view ;;
|
|
684
|
+
jdbc) _postman_dataset_jdbc ;;
|
|
737
685
|
esac
|
|
738
686
|
;;
|
|
739
687
|
esac
|
|
740
688
|
}
|
|
741
689
|
|
|
742
|
-
|
|
690
|
+
_postman_dataset_commands() {
|
|
743
691
|
local -a sub
|
|
744
692
|
sub=(
|
|
745
|
-
'
|
|
746
|
-
'
|
|
747
|
-
'
|
|
748
|
-
'
|
|
749
|
-
'
|
|
750
|
-
'
|
|
693
|
+
'list:List local dataset YAMLs under a path, or (no path) a workspace'\''s cloud datasets.'
|
|
694
|
+
'get:Print a dataset'\''s metadata and structure summary (local YAML path or cloud id).'
|
|
695
|
+
'query:Run an ad-hoc SQL query against a dataset (local YAML path or cloud id).'
|
|
696
|
+
'create:Scaffold a new .dataset.yaml at <path>, or (no path, with -w) create a cloud dataset.'
|
|
697
|
+
'delete:Permanently remove a dataset\: a local .dataset.yaml or a cloud dataset id.'
|
|
698
|
+
'source:Inspect and manage a dataset'\''s datasources.'
|
|
699
|
+
'view:Inspect and manage saved views on a dataset.'
|
|
700
|
+
'jdbc:Inspect JDBC drivers before attaching one to a dataset.'
|
|
751
701
|
)
|
|
752
|
-
_describe -t commands '
|
|
702
|
+
_describe -t commands 'dataset command' sub
|
|
753
703
|
}
|
|
754
704
|
|
|
755
|
-
|
|
705
|
+
_postman_dataset_list() {
|
|
756
706
|
_arguments \
|
|
757
|
-
'(-w --workspace)'{-w,--workspace}'[
|
|
758
|
-
'--
|
|
759
|
-
'--
|
|
760
|
-
'--json[JSON output]' \
|
|
707
|
+
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID (cloud list)]:id' \
|
|
708
|
+
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
709
|
+
'--json[Output as JSON instead of a table]' \
|
|
761
710
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
762
|
-
'*:
|
|
711
|
+
'*:pathOrDir:_files -g "*.json"'
|
|
763
712
|
}
|
|
764
713
|
|
|
765
|
-
|
|
714
|
+
_postman_dataset_get() {
|
|
766
715
|
_arguments \
|
|
767
|
-
'
|
|
768
|
-
'
|
|
769
|
-
'--
|
|
770
|
-
'--json[JSON output]' \
|
|
716
|
+
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
717
|
+
'--no-populate[Skip fetching datasources/views for a cloud dataset]' \
|
|
718
|
+
'--json[Output the full dataset as JSON]' \
|
|
771
719
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
772
|
-
'*:
|
|
720
|
+
'*:datasetPathOrId:'
|
|
773
721
|
}
|
|
774
722
|
|
|
775
|
-
|
|
723
|
+
_postman_dataset_query() {
|
|
776
724
|
_arguments \
|
|
777
|
-
'--
|
|
778
|
-
'--
|
|
725
|
+
'(-q --query)'{-q,--query}'[SQL query to execute (e.g. "SELECT * FROM users LIMIT 10")]:sql' \
|
|
726
|
+
'(-s --source)'{-s,--source}'[Execute directly against a database datasource; without --source, use federated SQLite]:nameOrIdOrSlug' \
|
|
727
|
+
'(-p --param)'{-p,--param}'[Bind values to $1, $2, ... in order; pass multiple values after -p or repeat -p]:value...' \
|
|
728
|
+
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
729
|
+
'--json[Output rows as JSON instead of a table]' \
|
|
730
|
+
'--debug[Include safe classified dataset diagnostics]' \
|
|
779
731
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
780
|
-
'*:
|
|
732
|
+
'*:datasetPathOrId:'
|
|
781
733
|
}
|
|
782
734
|
|
|
783
|
-
|
|
735
|
+
_postman_dataset_create() {
|
|
784
736
|
_arguments \
|
|
785
|
-
'(-
|
|
786
|
-
'--
|
|
787
|
-
'--
|
|
737
|
+
'(-n --name)'{-n,--name}'[Human-readable name for the dataset]:name' \
|
|
738
|
+
'(-d --description)'{-d,--description}'[Optional description]:desc' \
|
|
739
|
+
'--dataset-id[Override the generated dataset id (local only; defaults to a random v4 UUID)]:uuid' \
|
|
740
|
+
'--force[Overwrite an existing file at <path>]' \
|
|
741
|
+
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID (create a cloud dataset)]:id' \
|
|
742
|
+
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
788
743
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
789
|
-
'*:
|
|
744
|
+
'*:path:_files -g "*.json"'
|
|
790
745
|
}
|
|
791
746
|
|
|
792
|
-
|
|
747
|
+
_postman_dataset_delete() {
|
|
748
|
+
_arguments \
|
|
749
|
+
'(-y --yes)'{-y,--yes}'[Skip the confirmation prompt]' \
|
|
750
|
+
'--keep-resources[Preserve the local resource directory even when it is empty (local only)]' \
|
|
751
|
+
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
752
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
753
|
+
'*:datasetPathOrId:'
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
_postman_dataset_source() {
|
|
793
757
|
local context state state_descr line
|
|
794
758
|
typeset -A opt_args
|
|
795
759
|
_arguments -C \
|
|
796
760
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
797
|
-
'1: :
|
|
761
|
+
'1: :_postman_dataset_source_commands' \
|
|
798
762
|
'*::arg:->args'
|
|
799
763
|
case $state in
|
|
800
764
|
args)
|
|
801
765
|
case $words[1] in
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
766
|
+
list) _postman_dataset_source_list ;;
|
|
767
|
+
add) _postman_dataset_source_add ;;
|
|
768
|
+
remove) _postman_dataset_source_remove ;;
|
|
769
|
+
update) _postman_dataset_source_update ;;
|
|
770
|
+
test) _postman_dataset_source_test ;;
|
|
805
771
|
esac
|
|
806
772
|
;;
|
|
807
773
|
esac
|
|
808
774
|
}
|
|
809
775
|
|
|
810
|
-
|
|
776
|
+
_postman_dataset_source_commands() {
|
|
811
777
|
local -a sub
|
|
812
778
|
sub=(
|
|
813
|
-
'
|
|
814
|
-
'
|
|
815
|
-
'
|
|
779
|
+
'list:List the datasources defined on a dataset (local YAML path or cloud id).'
|
|
780
|
+
'add:Add a datasource to a dataset.'
|
|
781
|
+
'remove:Remove a datasource from a dataset (local YAML path or cloud id).'
|
|
782
|
+
'update:Update fields on an existing datasource. Only the flags you provide are changed.'
|
|
783
|
+
'test:Open and close a real connection using a source'\''s stored configuration.'
|
|
816
784
|
)
|
|
817
|
-
_describe -t commands '
|
|
785
|
+
_describe -t commands 'source command' sub
|
|
818
786
|
}
|
|
819
787
|
|
|
820
|
-
|
|
788
|
+
_postman_dataset_source_list() {
|
|
821
789
|
_arguments \
|
|
822
|
-
'(-
|
|
823
|
-
'--
|
|
824
|
-
'--
|
|
825
|
-
'(-
|
|
826
|
-
'--verbose[Verbose output]' \
|
|
827
|
-
'--json[JSON output]' \
|
|
828
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
829
|
-
'*:value:'
|
|
790
|
+
'(-d --dataset)'{-d,--dataset}'[Dataset whose sources to list — a local .dataset.yaml path or a cloud dataset id]:datasetPathOrId' \
|
|
791
|
+
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
792
|
+
'--json[Output sources as JSON instead of a table]' \
|
|
793
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
830
794
|
}
|
|
831
795
|
|
|
832
|
-
|
|
796
|
+
_postman_dataset_source_add() {
|
|
833
797
|
_arguments \
|
|
834
|
-
'(-
|
|
835
|
-
'--
|
|
836
|
-
'--
|
|
798
|
+
'(-d --dataset)'{-d,--dataset}'[Dataset to add the source to; positional target is also accepted for v1.45 compatibility]:datasetPathOrId' \
|
|
799
|
+
'(-n --name)'{-n,--name}'[Logical name for the source (becomes the SQL table name when it loads a file or a database --table). Required for every source except a spreadsheet, whose worksheets are each named source_<worksheet>]:name' \
|
|
800
|
+
'--source-id[Override the generated source id (local dataset only)]:uuid' \
|
|
801
|
+
'--format[Use this format instead of extension/type inference; file contents are not sniffed. A spreadsheet (xlsx/xls/ods) is added as one source per worksheet, each named source_<worksheet>]:csv|json|xlsx|xls|ods|jdbc|mysql|postgres|sqlserver' \
|
|
802
|
+
'--type[Source kind; local is inferred from --file, jdbc from --driver-jar]:local|mysql|postgresql|sqlserver|jdbc' \
|
|
803
|
+
'--file[Path to a local CSV/JSON/spreadsheet file (absolute or cwd-relative)]:path:_files -g "*.json"' \
|
|
804
|
+
'--ref-only[Reference the file in place; do NOT copy into data_dir (local dataset)]' \
|
|
805
|
+
'--force[When copying, overwrite an existing file at the destination (local dataset)]' \
|
|
806
|
+
'--upload[Cloud dataset only\: upload --file as a postmancloudfile source (runs via /exec). Without --upload, --file is registered as a local_filesystem source read by the local engine. Either way a cloud dataset takes csv/json only — add a spreadsheet to a local .dataset.yaml, where each worksheet becomes its own source.]' \
|
|
807
|
+
'--driver-jar[JDBC driver JAR(s). Repeatable, or pass several after one flag]:path...:_files -g "*.json"' \
|
|
808
|
+
'--driver-class[Driver class. Auto-resolved when the JAR contains exactly one]:fqcn' \
|
|
809
|
+
'--driver-name[Label for this driver type (defaults to the JAR filename)]:label' \
|
|
810
|
+
'--url-template[JDBC URL with {{placeholders}}, e.g. jdbc\:postgresql\://{{host}}\:{{port}}/{{database}}]:template' \
|
|
811
|
+
'--var[Value for a {{placeholder}}. Repeatable. Use vault\:<vaultId>/<secretId> for a secret. WARNING\: a literal value is visible in `ps` output and shell history, and is stored in clear text in the dataset YAML (local) or sent in the request body (cloud). Prefer a Shared Vault reference.]:name=value...' \
|
|
812
|
+
'--prop[Driver connection property. Repeatable. Same vault\: syntax as --var]:name=value...' \
|
|
813
|
+
'--vars-file[JSON object of --var values; "-" reads stdin. Supports {"$vaultId"\:..,"$secretId"\:..} objects, and keeps secrets out of argv entirely]:path:_files -g "*.json"' \
|
|
814
|
+
'--from-source[Reuse another source'\''s driver JAR, class and URL template]:name' \
|
|
815
|
+
'--java-path[Java runtime to use. Machine-local only - never written to the dataset. Also read from POSTMAN_JDBC_JAVA_PATH]:path:_files -g "*.json"' \
|
|
816
|
+
'--no-test[Skip the pre-write connection test. Note that resolving the driver class still starts a JVM — on a machine with no Java, pass --driver-class (or --from-source) too]' \
|
|
817
|
+
'--ssh-target-host-variable[Template variable holding the tunnelled host (inferred when omitted)]:name' \
|
|
818
|
+
'--ssh-target-port-variable[Template variable holding the tunnelled port (inferred when omitted)]:name' \
|
|
819
|
+
'--json[Emit the result as JSON instead of prose]' \
|
|
820
|
+
'--host[DB host (mysql/postgresql/sqlserver)]:host' \
|
|
821
|
+
'--port[DB port (defaults to 1433 for sqlserver)]:port' \
|
|
822
|
+
'--user[DB user. WARNING\: a literal value is visible in `ps` output and shell history, and is stored in clear text in the dataset YAML (local) or sent in the request body (cloud). Prefer a Shared Vault reference.]:user' \
|
|
823
|
+
'--password[DB password. WARNING\: a literal value is visible in `ps` output and shell history, and is stored in clear text in the dataset YAML (local) or sent in the request body (cloud). Prefer a Shared Vault reference.]:password' \
|
|
824
|
+
'--database[DB database name]:db' \
|
|
825
|
+
'--table[DB table to load (required for sqlserver). Leave it out to connect to the whole database; query it with `dataset query -s <source>` or `dataset view create -s <source>`]:table' \
|
|
826
|
+
'--ssh-host[SSH bastion host]:host' \
|
|
827
|
+
'--ssh-port[SSH bastion port]:port' \
|
|
828
|
+
'--ssh-user[SSH bastion user]:user' \
|
|
829
|
+
'--ssh-private-key[Path to the SSH private key. WARNING\: the path is visible in `ps` output and shell history; key contents are read locally at execution time and are not stored in the dataset config.]:filepath:_files -g "*.(pem|crt|key)"' \
|
|
830
|
+
'--ssh-host-key[SSH bastion public host key]:publicKey' \
|
|
831
|
+
'--ssh-host-key-vault-id[Shared Vault ID containing the SSH public host key]:id' \
|
|
832
|
+
'--ssh-host-key-secret-id[Shared Vault secret ID containing the SSH public host key]:id' \
|
|
833
|
+
'--ssh-insecure-skip-host-key-verification[WARNING\: disable SSH host-key verification; use only for trusted local testing]' \
|
|
834
|
+
'--schema[DB schema (postgresql/sqlserver; defaults to dbo for sqlserver)]:schema' \
|
|
835
|
+
'--encrypt[SQL Server TLS encryption (default\: true)]:true|false' \
|
|
836
|
+
'--trust-server-certificate[SQL Server\: skip certificate verification (default\: false; insecure)]:true|false' \
|
|
837
|
+
'--tls-certificate[SQL Server CA/server certificate file path]:path:_files -g "*.(pem|crt|key)"' \
|
|
838
|
+
'--host-name-in-certificate[SQL Server certificate hostname override]:hostname' \
|
|
839
|
+
'--tls-min-version[SQL Server minimum TLS version (default\: 1.2)]:1.2|1.3' \
|
|
840
|
+
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
837
841
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
838
|
-
'*:
|
|
842
|
+
'*:datasetPathOrId:'
|
|
839
843
|
}
|
|
840
844
|
|
|
841
|
-
|
|
845
|
+
_postman_dataset_source_remove() {
|
|
842
846
|
_arguments \
|
|
843
|
-
'(-
|
|
844
|
-
'--
|
|
845
|
-
'--json[JSON output]' \
|
|
847
|
+
'(-d --dataset)'{-d,--dataset}'[Dataset the source belongs to — a local .dataset.yaml path or a cloud dataset id]:datasetPathOrId' \
|
|
848
|
+
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
846
849
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
847
|
-
'*:
|
|
850
|
+
'*:sourceNameOrId:'
|
|
848
851
|
}
|
|
849
852
|
|
|
850
|
-
|
|
853
|
+
_postman_dataset_source_update() {
|
|
851
854
|
_arguments \
|
|
852
|
-
'(-
|
|
853
|
-
'(-
|
|
854
|
-
'(
|
|
855
|
-
'
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
855
|
+
'(-d --dataset)'{-d,--dataset}'[Dataset the source belongs to — a local .dataset.yaml path or a cloud dataset id]:datasetPathOrId' \
|
|
856
|
+
'(-n --name)'{-n,--name}'[Rename the source]:name' \
|
|
857
|
+
'--format[Change the format (local dataset only; cloud source formats are immutable). A spreadsheet format is not offered here\: this command changes the format field alone and cannot pin a worksheet, so the source would not compile. Add the workbook with `dataset source add` instead, which makes one worksheet-pinned source per sheet]:csv|json|jdbc|mysql|postgres|sqlserver' \
|
|
858
|
+
'--file[Replace the source file (local dataset only; cloud file replacement is unsupported)]:path:_files -g "*.json"' \
|
|
859
|
+
'--ref-only[With --file, reference in place instead of copying (local dataset only)]' \
|
|
860
|
+
'--force[With --file, overwrite the copied destination (local dataset only)]' \
|
|
861
|
+
'--driver-jar[Replace the JDBC driver JAR(s)]:path...:_files -g "*.json"' \
|
|
862
|
+
'--driver-class[Replace the JDBC driver class]:fqcn' \
|
|
863
|
+
'--driver-name[Rename the JDBC driver type label]:label' \
|
|
864
|
+
'--url-template[Replace the JDBC URL template]:template' \
|
|
865
|
+
'--var[Set a JDBC template variable. Merges onto the existing values. Use vault\:<vaultId>/<secretId> for a secret. WARNING\: a literal value is visible in `ps` output and shell history, and is stored in clear text in the dataset YAML (local) or sent in the request body (cloud). Prefer a Shared Vault reference.]:name=value...' \
|
|
866
|
+
'--prop[Set a JDBC connection property. Merges, same vault\: syntax]:name=value...' \
|
|
867
|
+
'--unset-var[Remove a JDBC template variable. Merging alone can never remove a key]:name...' \
|
|
868
|
+
'--unset-prop[Remove a JDBC connection property]:name...' \
|
|
869
|
+
'--vars-file[JSON object of --var values; "-" reads stdin]:path:_files -g "*.json"' \
|
|
870
|
+
'--ssh-target-host-variable[Template variable holding the tunnelled host (JDBC)]:name' \
|
|
871
|
+
'--ssh-target-port-variable[Template variable holding the tunnelled port (JDBC)]:name' \
|
|
872
|
+
'--java-path[Java runtime for JDBC operations. Machine-local only]:path:_files -g "*.json"' \
|
|
873
|
+
'--host[Update DB host (mysql/postgresql/sqlserver)]:host' \
|
|
874
|
+
'--port[Update DB port]:port' \
|
|
875
|
+
'--user[Update DB user. WARNING\: a literal value is visible in `ps` output and shell history, and is stored in clear text in the dataset YAML (local) or sent in the request body (cloud). Prefer a Shared Vault reference.]:user' \
|
|
876
|
+
'--password[Update DB password. WARNING\: a literal value is visible in `ps` output and shell history, and is stored in clear text in the dataset YAML (local) or sent in the request body (cloud). Prefer a Shared Vault reference.]:password' \
|
|
877
|
+
'--database[Update DB database name]:db' \
|
|
878
|
+
'--table[Update the DB table to load. A source without a table connects to the whole database; query it with `dataset query -s <source>` or `dataset view create -s <source>`]:table' \
|
|
879
|
+
'--ssh-host[Update SSH bastion host]:host' \
|
|
880
|
+
'--ssh-port[Update SSH bastion port]:port' \
|
|
881
|
+
'--ssh-user[Update SSH bastion user]:user' \
|
|
882
|
+
'--ssh-private-key[Update the SSH private-key file path. WARNING\: the path is visible in `ps` output and shell history; key contents are read locally and are not stored in the dataset config.]:filepath:_files -g "*.(pem|crt|key)"' \
|
|
883
|
+
'--ssh-host-key[Update the SSH bastion public host key]:publicKey' \
|
|
884
|
+
'--ssh-host-key-vault-id[Update the Shared Vault ID containing the SSH public host key]:id' \
|
|
885
|
+
'--ssh-host-key-secret-id[Update the Shared Vault secret ID containing the SSH public host key]:id' \
|
|
886
|
+
'--ssh-insecure-skip-host-key-verification[WARNING\: disable SSH host-key verification; use only for trusted local testing]' \
|
|
887
|
+
'--schema[Update DB schema (postgresql/sqlserver)]:schema' \
|
|
888
|
+
'--encrypt[Update SQL Server TLS encryption]:true|false' \
|
|
889
|
+
'--trust-server-certificate[Update SQL Server certificate verification (true is insecure)]:true|false' \
|
|
890
|
+
'--tls-certificate[Update SQL Server CA/server certificate file path]:path:_files -g "*.(pem|crt|key)"' \
|
|
891
|
+
'--host-name-in-certificate[Update SQL Server certificate hostname override]:hostname' \
|
|
892
|
+
'--tls-min-version[Update SQL Server minimum TLS version]:1.2|1.3' \
|
|
893
|
+
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
894
|
+
'--json[Emit the result as JSON instead of prose]' \
|
|
862
895
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
863
|
-
'
|
|
864
|
-
'*::arg:->args'
|
|
865
|
-
case $state in
|
|
866
|
-
args)
|
|
867
|
-
case $words[1] in
|
|
868
|
-
get) _postman_globals_get ;;
|
|
869
|
-
var) _postman_globals_var ;;
|
|
870
|
-
lint) _postman_globals_lint ;;
|
|
871
|
-
esac
|
|
872
|
-
;;
|
|
873
|
-
esac
|
|
874
|
-
}
|
|
875
|
-
|
|
876
|
-
_postman_globals_commands() {
|
|
877
|
-
local -a sub
|
|
878
|
-
sub=(
|
|
879
|
-
'get:Read local workspace globals from the default file, or cloud globals with --workspace.'
|
|
880
|
-
'var:Read and update variables in the workspace globals singleton.'
|
|
881
|
-
'lint:Run linting on a local Postman globals file at the given file or directory path.'
|
|
882
|
-
)
|
|
883
|
-
_describe -t commands 'globals command' sub
|
|
896
|
+
'*:sourceNameOrId:'
|
|
884
897
|
}
|
|
885
898
|
|
|
886
|
-
|
|
899
|
+
_postman_dataset_source_test() {
|
|
887
900
|
_arguments \
|
|
888
|
-
'(-
|
|
889
|
-
'--
|
|
890
|
-
'--
|
|
891
|
-
'--
|
|
901
|
+
'(-d --dataset)'{-d,--dataset}'[Dataset the source belongs to — a local .dataset.yaml path or a cloud dataset id]:datasetPathOrId' \
|
|
902
|
+
'(-n --name)'{-n,--name}'[Source to test]:name' \
|
|
903
|
+
'--java-path[Java runtime to use for a JDBC source. Machine-local only; also read from POSTMAN_JDBC_JAVA_PATH]:path:_files -g "*.json"' \
|
|
904
|
+
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
905
|
+
'--json[Emit the result as JSON instead of prose]' \
|
|
892
906
|
'(-h --help)'{-h,--help}'[display help for command]'
|
|
893
907
|
}
|
|
894
908
|
|
|
895
|
-
|
|
909
|
+
_postman_dataset_view() {
|
|
896
910
|
local context state state_descr line
|
|
897
911
|
typeset -A opt_args
|
|
898
912
|
_arguments -C \
|
|
899
913
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
900
|
-
'1: :
|
|
914
|
+
'1: :_postman_dataset_view_commands' \
|
|
901
915
|
'*::arg:->args'
|
|
902
916
|
case $state in
|
|
903
917
|
args)
|
|
904
918
|
case $words[1] in
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
919
|
+
list) _postman_dataset_view_list ;;
|
|
920
|
+
run) _postman_dataset_view_run ;;
|
|
921
|
+
create) _postman_dataset_view_create ;;
|
|
922
|
+
delete) _postman_dataset_view_delete ;;
|
|
923
|
+
update) _postman_dataset_view_update ;;
|
|
908
924
|
esac
|
|
909
925
|
;;
|
|
910
926
|
esac
|
|
911
927
|
}
|
|
912
928
|
|
|
913
|
-
|
|
929
|
+
_postman_dataset_view_commands() {
|
|
914
930
|
local -a sub
|
|
915
931
|
sub=(
|
|
916
|
-
'
|
|
917
|
-
'
|
|
918
|
-
'
|
|
932
|
+
'list:List the saved views defined on a dataset (local YAML path or cloud id).'
|
|
933
|
+
'run:Execute a saved view against a dataset and print the rows.'
|
|
934
|
+
'create:Add a saved view to a dataset (local YAML path or cloud id).'
|
|
935
|
+
'delete:Remove a saved view from a dataset (local YAML path or cloud id).'
|
|
936
|
+
'update:Update name and/or query on an existing view (local YAML path or cloud id).'
|
|
919
937
|
)
|
|
920
|
-
_describe -t commands '
|
|
938
|
+
_describe -t commands 'view command' sub
|
|
921
939
|
}
|
|
922
940
|
|
|
923
|
-
|
|
941
|
+
_postman_dataset_view_list() {
|
|
924
942
|
_arguments \
|
|
925
|
-
'(-
|
|
926
|
-
'--
|
|
927
|
-
'--
|
|
928
|
-
'--
|
|
929
|
-
'--verbose[Verbose output]' \
|
|
930
|
-
'--json[JSON output]' \
|
|
931
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
932
|
-
'*:value:'
|
|
943
|
+
'(-d --dataset)'{-d,--dataset}'[Dataset whose views to list — a local .dataset.yaml path or a cloud dataset id]:datasetPathOrId' \
|
|
944
|
+
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
945
|
+
'--json[Output views as JSON instead of a table]' \
|
|
946
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
933
947
|
}
|
|
934
948
|
|
|
935
|
-
|
|
949
|
+
_postman_dataset_view_run() {
|
|
936
950
|
_arguments \
|
|
937
|
-
'(-
|
|
938
|
-
'--
|
|
939
|
-
'--
|
|
940
|
-
'--json[JSON
|
|
951
|
+
'(-d --dataset)'{-d,--dataset}'[Dataset the view belongs to — a local .dataset.yaml path or a cloud dataset id]:datasetPathOrId' \
|
|
952
|
+
'(-p --param)'{-p,--param}'[Bind values to $1, $2, ... in order; pass multiple values after -p or repeat -p]:value...' \
|
|
953
|
+
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
954
|
+
'--json[Output rows as JSON instead of a table]' \
|
|
955
|
+
'--debug[Include safe classified dataset diagnostics]' \
|
|
941
956
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
942
|
-
'*:
|
|
957
|
+
'*:viewNameOrId:'
|
|
943
958
|
}
|
|
944
959
|
|
|
945
|
-
|
|
960
|
+
_postman_dataset_view_create() {
|
|
946
961
|
_arguments \
|
|
947
|
-
'(-
|
|
948
|
-
'--
|
|
949
|
-
'--
|
|
950
|
-
'--
|
|
962
|
+
'(-d --dataset)'{-d,--dataset}'[Dataset to add the view to — a local .dataset.yaml path or a cloud dataset id]:datasetPathOrId' \
|
|
963
|
+
'(-n --name)'{-n,--name}'[View name]:name' \
|
|
964
|
+
'(-q --query)'{-q,--query}'[SQL query the view executes]:sql' \
|
|
965
|
+
'(-s --source)'{-s,--source}'[Bind the view to one datasource and run the query natively against it, instead of through the federated SQLite layer. Same reference `dataset query -s` takes]:nameOrIdOrSlug' \
|
|
966
|
+
'--view-id[Override the generated view id (local only; cloud assigns its own)]:uuid' \
|
|
967
|
+
'--json[Emit the result as JSON instead of prose]' \
|
|
968
|
+
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
969
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
970
|
+
}
|
|
971
|
+
|
|
972
|
+
_postman_dataset_view_delete() {
|
|
973
|
+
_arguments \
|
|
974
|
+
'(-d --dataset)'{-d,--dataset}'[Dataset the view belongs to — a local .dataset.yaml path or a cloud dataset id]:datasetPathOrId' \
|
|
975
|
+
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
951
976
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
952
|
-
'*:
|
|
977
|
+
'*:viewNameOrId:'
|
|
953
978
|
}
|
|
954
979
|
|
|
955
|
-
|
|
980
|
+
_postman_dataset_view_update() {
|
|
956
981
|
_arguments \
|
|
957
|
-
'(-
|
|
958
|
-
'(-
|
|
982
|
+
'(-d --dataset)'{-d,--dataset}'[Dataset the view belongs to — a local .dataset.yaml path or a cloud dataset id]:datasetPathOrId' \
|
|
983
|
+
'(-n --name)'{-n,--name}'[New view name]:name' \
|
|
984
|
+
'(-q --query)'{-q,--query}'[New SQL query]:sql' \
|
|
985
|
+
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
959
986
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
960
|
-
'*:
|
|
987
|
+
'*:viewNameOrId:'
|
|
961
988
|
}
|
|
962
989
|
|
|
963
|
-
|
|
990
|
+
_postman_dataset_jdbc() {
|
|
964
991
|
local context state state_descr line
|
|
965
992
|
typeset -A opt_args
|
|
966
993
|
_arguments -C \
|
|
967
994
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
968
|
-
'1: :
|
|
995
|
+
'1: :_postman_dataset_jdbc_commands' \
|
|
969
996
|
'*::arg:->args'
|
|
970
997
|
case $state in
|
|
971
998
|
args)
|
|
972
999
|
case $words[1] in
|
|
973
|
-
|
|
974
|
-
publish) _postman_api_publish ;;
|
|
1000
|
+
inspect) _postman_dataset_jdbc_inspect ;;
|
|
975
1001
|
esac
|
|
976
1002
|
;;
|
|
977
1003
|
esac
|
|
978
1004
|
}
|
|
979
1005
|
|
|
980
|
-
|
|
1006
|
+
_postman_dataset_jdbc_commands() {
|
|
981
1007
|
local -a sub
|
|
982
1008
|
sub=(
|
|
983
|
-
'
|
|
984
|
-
'publish:Publish a version of an API for the given apiId. All entities added to the API will be published by default. User can choose which entities to publish by using additional options.'
|
|
1009
|
+
'inspect:Detect Java, list driver classes, suggest a URL template and read driver properties.'
|
|
985
1010
|
)
|
|
986
|
-
_describe -t commands '
|
|
1011
|
+
_describe -t commands 'jdbc command' sub
|
|
987
1012
|
}
|
|
988
1013
|
|
|
989
|
-
|
|
990
|
-
_arguments \
|
|
991
|
-
'--integration-id[Specify the integration ID for the report.]:integration-id' \
|
|
992
|
-
'(-f --fail-severity)'{-f,--fail-severity}'[Results of this level or above will trigger a failure exit code. \[choices\: "error", "warn", "info", "hint"\] (default\: "ERROR")]:value' \
|
|
993
|
-
'(-x --suppress-exit-code)'{-x,--suppress-exit-code}'[Specify whether or not to override the default exit code for the current run]' \
|
|
994
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
995
|
-
'*:api:'
|
|
996
|
-
}
|
|
997
|
-
|
|
998
|
-
_postman_api_publish() {
|
|
1014
|
+
_postman_dataset_jdbc_inspect() {
|
|
999
1015
|
_arguments \
|
|
1000
|
-
'--
|
|
1001
|
-
'--
|
|
1002
|
-
'--
|
|
1003
|
-
'--
|
|
1004
|
-
'--do-not-poll[Specify whether or not to poll for completion status of the publish action.]' \
|
|
1005
|
-
'(-x --suppress-exit-code)'{-x,--suppress-exit-code}'[Specify whether or not to override the default exit code for the current run.]' \
|
|
1016
|
+
'--driver-class[Introspect this class instead of auto-selecting]:fqcn' \
|
|
1017
|
+
'--url-template[Use this URL template instead of the one inferred from the JAR filename]:template' \
|
|
1018
|
+
'--java-path[Java runtime to use. Machine-local only — never written to a dataset. Also read from POSTMAN_JDBC_JAVA_PATH.]:path:_files -g "*.json"' \
|
|
1019
|
+
'--json[Emit the discovery result as JSON]' \
|
|
1006
1020
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1007
|
-
'*:
|
|
1021
|
+
'*:jar...:'
|
|
1008
1022
|
}
|
|
1009
1023
|
|
|
1010
|
-
|
|
1024
|
+
_postman_environment() {
|
|
1011
1025
|
local context state state_descr line
|
|
1012
1026
|
typeset -A opt_args
|
|
1013
1027
|
_arguments -C \
|
|
1014
1028
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1015
|
-
'1: :
|
|
1029
|
+
'1: :_postman_environment_commands' \
|
|
1016
1030
|
'*::arg:->args'
|
|
1017
1031
|
case $state in
|
|
1018
1032
|
args)
|
|
1019
1033
|
case $words[1] in
|
|
1020
|
-
|
|
1021
|
-
list)
|
|
1022
|
-
|
|
1034
|
+
new) _postman_environment_new ;;
|
|
1035
|
+
list) _postman_environment_list ;;
|
|
1036
|
+
get) _postman_environment_get ;;
|
|
1037
|
+
delete) _postman_environment_delete ;;
|
|
1038
|
+
var) _postman_environment_var ;;
|
|
1039
|
+
lint) _postman_environment_lint ;;
|
|
1023
1040
|
esac
|
|
1024
1041
|
;;
|
|
1025
1042
|
esac
|
|
1026
1043
|
}
|
|
1027
1044
|
|
|
1028
|
-
|
|
1045
|
+
_postman_environment_commands() {
|
|
1029
1046
|
local -a sub
|
|
1030
1047
|
sub=(
|
|
1031
|
-
'
|
|
1032
|
-
'list:List
|
|
1033
|
-
'
|
|
1048
|
+
'new:Scaffold a local environment file, or create one in a Postman workspace with --workspace.'
|
|
1049
|
+
'list:List environments in a Postman workspace.'
|
|
1050
|
+
'get:Read an environment by ID or local environment file path.'
|
|
1051
|
+
'delete:Delete an environment by ID or local environment file path. Prompts unless --yes is passed.'
|
|
1052
|
+
'var:Read and update environment variables.'
|
|
1053
|
+
'lint:Run linting on a local Postman environment at the given file or directory path.'
|
|
1034
1054
|
)
|
|
1035
|
-
_describe -t commands '
|
|
1055
|
+
_describe -t commands 'environment command' sub
|
|
1036
1056
|
}
|
|
1037
1057
|
|
|
1038
|
-
|
|
1058
|
+
_postman_environment_new() {
|
|
1039
1059
|
_arguments \
|
|
1040
|
-
'--
|
|
1041
|
-
'--
|
|
1042
|
-
'--
|
|
1043
|
-
'--
|
|
1044
|
-
'--
|
|
1045
|
-
'
|
|
1046
|
-
'--ssl-extra-ca-certs[Additional trusted CA certificates (PEM file, can contain multiple certs)]:path:_files -g "*.(pem|crt|key)"' \
|
|
1047
|
-
'--dataset-jdbc-driver-dir[Folder on this machine holding the JDBC driver .jar files you put there. Required to run a dataset that uses a JDBC source. Drivers are loaded only from this folder and matched by file name; driver paths saved in the dataset are ignored]:path:_files -/' \
|
|
1048
|
-
'--metrics[Enable the metrics server for health checks]' \
|
|
1049
|
-
'--metrics-port[Port for the metrics server (default\: "9090")]:port' \
|
|
1050
|
-
'--report-events[Dispatch run events to the API Catalog and Application Inventory ingestion pipelines (on by default)]' \
|
|
1051
|
-
'--no-report-events[Do not dispatch run events to the API Catalog and Application Inventory ingestion pipelines]' \
|
|
1052
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
1060
|
+
'(-w --workspace)'{-w,--workspace}'[Create the environment in a cloud Postman workspace instead of scaffolding it locally. Required when the current directory is not a local Postman workspace.]:workspaceId' \
|
|
1061
|
+
'--force[Overwrite an existing local environment file.]' \
|
|
1062
|
+
'--verbose[Verbose output]' \
|
|
1063
|
+
'--json[JSON output]' \
|
|
1064
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1065
|
+
'*:name:'
|
|
1053
1066
|
}
|
|
1054
1067
|
|
|
1055
|
-
|
|
1068
|
+
_postman_environment_list() {
|
|
1056
1069
|
_arguments \
|
|
1057
|
-
'--
|
|
1058
|
-
'(-
|
|
1059
|
-
'--
|
|
1060
|
-
'
|
|
1070
|
+
'(-w --workspace)'{-w,--workspace}'[Workspace ID to list environments from.]:workspaceId' \
|
|
1071
|
+
'(-f --filter)'{-f,--filter}'[Filter environments by name.]:name' \
|
|
1072
|
+
'--verbose[Verbose output]' \
|
|
1073
|
+
'--json[JSON output]' \
|
|
1074
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1075
|
+
'*:workspacePath:'
|
|
1061
1076
|
}
|
|
1062
1077
|
|
|
1063
|
-
|
|
1078
|
+
_postman_environment_get() {
|
|
1064
1079
|
_arguments \
|
|
1065
|
-
'--
|
|
1066
|
-
'--json[
|
|
1067
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
1080
|
+
'--verbose[Verbose output]' \
|
|
1081
|
+
'--json[JSON output]' \
|
|
1082
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1083
|
+
'*:environment:_files -g "*.json"'
|
|
1068
1084
|
}
|
|
1069
1085
|
|
|
1070
|
-
|
|
1086
|
+
_postman_environment_delete() {
|
|
1087
|
+
_arguments \
|
|
1088
|
+
'(-y --yes)'{-y,--yes}'[Delete without asking for confirmation first]' \
|
|
1089
|
+
'--verbose[Verbose output]' \
|
|
1090
|
+
'--json[JSON output]' \
|
|
1091
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1092
|
+
'*:environment:_files -g "*.json"'
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
_postman_environment_var() {
|
|
1071
1096
|
local context state state_descr line
|
|
1072
1097
|
typeset -A opt_args
|
|
1073
1098
|
_arguments -C \
|
|
1074
1099
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1075
|
-
'1: :
|
|
1100
|
+
'1: :_postman_environment_var_commands' \
|
|
1076
1101
|
'*::arg:->args'
|
|
1077
1102
|
case $state in
|
|
1078
1103
|
args)
|
|
1079
1104
|
case $words[1] in
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
get) _postman_spec_get ;;
|
|
1084
|
-
file) _postman_spec_file ;;
|
|
1085
|
-
create) _postman_spec_create ;;
|
|
1086
|
-
generate) _postman_spec_generate ;;
|
|
1087
|
-
sync) _postman_spec_sync ;;
|
|
1088
|
-
delete) _postman_spec_delete ;;
|
|
1105
|
+
set) _postman_environment_var_set ;;
|
|
1106
|
+
get) _postman_environment_var_get ;;
|
|
1107
|
+
unset) _postman_environment_var_unset ;;
|
|
1089
1108
|
esac
|
|
1090
1109
|
;;
|
|
1091
1110
|
esac
|
|
1092
1111
|
}
|
|
1093
1112
|
|
|
1094
|
-
|
|
1113
|
+
_postman_environment_var_commands() {
|
|
1095
1114
|
local -a sub
|
|
1096
1115
|
sub=(
|
|
1097
|
-
'
|
|
1098
|
-
'
|
|
1099
|
-
'
|
|
1100
|
-
'get:Read a spec definition, including every file of a multi-file spec.'
|
|
1101
|
-
'file:Get, add, update, or remove files in a spec (cloud ID or local directory).'
|
|
1102
|
-
'create:Create a new spec in a workspace, or (with path) scaffold a local spec file.'
|
|
1103
|
-
'generate:Generate artifacts from a specification.'
|
|
1104
|
-
'sync:Sync a generated collection with its source specification.'
|
|
1105
|
-
'delete:Delete a spec by its cloud ID or local file path. Cannot be undone.'
|
|
1116
|
+
'set:Set one variable in an environment, or link it to a shared-vault secret.'
|
|
1117
|
+
'get:Read one variable value from an environment.'
|
|
1118
|
+
'unset:Remove one variable from an environment.'
|
|
1106
1119
|
)
|
|
1107
|
-
_describe -t commands '
|
|
1120
|
+
_describe -t commands 'var command' sub
|
|
1108
1121
|
}
|
|
1109
1122
|
|
|
1110
|
-
|
|
1123
|
+
_postman_environment_var_set() {
|
|
1111
1124
|
_arguments \
|
|
1112
|
-
'(-
|
|
1113
|
-
'
|
|
1114
|
-
'--
|
|
1115
|
-
'--
|
|
1116
|
-
'--
|
|
1125
|
+
'(-e --environment)'{-e,--environment}'[Cloud Environment ID or local environment file path.]:environment:_files -g "*.json"' \
|
|
1126
|
+
'--secret-id[Link this variable to a shared-vault secret instead of an inline value (from `secret create`'\''s output).]:id' \
|
|
1127
|
+
'--vault-id[Vault id for --secret-id (auto-resolved from --workspace when omitted).]:id' \
|
|
1128
|
+
'(-w --workspace)'{-w,--workspace}'[Workspace to resolve --vault-id from when --secret-id is given without --vault-id (falls back to .postman/resources.yaml).]:workspaceId' \
|
|
1129
|
+
'--verbose[Verbose output]' \
|
|
1130
|
+
'--json[JSON output]' \
|
|
1117
1131
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1118
|
-
'*:
|
|
1132
|
+
'*:value:'
|
|
1119
1133
|
}
|
|
1120
1134
|
|
|
1121
|
-
|
|
1135
|
+
_postman_environment_var_get() {
|
|
1122
1136
|
_arguments \
|
|
1123
|
-
'(-
|
|
1124
|
-
'--
|
|
1125
|
-
'--
|
|
1137
|
+
'(-e --environment)'{-e,--environment}'[Cloud Environment ID or local environment file path.]:environment:_files -g "*.json"' \
|
|
1138
|
+
'--verbose[Verbose output]' \
|
|
1139
|
+
'--json[JSON output]' \
|
|
1126
1140
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1127
|
-
'*:
|
|
1141
|
+
'*:key:_files -g "*.json"'
|
|
1128
1142
|
}
|
|
1129
1143
|
|
|
1130
|
-
|
|
1144
|
+
_postman_environment_var_unset() {
|
|
1131
1145
|
_arguments \
|
|
1132
|
-
'(-
|
|
1133
|
-
'--
|
|
1134
|
-
'--json[
|
|
1146
|
+
'(-e --environment)'{-e,--environment}'[Cloud Environment ID or local environment file path.]:environment:_files -g "*.json"' \
|
|
1147
|
+
'--verbose[Verbose output]' \
|
|
1148
|
+
'--json[JSON output]' \
|
|
1135
1149
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1136
|
-
'*:
|
|
1150
|
+
'*:key:_files -g "*.json"'
|
|
1137
1151
|
}
|
|
1138
1152
|
|
|
1139
|
-
|
|
1153
|
+
_postman_environment_lint() {
|
|
1140
1154
|
_arguments \
|
|
1141
|
-
'--
|
|
1142
|
-
'--
|
|
1155
|
+
'(-f --fail-severity)'{-f,--fail-severity}'[Exit with failure if diagnostics at this level or above are present. \[choices\: "error", "warning"\] (default\: "error")]:value' \
|
|
1156
|
+
'(-o --output)'{-o,--output}'[Output format\: cli (human-readable), table, json, or csv. (default\: "cli")]:value' \
|
|
1143
1157
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1144
|
-
'*:
|
|
1158
|
+
'*:path:_files -g "*.json"'
|
|
1145
1159
|
}
|
|
1146
1160
|
|
|
1147
|
-
|
|
1161
|
+
_postman_flows() {
|
|
1148
1162
|
local context state state_descr line
|
|
1149
1163
|
typeset -A opt_args
|
|
1150
1164
|
_arguments -C \
|
|
1151
1165
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1152
|
-
'1: :
|
|
1166
|
+
'1: :_postman_flows_commands' \
|
|
1153
1167
|
'*::arg:->args'
|
|
1154
1168
|
case $state in
|
|
1155
1169
|
args)
|
|
1156
1170
|
case $words[1] in
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1171
|
+
list) _postman_flows_list ;;
|
|
1172
|
+
trigger) _postman_flows_trigger ;;
|
|
1173
|
+
deploy) _postman_flows_deploy ;;
|
|
1174
|
+
run) _postman_flows_run ;;
|
|
1175
|
+
update) _postman_flows_update ;;
|
|
1176
|
+
delete) _postman_flows_delete ;;
|
|
1177
|
+
list-runs) _postman_flows_list_runs ;;
|
|
1178
|
+
get-run) _postman_flows_get_run ;;
|
|
1161
1179
|
esac
|
|
1162
1180
|
;;
|
|
1163
1181
|
esac
|
|
1164
1182
|
}
|
|
1165
1183
|
|
|
1166
|
-
|
|
1184
|
+
_postman_flows_commands() {
|
|
1167
1185
|
local -a sub
|
|
1168
1186
|
sub=(
|
|
1169
|
-
'
|
|
1170
|
-
'
|
|
1171
|
-
'
|
|
1172
|
-
'
|
|
1187
|
+
'list:List all flows'
|
|
1188
|
+
'trigger:Trigger a deployed flow'
|
|
1189
|
+
'deploy:Deploy a flow (required to trigger it)'
|
|
1190
|
+
'run:Run a single flow from a file (e.g. ./path/to/flow.json)'
|
|
1191
|
+
'update:Update settings for a deployed flow'
|
|
1192
|
+
'delete:Delete a flow. A flow id deletes the cloud flow; a local flow file path deletes that file only. Prompts for confirmation unless --yes is passed.'
|
|
1193
|
+
'list-runs:List run history for a deployed flow'
|
|
1194
|
+
'get-run:Analyze a specific flow run'
|
|
1173
1195
|
)
|
|
1174
|
-
_describe -t commands '
|
|
1196
|
+
_describe -t commands 'flows command' sub
|
|
1175
1197
|
}
|
|
1176
1198
|
|
|
1177
|
-
|
|
1199
|
+
_postman_flows_list() {
|
|
1178
1200
|
_arguments \
|
|
1179
|
-
'--
|
|
1180
|
-
'--
|
|
1181
|
-
'(-
|
|
1182
|
-
'
|
|
1201
|
+
'(-w --workspace)'{-w,--workspace}'[Specify the workspace ID to list flows from]:workspaceId' \
|
|
1202
|
+
'(-p --paginate)'{-p,--paginate}'[Paginates the list of flows]' \
|
|
1203
|
+
'(-f --filter)'{-f,--filter}'[Filter flows by name. Pattern may be a regex, or a name prefix.]:pattern' \
|
|
1204
|
+
'(-s --sort)'{-s,--sort}'[Sort flows by criteria\: "name" or "updated" (default\: updated) (default\: "updated")]:criteria' \
|
|
1205
|
+
'--verbose[Verbose output]' \
|
|
1206
|
+
'--debug[Debug output]' \
|
|
1207
|
+
'--json[JSON output]' \
|
|
1208
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
1183
1209
|
}
|
|
1184
1210
|
|
|
1185
|
-
|
|
1211
|
+
_postman_flows_trigger() {
|
|
1186
1212
|
_arguments \
|
|
1187
|
-
'(-
|
|
1188
|
-
'--
|
|
1213
|
+
'(-i --input)'{-i,--input}'[Set key=value pairs in the trigger payload (e.g. --input foo=bar --input baz=qux) (default\: \[\])]:key=value:_files -g "*.(pem|crt|key)"' \
|
|
1214
|
+
'(-f --input-file)'{-f,--input-file}'[Set payload values from JSON files (e.g. --input-file ./inputs.json --input-file ./config.json) (default\: \[\])]:path.json:_files -g "*.json"' \
|
|
1215
|
+
'(-q --query)'{-q,--query}'[Set query parameters as key=value pairs (e.g. --query foo=bar --query baz=qux) (default\: \[\])]:key=value:_files -g "*.(pem|crt|key)"' \
|
|
1216
|
+
'--headers[Set custom headers as key=value pairs (e.g. --headers X-API-Key=12345 --headers User-Agent=MyApp) (default\: \[\])]:key=value:_files -g "*.(pem|crt|key)"' \
|
|
1217
|
+
'(-n --dry-run)'{-n,--dry-run}'[Show the flow requestURL and payload that would be sent without making the actual request (default\: false)]' \
|
|
1218
|
+
'--show-secrets[Show actual authentication tokens in dry-run output (otherwise secrets are masked) (default\: false)]' \
|
|
1219
|
+
'(-r --result)'{-r,--result}'[Show only the response body (default\: false)]' \
|
|
1220
|
+
'(-s --scenario)'{-s,--scenario}'[Use a named scenario from the flow definition to construct the input payload, headers, and query parameters (overridden by --headers/--query)]:name' \
|
|
1221
|
+
'--verbose[Verbose output]' \
|
|
1222
|
+
'--debug[Debug output]' \
|
|
1223
|
+
'--json[JSON output]' \
|
|
1189
1224
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1190
|
-
'*:
|
|
1225
|
+
'*:flowId:'
|
|
1191
1226
|
}
|
|
1192
1227
|
|
|
1193
|
-
|
|
1228
|
+
_postman_flows_deploy() {
|
|
1194
1229
|
_arguments \
|
|
1195
|
-
'(-
|
|
1196
|
-
'--
|
|
1230
|
+
'(-p --path)'{-p,--path}'[Specify the URL path for the trigger]:path:_files -g "*.json"' \
|
|
1231
|
+
'(-t --timeout)'{-t,--timeout}'[Specify the HTTP session timeout (5000ms to 60000ms) (default\: "10000ms")]:timeout' \
|
|
1232
|
+
'(-a --auth)'{-a,--auth}'[Enable authentication for the trigger (default\: false)]' \
|
|
1233
|
+
'--verbose[Verbose output]' \
|
|
1234
|
+
'--debug[Debug output]' \
|
|
1235
|
+
'--json[JSON output]' \
|
|
1197
1236
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1198
|
-
'*:
|
|
1237
|
+
'*:flowId:'
|
|
1199
1238
|
}
|
|
1200
1239
|
|
|
1201
|
-
|
|
1240
|
+
_postman_flows_run() {
|
|
1202
1241
|
_arguments \
|
|
1203
|
-
'(-
|
|
1204
|
-
'--
|
|
1205
|
-
'(-
|
|
1206
|
-
'
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
'
|
|
1212
|
-
'
|
|
1213
|
-
'--
|
|
1214
|
-
'
|
|
1215
|
-
'
|
|
1216
|
-
'--
|
|
1217
|
-
'--
|
|
1242
|
+
'(-i --input)'{-i,--input}'[Set flow inputs as key=value pairs (e.g. --input foo=bar --input baz=qux) (default\: \[\])]:key=value:_files -g "*.(pem|crt|key)"' \
|
|
1243
|
+
'(-f --input-file)'{-f,--input-file}'[Set flow inputs from JSON files (e.g. --input-file ./inputs.json --input-file ./config.json) (default\: \[\])]:path.json:_files -g "*.json"' \
|
|
1244
|
+
'(-s --scenario)'{-s,--scenario}'[Use a pre-built scenario as flow inputs (by scenario name). Can be combined with --input and --input-file to override values.]:name' \
|
|
1245
|
+
'--iteration-data-dataset[\[BETA\] Run the flow once per row of a dataset view. Accepts a local .dataset.yaml path or a cloud dataset id (cloud requires login). Requires --iteration-data-view. Dataset columns feed the flow inputs (see --map-column).]:pathOrId:_files -g "*.(json|csv)"' \
|
|
1246
|
+
'--iteration-data-view[\[BETA\] Name or id of the view (within --iteration-data-dataset) whose rows drive the run.]:nameOrId' \
|
|
1247
|
+
'(-m --map-column)'{-m,--map-column}'[\[BETA\] Bind a flow input to a dataset column (e.g. -m isActive=active). Repeatable. Inputs whose name matches a column bind automatically. (default\: \[\])]:input=column' \
|
|
1248
|
+
'(-e --environment)'{-e,--environment}'[Specify a path to a Postman Environment file (JSON or YAML)]:path:_files -g "*.json"' \
|
|
1249
|
+
'--working-dir[Specify the path to the working directory]:path:_files -/' \
|
|
1250
|
+
'--no-insecure-file-read[Prevent reading dataset files situated outside of the working directory (applies to --iteration-data-dataset)]' \
|
|
1251
|
+
'--verbose[Show detailed information of flow run and each request (method, URL, assertions)]' \
|
|
1252
|
+
'--no-truncate[Show full output without truncating long values]' \
|
|
1253
|
+
'--output[Save execution result to a file (supported\: json)]:format' \
|
|
1254
|
+
'--reporters[Save a test results report to a file (supported\: html)]:format' \
|
|
1255
|
+
'(-x --suppress-exit-code)'{-x,--suppress-exit-code}'[Specify whether or not to override the default exit code for the current run]' \
|
|
1256
|
+
'--workspace[Workspace ID required for flows that contain connector blocks. Find it in the Postman app URL\: https\://postman.com/workspace/<workspaceId>]:workspaceId' \
|
|
1257
|
+
'--report-events[Dispatch events to the API Catalog and Application Inventory ingestion pipelines (on by default)]' \
|
|
1258
|
+
'--no-report-events[Do not dispatch events to the API Catalog and Application Inventory ingestion pipelines]' \
|
|
1259
|
+
'--verbose[Verbose output]' \
|
|
1260
|
+
'--debug[Debug output]' \
|
|
1261
|
+
'--json[JSON output]' \
|
|
1218
1262
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1219
1263
|
'*:path:_files -g "*.json"'
|
|
1220
1264
|
}
|
|
1221
1265
|
|
|
1222
|
-
|
|
1266
|
+
_postman_flows_update() {
|
|
1267
|
+
_arguments \
|
|
1268
|
+
'(-t --trigger)'{-t,--trigger}'[Enable or disable the flow trigger]:on|off' \
|
|
1269
|
+
'(-a --auth)'{-a,--auth}'[Enable or disable authentication for the flow trigger]:on|off' \
|
|
1270
|
+
'--verbose[Verbose output]' \
|
|
1271
|
+
'--debug[Debug output]' \
|
|
1272
|
+
'--json[JSON output]' \
|
|
1273
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1274
|
+
'*:flowId:'
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1277
|
+
_postman_flows_delete() {
|
|
1278
|
+
_arguments \
|
|
1279
|
+
'(-y --yes)'{-y,--yes}'[Skip the confirmation prompt]' \
|
|
1280
|
+
'--verbose[Verbose output]' \
|
|
1281
|
+
'--debug[Debug output]' \
|
|
1282
|
+
'--json[JSON output]' \
|
|
1283
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1284
|
+
'*:flowIdOrPath:'
|
|
1285
|
+
}
|
|
1286
|
+
|
|
1287
|
+
_postman_flows_list_runs() {
|
|
1288
|
+
_arguments \
|
|
1289
|
+
'(-w --workspace)'{-w,--workspace}'[Specify the workspace ID]:workspaceId' \
|
|
1290
|
+
'(-f --flow)'{-f,--flow}'[Filter sessions by flow ID]:flowId' \
|
|
1291
|
+
'(-r --range)'{-r,--range}'[Time range to list runs (e.g. 30m, 2h, 3d) (default\: "1h")]:range' \
|
|
1292
|
+
'--verbose[Verbose output]' \
|
|
1293
|
+
'--debug[Debug output]' \
|
|
1294
|
+
'--json[JSON output]' \
|
|
1295
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
1296
|
+
}
|
|
1297
|
+
|
|
1298
|
+
_postman_flows_get_run() {
|
|
1299
|
+
_arguments \
|
|
1300
|
+
'(-r --run-id)'{-r,--run-id}'[Specify the run ID to analyze]:runId' \
|
|
1301
|
+
'(-l --logs)'{-l,--logs}'[Show detailed event log (default\: false)]' \
|
|
1302
|
+
'--filter[Filter event log by block ID prefix (can be specified multiple times) (default\: \[\])]:blockId' \
|
|
1303
|
+
'--verbose[Verbose output]' \
|
|
1304
|
+
'--debug[Debug output]' \
|
|
1305
|
+
'--json[JSON output]' \
|
|
1306
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1309
|
+
_postman_globals() {
|
|
1223
1310
|
local context state state_descr line
|
|
1224
1311
|
typeset -A opt_args
|
|
1225
1312
|
_arguments -C \
|
|
1226
1313
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1227
|
-
'1: :
|
|
1314
|
+
'1: :_postman_globals_commands' \
|
|
1228
1315
|
'*::arg:->args'
|
|
1229
1316
|
case $state in
|
|
1230
1317
|
args)
|
|
1231
1318
|
case $words[1] in
|
|
1232
|
-
|
|
1319
|
+
get) _postman_globals_get ;;
|
|
1320
|
+
var) _postman_globals_var ;;
|
|
1321
|
+
lint) _postman_globals_lint ;;
|
|
1233
1322
|
esac
|
|
1234
1323
|
;;
|
|
1235
1324
|
esac
|
|
1236
1325
|
}
|
|
1237
1326
|
|
|
1238
|
-
|
|
1327
|
+
_postman_globals_commands() {
|
|
1239
1328
|
local -a sub
|
|
1240
1329
|
sub=(
|
|
1241
|
-
'
|
|
1330
|
+
'get:Read local workspace globals from the default file, or cloud globals with --workspace.'
|
|
1331
|
+
'var:Read and update variables in the workspace globals singleton.'
|
|
1332
|
+
'lint:Run linting on a local Postman globals file at the given file or directory path.'
|
|
1242
1333
|
)
|
|
1243
|
-
_describe -t commands '
|
|
1334
|
+
_describe -t commands 'globals command' sub
|
|
1244
1335
|
}
|
|
1245
1336
|
|
|
1246
|
-
|
|
1337
|
+
_postman_globals_get() {
|
|
1247
1338
|
_arguments \
|
|
1248
|
-
'(-
|
|
1249
|
-
'--
|
|
1250
|
-
'
|
|
1251
|
-
'--
|
|
1252
|
-
'--
|
|
1253
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1254
|
-
'*:spec:'
|
|
1339
|
+
'(-w --workspace)'{-w,--workspace}'[Workspace ID to read globals from.]:workspaceId' \
|
|
1340
|
+
'--workspace-path[Local Postman workspace path. Defaults to the current directory.]:path:_files -g "*.json"' \
|
|
1341
|
+
'--verbose[Verbose output]' \
|
|
1342
|
+
'--json[JSON output]' \
|
|
1343
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
1255
1344
|
}
|
|
1256
1345
|
|
|
1257
|
-
|
|
1346
|
+
_postman_globals_var() {
|
|
1258
1347
|
local context state state_descr line
|
|
1259
1348
|
typeset -A opt_args
|
|
1260
1349
|
_arguments -C \
|
|
1261
1350
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1262
|
-
'1: :
|
|
1351
|
+
'1: :_postman_globals_var_commands' \
|
|
1263
1352
|
'*::arg:->args'
|
|
1264
1353
|
case $state in
|
|
1265
1354
|
args)
|
|
1266
1355
|
case $words[1] in
|
|
1267
|
-
|
|
1356
|
+
set) _postman_globals_var_set ;;
|
|
1357
|
+
get) _postman_globals_var_get ;;
|
|
1358
|
+
unset) _postman_globals_var_unset ;;
|
|
1268
1359
|
esac
|
|
1269
1360
|
;;
|
|
1270
1361
|
esac
|
|
1271
1362
|
}
|
|
1272
1363
|
|
|
1273
|
-
|
|
1364
|
+
_postman_globals_var_commands() {
|
|
1274
1365
|
local -a sub
|
|
1275
1366
|
sub=(
|
|
1276
|
-
'
|
|
1367
|
+
'set:Set one variable in local workspace globals, or link it to a shared-vault secret.'
|
|
1368
|
+
'get:Read one variable from local workspace globals, or cloud globals with --workspace.'
|
|
1369
|
+
'unset:Remove one variable from local workspace globals, or cloud globals with --workspace.'
|
|
1277
1370
|
)
|
|
1278
|
-
_describe -t commands '
|
|
1371
|
+
_describe -t commands 'var command' sub
|
|
1279
1372
|
}
|
|
1280
1373
|
|
|
1281
|
-
|
|
1374
|
+
_postman_globals_var_set() {
|
|
1282
1375
|
_arguments \
|
|
1283
|
-
'--
|
|
1284
|
-
'--
|
|
1285
|
-
'--
|
|
1376
|
+
'(-w --workspace)'{-w,--workspace}'[Workspace ID whose cloud globals should be updated.]:workspaceId' \
|
|
1377
|
+
'--secret-id[Link this variable to a shared-vault secret instead of an inline value (from `secret create`'\''s output).]:id' \
|
|
1378
|
+
'--vault-id[Vault id for --secret-id (auto-resolved from --workspace when omitted).]:id' \
|
|
1379
|
+
'--workspace-path[Local Postman workspace path. Defaults to the current directory.]:path:_files -g "*.json"' \
|
|
1380
|
+
'--verbose[Verbose output]' \
|
|
1381
|
+
'--json[JSON output]' \
|
|
1286
1382
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1287
|
-
'*:
|
|
1383
|
+
'*:value:'
|
|
1288
1384
|
}
|
|
1289
1385
|
|
|
1290
|
-
|
|
1386
|
+
_postman_globals_var_get() {
|
|
1291
1387
|
_arguments \
|
|
1292
|
-
'(-
|
|
1293
|
-
'--
|
|
1388
|
+
'(-w --workspace)'{-w,--workspace}'[Workspace ID whose cloud globals should be read.]:workspaceId' \
|
|
1389
|
+
'--workspace-path[Local Postman workspace path. Defaults to the current directory.]:path:_files -g "*.json"' \
|
|
1390
|
+
'--verbose[Verbose output]' \
|
|
1391
|
+
'--json[JSON output]' \
|
|
1294
1392
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1295
|
-
'*:
|
|
1393
|
+
'*:key:_files -g "*.json"'
|
|
1296
1394
|
}
|
|
1297
1395
|
|
|
1298
|
-
|
|
1396
|
+
_postman_globals_var_unset() {
|
|
1397
|
+
_arguments \
|
|
1398
|
+
'(-w --workspace)'{-w,--workspace}'[Workspace ID whose cloud globals should be updated.]:workspaceId' \
|
|
1399
|
+
'--workspace-path[Local Postman workspace path. Defaults to the current directory.]:path:_files -g "*.json"' \
|
|
1400
|
+
'--verbose[Verbose output]' \
|
|
1401
|
+
'--json[JSON output]' \
|
|
1402
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1403
|
+
'*:key:_files -g "*.json"'
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
_postman_globals_lint() {
|
|
1407
|
+
_arguments \
|
|
1408
|
+
'(-f --fail-severity)'{-f,--fail-severity}'[Exit with failure if diagnostics at this level or above are present. \[choices\: "error", "warning"\] (default\: "error")]:value' \
|
|
1409
|
+
'(-o --output)'{-o,--output}'[Output format\: cli (human-readable), table, json, or csv. (default\: "cli")]:value' \
|
|
1410
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1411
|
+
'*:path:_files -g "*.json"'
|
|
1412
|
+
}
|
|
1413
|
+
|
|
1414
|
+
_postman_mock() {
|
|
1299
1415
|
local context state state_descr line
|
|
1300
1416
|
typeset -A opt_args
|
|
1301
1417
|
_arguments -C \
|
|
1302
1418
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1303
|
-
'1: :
|
|
1419
|
+
'1: :_postman_mock_commands' \
|
|
1304
1420
|
'*::arg:->args'
|
|
1305
1421
|
case $state in
|
|
1306
1422
|
args)
|
|
1307
1423
|
case $words[1] in
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
metrics) _postman_monitor_metrics ;;
|
|
1317
|
-
pause) _postman_monitor_pause ;;
|
|
1318
|
-
resume) _postman_monitor_resume ;;
|
|
1424
|
+
generate) _postman_mock_generate ;;
|
|
1425
|
+
run) _postman_mock_run ;;
|
|
1426
|
+
push) _postman_mock_push ;;
|
|
1427
|
+
deploy) _postman_mock_deploy ;;
|
|
1428
|
+
get) _postman_mock_get ;;
|
|
1429
|
+
list) _postman_mock_list ;;
|
|
1430
|
+
log) _postman_mock_log ;;
|
|
1431
|
+
delete) _postman_mock_delete ;;
|
|
1319
1432
|
esac
|
|
1320
1433
|
;;
|
|
1321
1434
|
esac
|
|
1322
1435
|
}
|
|
1323
1436
|
|
|
1324
|
-
|
|
1437
|
+
_postman_mock_commands() {
|
|
1325
1438
|
local -a sub
|
|
1326
1439
|
sub=(
|
|
1327
|
-
'
|
|
1328
|
-
'
|
|
1329
|
-
'
|
|
1330
|
-
'
|
|
1331
|
-
'
|
|
1332
|
-
'
|
|
1333
|
-
'
|
|
1334
|
-
'
|
|
1335
|
-
'metrics:Show per-request latency and outcome history for a monitor.'
|
|
1336
|
-
'pause:Pause a monitor, so it stops firing on schedule.'
|
|
1337
|
-
'resume:Resume a paused monitor, so it fires on schedule again.'
|
|
1440
|
+
'generate:Generate a mock from a Postman collection or an OpenAPI file, or from a built-in sample shopping-cart mock (POST /cart/items, GET /cart, POST /checkout). Writes a local mock by default, or a cloud mock with --workspace.'
|
|
1441
|
+
'run:Start a mock using its path if it lives in your repository, or its id if it lives in Postman cloud (fetched and run locally).'
|
|
1442
|
+
'push:Upload a mock from your repository to Postman cloud (creates it the first time, updates it after).'
|
|
1443
|
+
'deploy:Turn a mock in Postman cloud into a live mock server others can call over the internet.'
|
|
1444
|
+
'get:Show a mock'\''s details using its path if it lives in your repository, or its id if it lives in Postman cloud.'
|
|
1445
|
+
'list:List the mocks in your repository or Postman cloud workspace'
|
|
1446
|
+
'log:Show the requests a live mock server has received and the responses it sent, using its id.'
|
|
1447
|
+
'delete:Delete a mock using its path if it lives in your repository, or its id if it lives in Postman cloud. Cannot be undone.'
|
|
1338
1448
|
)
|
|
1339
|
-
_describe -t commands '
|
|
1449
|
+
_describe -t commands 'mock command' sub
|
|
1340
1450
|
}
|
|
1341
1451
|
|
|
1342
|
-
|
|
1452
|
+
_postman_mock_generate() {
|
|
1343
1453
|
_arguments \
|
|
1344
|
-
'--
|
|
1345
|
-
'(-
|
|
1346
|
-
'
|
|
1347
|
-
'--
|
|
1348
|
-
'--
|
|
1454
|
+
'(-o --output)'{-o,--output}'[Folder to save the mock in. Relative or absolute, e.g. ./postman/mocks/orders. Defaults to postman/mocks/<name>.]:dir:_files -g "*.json"' \
|
|
1455
|
+
'(-n --name)'{-n,--name}'[Name for the mock. Taken from the source when you provide one; required for the sample.]:name' \
|
|
1456
|
+
'--port[Port the mock runs on (e.g. 4010) (default\: 4500)]:port' \
|
|
1457
|
+
'--stateful[Generate pm.state-backed CRUD handlers (create/read/list/update/delete) instead of static example responses. Endpoints that are not CRUD-shaped stay static. Applies to collection or spec sources.]' \
|
|
1458
|
+
'--force[Overwrite the mock'\''s files if the target folder already has one]' \
|
|
1459
|
+
'(-u --update)'{-u,--update}'[Update an existing mock from the source instead of creating a new one. Path to the mock, relative or absolute, e.g. ./postman/mocks/orders. Cannot be used with --output.]:mockPath:_files -g "*.json"' \
|
|
1460
|
+
'(-w --workspace)'{-w,--workspace}'[Save the mock to this Postman cloud workspace (by id) instead of your repository. Cannot be used with --output, --force, or --update.]:id' \
|
|
1461
|
+
'--api-key[Postman API key to use with --workspace (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
1462
|
+
'(-x --suppress-exit-code)'{-x,--suppress-exit-code}'[Always exit with code 0, even on failure]' \
|
|
1349
1463
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1350
|
-
'*:
|
|
1464
|
+
'*:sourcePath:'
|
|
1351
1465
|
}
|
|
1352
1466
|
|
|
1353
|
-
|
|
1467
|
+
_postman_mock_run() {
|
|
1354
1468
|
_arguments \
|
|
1355
|
-
'(-
|
|
1356
|
-
'--
|
|
1357
|
-
'(-
|
|
1358
|
-
'
|
|
1359
|
-
'--
|
|
1360
|
-
'--
|
|
1361
|
-
'--
|
|
1362
|
-
'
|
|
1363
|
-
'--
|
|
1364
|
-
'
|
|
1365
|
-
'--retry[Times to retry a failed run]:n' \
|
|
1366
|
-
'--timeout[Request timeout in milliseconds]:ms' \
|
|
1367
|
-
'--delay[Delay between requests in milliseconds]:ms' \
|
|
1368
|
-
'--strict-ssl[Fail the run when the target'\''s TLS certificate cannot be verified]' \
|
|
1369
|
-
'--insecure[Skip TLS certificate verification for the monitored target]' \
|
|
1370
|
-
'--follow-redirects[Follow HTTP redirects during the run]' \
|
|
1371
|
-
'--block-redirects[Do not follow HTTP redirects during the run]' \
|
|
1372
|
-
'--dataset-id[Dataset to use as iteration data (used together with --dataset-view-id)]:id' \
|
|
1373
|
-
'--dataset-view-id[Dataset view to iterate (used together with --dataset-id)]:id' \
|
|
1374
|
-
'--iteration-count[Number of iterations to run]:n' \
|
|
1375
|
-
'--iteration-strategy[How iteration data is consumed, for example round_robin, repeat_last or stop_at_end (requires --iteration-count, --dataset-id and --dataset-view-id)]:strategy' \
|
|
1376
|
-
'--no-run-now[Do not trigger an immediate run after creating the monitor]' \
|
|
1377
|
-
'--api-key[Postman API key (defaults to POSTMAN_API_KEY, then the `postman login` session, then a guest session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
1378
|
-
'--json[Output as JSON instead of a table]' \
|
|
1379
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
1469
|
+
'(-e --environment)'{-e,--environment}'[Path to a file of environment variables for the mock. Relative or absolute, e.g. ./postman/environments/dev.environment.yaml]:path:_files -g "*.json"' \
|
|
1470
|
+
'(-g --globals)'{-g,--globals}'[Path to a file of global variables for the mock. Relative or absolute, e.g. ./globals.json]:path:_files -g "*.json"' \
|
|
1471
|
+
'(-p --port)'{-p,--port}'[Port to run on (e.g. 4010), or "auto" for a free one. Defaults to the mock'\''s configured port.]:port' \
|
|
1472
|
+
'--api-key[Postman API key, used with a Postman cloud id (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
1473
|
+
'(-w --workspace)'{-w,--workspace}'[Workspace that owns the run, for recording its start history. Auto-resolved for a Postman cloud id; required to record history for a path.]:id' \
|
|
1474
|
+
'--no-history[Do not record this run in the mock'\''s start history.]' \
|
|
1475
|
+
'--output[Live output format\: auto (default, human-readable logs) or ndjson (one JSON event per line on stdout, ending with a "summary" event — for CI or other non-interactive use) (default\: "auto")]:format' \
|
|
1476
|
+
'--dataset[Pass --dataset multiple times to load several .dataset.yaml files (or directories containing them). Each is made available to the mock'\''s handlers as pm.datasets(<id>). (default\: \[\])]:pathOrDir:_files -g "*.json"' \
|
|
1477
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1478
|
+
'*:mockIdOrPath:_files -g "*.json"'
|
|
1380
1479
|
}
|
|
1381
1480
|
|
|
1382
|
-
|
|
1481
|
+
_postman_mock_push() {
|
|
1482
|
+
_arguments \
|
|
1483
|
+
'(-w --workspace)'{-w,--workspace}'[Postman cloud workspace to upload to, by id (defaults to the workspace already linked to this project)]:id' \
|
|
1484
|
+
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
1485
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1486
|
+
'*:mockPath:_files -g "*.json"'
|
|
1487
|
+
}
|
|
1488
|
+
|
|
1489
|
+
_postman_mock_deploy() {
|
|
1490
|
+
_arguments \
|
|
1491
|
+
'(-w --workspace)'{-w,--workspace}'[Postman cloud workspace that will own the server, by id (defaults to the workspace already linked to this project)]:id' \
|
|
1492
|
+
'(-n --name)'{-n,--name}'[Name for the mock server (you are asked for one if you skip this)]:name' \
|
|
1493
|
+
'(-s --slug)'{-s,--slug}'[Short label used in the server'\''s web address, e.g. "my-mock" (you are asked for one if you skip this)]:slug' \
|
|
1494
|
+
'--public[Let anyone with the link reach the server. Private by default (callers must send a Postman API key).]' \
|
|
1495
|
+
'--auto-deploy[Update the live server automatically whenever the mock changes (off by default)]' \
|
|
1496
|
+
'(-y --yes)'{-y,--yes}'[Use the defaults and skip all questions (private, no auto-deploy)]' \
|
|
1497
|
+
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
1498
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1499
|
+
'*:mockId:_files -g "*.json"'
|
|
1500
|
+
}
|
|
1501
|
+
|
|
1502
|
+
_postman_mock_get() {
|
|
1503
|
+
_arguments \
|
|
1504
|
+
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
1505
|
+
'--json[Print the details as machine-readable data instead of a table]' \
|
|
1506
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1507
|
+
'*:mockIdOrPath:_files -g "*.json"'
|
|
1508
|
+
}
|
|
1509
|
+
|
|
1510
|
+
_postman_mock_list() {
|
|
1511
|
+
_arguments \
|
|
1512
|
+
'(-w --workspace)'{-w,--workspace}'[Postman cloud workspace whose mocks to list, by id (defaults to the workspace already linked to this project)]:id' \
|
|
1513
|
+
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
1514
|
+
'--json[Print the list as machine-readable data instead of a table]' \
|
|
1515
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1516
|
+
'*:pathOrDir:_files -g "*.json"'
|
|
1517
|
+
}
|
|
1518
|
+
|
|
1519
|
+
_postman_mock_log() {
|
|
1520
|
+
_arguments \
|
|
1521
|
+
'--limit[Most entries to show (defaults to 50 when printing machine-readable output)]:n' \
|
|
1522
|
+
'--method[Show only requests of this type (e.g. GET, POST)]:method' \
|
|
1523
|
+
'--status[Show only these response codes (e.g. 404, or 5xx for any 500-series)]:code|range' \
|
|
1524
|
+
'--path[Show only requests to matching addresses (use * and ? as wildcards, e.g. /users/*)]:pattern' \
|
|
1525
|
+
'--since[Show entries from this long ago until now (e.g. 2h = the last 2 hours)]:duration' \
|
|
1526
|
+
'--until[Hide entries newer than this (e.g. 30m = skip the most recent 30 minutes)]:duration' \
|
|
1527
|
+
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
1528
|
+
'--json[Print entries as machine-readable data instead of the scrollable view]' \
|
|
1529
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1530
|
+
'*:mockServerId:_files -g "*.json"'
|
|
1531
|
+
}
|
|
1532
|
+
|
|
1533
|
+
_postman_mock_delete() {
|
|
1534
|
+
_arguments \
|
|
1535
|
+
'(-y --yes)'{-y,--yes}'[Delete without asking for confirmation first]' \
|
|
1536
|
+
'--api-key[Postman API key, used with a Postman cloud id (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
1537
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1538
|
+
'*:mockIdOrPath:_files -g "*.json"'
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1541
|
+
_postman_monitor() {
|
|
1542
|
+
local context state state_descr line
|
|
1543
|
+
typeset -A opt_args
|
|
1544
|
+
_arguments -C \
|
|
1545
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1546
|
+
'1: :_postman_monitor_commands' \
|
|
1547
|
+
'*::arg:->args'
|
|
1548
|
+
case $state in
|
|
1549
|
+
args)
|
|
1550
|
+
case $words[1] in
|
|
1551
|
+
run) _postman_monitor_run ;;
|
|
1552
|
+
create) _postman_monitor_create ;;
|
|
1553
|
+
update) _postman_monitor_update ;;
|
|
1554
|
+
delete) _postman_monitor_delete ;;
|
|
1555
|
+
jobs) _postman_monitor_jobs ;;
|
|
1556
|
+
runs) _postman_monitor_runs ;;
|
|
1557
|
+
list) _postman_monitor_list ;;
|
|
1558
|
+
get) _postman_monitor_get ;;
|
|
1559
|
+
metrics) _postman_monitor_metrics ;;
|
|
1560
|
+
pause) _postman_monitor_pause ;;
|
|
1561
|
+
resume) _postman_monitor_resume ;;
|
|
1562
|
+
esac
|
|
1563
|
+
;;
|
|
1564
|
+
esac
|
|
1565
|
+
}
|
|
1566
|
+
|
|
1567
|
+
_postman_monitor_commands() {
|
|
1568
|
+
local -a sub
|
|
1569
|
+
sub=(
|
|
1570
|
+
'run:Invoke a monitor run and display results.'
|
|
1571
|
+
'create:Create a collection-based monitor.'
|
|
1572
|
+
'update:Update a monitor'\''s schedule, runner, notifications, request selection or run options.'
|
|
1573
|
+
'delete:Permanently delete a monitor. Prompts for confirmation unless --yes is passed.'
|
|
1574
|
+
'jobs:Inspect a monitor'\''s jobs and their per-region runs.'
|
|
1575
|
+
'runs:Inspect a monitor run'\''s attempts.'
|
|
1576
|
+
'list:List the monitors visible to you.'
|
|
1577
|
+
'get:Show a monitor'\''s configuration.'
|
|
1578
|
+
'metrics:Show per-request latency and outcome history for a monitor.'
|
|
1579
|
+
'pause:Pause a monitor, so it stops firing on schedule.'
|
|
1580
|
+
'resume:Resume a paused monitor, so it fires on schedule again.'
|
|
1581
|
+
)
|
|
1582
|
+
_describe -t commands 'monitor command' sub
|
|
1583
|
+
}
|
|
1584
|
+
|
|
1585
|
+
_postman_monitor_run() {
|
|
1586
|
+
_arguments \
|
|
1587
|
+
'--api-key[Postman API key (defaults to POSTMAN_API_KEY, then the `postman login` session, then a guest session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
1588
|
+
'(-x --suppress-exit-code)'{-x,--suppress-exit-code}'[Specify whether or not to override the default exit code for the current run]' \
|
|
1589
|
+
'(-t --timeout)'{-t,--timeout}'[Maximum wait time for run completion in milliseconds (default\: 15 minutes) (default\: 900000)]:ms' \
|
|
1590
|
+
'--async[Submit the run and return immediately with its job id and Postman URL, without waiting for completion]' \
|
|
1591
|
+
'--json[Output the run'\''s verdict as JSON instead of a table, printing nothing else]' \
|
|
1592
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1593
|
+
'*:monitorId:'
|
|
1594
|
+
}
|
|
1595
|
+
|
|
1596
|
+
_postman_monitor_create() {
|
|
1597
|
+
_arguments \
|
|
1598
|
+
'(-c --collection)'{-c,--collection}'[Collection to monitor -- accepts the id shown in the Postman app, prefixed or bare]:id' \
|
|
1599
|
+
'--name[Monitor name (defaults to the linked collection'\''s own name)]:name' \
|
|
1600
|
+
'(-e --environment)'{-e,--environment}'[Environment to run the monitored collection with]:id' \
|
|
1601
|
+
'(-w --workspace)'{-w,--workspace}'[Workspace to create the monitor in (defaults to the workspace named in the local .postman/resources.yaml manifest; required if neither is available)]:id' \
|
|
1602
|
+
'--schedule[Cron expression for the monitor'\''s schedule]:cron' \
|
|
1603
|
+
'--timezone[Time zone for --schedule, for example America/New_York (defaults to the host machine'\''s own zone)]:tz' \
|
|
1604
|
+
'--runner[A Postman region name (see `postman runner regions`) or the id of a self-hosted runner created in Postman (list existing ones with `postman runner list`) to run from (repeatable) (default\: \[\])]:value' \
|
|
1605
|
+
'(-i --item)'{-i,--item}'[Id of a request or folder in the collection to run, in the order given (repeatable; ids only, not names or paths; defaults to every request; list ids with `postman collection get <collection-id> --json`) (default\: \[\])]:id' \
|
|
1606
|
+
'--notify-email[Email to notify on a run failure or error (repeatable) (default\: \[\])]:email' \
|
|
1607
|
+
'--notification-limit[Consecutive failure notifications to send before muting them]:n' \
|
|
1608
|
+
'--retry[Times to retry a failed run]:n' \
|
|
1609
|
+
'--timeout[Request timeout in milliseconds]:ms' \
|
|
1610
|
+
'--delay[Delay between requests in milliseconds]:ms' \
|
|
1611
|
+
'--strict-ssl[Fail the run when the target'\''s TLS certificate cannot be verified]' \
|
|
1612
|
+
'--insecure[Skip TLS certificate verification for the monitored target]' \
|
|
1613
|
+
'--follow-redirects[Follow HTTP redirects during the run]' \
|
|
1614
|
+
'--block-redirects[Do not follow HTTP redirects during the run]' \
|
|
1615
|
+
'--dataset-id[Dataset to use as iteration data (used together with --dataset-view-id)]:id' \
|
|
1616
|
+
'--dataset-view-id[Dataset view to iterate (used together with --dataset-id)]:id' \
|
|
1617
|
+
'--iteration-count[Number of iterations to run]:n' \
|
|
1618
|
+
'--iteration-strategy[How iteration data is consumed, for example round_robin, repeat_last or stop_at_end (requires --iteration-count, --dataset-id and --dataset-view-id)]:strategy' \
|
|
1619
|
+
'--no-run-now[Do not trigger an immediate run after creating the monitor]' \
|
|
1620
|
+
'--api-key[Postman API key (defaults to POSTMAN_API_KEY, then the `postman login` session, then a guest session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
1621
|
+
'--json[Output as JSON instead of a table]' \
|
|
1622
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
1623
|
+
}
|
|
1624
|
+
|
|
1625
|
+
_postman_monitor_update() {
|
|
1383
1626
|
_arguments \
|
|
1384
1627
|
'--name[New monitor name]:name' \
|
|
1385
1628
|
'--schedule[New cron expression for the monitor'\''s schedule]:cron' \
|
|
@@ -1555,924 +1798,769 @@ _postman_monitor_resume() {
|
|
|
1555
1798
|
'*:monitorId:'
|
|
1556
1799
|
}
|
|
1557
1800
|
|
|
1558
|
-
|
|
1801
|
+
_postman_request() {
|
|
1802
|
+
_arguments \
|
|
1803
|
+
'(-H --header)'{-H,--header}'[Add HTTP header in key\:value format. Can be used multiple times. Example\: -H "Content-Type\:application/json" -H "X-API-Key\:abc123" (default\: \[\])]:header' \
|
|
1804
|
+
'(-d --body)'{-d,--body}'[Request body content. Supports\: inline string, @filepath for file content, or "-" for stdin. Example\: --body '\''{"name"\:"John"}'\'' or --body @data.json]:body' \
|
|
1805
|
+
'(-f --form)'{-f,--form}'[Add multipart/form-data field in key=value format. Can be used multiple times. For file uploads use key=@filepath. Example\: -f "name=John" -f "avatar=@photo.jpg" (default\: \[\])]:field' \
|
|
1806
|
+
'(-e --environment)'{-e,--environment}'[Load Postman Environment by UUID or file path. Variables in URL, headers, and body will be resolved. Example\: -e dev.postman_environment.json]:path:_files -g "*.json"' \
|
|
1807
|
+
'--timeout[Request timeout in milliseconds. Request will fail if no response within this time. (default\: 300000)]:n' \
|
|
1808
|
+
'--redirects-ignore[Prevents Postman CLI from automatically following 3XX redirect responses. By default, redirects are followed.]' \
|
|
1809
|
+
'--redirects-max[Maximum number of redirects to follow. Default is unlimited. Useful for preventing redirect loops.]:n' \
|
|
1810
|
+
'--redirects-follow-method[Preserves the original HTTP method when following redirects. By default, redirects are followed with GET method.]' \
|
|
1811
|
+
'--redirects-remove-referrer[Removes the Referer header when following redirects. By default, Referer header is sent with redirects.]' \
|
|
1812
|
+
'(-k --insecure)'{-k,--insecure}'[Disable SSL certificate verification.]' \
|
|
1813
|
+
'--ssl-client-cert-list[Specify the path to client certificate configurations (JSON).]:path:_files -g "*.(pem|crt|key)"' \
|
|
1814
|
+
'--ssl-client-cert[Specify the path to a client certificate (PEM).]:path:_files -g "*.(pem|crt|key)"' \
|
|
1815
|
+
'--ssl-client-key[Specify the path to a client certificate private key.]:path:_files -g "*.(pem|crt|key)"' \
|
|
1816
|
+
'--ssl-client-passphrase[Specify the client certificate passphrase (for protected key).]:passphrase' \
|
|
1817
|
+
'--ssl-extra-ca-certs[Specify additional trusted CA certificates (PEM).]:path:_files -g "*.(pem|crt|key)"' \
|
|
1818
|
+
'--cookie-jar[Specify the path to a custom cookie jar (serialized tough-cookie JSON).]:path:_files -g "*.json"' \
|
|
1819
|
+
'--export-cookie-jar[Export the cookie jar to a file after completing the request.]:path:_files -g "*.json"' \
|
|
1820
|
+
'--retry[Number of retry attempts for failed requests (4xx, 5xx, network errors). Useful for flaky endpoints or rate-limited APIs. (default\: 0)]:n' \
|
|
1821
|
+
'--retry-delay[Delay between retry attempts in milliseconds. (default\: 1000)]:ms' \
|
|
1822
|
+
'--script-pre-request[Add JavaScript script to run before the request. Can be inline JS or @filepath to load from file. Scripts have access to pm.* APIs. Example\: --script-pre-request "pm.environment.set('\''timestamp'\'', Date.now());" or --script-pre-request @setup.js]:script' \
|
|
1823
|
+
'--script-post-request[Add JavaScript script to run after the request. Can be inline JS or @filepath to load from file. Scripts have access to pm.* APIs. Example\: --script-post-request "console.log(pm.response.json());" or --script-post-request @validate.js]:script' \
|
|
1824
|
+
'--dataset[\[BETA\] Pass --dataset multiple times to load several .dataset.yaml files (or directories containing them). Each is made available to pre/post-request scripts as pm.datasets(<id>). (default\: \[\])]:pathOrDir:_files -g "*.json"' \
|
|
1825
|
+
'(-o --output)'{-o,--output}'[Save complete response to JSON file.Useful for debugging or further processing.]:path:_files -g "*.json"' \
|
|
1826
|
+
'--verbose[Show detailed request and response information including headers, body, and metadata.]' \
|
|
1827
|
+
'--response-only[suppress all output except response body. Useful for piping to other commands.]' \
|
|
1828
|
+
'--debug[Debug mode\: show detailed execution information including retry attempts, redirects, and timing breakdowns.]' \
|
|
1829
|
+
'--report-events[Dispatch events to the API Catalog and Application Inventory ingestion pipelines (on by default)]' \
|
|
1830
|
+
'--no-report-events[Do not dispatch events to the API Catalog and Application Inventory ingestion pipelines]' \
|
|
1831
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1832
|
+
'--auth-basic-username[Supply authentication parameters dynamically.]:value' \
|
|
1833
|
+
'--auth-basic-password[Supply authentication parameters dynamically.]:value' \
|
|
1834
|
+
'--auth-bearer-token[Supply authentication parameters dynamically.]:value' \
|
|
1835
|
+
'--auth-digest-username[Supply authentication parameters dynamically.]:value' \
|
|
1836
|
+
'--auth-digest-password[Supply authentication parameters dynamically.]:value' \
|
|
1837
|
+
'--auth-oauth1-consumerKey[Supply authentication parameters dynamically.]:value' \
|
|
1838
|
+
'--auth-oauth1-consumerSecret[Supply authentication parameters dynamically.]:value' \
|
|
1839
|
+
'--auth-oauth1-token[Supply authentication parameters dynamically.]:value' \
|
|
1840
|
+
'--auth-oauth1-tokenSecret[Supply authentication parameters dynamically.]:value' \
|
|
1841
|
+
'--auth-oauth2-accessToken[Supply authentication parameters dynamically.]:value' \
|
|
1842
|
+
'--auth-oauth2-tokenType[Supply authentication parameters dynamically.]:value' \
|
|
1843
|
+
'--auth-hawk-authId[Supply authentication parameters dynamically.]:value' \
|
|
1844
|
+
'--auth-hawk-authKey[Supply authentication parameters dynamically.]:value' \
|
|
1845
|
+
'--auth-hawk-algorithm[Supply authentication parameters dynamically.]:value' \
|
|
1846
|
+
'--auth-aws-accessKey[Supply authentication parameters dynamically.]:value' \
|
|
1847
|
+
'--auth-aws-secretKey[Supply authentication parameters dynamically.]:value' \
|
|
1848
|
+
'--auth-aws-region[Supply authentication parameters dynamically.]:value' \
|
|
1849
|
+
'--auth-aws-service[Supply authentication parameters dynamically.]:value' \
|
|
1850
|
+
'--auth-aws-sessionToken[Supply authentication parameters dynamically.]:value' \
|
|
1851
|
+
'--auth-ntlm-username[Supply authentication parameters dynamically.]:value' \
|
|
1852
|
+
'--auth-ntlm-password[Supply authentication parameters dynamically.]:value' \
|
|
1853
|
+
'--auth-ntlm-domain[Supply authentication parameters dynamically.]:value' \
|
|
1854
|
+
'--auth-ntlm-workstation[Supply authentication parameters dynamically.]:value' \
|
|
1855
|
+
'--auth-apikey-key[Supply authentication parameters dynamically.]:value' \
|
|
1856
|
+
'--auth-apikey-value[Supply authentication parameters dynamically.]:value' \
|
|
1857
|
+
'--auth-apikey-in[Supply authentication parameters dynamically.]:value' \
|
|
1858
|
+
'*:URL:'
|
|
1859
|
+
}
|
|
1860
|
+
|
|
1861
|
+
_postman_runner() {
|
|
1559
1862
|
local context state state_descr line
|
|
1560
1863
|
typeset -A opt_args
|
|
1561
1864
|
_arguments -C \
|
|
1562
1865
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1563
|
-
'1: :
|
|
1866
|
+
'1: :_postman_runner_commands' \
|
|
1564
1867
|
'*::arg:->args'
|
|
1565
1868
|
case $state in
|
|
1566
1869
|
args)
|
|
1567
1870
|
case $words[1] in
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
lint) _postman_workspace_lint ;;
|
|
1572
|
-
get) _postman_workspace_get ;;
|
|
1573
|
-
create) _postman_workspace_create ;;
|
|
1574
|
-
delete) _postman_workspace_delete ;;
|
|
1575
|
-
pull) _postman_workspace_pull ;;
|
|
1576
|
-
connect-git) _postman_workspace_connect_git ;;
|
|
1577
|
-
disconnect-git) _postman_workspace_disconnect_git ;;
|
|
1578
|
-
diff) _postman_workspace_diff ;;
|
|
1871
|
+
start) _postman_runner_start ;;
|
|
1872
|
+
list) _postman_runner_list ;;
|
|
1873
|
+
regions) _postman_runner_regions ;;
|
|
1579
1874
|
esac
|
|
1580
1875
|
;;
|
|
1581
1876
|
esac
|
|
1582
1877
|
}
|
|
1583
1878
|
|
|
1584
|
-
|
|
1879
|
+
_postman_runner_commands() {
|
|
1585
1880
|
local -a sub
|
|
1586
1881
|
sub=(
|
|
1587
|
-
'
|
|
1588
|
-
'
|
|
1589
|
-
'
|
|
1590
|
-
'lint:Lint the current local Postman workspace\: its configuration (.postman/resources.yaml) plus every discovered entity. Use --meta to lint only the configuration.'
|
|
1591
|
-
'get:Read a workspace'\''s metadata, and optionally the ids of what it holds.'
|
|
1592
|
-
'create:Create a Postman workspace and bind it to this git repository.'
|
|
1593
|
-
'delete:Permanently delete a workspace and everything in it. Prompts for confirmation unless --yes is passed.'
|
|
1594
|
-
'pull:Pull workspace entities from a Postman workspace into the local git-native folder.'
|
|
1595
|
-
'connect-git:Connect a Postman workspace to a local git repository.'
|
|
1596
|
-
'disconnect-git:Disconnect a Postman workspace from its local git repository.'
|
|
1597
|
-
'diff:Preview local-vs-cloud drift before pushing. Read-only\: nothing is created, updated or deleted.'
|
|
1882
|
+
'start:Start a self-hosted runner in your own network.'
|
|
1883
|
+
'list:List the team'\''s registered self-hosted runners.'
|
|
1884
|
+
'regions:List the region and private-runner values valid for monitor create/update --runner, with the static IP Postman runs each one from, where your team has access to it.'
|
|
1598
1885
|
)
|
|
1599
|
-
_describe -t commands '
|
|
1600
|
-
}
|
|
1601
|
-
|
|
1602
|
-
_postman_workspace_list() {
|
|
1603
|
-
_arguments \
|
|
1604
|
-
'(-f --filter)'{-f,--filter}'[Filter workspaces by name.]:name' \
|
|
1605
|
-
'(-t --type)'{-t,--type}'[Filter workspaces by visibility type\: team, public, private, personal.]:type' \
|
|
1606
|
-
'--cursor[Fetch the page of workspaces that follows this cursor.]:cursor' \
|
|
1607
|
-
'--verbose[Verbose output]' \
|
|
1608
|
-
'--debug[Debug output]' \
|
|
1609
|
-
'--json[JSON output]' \
|
|
1610
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
1886
|
+
_describe -t commands 'runner command' sub
|
|
1611
1887
|
}
|
|
1612
1888
|
|
|
1613
|
-
|
|
1889
|
+
_postman_runner_start() {
|
|
1614
1890
|
_arguments \
|
|
1615
|
-
'--
|
|
1616
|
-
'--
|
|
1617
|
-
'
|
|
1891
|
+
'--id[The ID of the runner to execute]:id' \
|
|
1892
|
+
'--key[The secret key for the runner]:key:_files -g "*.(pem|crt|key)"' \
|
|
1893
|
+
'--region[Region this runner reports to -- use "eu" for the EU region]:region' \
|
|
1894
|
+
'--proxy[External proxy URL, for example http\://proxy.com or http\://proxy.com\:8080]:url' \
|
|
1895
|
+
'--egress-proxy[Enable built-in egress proxy]' \
|
|
1896
|
+
'--egress-proxy-authz-url[Custom egress proxy authorization service base URL]:url' \
|
|
1897
|
+
'--ssl-extra-ca-certs[Additional trusted CA certificates (PEM file, can contain multiple certs)]:path:_files -g "*.(pem|crt|key)"' \
|
|
1898
|
+
'--dataset-jdbc-driver-dir[Folder on this machine holding the JDBC driver .jar files you put there. Required to run a dataset that uses a JDBC source. Drivers are loaded only from this folder and matched by file name; driver paths saved in the dataset are ignored]:path:_files -/' \
|
|
1899
|
+
'--metrics[Enable the metrics server for health checks]' \
|
|
1900
|
+
'--metrics-port[Port for the metrics server (default\: "9090")]:port' \
|
|
1901
|
+
'--report-events[Dispatch run events to the API Catalog and Application Inventory ingestion pipelines (on by default)]' \
|
|
1902
|
+
'--no-report-events[Do not dispatch run events to the API Catalog and Application Inventory ingestion pipelines]' \
|
|
1903
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
1618
1904
|
}
|
|
1619
1905
|
|
|
1620
|
-
|
|
1906
|
+
_postman_runner_list() {
|
|
1621
1907
|
_arguments \
|
|
1622
|
-
'--
|
|
1623
|
-
'(-
|
|
1624
|
-
'--
|
|
1625
|
-
'--json[Print the outcome as machine-readable JSON. Implies non-interactive\: use --yes to actually push.]' \
|
|
1626
|
-
'--verbose[Show detailed logging]' \
|
|
1627
|
-
'--report-events[Dispatch events to the API Catalog and Application Inventory ingestion pipelines (on by default)]' \
|
|
1628
|
-
'--no-report-events[Do not dispatch events to the API Catalog and Application Inventory ingestion pipelines]' \
|
|
1908
|
+
'--api-key[Postman API key (defaults to POSTMAN_API_KEY, then the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
1909
|
+
'(-w --workspace)'{-w,--workspace}'[Filter to runners in this workspace]:id' \
|
|
1910
|
+
'--json[Output the runner list as JSON instead of a table]' \
|
|
1629
1911
|
'(-h --help)'{-h,--help}'[display help for command]'
|
|
1630
1912
|
}
|
|
1631
1913
|
|
|
1632
|
-
|
|
1914
|
+
_postman_runner_regions() {
|
|
1633
1915
|
_arguments \
|
|
1634
|
-
'
|
|
1635
|
-
'
|
|
1636
|
-
'--meta[Only lint the workspace configuration (.postman/resources.yaml); skip per-entity linting.]' \
|
|
1637
|
-
'--workspace-id[The workspace ID to use for fetching governance rulesets. Defaults to the id in .postman/resources.yaml.]:value' \
|
|
1638
|
-
'--fix[Apply safe autofixes to repairable workspace lint issues.]' \
|
|
1916
|
+
'--api-key[Postman API key (defaults to POSTMAN_API_KEY, then the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
1917
|
+
'--json[Output the region list as JSON instead of a table]' \
|
|
1639
1918
|
'(-h --help)'{-h,--help}'[display help for command]'
|
|
1640
1919
|
}
|
|
1641
1920
|
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
'--timeout[Milliseconds to wait for the API (default 30000).]:ms' \
|
|
1921
|
+
_postman_sdk() {
|
|
1922
|
+
local context state state_descr line
|
|
1923
|
+
typeset -A opt_args
|
|
1924
|
+
_arguments -C \
|
|
1647
1925
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1648
|
-
'
|
|
1926
|
+
'1: :_postman_sdk_commands' \
|
|
1927
|
+
'*::arg:->args'
|
|
1928
|
+
case $state in
|
|
1929
|
+
args)
|
|
1930
|
+
case $words[1] in
|
|
1931
|
+
init) _postman_sdk_init ;;
|
|
1932
|
+
generate|build) _postman_sdk_generate ;;
|
|
1933
|
+
track) _postman_sdk_track ;;
|
|
1934
|
+
list|ls) _postman_sdk_list ;;
|
|
1935
|
+
fetch|get) _postman_sdk_fetch ;;
|
|
1936
|
+
connect) _postman_sdk_connect ;;
|
|
1937
|
+
connections) _postman_sdk_connections ;;
|
|
1938
|
+
esac
|
|
1939
|
+
;;
|
|
1940
|
+
esac
|
|
1649
1941
|
}
|
|
1650
1942
|
|
|
1651
|
-
|
|
1943
|
+
_postman_sdk_commands() {
|
|
1944
|
+
local -a sub
|
|
1945
|
+
sub=(
|
|
1946
|
+
'init:Create or update .postman/config.json with an SDK configuration stub.'
|
|
1947
|
+
'generate:Generate a new SDK from a Postman collection or specification (OpenAPI or AsyncAPI).'
|
|
1948
|
+
'build:Alias for generate'
|
|
1949
|
+
'track:Enable change tracking for a generated SDK. Adds file hashes to .manifest.json so that the next `sdk generate` can detect your edits and preserve them via 3-way merge.'
|
|
1950
|
+
'list:List SDK builds for a collection, extensible collection, or specification.'
|
|
1951
|
+
'ls:Alias for list'
|
|
1952
|
+
'fetch:Download SDKs from a build by its ID.'
|
|
1953
|
+
'get:Alias for fetch'
|
|
1954
|
+
'connect:Connect a collection or specification to a GitHub repository for automatic SDK pull requests'
|
|
1955
|
+
'connections:Manage GitHub connections that drive automatic SDK pull requests'
|
|
1956
|
+
)
|
|
1957
|
+
_describe -t commands 'sdk command' sub
|
|
1958
|
+
}
|
|
1959
|
+
|
|
1960
|
+
_postman_sdk_init() {
|
|
1652
1961
|
_arguments \
|
|
1653
|
-
'--
|
|
1654
|
-
'--name[Workspace name (defaults to owner/repo from the git remote)]:name' \
|
|
1655
|
-
'--summary[Optional workspace summary]:text' \
|
|
1656
|
-
'--team-id[The team inside your organisation the workspace belongs to. Required for a team workspace when your organisation has teams inside it. Find it with `postman team list`.]:id' \
|
|
1657
|
-
'--team-role[What a team or public workspace grants\: view or edit. Applies to the team named by --team-id, or to your whole organisation when none is named. Defaults to your team'\''s configured default.]:level' \
|
|
1658
|
-
'--path[Directory to bind (defaults to the current directory)]:dir:_files -g "*.json"' \
|
|
1659
|
-
'--no-connect[Create the workspace without binding it to the repository]' \
|
|
1660
|
-
'--force[Create even when a workspace is already recorded for this repo]' \
|
|
1661
|
-
'--json[Print the created workspace as machine-readable JSON.]' \
|
|
1962
|
+
'(-y --yes)'{-y,--yes}'[Skip prompts and overwrite existing sdk config]' \
|
|
1662
1963
|
'(-h --help)'{-h,--help}'[display help for command]'
|
|
1663
1964
|
}
|
|
1664
1965
|
|
|
1665
|
-
|
|
1966
|
+
_postman_sdk_generate() {
|
|
1666
1967
|
_arguments \
|
|
1667
|
-
'(-
|
|
1668
|
-
'--
|
|
1669
|
-
'--
|
|
1670
|
-
'--
|
|
1968
|
+
'(-l --language)'{-l,--language}'[Target language(s) for SDK generation. Specify one or more languages. \[choices\: "typescript", "python", "java", "go", "csharp", "php", "ruby", "cli", "kotlin", "rust", "swift"\]]:languages...' \
|
|
1969
|
+
'--all[Generate SDKs for all supported languages]' \
|
|
1970
|
+
'(-o --output-dir)'{-o,--output-dir}'[Directory where the generated SDK will be saved (default\: "./sdks")]:path:_files -/' \
|
|
1971
|
+
'--name[Name for the generated SDK package]:name' \
|
|
1972
|
+
'--sdk-version[Version number for the generated SDK]:version' \
|
|
1973
|
+
'--config[Path to SDK generation config file (JSON). If not specified, will look for .postman/config.json (sdk key).]:path:_files -g "*.json"' \
|
|
1974
|
+
'(-y --yes)'{-y,--yes}'[Skip all confirmation prompts and overwrite existing files]' \
|
|
1975
|
+
'--overwrite[Overwrite existing files without confirmation]' \
|
|
1976
|
+
'--verbose[Show detailed generation progress and logs]' \
|
|
1977
|
+
'--log-level[Set build log detail level. "warn" (default) shows errors/warnings inline and collapses info notes; "info" expands all log entries (default\: "warn")]:level' \
|
|
1978
|
+
'--no-track-changes[Disable change tracking. By default, file hashes are written into .manifest.json to enable edit detection on the next regeneration.]' \
|
|
1979
|
+
'--no-merge[Skip custom code merge even if user edits are detected. Forces a fresh generation.]' \
|
|
1980
|
+
'--conflict-strategy[Strategy for handling merge conflicts\: "mark" inserts conflict markers (default), "ours" keeps user edits, "theirs" keeps generated code]:strategy' \
|
|
1981
|
+
'--no-emit[Skip downloading and saving SDK artifacts to disk. Useful in CI when the build only needs to trigger server-side pull requests.]' \
|
|
1671
1982
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1672
|
-
'*:
|
|
1983
|
+
'*:idOrPath:'
|
|
1673
1984
|
}
|
|
1674
1985
|
|
|
1675
|
-
|
|
1986
|
+
_postman_sdk_track() {
|
|
1676
1987
|
_arguments \
|
|
1677
|
-
'(-
|
|
1678
|
-
'--
|
|
1679
|
-
'
|
|
1680
|
-
'--verbose[Show detailed logging]' \
|
|
1681
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1682
|
-
'*:workspaceId:'
|
|
1988
|
+
'(-l --language)'{-l,--language}'[Language(s) to track. \[choices\: "typescript", "python", "java", "go", "csharp", "php", "ruby", "cli", "kotlin", "rust", "swift"\]]:languages...' \
|
|
1989
|
+
'(-o --output-dir)'{-o,--output-dir}'[Base directory containing generated SDKs (default\: "./sdks")]:path:_files -/' \
|
|
1990
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
1683
1991
|
}
|
|
1684
1992
|
|
|
1685
|
-
|
|
1993
|
+
_postman_sdk_list() {
|
|
1686
1994
|
_arguments \
|
|
1687
|
-
'--
|
|
1688
|
-
'--
|
|
1995
|
+
'(-s --status)'{-s,--status}'[Filter builds by status (case-insensitive) \[choices\: in-progress, success, failure\]]:status' \
|
|
1996
|
+
'(-o --output)'{-o,--output}'[Output format \[choices\: "json", "table"\] (default\: "table")]:format' \
|
|
1997
|
+
'--log-level[Set build log detail level. "warn" (default) shows errors/warnings inline and collapses info notes; "info" expands all log entries (default\: "warn")]:level' \
|
|
1689
1998
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1690
|
-
'*:
|
|
1999
|
+
'*:id:'
|
|
1691
2000
|
}
|
|
1692
2001
|
|
|
1693
|
-
|
|
2002
|
+
_postman_sdk_fetch() {
|
|
1694
2003
|
_arguments \
|
|
1695
|
-
'(-
|
|
1696
|
-
'--
|
|
1697
|
-
'--
|
|
2004
|
+
'(-o --output-dir)'{-o,--output-dir}'[Directory to save the downloaded SDK(s) (default\: "./sdks")]:path:_files -/' \
|
|
2005
|
+
'(-l --language)'{-l,--language}'[Download only the specified language (e.g., typescript, python)]:language' \
|
|
2006
|
+
'--overwrite[Overwrite existing files without confirmation]' \
|
|
2007
|
+
'--verbose[Show detailed download progress]' \
|
|
2008
|
+
'--log-level[Set build log detail level. "warn" (default) shows errors/warnings inline and collapses info notes; "info" expands all log entries (default\: "warn")]:level' \
|
|
1698
2009
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1699
|
-
'*:
|
|
2010
|
+
'*:buildId:'
|
|
1700
2011
|
}
|
|
1701
2012
|
|
|
1702
|
-
|
|
2013
|
+
_postman_sdk_connect() {
|
|
1703
2014
|
_arguments \
|
|
1704
|
-
'--
|
|
1705
|
-
'--
|
|
1706
|
-
'--
|
|
1707
|
-
'--
|
|
1708
|
-
'--
|
|
1709
|
-
'--
|
|
2015
|
+
'(-l --language)'{-l,--language}'[SDK language (required) \[choices\: typescript, python, java, go, csharp, php, ruby, cli, kotlin, rust, swift\]]:language' \
|
|
2016
|
+
'(-r --repo)'{-r,--repo}'[GitHub repository in <owner>/<name> form (alternative to --repo-owner + --repo-name)]:owner/name' \
|
|
2017
|
+
'--repo-owner[GitHub repository owner (user or org)]:owner' \
|
|
2018
|
+
'--repo-name[GitHub repository name]:name' \
|
|
2019
|
+
'(-b --branch)'{-b,--branch}'[Target branch for SDK pull requests (default\: "main")]:branch' \
|
|
2020
|
+
'--push-to-base[Push SDK updates directly to the base branch instead of opening a pull request (default\: false)]' \
|
|
2021
|
+
'--auto-update-pull-requests[Open auto-update pull requests when the SDK changes (true|false). Defaults to true server-side when omitted]:bool' \
|
|
2022
|
+
'--auth-provider[OAuth provider used by the server when pushing (choices\: githubapp, github) (default\: "githubapp")]:provider' \
|
|
2023
|
+
'--verbose[Show extra logging]' \
|
|
1710
2024
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1711
|
-
'*:
|
|
2025
|
+
'*:id:'
|
|
1712
2026
|
}
|
|
1713
2027
|
|
|
1714
|
-
|
|
2028
|
+
_postman_sdk_connections() {
|
|
1715
2029
|
local context state state_descr line
|
|
1716
2030
|
typeset -A opt_args
|
|
1717
2031
|
_arguments -C \
|
|
1718
2032
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1719
|
-
'1: :
|
|
2033
|
+
'1: :_postman_sdk_connections_commands' \
|
|
1720
2034
|
'*::arg:->args'
|
|
1721
2035
|
case $state in
|
|
1722
2036
|
args)
|
|
1723
2037
|
case $words[1] in
|
|
1724
|
-
list)
|
|
2038
|
+
list|ls) _postman_sdk_connections_list ;;
|
|
2039
|
+
delete|rm) _postman_sdk_connections_delete ;;
|
|
1725
2040
|
esac
|
|
1726
2041
|
;;
|
|
1727
2042
|
esac
|
|
1728
2043
|
}
|
|
1729
2044
|
|
|
1730
|
-
|
|
2045
|
+
_postman_sdk_connections_commands() {
|
|
1731
2046
|
local -a sub
|
|
1732
2047
|
sub=(
|
|
1733
|
-
'list:List
|
|
2048
|
+
'list:List GitHub connections for a collection or specification'
|
|
2049
|
+
'ls:Alias for list'
|
|
2050
|
+
'delete:Delete a GitHub connection for a collection or specification'
|
|
2051
|
+
'rm:Alias for delete'
|
|
1734
2052
|
)
|
|
1735
|
-
_describe -t commands '
|
|
2053
|
+
_describe -t commands 'connections command' sub
|
|
1736
2054
|
}
|
|
1737
2055
|
|
|
1738
|
-
|
|
2056
|
+
_postman_sdk_connections_list() {
|
|
1739
2057
|
_arguments \
|
|
1740
|
-
'--
|
|
1741
|
-
'--json[
|
|
1742
|
-
'--
|
|
1743
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2058
|
+
'--refresh[Refresh PR statuses from GitHub before listing (slower) (default\: false)]' \
|
|
2059
|
+
'--json[Output raw JSON instead of formatted text (default\: false)]' \
|
|
2060
|
+
'--verbose[Show extra logging]' \
|
|
2061
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2062
|
+
'*:id:'
|
|
1744
2063
|
}
|
|
1745
2064
|
|
|
1746
|
-
|
|
2065
|
+
_postman_sdk_connections_delete() {
|
|
2066
|
+
_arguments \
|
|
2067
|
+
'(-y --yes)'{-y,--yes}'[Skip the confirmation prompt (default\: false)]' \
|
|
2068
|
+
'--verbose[Show extra logging]' \
|
|
2069
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2070
|
+
'*:connectionId:'
|
|
2071
|
+
}
|
|
2072
|
+
|
|
2073
|
+
_postman_spec() {
|
|
1747
2074
|
local context state state_descr line
|
|
1748
2075
|
typeset -A opt_args
|
|
1749
2076
|
_arguments -C \
|
|
1750
2077
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1751
|
-
'1: :
|
|
2078
|
+
'1: :_postman_spec_commands' \
|
|
1752
2079
|
'*::arg:->args'
|
|
1753
2080
|
case $state in
|
|
1754
2081
|
args)
|
|
1755
2082
|
case $words[1] in
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
2083
|
+
lint) _postman_spec_lint ;;
|
|
2084
|
+
ai-readiness) _postman_spec_ai_readiness ;;
|
|
2085
|
+
list) _postman_spec_list ;;
|
|
2086
|
+
get) _postman_spec_get ;;
|
|
2087
|
+
file) _postman_spec_file ;;
|
|
2088
|
+
create) _postman_spec_create ;;
|
|
2089
|
+
generate) _postman_spec_generate ;;
|
|
2090
|
+
sync) _postman_spec_sync ;;
|
|
2091
|
+
delete) _postman_spec_delete ;;
|
|
1759
2092
|
esac
|
|
1760
2093
|
;;
|
|
1761
2094
|
esac
|
|
1762
2095
|
}
|
|
1763
2096
|
|
|
1764
|
-
|
|
2097
|
+
_postman_spec_commands() {
|
|
1765
2098
|
local -a sub
|
|
1766
2099
|
sub=(
|
|
1767
|
-
'
|
|
1768
|
-
'
|
|
1769
|
-
'
|
|
2100
|
+
'lint:Run linting on the given specification by ID or local file path.'
|
|
2101
|
+
'ai-readiness:Score an OpenAPI specification for AI readiness by ID or local file path.'
|
|
2102
|
+
'list:List local spec files under a path, or (no path) a workspace'\''s cloud specs.'
|
|
2103
|
+
'get:Read a spec definition, including every file of a multi-file spec.'
|
|
2104
|
+
'file:Get, add, update, or remove files in a spec (cloud ID or local directory).'
|
|
2105
|
+
'create:Create a new spec in a workspace, or (with path) scaffold a local spec file.'
|
|
2106
|
+
'generate:Generate artifacts from a specification.'
|
|
2107
|
+
'sync:Sync a generated collection with its source specification.'
|
|
2108
|
+
'delete:Delete a spec by its cloud ID or local file path. Cannot be undone.'
|
|
1770
2109
|
)
|
|
1771
|
-
_describe -t commands '
|
|
2110
|
+
_describe -t commands 'spec command' sub
|
|
1772
2111
|
}
|
|
1773
2112
|
|
|
1774
|
-
|
|
2113
|
+
_postman_spec_lint() {
|
|
1775
2114
|
_arguments \
|
|
1776
|
-
'(-
|
|
1777
|
-
'
|
|
1778
|
-
'--
|
|
1779
|
-
'--
|
|
1780
|
-
'--
|
|
1781
|
-
'--
|
|
1782
|
-
'--
|
|
1783
|
-
'(-d --duration)'{-d,--duration}'[Duration of the performance test in minutes (default\: 1)]:minutes' \
|
|
1784
|
-
'(-p --load-profile)'{-p,--load-profile}'[Load profile type\: fixed, ramp-up, spike, peak (default\: "ramp-up")]:profile' \
|
|
1785
|
-
'(-s --load-segments)'{-s,--load-segments}'[Duration of each phase of the profile, comma separated, in order. ramp-up takes 2, spike 3, peak 4; fixed takes none. See the load-segment section below for which position is which phase]:durations' \
|
|
1786
|
-
'--data-file[Path to a JSON or CSV data file to use with the collection]:path:_files -g "*.json"' \
|
|
1787
|
-
'--ssl-client-cert-list[Path to a client certificates configuration file (JSON). Local runner only.]:path:_files -g "*.(pem|crt|key)"' \
|
|
1788
|
-
'--ssl-client-cert[Path to a client certificate (PEM) for mTLS targets. Local runner only.]:path:_files -g "*.(pem|crt|key)"' \
|
|
1789
|
-
'--ssl-client-key[Path to the client certificate private key. Local runner only.]:path:_files -g "*.(pem|crt|key)"' \
|
|
1790
|
-
'--ssl-client-passphrase[Client certificate passphrase (for a protected key). Local runner only.]:passphrase' \
|
|
1791
|
-
'(-k --insecure)'{-k,--insecure}'[Disable SSL certificate verification for the target. Local runner only.]' \
|
|
1792
|
-
'--ssl-extra-ca-certs[Path to additionally trusted CA certificates (PEM) for the target. Local runner only.]:path:_files -g "*.(pem|crt|key)"' \
|
|
1793
|
-
'--dataset-id[Use a Postman Dataset as iteration data (with --dataset-view-id)]:id' \
|
|
1794
|
-
'--dataset-view-id[Dataset view to execute for iteration data (requires --dataset-id)]:id' \
|
|
1795
|
-
'--dataset-distribution[How rows map to VUs\: round-robin (default), fixed, random]:strategy' \
|
|
1796
|
-
'--postman-api-key[API Key used to load the resources from the Postman API (Only supported in the US region, use '\''postman login --region'\'' to authenticate instead)]:apiKey' \
|
|
1797
|
-
'--output[Output format for live results\: auto (default, interactive dashboard) or ndjson (one JSON object per line on stdout, ending with a "summary" event — for CI or other non-interactive use) (default\: "auto")]:format' \
|
|
1798
|
-
'--runner[Runner to execute the performance test on\: local, postman-cloud, or postman-cloud-static-ip (egress from your account region'\''s static-IP cluster) (default\: local)]:runner' \
|
|
1799
|
-
'--disable-unicode[Forces Unicode compliant symbols to be replaced by their plain text equivalents]' \
|
|
1800
|
-
'--pass-if[Pass condition in format\: function(metric, value) (repeatable; all conditions must hold). Functions\: less_than, greater_than, less_than_eq, greater_than_eq. Metrics\: avg, p90, p95, p99, error_rate, rps. Example\: less_than(p95, 500)]:condition' \
|
|
1801
|
-
'--use-mock[Redirect a variable/host to a local code mock or cloud Mock Server (repeatable). Format\: "<{{var}}|host> mock|mock-server\:<path|id> \[scenario\]" (default\: \[\])]:mapping' \
|
|
1802
|
-
'--dataset[Pass --dataset multiple times to load several .dataset.yaml files (or directories containing them). Each is made available to the handlers of the local mocks started by --use-mock as pm.datasets(<id>). Local runner only. (default\: \[\])]:pathOrDir:_files -g "*.json"' \
|
|
2115
|
+
'(-f --fail-severity)'{-f,--fail-severity}'[Results of this level or above will trigger a failure exit code. \[choices\: "error", "warning", "info", "hint"\] (default\: "ERROR")]:value' \
|
|
2116
|
+
'--issueType[Limit linting to a specific issue type. \[choices\: "syntax"\]]:value' \
|
|
2117
|
+
'(-o --output)'{-o,--output}'[Output format for the results. \[choices\: "json", "csv"\]]:value' \
|
|
2118
|
+
'--workspace-id[The workspace ID to use for fetching governance rulesets.]:value' \
|
|
2119
|
+
'--ruleset[Lint against a local Spectral ruleset.]:path:_files -g "*.json"' \
|
|
2120
|
+
'--report-events[Dispatch events to the API Catalog and Application Inventory ingestion pipelines (on by default)]' \
|
|
2121
|
+
'--no-report-events[Do not dispatch events to the API Catalog and Application Inventory ingestion pipelines]' \
|
|
1803
2122
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1804
|
-
'*:
|
|
2123
|
+
'*:spec:'
|
|
1805
2124
|
}
|
|
1806
2125
|
|
|
1807
|
-
|
|
2126
|
+
_postman_spec_ai_readiness() {
|
|
1808
2127
|
_arguments \
|
|
1809
|
-
'(-
|
|
1810
|
-
'--
|
|
1811
|
-
'--
|
|
1812
|
-
'--json[Alias for --output json]' \
|
|
1813
|
-
'--timeout[Milliseconds to wait for the service before failing (default\: "30000")]:ms' \
|
|
2128
|
+
'(-o --output)'{-o,--output}'[Output format for the results. \[choices\: "cli", "json", "html"\]]:value' \
|
|
2129
|
+
'--export[Write the report to this file instead of stdout. A directory receives the report under a name derived from the specification. Requires --output html.]:path:_files -g "*.json"' \
|
|
2130
|
+
'--min-score[Exit with a non-zero code if the overall score is below this threshold (0-100).]:n' \
|
|
1814
2131
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1815
|
-
'*:
|
|
2132
|
+
'*:spec:'
|
|
1816
2133
|
}
|
|
1817
2134
|
|
|
1818
|
-
|
|
2135
|
+
_postman_spec_list() {
|
|
1819
2136
|
_arguments \
|
|
1820
|
-
'--
|
|
1821
|
-
'--
|
|
1822
|
-
'--
|
|
2137
|
+
'(-w --workspace)'{-w,--workspace}'[Workspace ID (defaults to .postman/resources.yaml binding)]:id' \
|
|
2138
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
2139
|
+
'--json[Output as JSON]' \
|
|
1823
2140
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1824
|
-
'*:
|
|
2141
|
+
'*:pathOrDir:_files -g "*.json"'
|
|
1825
2142
|
}
|
|
1826
2143
|
|
|
1827
|
-
|
|
2144
|
+
_postman_spec_get() {
|
|
2145
|
+
_arguments \
|
|
2146
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
2147
|
+
'--json[Output as JSON (full spec definition)]' \
|
|
2148
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2149
|
+
'*:spec...:'
|
|
2150
|
+
}
|
|
2151
|
+
|
|
2152
|
+
_postman_spec_file() {
|
|
1828
2153
|
local context state state_descr line
|
|
1829
2154
|
typeset -A opt_args
|
|
1830
2155
|
_arguments -C \
|
|
1831
2156
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1832
|
-
'1: :
|
|
2157
|
+
'1: :_postman_spec_file_commands' \
|
|
1833
2158
|
'*::arg:->args'
|
|
1834
2159
|
case $state in
|
|
1835
2160
|
args)
|
|
1836
2161
|
case $words[1] in
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
update) _postman_flows_update ;;
|
|
1842
|
-
list-runs) _postman_flows_list_runs ;;
|
|
1843
|
-
get-run) _postman_flows_get_run ;;
|
|
2162
|
+
get) _postman_spec_file_get ;;
|
|
2163
|
+
add) _postman_spec_file_add ;;
|
|
2164
|
+
update) _postman_spec_file_update ;;
|
|
2165
|
+
rm) _postman_spec_file_rm ;;
|
|
1844
2166
|
esac
|
|
1845
2167
|
;;
|
|
1846
2168
|
esac
|
|
1847
2169
|
}
|
|
1848
2170
|
|
|
1849
|
-
|
|
2171
|
+
_postman_spec_file_commands() {
|
|
1850
2172
|
local -a sub
|
|
1851
2173
|
sub=(
|
|
1852
|
-
'
|
|
1853
|
-
'
|
|
1854
|
-
'
|
|
1855
|
-
'
|
|
1856
|
-
'update:Update settings for a deployed flow'
|
|
1857
|
-
'list-runs:List run history for a deployed flow'
|
|
1858
|
-
'get-run:Analyze a specific flow run'
|
|
2174
|
+
'get:Show a file in a spec\: its path, size and content.'
|
|
2175
|
+
'add:Add a new file to a spec.'
|
|
2176
|
+
'update:Update an existing file in a spec.'
|
|
2177
|
+
'rm:Remove a file from a spec.'
|
|
1859
2178
|
)
|
|
1860
|
-
_describe -t commands '
|
|
1861
|
-
}
|
|
1862
|
-
|
|
1863
|
-
_postman_flows_list() {
|
|
1864
|
-
_arguments \
|
|
1865
|
-
'(-w --workspace)'{-w,--workspace}'[Specify the workspace ID to list flows from]:workspaceId' \
|
|
1866
|
-
'(-p --paginate)'{-p,--paginate}'[Paginates the list of flows]' \
|
|
1867
|
-
'(-f --filter)'{-f,--filter}'[Filter flows by name. Pattern may be a regex, or a name prefix.]:pattern' \
|
|
1868
|
-
'(-s --sort)'{-s,--sort}'[Sort flows by criteria\: "name" or "updated" (default\: updated) (default\: "updated")]:criteria' \
|
|
1869
|
-
'--verbose[Verbose output]' \
|
|
1870
|
-
'--debug[Debug output]' \
|
|
1871
|
-
'--json[JSON output]' \
|
|
1872
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2179
|
+
_describe -t commands 'file command' sub
|
|
1873
2180
|
}
|
|
1874
2181
|
|
|
1875
|
-
|
|
2182
|
+
_postman_spec_file_get() {
|
|
1876
2183
|
_arguments \
|
|
1877
|
-
'
|
|
1878
|
-
'
|
|
1879
|
-
'(-q --query)'{-q,--query}'[Set query parameters as key=value pairs (e.g. --query foo=bar --query baz=qux) (default\: \[\])]:key=value:_files -g "*.(pem|crt|key)"' \
|
|
1880
|
-
'--headers[Set custom headers as key=value pairs (e.g. --headers X-API-Key=12345 --headers User-Agent=MyApp) (default\: \[\])]:key=value:_files -g "*.(pem|crt|key)"' \
|
|
1881
|
-
'(-n --dry-run)'{-n,--dry-run}'[Show the flow requestURL and payload that would be sent without making the actual request (default\: false)]' \
|
|
1882
|
-
'--show-secrets[Show actual authentication tokens in dry-run output (otherwise secrets are masked) (default\: false)]' \
|
|
1883
|
-
'(-r --result)'{-r,--result}'[Show only the response body (default\: false)]' \
|
|
1884
|
-
'(-s --scenario)'{-s,--scenario}'[Use a named scenario from the flow definition to construct the input payload, headers, and query parameters (overridden by --headers/--query)]:name' \
|
|
1885
|
-
'--verbose[Verbose output]' \
|
|
1886
|
-
'--debug[Debug output]' \
|
|
1887
|
-
'--json[JSON output]' \
|
|
2184
|
+
'--json[Output as JSON]' \
|
|
2185
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
1888
2186
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1889
|
-
'*:
|
|
2187
|
+
'*:filePath:_files -g "*.json"'
|
|
1890
2188
|
}
|
|
1891
2189
|
|
|
1892
|
-
|
|
2190
|
+
_postman_spec_file_add() {
|
|
1893
2191
|
_arguments \
|
|
1894
|
-
'(-
|
|
1895
|
-
'
|
|
1896
|
-
'(-a --auth)'{-a,--auth}'[Enable authentication for the trigger (default\: false)]' \
|
|
1897
|
-
'--verbose[Verbose output]' \
|
|
1898
|
-
'--debug[Debug output]' \
|
|
1899
|
-
'--json[JSON output]' \
|
|
2192
|
+
'(-c --content)'{-c,--content}'[File content (reads from stdin if omitted)]:content' \
|
|
2193
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
1900
2194
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1901
|
-
'*:
|
|
2195
|
+
'*:filePath:_files -g "*.json"'
|
|
1902
2196
|
}
|
|
1903
2197
|
|
|
1904
|
-
|
|
2198
|
+
_postman_spec_file_update() {
|
|
1905
2199
|
_arguments \
|
|
1906
|
-
'(-
|
|
1907
|
-
'
|
|
1908
|
-
'(-s --scenario)'{-s,--scenario}'[Use a pre-built scenario as flow inputs (by scenario name). Can be combined with --input and --input-file to override values.]:name' \
|
|
1909
|
-
'--iteration-data-dataset[\[BETA\] Run the flow once per row of a dataset view. Accepts a local .dataset.yaml path or a cloud dataset id (cloud requires login). Requires --iteration-data-view. Dataset columns feed the flow inputs (see --map-column).]:pathOrId:_files -g "*.(json|csv)"' \
|
|
1910
|
-
'--iteration-data-view[\[BETA\] Name or id of the view (within --iteration-data-dataset) whose rows drive the run.]:nameOrId' \
|
|
1911
|
-
'(-m --map-column)'{-m,--map-column}'[\[BETA\] Bind a flow input to a dataset column (e.g. -m isActive=active). Repeatable. Inputs whose name matches a column bind automatically. (default\: \[\])]:input=column' \
|
|
1912
|
-
'(-e --environment)'{-e,--environment}'[Specify a path to a Postman Environment file (JSON or YAML)]:path:_files -g "*.json"' \
|
|
1913
|
-
'--working-dir[Specify the path to the working directory]:path:_files -/' \
|
|
1914
|
-
'--no-insecure-file-read[Prevent reading dataset files situated outside of the working directory (applies to --iteration-data-dataset)]' \
|
|
1915
|
-
'--verbose[Show detailed information of flow run and each request (method, URL, assertions)]' \
|
|
1916
|
-
'--no-truncate[Show full output without truncating long values]' \
|
|
1917
|
-
'--output[Save execution result to a file (supported\: json)]:format' \
|
|
1918
|
-
'--reporters[Save a test results report to a file (supported\: html)]:format' \
|
|
1919
|
-
'(-x --suppress-exit-code)'{-x,--suppress-exit-code}'[Specify whether or not to override the default exit code for the current run]' \
|
|
1920
|
-
'--workspace[Workspace ID required for flows that contain connector blocks. Find it in the Postman app URL\: https\://postman.com/workspace/<workspaceId>]:workspaceId' \
|
|
1921
|
-
'--report-events[Dispatch events to the API Catalog and Application Inventory ingestion pipelines (on by default)]' \
|
|
1922
|
-
'--no-report-events[Do not dispatch events to the API Catalog and Application Inventory ingestion pipelines]' \
|
|
1923
|
-
'--verbose[Verbose output]' \
|
|
1924
|
-
'--debug[Debug output]' \
|
|
1925
|
-
'--json[JSON output]' \
|
|
2200
|
+
'(-c --content)'{-c,--content}'[New file content (reads from stdin if omitted)]:content' \
|
|
2201
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
1926
2202
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1927
|
-
'*:
|
|
2203
|
+
'*:filePath:_files -g "*.json"'
|
|
1928
2204
|
}
|
|
1929
2205
|
|
|
1930
|
-
|
|
2206
|
+
_postman_spec_file_rm() {
|
|
1931
2207
|
_arguments \
|
|
1932
|
-
'(-
|
|
1933
|
-
'
|
|
1934
|
-
'--verbose[Verbose output]' \
|
|
1935
|
-
'--debug[Debug output]' \
|
|
1936
|
-
'--json[JSON output]' \
|
|
2208
|
+
'(-y --yes)'{-y,--yes}'[Skip confirmation prompt]' \
|
|
2209
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
1937
2210
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1938
|
-
'*:
|
|
1939
|
-
}
|
|
1940
|
-
|
|
1941
|
-
_postman_flows_list_runs() {
|
|
1942
|
-
_arguments \
|
|
1943
|
-
'(-w --workspace)'{-w,--workspace}'[Specify the workspace ID]:workspaceId' \
|
|
1944
|
-
'(-f --flow)'{-f,--flow}'[Filter sessions by flow ID]:flowId' \
|
|
1945
|
-
'(-r --range)'{-r,--range}'[Time range to list runs (e.g. 30m, 2h, 3d) (default\: "1h")]:range' \
|
|
1946
|
-
'--verbose[Verbose output]' \
|
|
1947
|
-
'--debug[Debug output]' \
|
|
1948
|
-
'--json[JSON output]' \
|
|
1949
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
1950
|
-
}
|
|
1951
|
-
|
|
1952
|
-
_postman_flows_get_run() {
|
|
1953
|
-
_arguments \
|
|
1954
|
-
'(-r --run-id)'{-r,--run-id}'[Specify the run ID to analyze]:runId' \
|
|
1955
|
-
'(-l --logs)'{-l,--logs}'[Show detailed event log (default\: false)]' \
|
|
1956
|
-
'--filter[Filter event log by block ID prefix (can be specified multiple times) (default\: \[\])]:blockId' \
|
|
1957
|
-
'--verbose[Verbose output]' \
|
|
1958
|
-
'--debug[Debug output]' \
|
|
1959
|
-
'--json[JSON output]' \
|
|
1960
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2211
|
+
'*:filePath:_files -g "*.json"'
|
|
1961
2212
|
}
|
|
1962
2213
|
|
|
1963
|
-
|
|
2214
|
+
_postman_spec_create() {
|
|
1964
2215
|
_arguments \
|
|
1965
|
-
'(-
|
|
1966
|
-
'(-
|
|
1967
|
-
'
|
|
1968
|
-
'(-
|
|
1969
|
-
'--
|
|
1970
|
-
'--
|
|
1971
|
-
'--
|
|
1972
|
-
'--redirects-follow-method[Preserves the original HTTP method when following redirects. By default, redirects are followed with GET method.]' \
|
|
1973
|
-
'--redirects-remove-referrer[Removes the Referer header when following redirects. By default, Referer header is sent with redirects.]' \
|
|
1974
|
-
'(-k --insecure)'{-k,--insecure}'[Disable SSL certificate verification.]' \
|
|
1975
|
-
'--ssl-client-cert-list[Specify the path to client certificate configurations (JSON).]:path:_files -g "*.(pem|crt|key)"' \
|
|
1976
|
-
'--ssl-client-cert[Specify the path to a client certificate (PEM).]:path:_files -g "*.(pem|crt|key)"' \
|
|
1977
|
-
'--ssl-client-key[Specify the path to a client certificate private key.]:path:_files -g "*.(pem|crt|key)"' \
|
|
1978
|
-
'--ssl-client-passphrase[Specify the client certificate passphrase (for protected key).]:passphrase' \
|
|
1979
|
-
'--ssl-extra-ca-certs[Specify additional trusted CA certificates (PEM).]:path:_files -g "*.(pem|crt|key)"' \
|
|
1980
|
-
'--cookie-jar[Specify the path to a custom cookie jar (serialized tough-cookie JSON).]:path:_files -g "*.json"' \
|
|
1981
|
-
'--export-cookie-jar[Export the cookie jar to a file after completing the request.]:path:_files -g "*.json"' \
|
|
1982
|
-
'--retry[Number of retry attempts for failed requests (4xx, 5xx, network errors). Useful for flaky endpoints or rate-limited APIs. (default\: 0)]:n' \
|
|
1983
|
-
'--retry-delay[Delay between retry attempts in milliseconds. (default\: 1000)]:ms' \
|
|
1984
|
-
'--script-pre-request[Add JavaScript script to run before the request. Can be inline JS or @filepath to load from file. Scripts have access to pm.* APIs. Example\: --script-pre-request "pm.environment.set('\''timestamp'\'', Date.now());" or --script-pre-request @setup.js]:script' \
|
|
1985
|
-
'--script-post-request[Add JavaScript script to run after the request. Can be inline JS or @filepath to load from file. Scripts have access to pm.* APIs. Example\: --script-post-request "console.log(pm.response.json());" or --script-post-request @validate.js]:script' \
|
|
1986
|
-
'--dataset[\[BETA\] Pass --dataset multiple times to load several .dataset.yaml files (or directories containing them). Each is made available to pre/post-request scripts as pm.datasets(<id>). (default\: \[\])]:pathOrDir:_files -g "*.json"' \
|
|
1987
|
-
'(-o --output)'{-o,--output}'[Save complete response to JSON file.Useful for debugging or further processing.]:path:_files -g "*.json"' \
|
|
1988
|
-
'--verbose[Show detailed request and response information including headers, body, and metadata.]' \
|
|
1989
|
-
'--response-only[suppress all output except response body. Useful for piping to other commands.]' \
|
|
1990
|
-
'--debug[Debug mode\: show detailed execution information including retry attempts, redirects, and timing breakdowns.]' \
|
|
1991
|
-
'--report-events[Dispatch events to the API Catalog and Application Inventory ingestion pipelines (on by default)]' \
|
|
1992
|
-
'--no-report-events[Do not dispatch events to the API Catalog and Application Inventory ingestion pipelines]' \
|
|
2216
|
+
'(-n --name)'{-n,--name}'[Specification name / title]:name' \
|
|
2217
|
+
'(-t --type)'{-t,--type}'[Spec type\: openapi, asyncapi, graphql, protobuf, smithy (default\: openapi) (default\: "openapi")]:type' \
|
|
2218
|
+
'--spec-version[Spec version (e.g. 3.1 for openapi, 3 for protobuf)]:ver' \
|
|
2219
|
+
'(-f --format)'{-f,--format}'[File format\: yaml or json (openapi/asyncapi only, default\: yaml) (default\: "yaml")]:fmt' \
|
|
2220
|
+
'(-w --workspace)'{-w,--workspace}'[Workspace ID (cloud create, defaults to .postman/resources.yaml)]:id' \
|
|
2221
|
+
'--force[Overwrite an existing local file]' \
|
|
2222
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
1993
2223
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
1994
|
-
'
|
|
1995
|
-
'--auth-basic-password[Supply authentication parameters dynamically.]:value' \
|
|
1996
|
-
'--auth-bearer-token[Supply authentication parameters dynamically.]:value' \
|
|
1997
|
-
'--auth-digest-username[Supply authentication parameters dynamically.]:value' \
|
|
1998
|
-
'--auth-digest-password[Supply authentication parameters dynamically.]:value' \
|
|
1999
|
-
'--auth-oauth1-consumerKey[Supply authentication parameters dynamically.]:value' \
|
|
2000
|
-
'--auth-oauth1-consumerSecret[Supply authentication parameters dynamically.]:value' \
|
|
2001
|
-
'--auth-oauth1-token[Supply authentication parameters dynamically.]:value' \
|
|
2002
|
-
'--auth-oauth1-tokenSecret[Supply authentication parameters dynamically.]:value' \
|
|
2003
|
-
'--auth-oauth2-accessToken[Supply authentication parameters dynamically.]:value' \
|
|
2004
|
-
'--auth-oauth2-tokenType[Supply authentication parameters dynamically.]:value' \
|
|
2005
|
-
'--auth-hawk-authId[Supply authentication parameters dynamically.]:value' \
|
|
2006
|
-
'--auth-hawk-authKey[Supply authentication parameters dynamically.]:value' \
|
|
2007
|
-
'--auth-hawk-algorithm[Supply authentication parameters dynamically.]:value' \
|
|
2008
|
-
'--auth-aws-accessKey[Supply authentication parameters dynamically.]:value' \
|
|
2009
|
-
'--auth-aws-secretKey[Supply authentication parameters dynamically.]:value' \
|
|
2010
|
-
'--auth-aws-region[Supply authentication parameters dynamically.]:value' \
|
|
2011
|
-
'--auth-aws-service[Supply authentication parameters dynamically.]:value' \
|
|
2012
|
-
'--auth-aws-sessionToken[Supply authentication parameters dynamically.]:value' \
|
|
2013
|
-
'--auth-ntlm-username[Supply authentication parameters dynamically.]:value' \
|
|
2014
|
-
'--auth-ntlm-password[Supply authentication parameters dynamically.]:value' \
|
|
2015
|
-
'--auth-ntlm-domain[Supply authentication parameters dynamically.]:value' \
|
|
2016
|
-
'--auth-ntlm-workstation[Supply authentication parameters dynamically.]:value' \
|
|
2017
|
-
'--auth-apikey-key[Supply authentication parameters dynamically.]:value' \
|
|
2018
|
-
'--auth-apikey-value[Supply authentication parameters dynamically.]:value' \
|
|
2019
|
-
'--auth-apikey-in[Supply authentication parameters dynamically.]:value' \
|
|
2020
|
-
'*:url:'
|
|
2224
|
+
'*:path:_files -g "*.json"'
|
|
2021
2225
|
}
|
|
2022
2226
|
|
|
2023
|
-
|
|
2227
|
+
_postman_spec_generate() {
|
|
2024
2228
|
local context state state_descr line
|
|
2025
2229
|
typeset -A opt_args
|
|
2026
2230
|
_arguments -C \
|
|
2027
2231
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2028
|
-
'1: :
|
|
2232
|
+
'1: :_postman_spec_generate_commands' \
|
|
2029
2233
|
'*::arg:->args'
|
|
2030
2234
|
case $state in
|
|
2031
2235
|
args)
|
|
2032
2236
|
case $words[1] in
|
|
2033
|
-
|
|
2034
|
-
generate|build) _postman_sdk_generate ;;
|
|
2035
|
-
track) _postman_sdk_track ;;
|
|
2036
|
-
list|ls) _postman_sdk_list ;;
|
|
2037
|
-
fetch|get) _postman_sdk_fetch ;;
|
|
2038
|
-
connect) _postman_sdk_connect ;;
|
|
2039
|
-
connections) _postman_sdk_connections ;;
|
|
2237
|
+
collection) _postman_spec_generate_collection ;;
|
|
2040
2238
|
esac
|
|
2041
2239
|
;;
|
|
2042
2240
|
esac
|
|
2043
2241
|
}
|
|
2044
2242
|
|
|
2045
|
-
|
|
2243
|
+
_postman_spec_generate_commands() {
|
|
2046
2244
|
local -a sub
|
|
2047
2245
|
sub=(
|
|
2048
|
-
'
|
|
2049
|
-
'generate:Generate a new SDK from a Postman collection or specification (OpenAPI or AsyncAPI).'
|
|
2050
|
-
'build:Alias for generate'
|
|
2051
|
-
'track:Enable change tracking for a generated SDK. Adds file hashes to .manifest.json so that the next `sdk generate` can detect your edits and preserve them via 3-way merge.'
|
|
2052
|
-
'list:List SDK builds for a collection, extensible collection, or specification.'
|
|
2053
|
-
'ls:Alias for list'
|
|
2054
|
-
'fetch:Download SDKs from a build by its ID.'
|
|
2055
|
-
'get:Alias for fetch'
|
|
2056
|
-
'connect:Connect a collection or specification to a GitHub repository for automatic SDK pull requests'
|
|
2057
|
-
'connections:Manage GitHub connections that drive automatic SDK pull requests'
|
|
2246
|
+
'collection:Generate a Postman collection from a specification.'
|
|
2058
2247
|
)
|
|
2059
|
-
_describe -t commands '
|
|
2060
|
-
}
|
|
2061
|
-
|
|
2062
|
-
_postman_sdk_init() {
|
|
2063
|
-
_arguments \
|
|
2064
|
-
'(-y --yes)'{-y,--yes}'[Skip prompts and overwrite existing sdk config]' \
|
|
2065
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2066
|
-
}
|
|
2067
|
-
|
|
2068
|
-
_postman_sdk_generate() {
|
|
2069
|
-
_arguments \
|
|
2070
|
-
'(-l --language)'{-l,--language}'[Target language(s) for SDK generation. Specify one or more languages. \[choices\: "typescript", "python", "java", "go", "csharp", "php", "ruby", "cli", "kotlin", "rust", "swift"\]]:languages...' \
|
|
2071
|
-
'--all[Generate SDKs for all supported languages]' \
|
|
2072
|
-
'(-o --output-dir)'{-o,--output-dir}'[Directory where the generated SDK will be saved (default\: "./sdks")]:path:_files -/' \
|
|
2073
|
-
'--name[Name for the generated SDK package]:name' \
|
|
2074
|
-
'--sdk-version[Version number for the generated SDK]:version' \
|
|
2075
|
-
'--config[Path to SDK generation config file (JSON). If not specified, will look for .postman/config.json (sdk key).]:path:_files -g "*.json"' \
|
|
2076
|
-
'(-y --yes)'{-y,--yes}'[Skip all confirmation prompts and overwrite existing files]' \
|
|
2077
|
-
'--overwrite[Overwrite existing files without confirmation]' \
|
|
2078
|
-
'--verbose[Show detailed generation progress and logs]' \
|
|
2079
|
-
'--log-level[Set build log detail level. "warn" (default) shows errors/warnings inline and collapses info notes; "info" expands all log entries (default\: "warn")]:level' \
|
|
2080
|
-
'--no-track-changes[Disable change tracking. By default, file hashes are written into .manifest.json to enable edit detection on the next regeneration.]' \
|
|
2081
|
-
'--no-merge[Skip custom code merge even if user edits are detected. Forces a fresh generation.]' \
|
|
2082
|
-
'--conflict-strategy[Strategy for handling merge conflicts\: "mark" inserts conflict markers (default), "ours" keeps user edits, "theirs" keeps generated code]:strategy' \
|
|
2083
|
-
'--no-emit[Skip downloading and saving SDK artifacts to disk. Useful in CI when the build only needs to trigger server-side pull requests.]' \
|
|
2084
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2085
|
-
'*:idOrPath:'
|
|
2086
|
-
}
|
|
2087
|
-
|
|
2088
|
-
_postman_sdk_track() {
|
|
2089
|
-
_arguments \
|
|
2090
|
-
'(-l --language)'{-l,--language}'[Language(s) to track. \[choices\: "typescript", "python", "java", "go", "csharp", "php", "ruby", "cli", "kotlin", "rust", "swift"\]]:languages...' \
|
|
2091
|
-
'(-o --output-dir)'{-o,--output-dir}'[Base directory containing generated SDKs (default\: "./sdks")]:path:_files -/' \
|
|
2092
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2093
|
-
}
|
|
2094
|
-
|
|
2095
|
-
_postman_sdk_list() {
|
|
2096
|
-
_arguments \
|
|
2097
|
-
'(-s --status)'{-s,--status}'[Filter builds by status (case-insensitive) \[choices\: in-progress, success, failure\]]:status' \
|
|
2098
|
-
'(-o --output)'{-o,--output}'[Output format \[choices\: "json", "table"\] (default\: "table")]:format' \
|
|
2099
|
-
'--log-level[Set build log detail level. "warn" (default) shows errors/warnings inline and collapses info notes; "info" expands all log entries (default\: "warn")]:level' \
|
|
2100
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2101
|
-
'*:id:'
|
|
2102
|
-
}
|
|
2103
|
-
|
|
2104
|
-
_postman_sdk_fetch() {
|
|
2105
|
-
_arguments \
|
|
2106
|
-
'(-o --output-dir)'{-o,--output-dir}'[Directory to save the downloaded SDK(s) (default\: "./sdks")]:path:_files -/' \
|
|
2107
|
-
'(-l --language)'{-l,--language}'[Download only the specified language (e.g., typescript, python)]:language' \
|
|
2108
|
-
'--overwrite[Overwrite existing files without confirmation]' \
|
|
2109
|
-
'--verbose[Show detailed download progress]' \
|
|
2110
|
-
'--log-level[Set build log detail level. "warn" (default) shows errors/warnings inline and collapses info notes; "info" expands all log entries (default\: "warn")]:level' \
|
|
2111
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2112
|
-
'*:buildId:'
|
|
2248
|
+
_describe -t commands 'generate command' sub
|
|
2113
2249
|
}
|
|
2114
2250
|
|
|
2115
|
-
|
|
2251
|
+
_postman_spec_generate_collection() {
|
|
2116
2252
|
_arguments \
|
|
2117
|
-
'(-
|
|
2118
|
-
'
|
|
2119
|
-
'--
|
|
2120
|
-
'--
|
|
2121
|
-
'
|
|
2122
|
-
'--push-to-base[Push SDK updates directly to the base branch instead of opening a pull request (default\: false)]' \
|
|
2123
|
-
'--auto-update-pull-requests[Open auto-update pull requests when the SDK changes (true|false). Defaults to true server-side when omitted]:bool' \
|
|
2124
|
-
'--auth-provider[OAuth provider used by the server when pushing (choices\: githubapp, github) (default\: "githubapp")]:provider' \
|
|
2125
|
-
'--verbose[Show extra logging]' \
|
|
2253
|
+
'(-n --name)'{-n,--name}'[Collection name]:name' \
|
|
2254
|
+
'--folder-strategy[Folder strategy\: Paths or Tags (default\: Paths) (default\: "Paths")]:strategy' \
|
|
2255
|
+
'(-w --workspace)'{-w,--workspace}'[Workspace ID (cloud mode)]:id' \
|
|
2256
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
2257
|
+
'--force[Overwrite the collection if one with this name already exists (local mode)]' \
|
|
2126
2258
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2127
|
-
'*:
|
|
2259
|
+
'*:spec:'
|
|
2128
2260
|
}
|
|
2129
2261
|
|
|
2130
|
-
|
|
2262
|
+
_postman_spec_sync() {
|
|
2131
2263
|
local context state state_descr line
|
|
2132
2264
|
typeset -A opt_args
|
|
2133
2265
|
_arguments -C \
|
|
2134
2266
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2135
|
-
'1: :
|
|
2267
|
+
'1: :_postman_spec_sync_commands' \
|
|
2136
2268
|
'*::arg:->args'
|
|
2137
2269
|
case $state in
|
|
2138
2270
|
args)
|
|
2139
2271
|
case $words[1] in
|
|
2140
|
-
|
|
2141
|
-
delete|rm) _postman_sdk_connections_delete ;;
|
|
2272
|
+
collection) _postman_spec_sync_collection ;;
|
|
2142
2273
|
esac
|
|
2143
2274
|
;;
|
|
2144
2275
|
esac
|
|
2145
2276
|
}
|
|
2146
2277
|
|
|
2147
|
-
|
|
2278
|
+
_postman_spec_sync_commands() {
|
|
2148
2279
|
local -a sub
|
|
2149
2280
|
sub=(
|
|
2150
|
-
'
|
|
2151
|
-
'ls:Alias for list'
|
|
2152
|
-
'delete:Delete a GitHub connection for a collection or specification'
|
|
2153
|
-
'rm:Alias for delete'
|
|
2281
|
+
'collection:Sync a collection from a linked specification (local path or cloud UUID).'
|
|
2154
2282
|
)
|
|
2155
|
-
_describe -t commands '
|
|
2283
|
+
_describe -t commands 'sync command' sub
|
|
2156
2284
|
}
|
|
2157
2285
|
|
|
2158
|
-
|
|
2286
|
+
_postman_spec_sync_collection() {
|
|
2159
2287
|
_arguments \
|
|
2160
|
-
'--
|
|
2161
|
-
'--
|
|
2162
|
-
'--
|
|
2288
|
+
'--collection-id[Collection ID to sync (required for cloud mode)]:id' \
|
|
2289
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
2290
|
+
'--force[Overwrite hand-written scripts, headers and descriptions that the spec would otherwise drop]' \
|
|
2291
|
+
'--dry-run[Report what sync would change and remove without writing anything]' \
|
|
2163
2292
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2164
|
-
'*:
|
|
2293
|
+
'*:spec:'
|
|
2165
2294
|
}
|
|
2166
2295
|
|
|
2167
|
-
|
|
2296
|
+
_postman_spec_delete() {
|
|
2168
2297
|
_arguments \
|
|
2169
|
-
'(-y --yes)'{-y,--yes}'[
|
|
2170
|
-
'--
|
|
2298
|
+
'(-y --yes)'{-y,--yes}'[Delete without asking for confirmation first]' \
|
|
2299
|
+
'--api-key[Postman API key, used with a cloud ID (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
2171
2300
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2172
|
-
'*:
|
|
2301
|
+
'*:spec:'
|
|
2173
2302
|
}
|
|
2174
2303
|
|
|
2175
|
-
|
|
2304
|
+
_postman_workspace() {
|
|
2176
2305
|
local context state state_descr line
|
|
2177
2306
|
typeset -A opt_args
|
|
2178
2307
|
_arguments -C \
|
|
2179
2308
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2180
|
-
'1: :
|
|
2309
|
+
'1: :_postman_workspace_commands' \
|
|
2181
2310
|
'*::arg:->args'
|
|
2182
2311
|
case $state in
|
|
2183
2312
|
args)
|
|
2184
2313
|
case $words[1] in
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
push)
|
|
2188
|
-
|
|
2189
|
-
get)
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2314
|
+
list) _postman_workspace_list ;;
|
|
2315
|
+
prepare) _postman_workspace_prepare ;;
|
|
2316
|
+
push) _postman_workspace_push ;;
|
|
2317
|
+
lint) _postman_workspace_lint ;;
|
|
2318
|
+
get) _postman_workspace_get ;;
|
|
2319
|
+
create) _postman_workspace_create ;;
|
|
2320
|
+
delete) _postman_workspace_delete ;;
|
|
2321
|
+
pull) _postman_workspace_pull ;;
|
|
2322
|
+
connect-git) _postman_workspace_connect_git ;;
|
|
2323
|
+
disconnect-git) _postman_workspace_disconnect_git ;;
|
|
2324
|
+
diff) _postman_workspace_diff ;;
|
|
2193
2325
|
esac
|
|
2194
2326
|
;;
|
|
2195
2327
|
esac
|
|
2196
2328
|
}
|
|
2197
2329
|
|
|
2198
|
-
|
|
2330
|
+
_postman_workspace_commands() {
|
|
2199
2331
|
local -a sub
|
|
2200
2332
|
sub=(
|
|
2201
|
-
'
|
|
2202
|
-
'
|
|
2203
|
-
'push:
|
|
2204
|
-
'
|
|
2205
|
-
'get:
|
|
2206
|
-
'
|
|
2207
|
-
'
|
|
2208
|
-
'
|
|
2333
|
+
'list:List all available Postman Workspaces'
|
|
2334
|
+
'prepare:Prepare local collections and environments for push by validating and regenerating IDs if needed.'
|
|
2335
|
+
'push:Push local workspace entities (collections, environments, specifications, mocks and more) to Postman workspace.'
|
|
2336
|
+
'lint:Lint the current local Postman workspace\: its configuration (.postman/resources.yaml) plus every discovered entity. Use --meta to lint only the configuration.'
|
|
2337
|
+
'get:Read a workspace'\''s metadata, and optionally the ids of what it holds.'
|
|
2338
|
+
'create:Create a Postman workspace and bind it to this git repository.'
|
|
2339
|
+
'delete:Permanently delete a workspace and everything in it. Prompts for confirmation unless --yes is passed.'
|
|
2340
|
+
'pull:Pull workspace entities from a Postman workspace into the local git-native folder.'
|
|
2341
|
+
'connect-git:Connect a Postman workspace to a local git repository.'
|
|
2342
|
+
'disconnect-git:Disconnect a Postman workspace from its local git repository.'
|
|
2343
|
+
'diff:Preview local-vs-cloud drift before pushing. Read-only\: nothing is created, updated or deleted.'
|
|
2209
2344
|
)
|
|
2210
|
-
_describe -t commands '
|
|
2345
|
+
_describe -t commands 'workspace command' sub
|
|
2211
2346
|
}
|
|
2212
2347
|
|
|
2213
|
-
|
|
2348
|
+
_postman_workspace_list() {
|
|
2214
2349
|
_arguments \
|
|
2215
|
-
'(-
|
|
2216
|
-
'(-
|
|
2217
|
-
'--
|
|
2218
|
-
'--
|
|
2219
|
-
'
|
|
2220
|
-
'
|
|
2221
|
-
'--
|
|
2222
|
-
'(-x --suppress-exit-code)'{-x,--suppress-exit-code}'[Always exit with code 0, even on failure]' \
|
|
2223
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2224
|
-
'*:sourcePath:'
|
|
2350
|
+
'(-f --filter)'{-f,--filter}'[Filter workspaces by name.]:name' \
|
|
2351
|
+
'(-t --type)'{-t,--type}'[Filter workspaces by visibility type\: team, public, private, personal.]:type' \
|
|
2352
|
+
'--cursor[Fetch the page of workspaces that follows this cursor.]:cursor' \
|
|
2353
|
+
'--verbose[Verbose output]' \
|
|
2354
|
+
'--debug[Debug output]' \
|
|
2355
|
+
'--json[JSON output]' \
|
|
2356
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2225
2357
|
}
|
|
2226
2358
|
|
|
2227
|
-
|
|
2359
|
+
_postman_workspace_prepare() {
|
|
2228
2360
|
_arguments \
|
|
2229
|
-
'
|
|
2230
|
-
'
|
|
2231
|
-
'(-
|
|
2232
|
-
'--api-key[Postman API key, used with a Postman cloud id (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
2233
|
-
'(-w --workspace)'{-w,--workspace}'[Workspace that owns the run, for recording its start history. Auto-resolved for a Postman cloud id; required to record history for a path.]:id' \
|
|
2234
|
-
'--no-history[Do not record this run in the mock'\''s start history.]' \
|
|
2235
|
-
'--output[Live output format\: auto (default, human-readable logs) or ndjson (one JSON event per line on stdout, ending with a "summary" event — for CI or other non-interactive use) (default\: "auto")]:format' \
|
|
2236
|
-
'--dataset[Pass --dataset multiple times to load several .dataset.yaml files (or directories containing them). Each is made available to the mock'\''s handlers as pm.datasets(<id>). (default\: \[\])]:pathOrDir:_files -g "*.json"' \
|
|
2237
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2238
|
-
'*:mockIdOrPath:_files -g "*.json"'
|
|
2361
|
+
'--verbose[Show detailed logging]' \
|
|
2362
|
+
'--json[Print the outcome as machine-readable JSON.]' \
|
|
2363
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2239
2364
|
}
|
|
2240
2365
|
|
|
2241
|
-
|
|
2366
|
+
_postman_workspace_push() {
|
|
2242
2367
|
_arguments \
|
|
2243
|
-
'
|
|
2244
|
-
'--
|
|
2245
|
-
'
|
|
2246
|
-
'
|
|
2368
|
+
'--no-prepare[Skip ID validation and auto-fix before pushing]' \
|
|
2369
|
+
'(-y --yes)'{-y,--yes}'[Skip all confirmation prompts]' \
|
|
2370
|
+
'--push-strategy[Push strategy. "force-sync"\: mirror the whole workspace — also DELETE cloud entities that have no local counterpart (destructive). Defaults to "default" (create/update only).]:strategy' \
|
|
2371
|
+
'--json[Print the outcome as machine-readable JSON. Implies non-interactive\: use --yes to actually push.]' \
|
|
2372
|
+
'--verbose[Show detailed logging]' \
|
|
2373
|
+
'--report-events[Dispatch events to the API Catalog and Application Inventory ingestion pipelines (on by default)]' \
|
|
2374
|
+
'--no-report-events[Do not dispatch events to the API Catalog and Application Inventory ingestion pipelines]' \
|
|
2375
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2247
2376
|
}
|
|
2248
2377
|
|
|
2249
|
-
|
|
2378
|
+
_postman_workspace_lint() {
|
|
2250
2379
|
_arguments \
|
|
2251
|
-
'(-
|
|
2252
|
-
'(-
|
|
2253
|
-
'
|
|
2254
|
-
'--
|
|
2255
|
-
'--
|
|
2256
|
-
'(-
|
|
2257
|
-
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
2258
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2259
|
-
'*:mockId:_files -g "*.json"'
|
|
2380
|
+
'(-f --fail-severity)'{-f,--fail-severity}'[Exit with failure if diagnostics at this level or above are present. \[choices\: "error", "warning", "info", "hint"\] (default\: "error")]:value' \
|
|
2381
|
+
'(-o --output)'{-o,--output}'[Output format\: cli (human-readable), table, or json. (default\: "cli")]:value' \
|
|
2382
|
+
'--meta[Only lint the workspace configuration (.postman/resources.yaml); skip per-entity linting.]' \
|
|
2383
|
+
'--workspace-id[The workspace ID to use for fetching governance rulesets. Defaults to the id in .postman/resources.yaml.]:value' \
|
|
2384
|
+
'--fix[Apply safe autofixes to repairable workspace lint issues.]' \
|
|
2385
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2260
2386
|
}
|
|
2261
2387
|
|
|
2262
|
-
|
|
2388
|
+
_postman_workspace_get() {
|
|
2263
2389
|
_arguments \
|
|
2264
|
-
'--
|
|
2265
|
-
'--json[Print the
|
|
2390
|
+
'--elements[Also report the resources the workspace holds.]' \
|
|
2391
|
+
'--json[Print the workspace as machine-readable JSON.]' \
|
|
2392
|
+
'--timeout[Milliseconds to wait for the API (default 30000).]:ms' \
|
|
2266
2393
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2267
|
-
'*:
|
|
2394
|
+
'*:id:'
|
|
2268
2395
|
}
|
|
2269
2396
|
|
|
2270
|
-
|
|
2397
|
+
_postman_workspace_create() {
|
|
2271
2398
|
_arguments \
|
|
2272
|
-
'
|
|
2273
|
-
'--
|
|
2274
|
-
'--
|
|
2399
|
+
'--visibility[Required. One of\: personal, private, team, public, partner.]:status' \
|
|
2400
|
+
'--name[Workspace name (defaults to owner/repo from the git remote)]:name' \
|
|
2401
|
+
'--summary[Optional workspace summary]:text' \
|
|
2402
|
+
'--team-id[The team inside your organisation the workspace belongs to. Required for a team workspace when your organisation has teams inside it. Find it with `postman team list`.]:id' \
|
|
2403
|
+
'--team-role[What a team or public workspace grants\: view or edit. Applies to the team named by --team-id, or to your whole organisation when none is named. Defaults to your team'\''s configured default.]:level' \
|
|
2404
|
+
'--path[Directory to bind (defaults to the current directory)]:dir:_files -g "*.json"' \
|
|
2405
|
+
'--no-connect[Create the workspace without binding it to the repository]' \
|
|
2406
|
+
'--force[Create even when a workspace is already recorded for this repo]' \
|
|
2407
|
+
'--json[Print the created workspace as machine-readable JSON.]' \
|
|
2408
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2409
|
+
}
|
|
2410
|
+
|
|
2411
|
+
_postman_workspace_delete() {
|
|
2412
|
+
_arguments \
|
|
2413
|
+
'(-y --yes)'{-y,--yes}'[Skip the confirmation prompt]' \
|
|
2414
|
+
'--json[Print the outcome as machine-readable JSON]' \
|
|
2415
|
+
'--verbose[Show detailed logging]' \
|
|
2416
|
+
'--timeout[Abort the run after this many milliseconds. Defaults to 30000.]:ms' \
|
|
2275
2417
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2276
|
-
'*:
|
|
2418
|
+
'*:workspaceId:'
|
|
2277
2419
|
}
|
|
2278
2420
|
|
|
2279
|
-
|
|
2421
|
+
_postman_workspace_pull() {
|
|
2280
2422
|
_arguments \
|
|
2281
|
-
'--
|
|
2282
|
-
'--
|
|
2283
|
-
'--
|
|
2284
|
-
'--
|
|
2285
|
-
'--since[Show entries from this long ago until now (e.g. 2h = the last 2 hours)]:duration' \
|
|
2286
|
-
'--until[Hide entries newer than this (e.g. 30m = skip the most recent 30 minutes)]:duration' \
|
|
2287
|
-
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
2288
|
-
'--json[Print entries as machine-readable data instead of the scrollable view]' \
|
|
2423
|
+
'(-y --yes)'{-y,--yes}'[Skip all confirmation prompts]' \
|
|
2424
|
+
'--source-workspace[Pull from a different source workspace.]:workspaceId' \
|
|
2425
|
+
'--json[Print the outcome as machine-readable JSON. Implies non-interactive\: use --yes to actually pull.]' \
|
|
2426
|
+
'--verbose[Show detailed logging]' \
|
|
2289
2427
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2290
|
-
'*:
|
|
2428
|
+
'*:workspaceId:'
|
|
2291
2429
|
}
|
|
2292
2430
|
|
|
2293
|
-
|
|
2431
|
+
_postman_workspace_connect_git() {
|
|
2294
2432
|
_arguments \
|
|
2295
|
-
'
|
|
2296
|
-
'--
|
|
2433
|
+
'--verbose[Show detailed logging]' \
|
|
2434
|
+
'--json[Print the outcome as machine-readable JSON.]' \
|
|
2297
2435
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2298
|
-
'*:
|
|
2436
|
+
'*:path:_files -g "*.json"'
|
|
2299
2437
|
}
|
|
2300
2438
|
|
|
2301
|
-
|
|
2439
|
+
_postman_workspace_disconnect_git() {
|
|
2440
|
+
_arguments \
|
|
2441
|
+
'(-y --yes)'{-y,--yes}'[Skip all confirmation prompts]' \
|
|
2442
|
+
'--verbose[Show detailed logging]' \
|
|
2443
|
+
'--json[Print the outcome as machine-readable JSON. Requires --yes to actually disconnect.]' \
|
|
2444
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2445
|
+
'*:workspaceId:'
|
|
2446
|
+
}
|
|
2447
|
+
|
|
2448
|
+
_postman_workspace_diff() {
|
|
2449
|
+
_arguments \
|
|
2450
|
+
'--push-strategy[Strategy to preview. "force-sync" also shows cloud entities that would be DELETED. Defaults to "force-sync".]:strategy' \
|
|
2451
|
+
'--summary[Skip content comparison. Faster, but updates are listed without checking whether they changed.]' \
|
|
2452
|
+
'--json[Print the diff as machine-readable JSON.]' \
|
|
2453
|
+
'--exit-code[Exit with code 1 when a verified difference is found (for CI gates). Entity types with no comparison path are reported but do not fail the gate.]' \
|
|
2454
|
+
'--verbose[Show detailed logging]' \
|
|
2455
|
+
'--timeout[Abort the run after this many milliseconds. Defaults to 120000.]:ms' \
|
|
2456
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2457
|
+
'*:workspaceId:'
|
|
2458
|
+
}
|
|
2459
|
+
|
|
2460
|
+
_postman_context_graph() {
|
|
2302
2461
|
local context state state_descr line
|
|
2303
2462
|
typeset -A opt_args
|
|
2304
2463
|
_arguments -C \
|
|
2305
2464
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2306
|
-
'1: :
|
|
2465
|
+
'1: :_postman_context_graph_commands' \
|
|
2307
2466
|
'*::arg:->args'
|
|
2308
2467
|
case $state in
|
|
2309
2468
|
args)
|
|
2310
2469
|
case $words[1] in
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
|
|
2470
|
+
ask) _postman_context_graph_ask ;;
|
|
2471
|
+
status) _postman_context_graph_status ;;
|
|
2472
|
+
ingest) _postman_context_graph_ingest ;;
|
|
2314
2473
|
esac
|
|
2315
2474
|
;;
|
|
2316
2475
|
esac
|
|
2317
2476
|
}
|
|
2318
2477
|
|
|
2319
|
-
|
|
2478
|
+
_postman_context_graph_commands() {
|
|
2320
2479
|
local -a sub
|
|
2321
2480
|
sub=(
|
|
2322
|
-
'
|
|
2323
|
-
'
|
|
2324
|
-
'
|
|
2481
|
+
'ask:Ask a natural-language question about your team'\''s Context Graph.'
|
|
2482
|
+
'status:Check an ask submitted by `ask`, without blocking. Prints the answer when ready.'
|
|
2483
|
+
'ingest:Onboard repos and workspaces into your team'\''s Context Graph, and check ingestion progress.'
|
|
2325
2484
|
)
|
|
2326
|
-
_describe -t commands '
|
|
2327
|
-
}
|
|
2328
|
-
|
|
2329
|
-
_postman_application_init() {
|
|
2330
|
-
_arguments \
|
|
2331
|
-
'--target-collection[Collection name or path for the default target (repeatable) (default\: \[\])]:name' \
|
|
2332
|
-
'--target-environment[Environment name or path for the default target (last value wins) (default\: \[\])]:name' \
|
|
2333
|
-
'--filter-urlpatterns[Comma-separated URL patterns to exclude from captured traffic (default\: \[\])]:patterns' \
|
|
2334
|
-
'--filter-methods[Comma-separated HTTP methods to exclude from captured traffic (default\: \[\])]:methods' \
|
|
2335
|
-
'--filter-headers[Comma-separated request header filters in header=value form (default\: \[\])]:headers' \
|
|
2336
|
-
'--command[Command to run your tests (e.g. "npx playwright test")]:cmd' \
|
|
2337
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2485
|
+
_describe -t commands 'context-graph command' sub
|
|
2338
2486
|
}
|
|
2339
2487
|
|
|
2340
|
-
|
|
2488
|
+
_postman_context_graph_ask() {
|
|
2341
2489
|
_arguments \
|
|
2342
|
-
'--
|
|
2343
|
-
'--
|
|
2344
|
-
'--
|
|
2345
|
-
'--
|
|
2346
|
-
'--
|
|
2347
|
-
'--
|
|
2348
|
-
'--
|
|
2349
|
-
'--
|
|
2350
|
-
'
|
|
2351
|
-
'--report-events[Dispatch application test run results to the API Catalog and Application Inventory ingestion pipelines (on by default) (default\: true)]:boolean' \
|
|
2352
|
-
'--no-report-events[Do not dispatch run results to the API Catalog and Application Inventory ingestion pipelines]' \
|
|
2353
|
-
'--verbose[Show detailed per-request matching, sandbox errors, and debug information]' \
|
|
2354
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2490
|
+
'--wait[Block until the answer arrives, then print it]' \
|
|
2491
|
+
'--api-key[Postman API key (falls back to POSTMAN_API_KEY, then a `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
2492
|
+
'--json[Output the ask record as JSON]' \
|
|
2493
|
+
'--no-include-answer[Do not ask the service to include the answer inline]' \
|
|
2494
|
+
'--max-steps[Cap the reasoning steps the service may take (its default applies when omitted)]:count' \
|
|
2495
|
+
'--interval[With --wait, seconds between polls (default\: 2)]:seconds' \
|
|
2496
|
+
'--timeout[With --wait, seconds to wait before giving up (default\: 300)]:seconds' \
|
|
2497
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2498
|
+
'*:query:'
|
|
2355
2499
|
}
|
|
2356
2500
|
|
|
2357
|
-
|
|
2501
|
+
_postman_context_graph_status() {
|
|
2358
2502
|
_arguments \
|
|
2359
|
-
'--
|
|
2360
|
-
'
|
|
2503
|
+
'--api-key[Postman API key (falls back to POSTMAN_API_KEY, then a `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
2504
|
+
'--json[Output the ask record as JSON]' \
|
|
2505
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2506
|
+
'*:askId:'
|
|
2361
2507
|
}
|
|
2362
2508
|
|
|
2363
|
-
|
|
2509
|
+
_postman_context_graph_ingest() {
|
|
2364
2510
|
local context state state_descr line
|
|
2365
2511
|
typeset -A opt_args
|
|
2366
2512
|
_arguments -C \
|
|
2367
2513
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2368
|
-
'1: :
|
|
2514
|
+
'1: :_postman_context_graph_ingest_commands' \
|
|
2369
2515
|
'*::arg:->args'
|
|
2370
2516
|
case $state in
|
|
2371
2517
|
args)
|
|
2372
2518
|
case $words[1] in
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
run) _postman_simulation_run ;;
|
|
2377
|
-
push) _postman_simulation_push ;;
|
|
2378
|
-
deploy) _postman_simulation_deploy ;;
|
|
2379
|
-
delete) _postman_simulation_delete ;;
|
|
2519
|
+
git) _postman_context_graph_ingest_git ;;
|
|
2520
|
+
workspaces) _postman_context_graph_ingest_workspaces ;;
|
|
2521
|
+
status) _postman_context_graph_ingest_status ;;
|
|
2380
2522
|
esac
|
|
2381
2523
|
;;
|
|
2382
2524
|
esac
|
|
2383
2525
|
}
|
|
2384
2526
|
|
|
2385
|
-
|
|
2527
|
+
_postman_context_graph_ingest_commands() {
|
|
2386
2528
|
local -a sub
|
|
2387
2529
|
sub=(
|
|
2388
|
-
'
|
|
2389
|
-
'
|
|
2390
|
-
'
|
|
2391
|
-
'run:Serve a simulation'\''s mocks on one local port, routing each by its routeKey. Pass a .sim.yaml path (local) or a Postman simulation id (fetched and run locally).'
|
|
2392
|
-
'push:Upload a simulation from your repository to Postman cloud (creates it the first time, updates it after). Its member mocks are pushed too.'
|
|
2393
|
-
'deploy:Turn a simulation in Postman cloud into a live mock server others can call over the internet.'
|
|
2394
|
-
'delete:Delete a simulation using its .sim.yaml path if it lives in your repository, or its id if it lives in Postman cloud. Cannot be undone.'
|
|
2530
|
+
'git:Onboard GitHub repos into your team'\''s Context Graph.'
|
|
2531
|
+
'workspaces:Onboard Postman workspaces into your team'\''s Context Graph.'
|
|
2532
|
+
'status:Check ingestion progress for the team, or for one source.'
|
|
2395
2533
|
)
|
|
2396
|
-
_describe -t commands '
|
|
2397
|
-
}
|
|
2398
|
-
|
|
2399
|
-
_postman_simulation_create() {
|
|
2400
|
-
_arguments \
|
|
2401
|
-
'(-n --name)'{-n,--name}'[Name for the simulation]:name' \
|
|
2402
|
-
'--mock[A mock to include (repeatable). Use a local mock path to build the simulation in your repository, or a Postman mock id to create it in Postman cloud. Set its address with <mockIdOrPath>=<routeKey>. (default\: \[\])]:mockIdOrPath:_files -g "*.json"' \
|
|
2403
|
-
'--routing[How callers reach each mock\: header or path (default path)]:header|path' \
|
|
2404
|
-
'(-o --output)'{-o,--output}'[Where to save the simulation file in your repository, a file or folder (defaults to postman/simulations)]:path:_files -g "*.json"' \
|
|
2405
|
-
'--force[Overwrite the simulation file if it already exists]' \
|
|
2406
|
-
'(-w --workspace)'{-w,--workspace}'[Postman cloud workspace to create the simulation in, by id (defaults to the workspace already linked to this project)]:id' \
|
|
2407
|
-
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
2408
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2409
|
-
}
|
|
2410
|
-
|
|
2411
|
-
_postman_simulation_list() {
|
|
2412
|
-
_arguments \
|
|
2413
|
-
'(-w --workspace)'{-w,--workspace}'[Postman cloud workspace whose simulations to list, by id (defaults to the workspace already linked to this project)]:id' \
|
|
2414
|
-
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
2415
|
-
'--json[Print the list as machine-readable data instead of a table]' \
|
|
2416
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2417
|
-
'*:pathOrDir:_files -g "*.json"'
|
|
2418
|
-
}
|
|
2419
|
-
|
|
2420
|
-
_postman_simulation_get() {
|
|
2421
|
-
_arguments \
|
|
2422
|
-
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
2423
|
-
'--json[Print the details as machine-readable data instead of a table]' \
|
|
2424
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2425
|
-
'*:simIdOrPath:'
|
|
2426
|
-
}
|
|
2427
|
-
|
|
2428
|
-
_postman_simulation_run() {
|
|
2429
|
-
_arguments \
|
|
2430
|
-
'(-e --environment)'{-e,--environment}'[Path to a file of environment variables for the mocks (relative or absolute)]:path:_files -g "*.json"' \
|
|
2431
|
-
'(-g --globals)'{-g,--globals}'[Path to a file of global variables for the mocks (relative or absolute)]:path:_files -g "*.json"' \
|
|
2432
|
-
'(-p --port)'{-p,--port}'[Port to serve on (e.g. 4010), or "auto" for a free one (default 3000)]:port' \
|
|
2433
|
-
'--dataset[Dataset file or folder to load for pm.datasets (repeatable) (default\: \[\])]:pathOrDir:_files -g "*.json"' \
|
|
2434
|
-
'(-w --workspace)'{-w,--workspace}'[Workspace for recording start history. Derived from a simulation id or the linked project; needed only for an unlinked .sim.yaml path.]:id' \
|
|
2435
|
-
'--simulation[Simulation id to record start history against for a .sim.yaml path (a local file has only a name). Not needed when running by simulation id, or when the file is linked to a cloud simulation (via workspace push).]:id' \
|
|
2436
|
-
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
2437
|
-
'--no-history[Do not record this run in the simulation'\''s start history]' \
|
|
2438
|
-
'--output[Live output format\: auto (default, human-readable logs) or ndjson (one JSON event per line on stdout, ending with a "summary" event — for CI or other non-interactive use) (default\: "auto")]:format' \
|
|
2439
|
-
'--proxy[Serve the mocks behind a local HTTP(S) forward proxy instead of one routed port, so a repo under test can point HTTP_PROXY/HTTPS_PROXY at it and reach each mock by hostname without code changes. Requires a simulation.yaml (routing config), not a .sim.yaml.]' \
|
|
2440
|
-
'--proxy-port[Port for the proxy server. Distinct from --port, which is the one-port run'\''s own port. (default\: 7001)]:n' \
|
|
2441
|
-
'--scenario[Scenario each mock serves, sent as both pm-mock-scenario and x-mock-scenario. (default\: "default")]:name' \
|
|
2442
|
-
'--session[Session id to select via the x-mock-session header (default\: a generated id).]:id' \
|
|
2443
|
-
'--log-format[Proxy request log format\: text or json. (default\: "text")]:format' \
|
|
2444
|
-
'--log-body[Also log each response body (truncated). Buffers full responses in memory; meant for temporary debugging, not left on by default.]' \
|
|
2445
|
-
'--doctor[Start the proxy, probe each available HTTP client (fetch/undici/axios/node-fetch) to confirm it honors HTTP_PROXY/HTTPS_PROXY, then exit.]' \
|
|
2446
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2447
|
-
'*:simIdOrPath:'
|
|
2534
|
+
_describe -t commands 'ingest command' sub
|
|
2448
2535
|
}
|
|
2449
2536
|
|
|
2450
|
-
|
|
2537
|
+
_postman_context_graph_ingest_git() {
|
|
2451
2538
|
_arguments \
|
|
2452
|
-
'
|
|
2453
|
-
'--
|
|
2539
|
+
'--all-git-linked-workspaces[Also onboard the repo linked to every git-linked workspace in the team]' \
|
|
2540
|
+
'--tag[With --all-git-linked-workspaces, only workspaces with this tag. Repeatable, up to 5; all must match]:tag' \
|
|
2541
|
+
'--ttl[Override the service'\''s default TTL, in seconds]:seconds' \
|
|
2542
|
+
'--api-key[Postman API key (falls back to POSTMAN_API_KEY, then a `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
2543
|
+
'--json[Output the onboarding response as JSON]' \
|
|
2454
2544
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2455
|
-
'*:
|
|
2545
|
+
'*:repoUrls...:'
|
|
2456
2546
|
}
|
|
2457
2547
|
|
|
2458
|
-
|
|
2548
|
+
_postman_context_graph_ingest_workspaces() {
|
|
2459
2549
|
_arguments \
|
|
2460
|
-
'(-w --workspace)'{-w,--workspace}'[
|
|
2461
|
-
'
|
|
2462
|
-
'
|
|
2463
|
-
'--
|
|
2464
|
-
'
|
|
2465
|
-
'--
|
|
2466
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2467
|
-
'*:simId:'
|
|
2550
|
+
'(-w --workspace)'{-w,--workspace}'[Workspace to onboard. Repeatable. Omit to onboard the team'\''s git-linked workspaces]:id' \
|
|
2551
|
+
'--top[Cap how many workspaces this call onboards]:n' \
|
|
2552
|
+
'--ttl[Override the service'\''s default TTL, in seconds]:seconds' \
|
|
2553
|
+
'--api-key[Postman API key (falls back to POSTMAN_API_KEY, then a `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
2554
|
+
'--json[Output the onboarding response as JSON]' \
|
|
2555
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2468
2556
|
}
|
|
2469
2557
|
|
|
2470
|
-
|
|
2558
|
+
_postman_context_graph_ingest_status() {
|
|
2471
2559
|
_arguments \
|
|
2472
|
-
'
|
|
2473
|
-
'--api-key[Postman API key
|
|
2474
|
-
'
|
|
2475
|
-
'
|
|
2560
|
+
'--source[Show one source'\''s jobs, by the source id `ingest git` or `ingest workspaces` printed]:sourceId' \
|
|
2561
|
+
'--api-key[Postman API key (falls back to POSTMAN_API_KEY, then a `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
2562
|
+
'--json[Output the service response as JSON]' \
|
|
2563
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2476
2564
|
}
|
|
2477
2565
|
|
|
2478
2566
|
_postman_describe() {
|
|
@@ -2710,51 +2798,17 @@ _postman_describe_environment_get() {
|
|
|
2710
2798
|
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2711
2799
|
}
|
|
2712
2800
|
|
|
2713
|
-
|
|
2714
|
-
local context state state_descr line
|
|
2715
|
-
typeset -A opt_args
|
|
2716
|
-
_arguments -C \
|
|
2717
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2718
|
-
'1: :_postman_context_graph_commands' \
|
|
2719
|
-
'*::arg:->args'
|
|
2720
|
-
case $state in
|
|
2721
|
-
args)
|
|
2722
|
-
case $words[1] in
|
|
2723
|
-
ask) _postman_context_graph_ask ;;
|
|
2724
|
-
status) _postman_context_graph_status ;;
|
|
2725
|
-
esac
|
|
2726
|
-
;;
|
|
2727
|
-
esac
|
|
2728
|
-
}
|
|
2729
|
-
|
|
2730
|
-
_postman_context_graph_commands() {
|
|
2731
|
-
local -a sub
|
|
2732
|
-
sub=(
|
|
2733
|
-
'ask:Ask a natural-language question about your team'\''s Context Graph.'
|
|
2734
|
-
'status:Check an ask submitted by `ask`, without blocking. Prints the answer when ready.'
|
|
2735
|
-
)
|
|
2736
|
-
_describe -t commands 'context-graph command' sub
|
|
2737
|
-
}
|
|
2738
|
-
|
|
2739
|
-
_postman_context_graph_ask() {
|
|
2740
|
-
_arguments \
|
|
2741
|
-
'--wait[Block until the answer arrives, then print it]' \
|
|
2742
|
-
'--api-key[Postman API key (falls back to POSTMAN_API_KEY, then a `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
2743
|
-
'--json[Output the ask record as JSON]' \
|
|
2744
|
-
'--no-include-answer[Do not ask the service to include the answer inline]' \
|
|
2745
|
-
'--max-steps[Cap the reasoning steps the service may take (its default applies when omitted)]:count' \
|
|
2746
|
-
'--interval[With --wait, seconds between polls (default\: 2)]:seconds' \
|
|
2747
|
-
'--timeout[With --wait, seconds to wait before giving up (default\: 300)]:seconds' \
|
|
2748
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2749
|
-
'*:query:'
|
|
2750
|
-
}
|
|
2751
|
-
|
|
2752
|
-
_postman_context_graph_status() {
|
|
2801
|
+
_postman_init() {
|
|
2753
2802
|
_arguments \
|
|
2754
|
-
'--
|
|
2755
|
-
'--
|
|
2803
|
+
'--json[Emit machine-readable output for agents]' \
|
|
2804
|
+
'--dry-run[Report what would happen without writing anything]' \
|
|
2805
|
+
'--no-fetch[Use the skills bundled with this CLI instead of fetching the latest]' \
|
|
2806
|
+
'--spec[Which spec is authoritative, when more than one could be]:path:_files -g "*.(yaml|yml|json)"' \
|
|
2807
|
+
'--visibility[Create and bind a workspace non-interactively (personal, team)]:status' \
|
|
2808
|
+
'(-y --yes)'{-y,--yes}'[Accept the default for every question instead of asking or stopping]' \
|
|
2809
|
+
'--report-events[Dispatch init events to the API Catalog and Application Inventory ingestion pipelines (requires login)]' \
|
|
2756
2810
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2757
|
-
'*:
|
|
2811
|
+
'*:path:_files -g "*.json"'
|
|
2758
2812
|
}
|
|
2759
2813
|
|
|
2760
2814
|
_postman_search() {
|
|
@@ -2849,672 +2903,723 @@ _postman_search_documents() {
|
|
|
2849
2903
|
'*:query:'
|
|
2850
2904
|
}
|
|
2851
2905
|
|
|
2852
|
-
|
|
2906
|
+
_postman_skills() {
|
|
2853
2907
|
local context state state_descr line
|
|
2854
2908
|
typeset -A opt_args
|
|
2855
2909
|
_arguments -C \
|
|
2856
2910
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2857
|
-
'1: :
|
|
2911
|
+
'1: :_postman_skills_commands' \
|
|
2858
2912
|
'*::arg:->args'
|
|
2859
2913
|
case $state in
|
|
2860
2914
|
args)
|
|
2861
2915
|
case $words[1] in
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
pause) _postman_webhook_pause ;;
|
|
2865
|
-
list) _postman_webhook_list ;;
|
|
2866
|
-
delete) _postman_webhook_delete ;;
|
|
2867
|
-
status) _postman_webhook_status ;;
|
|
2868
|
-
requests) _postman_webhook_requests ;;
|
|
2869
|
-
scripts) _postman_webhook_scripts ;;
|
|
2870
|
-
forward) _postman_webhook_forward ;;
|
|
2916
|
+
status) _postman_skills_status ;;
|
|
2917
|
+
update) _postman_skills_update ;;
|
|
2871
2918
|
esac
|
|
2872
2919
|
;;
|
|
2873
2920
|
esac
|
|
2874
2921
|
}
|
|
2875
2922
|
|
|
2876
|
-
|
|
2923
|
+
_postman_skills_commands() {
|
|
2877
2924
|
local -a sub
|
|
2878
2925
|
sub=(
|
|
2879
|
-
'
|
|
2880
|
-
'
|
|
2881
|
-
'pause:Pause a webhook so it no longer accepts requests.'
|
|
2882
|
-
'list:List all webhooks in a workspace.'
|
|
2883
|
-
'delete:Permanently delete a webhook.'
|
|
2884
|
-
'status:Show details for a webhook.'
|
|
2885
|
-
'requests:List, inspect, and replay requests received by a webhook.'
|
|
2886
|
-
'scripts:Create or update scripts executed by a webhook.'
|
|
2887
|
-
'forward:Forward incoming webhook requests to a local port.'
|
|
2926
|
+
'status:Report whether this repository'\''s skills are up to date.'
|
|
2927
|
+
'update:Fetch the latest skills into this repository.'
|
|
2888
2928
|
)
|
|
2889
|
-
_describe -t commands '
|
|
2929
|
+
_describe -t commands 'skills command' sub
|
|
2890
2930
|
}
|
|
2891
2931
|
|
|
2892
|
-
|
|
2932
|
+
_postman_skills_status() {
|
|
2893
2933
|
_arguments \
|
|
2894
|
-
'
|
|
2895
|
-
'
|
|
2896
|
-
'--
|
|
2897
|
-
'
|
|
2934
|
+
'--json[Emit machine-readable output for agents]' \
|
|
2935
|
+
'--strict[Exit non-zero when the skills are not current]' \
|
|
2936
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2937
|
+
'*:path:_files -g "*.json"'
|
|
2898
2938
|
}
|
|
2899
2939
|
|
|
2900
|
-
|
|
2940
|
+
_postman_skills_update() {
|
|
2901
2941
|
_arguments \
|
|
2902
|
-
'
|
|
2903
|
-
'--
|
|
2942
|
+
'--json[Emit machine-readable output for agents]' \
|
|
2943
|
+
'--dry-run[Report what would change without writing anything]' \
|
|
2944
|
+
'--force[Overwrite skill files that were edited locally]' \
|
|
2904
2945
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2905
|
-
'*:
|
|
2946
|
+
'*:path:_files -g "*.json"'
|
|
2906
2947
|
}
|
|
2907
2948
|
|
|
2908
|
-
|
|
2949
|
+
_postman_login() {
|
|
2909
2950
|
_arguments \
|
|
2910
|
-
'
|
|
2911
|
-
'--api-key[
|
|
2912
|
-
'
|
|
2913
|
-
'
|
|
2951
|
+
'--alias[Specify the alias of the API key to fetch your resources using it. (This option is discontinued and will be removed in a future release.)]:alias' \
|
|
2952
|
+
'--with-api-key[Specify the API key directly.]:apikey' \
|
|
2953
|
+
'--region[Specify the region for authentication. Use "eu" for EU region.]:region:(us eu)' \
|
|
2954
|
+
'--verbose[Show detailed error information]' \
|
|
2955
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2914
2956
|
}
|
|
2915
2957
|
|
|
2916
|
-
|
|
2958
|
+
_postman_logout() {
|
|
2917
2959
|
_arguments \
|
|
2918
|
-
'
|
|
2919
|
-
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
2960
|
+
'--alias[Specify the alias of the API key to fetch your resources using it. (This option is discontinued and will be removed in a future release.)]:alias' \
|
|
2920
2961
|
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2921
2962
|
}
|
|
2922
2963
|
|
|
2923
|
-
|
|
2964
|
+
_postman_signup() {
|
|
2924
2965
|
_arguments \
|
|
2925
|
-
'
|
|
2926
|
-
'--
|
|
2927
|
-
'
|
|
2928
|
-
'
|
|
2966
|
+
'--guest[Start working as an anonymous guest instead of signing up — no account or browser needed, so it works anywhere. Your work is saved to a temporary workspace you can keep later by running `postman signup`.]' \
|
|
2967
|
+
'--no-push[Do not push local work to your guest workspace before signing up. By default, work saved under postman/ is pushed first, so the workspace you keep is not empty.]' \
|
|
2968
|
+
'--json[Print the sign-up details as machine-readable JSON.]' \
|
|
2969
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2929
2970
|
}
|
|
2930
2971
|
|
|
2931
|
-
|
|
2972
|
+
_postman_whoami() {
|
|
2932
2973
|
_arguments \
|
|
2933
|
-
'
|
|
2934
|
-
'--
|
|
2935
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2936
|
-
'*:webhookId:'
|
|
2974
|
+
'--json[Print current identity as machine-readable JSON.]' \
|
|
2975
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2937
2976
|
}
|
|
2938
2977
|
|
|
2939
|
-
|
|
2978
|
+
_postman_application() {
|
|
2940
2979
|
local context state state_descr line
|
|
2941
2980
|
typeset -A opt_args
|
|
2942
2981
|
_arguments -C \
|
|
2943
2982
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2944
|
-
'1: :
|
|
2983
|
+
'1: :_postman_application_commands' \
|
|
2945
2984
|
'*::arg:->args'
|
|
2946
2985
|
case $state in
|
|
2947
2986
|
args)
|
|
2948
2987
|
case $words[1] in
|
|
2949
|
-
|
|
2950
|
-
|
|
2951
|
-
|
|
2988
|
+
init) _postman_application_init ;;
|
|
2989
|
+
test) _postman_application_test ;;
|
|
2990
|
+
setup-capture) _postman_application_setup_capture ;;
|
|
2952
2991
|
esac
|
|
2953
2992
|
;;
|
|
2954
2993
|
esac
|
|
2955
2994
|
}
|
|
2956
2995
|
|
|
2957
|
-
|
|
2996
|
+
_postman_application_commands() {
|
|
2958
2997
|
local -a sub
|
|
2959
2998
|
sub=(
|
|
2960
|
-
'
|
|
2961
|
-
'
|
|
2962
|
-
'
|
|
2999
|
+
'init:\[DEPRECATED\] Use `postman app test` instead. Initialise a postman.config.cjs file with target collections, environment, and test command.'
|
|
3000
|
+
'test:Run a command first (primary task), then match captured traffic against Postman collections and run assertions.'
|
|
3001
|
+
'setup-capture:Install postman-playwright and patch playwright.config.* to capture network traffic automatically via withPostman().'
|
|
2963
3002
|
)
|
|
2964
|
-
_describe -t commands '
|
|
3003
|
+
_describe -t commands 'application command' sub
|
|
2965
3004
|
}
|
|
2966
3005
|
|
|
2967
|
-
|
|
3006
|
+
_postman_application_init() {
|
|
2968
3007
|
_arguments \
|
|
2969
|
-
'
|
|
2970
|
-
'--
|
|
2971
|
-
'--
|
|
2972
|
-
'
|
|
2973
|
-
'
|
|
3008
|
+
'--target-collection[Collection name or path for the default target (repeatable) (default\: \[\])]:name' \
|
|
3009
|
+
'--target-environment[Environment name or path for the default target (last value wins) (default\: \[\])]:name' \
|
|
3010
|
+
'--filter-urlpatterns[Comma-separated URL patterns to exclude from captured traffic (default\: \[\])]:patterns' \
|
|
3011
|
+
'--filter-methods[Comma-separated HTTP methods to exclude from captured traffic (default\: \[\])]:methods' \
|
|
3012
|
+
'--filter-headers[Comma-separated request header filters in header=value form (default\: \[\])]:headers' \
|
|
3013
|
+
'--command[Command to run your tests (e.g. "npx playwright test")]:cmd' \
|
|
3014
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2974
3015
|
}
|
|
2975
3016
|
|
|
2976
|
-
|
|
3017
|
+
_postman_application_test() {
|
|
2977
3018
|
_arguments \
|
|
2978
|
-
'
|
|
2979
|
-
'--
|
|
2980
|
-
'--
|
|
2981
|
-
'(
|
|
2982
|
-
'
|
|
3019
|
+
'--target[Select a target from postman.config.js targets block (default\: "default")]:name' \
|
|
3020
|
+
'--target-collection[Collection override for the selected target (repeatable) (default\: \[\])]:path:_files -g "*.json"' \
|
|
3021
|
+
'--target-environment[Environment override for the selected target (last value wins) (default\: \[\])]:path:_files -g "*.json"' \
|
|
3022
|
+
'--command[Command to run first (primary task). Overrides config.]:cmd' \
|
|
3023
|
+
'--deployed-version[Version identity of the application under test (e.g. a build ID, release tag, or version string). Also read from the APP_DEPLOYED_VERSION environment variable.]:version' \
|
|
3024
|
+
'--network-log[Directory to scan for captured artifacts, or a direct path to a Playwright JSON report / NDJSON capture file. When a directory is given, recursively discovers `*.json` Playwright reports plus their `trace.zip` attachments, and `network-capture-*.ndjson` at the top level. By default, scans Playwright config `outputDir`, test-results/, then pm-results/.]:path:_files -g "*.json"' \
|
|
3025
|
+
'--capture-only[Skip collection matching and tests; capture traffic and save a V3 collection organised by host]' \
|
|
3026
|
+
'--output[Output directory for captured collection (default\: pm-results/captured/; used with --capture-only)]:path:_files -g "*.json"' \
|
|
3027
|
+
'--force[Deprecated\: output directory is always overwritten on re-run (used with --capture-only)]' \
|
|
3028
|
+
'--report-events[Dispatch application test run results to the API Catalog and Application Inventory ingestion pipelines (on by default) (default\: true)]:boolean' \
|
|
3029
|
+
'--no-report-events[Do not dispatch run results to the API Catalog and Application Inventory ingestion pipelines]' \
|
|
3030
|
+
'--verbose[Show detailed per-request matching, sandbox errors, and debug information]' \
|
|
3031
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2983
3032
|
}
|
|
2984
3033
|
|
|
2985
|
-
|
|
3034
|
+
_postman_application_setup_capture() {
|
|
2986
3035
|
_arguments \
|
|
2987
|
-
'
|
|
2988
|
-
'--
|
|
2989
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2990
|
-
'*:requestId:'
|
|
3036
|
+
'--config[Path to playwright.config.* to patch (default\: auto-detect)]:path:_files -g "*.json"' \
|
|
3037
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
2991
3038
|
}
|
|
2992
3039
|
|
|
2993
|
-
|
|
3040
|
+
_postman_dependency() {
|
|
2994
3041
|
local context state state_descr line
|
|
2995
3042
|
typeset -A opt_args
|
|
2996
3043
|
_arguments -C \
|
|
2997
3044
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
2998
|
-
'1: :
|
|
3045
|
+
'1: :_postman_dependency_commands' \
|
|
2999
3046
|
'*::arg:->args'
|
|
3000
3047
|
case $state in
|
|
3001
3048
|
args)
|
|
3002
3049
|
case $words[1] in
|
|
3003
|
-
|
|
3050
|
+
add) _postman_dependency_add ;;
|
|
3051
|
+
get) _postman_dependency_get ;;
|
|
3052
|
+
list) _postman_dependency_list ;;
|
|
3053
|
+
install) _postman_dependency_install ;;
|
|
3054
|
+
update) _postman_dependency_update ;;
|
|
3055
|
+
remove) _postman_dependency_remove ;;
|
|
3004
3056
|
esac
|
|
3005
3057
|
;;
|
|
3006
3058
|
esac
|
|
3007
3059
|
}
|
|
3008
3060
|
|
|
3009
|
-
|
|
3061
|
+
_postman_dependency_commands() {
|
|
3010
3062
|
local -a sub
|
|
3011
3063
|
sub=(
|
|
3012
|
-
'
|
|
3064
|
+
'add:Add a Postman collection, environment, or mock as a workspace dependency.'
|
|
3065
|
+
'get:Show a declared workspace dependency from .postman/resources.yaml.'
|
|
3066
|
+
'list:List the workspace dependencies declared in .postman/resources.yaml.'
|
|
3067
|
+
'install:Materialise the dependencies declared in .postman/resources.yaml (all, or one).'
|
|
3068
|
+
'update:Refresh declared dependencies to the latest content from their source (all, or one).'
|
|
3069
|
+
'remove:Remove a workspace dependency and delete its local files.'
|
|
3013
3070
|
)
|
|
3014
|
-
_describe -t commands '
|
|
3071
|
+
_describe -t commands 'dependency command' sub
|
|
3015
3072
|
}
|
|
3016
3073
|
|
|
3017
|
-
|
|
3074
|
+
_postman_dependency_add() {
|
|
3018
3075
|
_arguments \
|
|
3019
|
-
'--
|
|
3020
|
-
'(-
|
|
3021
|
-
'--
|
|
3076
|
+
'(-w --workspace)'{-w,--workspace}'[Workspace id to resolve a name in (defaults to the current workspace).]:id' \
|
|
3077
|
+
'(-y --yes)'{-y,--yes}'[Skip all confirmation prompts.]' \
|
|
3078
|
+
'--json[Output the result as JSON.]' \
|
|
3022
3079
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3023
|
-
'*:
|
|
3080
|
+
'*:nameOrId:'
|
|
3024
3081
|
}
|
|
3025
3082
|
|
|
3026
|
-
|
|
3083
|
+
_postman_dependency_get() {
|
|
3027
3084
|
_arguments \
|
|
3028
|
-
'
|
|
3029
|
-
'--
|
|
3085
|
+
'--type[Only match dependencies of this type (collection, environment, or mock).]:type' \
|
|
3086
|
+
'--json[Output the result as JSON.]' \
|
|
3030
3087
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3031
|
-
'*:
|
|
3088
|
+
'*:nameOrId:'
|
|
3032
3089
|
}
|
|
3033
3090
|
|
|
3034
|
-
|
|
3091
|
+
_postman_dependency_list() {
|
|
3092
|
+
_arguments \
|
|
3093
|
+
'--type[Only list dependencies of this type (collection, environment, or mock).]:type' \
|
|
3094
|
+
'--json[Output the result as JSON.]' \
|
|
3095
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
3096
|
+
}
|
|
3097
|
+
|
|
3098
|
+
_postman_dependency_install() {
|
|
3099
|
+
_arguments \
|
|
3100
|
+
'--type[Only install dependencies of this type (collection, environment, or mock).]:type' \
|
|
3101
|
+
'--json[Output the result as JSON.]' \
|
|
3102
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3103
|
+
'*:nameOrId:'
|
|
3104
|
+
}
|
|
3105
|
+
|
|
3106
|
+
_postman_dependency_update() {
|
|
3107
|
+
_arguments \
|
|
3108
|
+
'--type[Only update dependencies of this type (collection, environment, or mock).]:type' \
|
|
3109
|
+
'--json[Output the result as JSON.]' \
|
|
3110
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3111
|
+
'*:nameOrId:'
|
|
3112
|
+
}
|
|
3113
|
+
|
|
3114
|
+
_postman_dependency_remove() {
|
|
3115
|
+
_arguments \
|
|
3116
|
+
'--type[Only match dependencies of this type (collection, environment, or mock).]:type' \
|
|
3117
|
+
'(-y --yes)'{-y,--yes}'[Skip the confirmation prompt (required outside an interactive terminal).]' \
|
|
3118
|
+
'--json[Output the result as JSON.]' \
|
|
3119
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3120
|
+
'*:nameOrId:'
|
|
3121
|
+
}
|
|
3122
|
+
|
|
3123
|
+
_postman_feedback() {
|
|
3124
|
+
_arguments \
|
|
3125
|
+
'--type[Feedback type\: cli_gap, improvement_suggestion, bug_report, feature_request, general (default\: general)]:type' \
|
|
3126
|
+
'--context[Command or feature context this feedback is about]:context' \
|
|
3127
|
+
'--json[Print result as machine-readable JSON]' \
|
|
3128
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3129
|
+
'*:text:'
|
|
3130
|
+
}
|
|
3131
|
+
|
|
3132
|
+
_postman_performance() {
|
|
3035
3133
|
local context state state_descr line
|
|
3036
3134
|
typeset -A opt_args
|
|
3037
3135
|
_arguments -C \
|
|
3038
3136
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3039
|
-
'1: :
|
|
3137
|
+
'1: :_postman_performance_commands' \
|
|
3040
3138
|
'*::arg:->args'
|
|
3041
3139
|
case $state in
|
|
3042
3140
|
args)
|
|
3043
3141
|
case $words[1] in
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
create) _postman_dataset_create ;;
|
|
3048
|
-
delete) _postman_dataset_delete ;;
|
|
3049
|
-
source) _postman_dataset_source ;;
|
|
3050
|
-
view) _postman_dataset_view ;;
|
|
3051
|
-
jdbc) _postman_dataset_jdbc ;;
|
|
3142
|
+
run) _postman_performance_run ;;
|
|
3143
|
+
list) _postman_performance_list ;;
|
|
3144
|
+
get) _postman_performance_get ;;
|
|
3052
3145
|
esac
|
|
3053
3146
|
;;
|
|
3054
3147
|
esac
|
|
3055
3148
|
}
|
|
3056
3149
|
|
|
3057
|
-
|
|
3150
|
+
_postman_performance_commands() {
|
|
3058
3151
|
local -a sub
|
|
3059
3152
|
sub=(
|
|
3060
|
-
'
|
|
3061
|
-
'
|
|
3062
|
-
'
|
|
3063
|
-
'create:Scaffold a new .dataset.yaml at <path>, or (no path, with -w) create a cloud dataset.'
|
|
3064
|
-
'delete:Permanently remove a dataset\: a local .dataset.yaml or a cloud dataset id.'
|
|
3065
|
-
'source:Inspect and manage a dataset'\''s datasources.'
|
|
3066
|
-
'view:Inspect and manage saved views on a dataset.'
|
|
3067
|
-
'jdbc:Inspect JDBC drivers before attaching one to a dataset.'
|
|
3153
|
+
'run:Run a performance test on a collection (cloud collection UID or local collection path)'
|
|
3154
|
+
'list:List past performance runs for a collection, newest first.'
|
|
3155
|
+
'get:Get one performance run by ID.'
|
|
3068
3156
|
)
|
|
3069
|
-
_describe -t commands '
|
|
3070
|
-
}
|
|
3071
|
-
|
|
3072
|
-
_postman_dataset_list() {
|
|
3073
|
-
_arguments \
|
|
3074
|
-
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID (cloud list)]:id' \
|
|
3075
|
-
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3076
|
-
'--json[Output as JSON instead of a table]' \
|
|
3077
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3078
|
-
'*:pathOrDir:_files -g "*.json"'
|
|
3157
|
+
_describe -t commands 'performance command' sub
|
|
3079
3158
|
}
|
|
3080
3159
|
|
|
3081
|
-
|
|
3160
|
+
_postman_performance_run() {
|
|
3082
3161
|
_arguments \
|
|
3083
|
-
'--
|
|
3084
|
-
'--
|
|
3085
|
-
'--
|
|
3086
|
-
'
|
|
3087
|
-
'
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
'(-
|
|
3093
|
-
'
|
|
3094
|
-
'
|
|
3095
|
-
'--
|
|
3096
|
-
'--
|
|
3097
|
-
'--
|
|
3162
|
+
'(-e --environment)'{-e,--environment}'[Specify an Id to a Postman Environment]:id' \
|
|
3163
|
+
'(-g --globals)'{-g,--globals}'[Specify an Id to a Postman Globals]:id' \
|
|
3164
|
+
'--setup-collection[Collection UID to run before the performance test]:id' \
|
|
3165
|
+
'--teardown-collection[Collection UID to run after the performance test]:id' \
|
|
3166
|
+
'--peak-vu[Peak (maximum) virtual users (default\: 20)]:count' \
|
|
3167
|
+
'--vu-count[Older name for --peak-vu]:count' \
|
|
3168
|
+
'--base-vu[Base (floor) virtual users the run starts from, 1 or more. Not for --load-profile fixed, which runs flat]:count' \
|
|
3169
|
+
'(-d --duration)'{-d,--duration}'[Duration of the performance test in minutes (default\: 1)]:minutes' \
|
|
3170
|
+
'(-p --load-profile)'{-p,--load-profile}'[Load profile type\: fixed, ramp-up, spike, peak (default\: "ramp-up")]:profile' \
|
|
3171
|
+
'(-s --load-segments)'{-s,--load-segments}'[Duration of each phase of the profile, comma separated, in order. ramp-up takes 2, spike 3, peak 4; fixed takes none. See the load-segment section below for which position is which phase]:durations' \
|
|
3172
|
+
'--data-file[Path to a JSON or CSV data file to use with the collection]:path:_files -g "*.json"' \
|
|
3173
|
+
'--ssl-client-cert-list[Path to a client certificates configuration file (JSON). Local runner only.]:path:_files -g "*.(pem|crt|key)"' \
|
|
3174
|
+
'--ssl-client-cert[Path to a client certificate (PEM) for mTLS targets. Local runner only.]:path:_files -g "*.(pem|crt|key)"' \
|
|
3175
|
+
'--ssl-client-key[Path to the client certificate private key. Local runner only.]:path:_files -g "*.(pem|crt|key)"' \
|
|
3176
|
+
'--ssl-client-passphrase[Client certificate passphrase (for a protected key). Local runner only.]:passphrase' \
|
|
3177
|
+
'(-k --insecure)'{-k,--insecure}'[Disable SSL certificate verification for the target. Local runner only.]' \
|
|
3178
|
+
'--ssl-extra-ca-certs[Path to additionally trusted CA certificates (PEM) for the target. Local runner only.]:path:_files -g "*.(pem|crt|key)"' \
|
|
3179
|
+
'--dataset-id[Use a Postman Dataset as iteration data (with --dataset-view-id)]:id' \
|
|
3180
|
+
'--dataset-view-id[Dataset view to execute for iteration data (requires --dataset-id)]:id' \
|
|
3181
|
+
'--dataset-distribution[How rows map to VUs\: round-robin (default), fixed, random]:strategy' \
|
|
3182
|
+
'--postman-api-key[API Key used to load the resources from the Postman API (Only supported in the US region, use '\''postman login --region'\'' to authenticate instead)]:apiKey' \
|
|
3183
|
+
'--output[Output format for live results\: auto (default, interactive dashboard) or ndjson (one JSON object per line on stdout, ending with a "summary" event — for CI or other non-interactive use) (default\: "auto")]:format' \
|
|
3184
|
+
'--runner[Runner to execute the performance test on\: local, postman-cloud, or postman-cloud-static-ip (egress from your account region'\''s static-IP cluster) (default\: local)]:runner' \
|
|
3185
|
+
'--disable-unicode[Forces Unicode compliant symbols to be replaced by their plain text equivalents]' \
|
|
3186
|
+
'--pass-if[Pass condition in format\: function(metric, value) (repeatable; all conditions must hold). Functions\: less_than, greater_than, less_than_eq, greater_than_eq. Metrics\: avg, p90, p95, p99, error_rate, rps. Example\: less_than(p95, 500)]:condition' \
|
|
3187
|
+
'--use-mock[Redirect a variable/host to a local code mock or cloud Mock Server (repeatable). Format\: "<{{var}}|host> mock|mock-server\:<path|id> \[scenario\]" (default\: \[\])]:mapping' \
|
|
3188
|
+
'--dataset[Pass --dataset multiple times to load several .dataset.yaml files (or directories containing them). Each is made available to the handlers of the local mocks started by --use-mock as pm.datasets(<id>). Local runner only. (default\: \[\])]:pathOrDir:_files -g "*.json"' \
|
|
3098
3189
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3099
|
-
'*:
|
|
3190
|
+
'*:collectionId:_files -g "*.json"'
|
|
3100
3191
|
}
|
|
3101
3192
|
|
|
3102
|
-
|
|
3193
|
+
_postman_performance_list() {
|
|
3103
3194
|
_arguments \
|
|
3104
|
-
'(-
|
|
3105
|
-
'
|
|
3106
|
-
'--
|
|
3107
|
-
'--
|
|
3108
|
-
'
|
|
3109
|
-
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3195
|
+
'(-c --collection-id)'{-c,--collection-id}'[Collection ID whose performance runs to list]:id' \
|
|
3196
|
+
'--cursor[Pagination cursor from a previous page'\''s response]:token' \
|
|
3197
|
+
'--output[Output format\: table (default) or json (default\: "table")]:format' \
|
|
3198
|
+
'--json[Alias for --output json]' \
|
|
3199
|
+
'--timeout[Milliseconds to wait for the service before failing (default\: "30000")]:ms' \
|
|
3110
3200
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3111
|
-
'*:
|
|
3201
|
+
'*:id:'
|
|
3112
3202
|
}
|
|
3113
3203
|
|
|
3114
|
-
|
|
3204
|
+
_postman_performance_get() {
|
|
3115
3205
|
_arguments \
|
|
3116
|
-
'
|
|
3117
|
-
'--
|
|
3118
|
-
'--
|
|
3206
|
+
'--output[Output format\: table (default) or json (default\: "table")]:format' \
|
|
3207
|
+
'--json[Alias for --output json]' \
|
|
3208
|
+
'--timeout[Milliseconds to wait for the service before failing (default\: "30000")]:ms' \
|
|
3119
3209
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3120
|
-
'*:
|
|
3210
|
+
'*:runId:'
|
|
3121
3211
|
}
|
|
3122
3212
|
|
|
3123
|
-
|
|
3213
|
+
_postman_secret() {
|
|
3124
3214
|
local context state state_descr line
|
|
3125
3215
|
typeset -A opt_args
|
|
3126
3216
|
_arguments -C \
|
|
3127
3217
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3128
|
-
'1: :
|
|
3218
|
+
'1: :_postman_secret_commands' \
|
|
3129
3219
|
'*::arg:->args'
|
|
3130
3220
|
case $state in
|
|
3131
3221
|
args)
|
|
3132
3222
|
case $words[1] in
|
|
3133
|
-
|
|
3134
|
-
|
|
3135
|
-
remove) _postman_dataset_source_remove ;;
|
|
3136
|
-
update) _postman_dataset_source_update ;;
|
|
3137
|
-
test) _postman_dataset_source_test ;;
|
|
3223
|
+
create) _postman_secret_create ;;
|
|
3224
|
+
list) _postman_secret_list ;;
|
|
3138
3225
|
esac
|
|
3139
3226
|
;;
|
|
3140
3227
|
esac
|
|
3141
3228
|
}
|
|
3142
3229
|
|
|
3143
|
-
|
|
3230
|
+
_postman_secret_commands() {
|
|
3144
3231
|
local -a sub
|
|
3145
3232
|
sub=(
|
|
3146
|
-
'
|
|
3147
|
-
'
|
|
3148
|
-
'remove:Remove a datasource from a dataset (local YAML path or cloud id).'
|
|
3149
|
-
'update:Update fields on an existing datasource. Only the flags you provide are changed.'
|
|
3150
|
-
'test:Open and close a real connection using a source'\''s stored configuration.'
|
|
3233
|
+
'create:Create a secret in a team'\''s shared vault.'
|
|
3234
|
+
'list:List the secrets in a workspace'\''s shared vault\: key, secret id, vault id, and allowed domains.'
|
|
3151
3235
|
)
|
|
3152
|
-
_describe -t commands '
|
|
3153
|
-
}
|
|
3154
|
-
|
|
3155
|
-
_postman_dataset_source_list() {
|
|
3156
|
-
_arguments \
|
|
3157
|
-
'(-d --dataset)'{-d,--dataset}'[Dataset whose sources to list — a local .dataset.yaml path or a cloud dataset id]:datasetPathOrId' \
|
|
3158
|
-
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3159
|
-
'--json[Output sources as JSON instead of a table]' \
|
|
3160
|
-
'(-h --help)'{-h,--help}'[display help for command]'
|
|
3161
|
-
}
|
|
3162
|
-
|
|
3163
|
-
_postman_dataset_source_add() {
|
|
3164
|
-
_arguments \
|
|
3165
|
-
'(-d --dataset)'{-d,--dataset}'[Dataset to add the source to; positional target is also accepted for v1.45 compatibility]:datasetPathOrId' \
|
|
3166
|
-
'(-n --name)'{-n,--name}'[Logical name for the source (becomes the SQL table name when it loads a file or a database --table). Required for every source except a spreadsheet, whose worksheets are each named source_<worksheet>]:name' \
|
|
3167
|
-
'--source-id[Override the generated source id (local dataset only)]:uuid' \
|
|
3168
|
-
'--format[Use this format instead of extension/type inference; file contents are not sniffed. A spreadsheet (xlsx/xls/ods) is added as one source per worksheet, each named source_<worksheet>]:csv|json|xlsx|xls|ods|jdbc|mysql|postgres|sqlserver' \
|
|
3169
|
-
'--type[Source kind; local is inferred from --file, jdbc from --driver-jar]:local|mysql|postgresql|sqlserver|jdbc' \
|
|
3170
|
-
'--file[Path to a local CSV/JSON/spreadsheet file (absolute or cwd-relative)]:path:_files -g "*.json"' \
|
|
3171
|
-
'--ref-only[Reference the file in place; do NOT copy into data_dir (local dataset)]' \
|
|
3172
|
-
'--force[When copying, overwrite an existing file at the destination (local dataset)]' \
|
|
3173
|
-
'--upload[Cloud dataset only\: upload --file as a postmancloudfile source (runs via /exec). Without --upload, --file is registered as a local_filesystem source read by the local engine. Either way a cloud dataset takes csv/json only — add a spreadsheet to a local .dataset.yaml, where each worksheet becomes its own source.]' \
|
|
3174
|
-
'--driver-jar[JDBC driver JAR(s). Repeatable, or pass several after one flag]:path...:_files -g "*.json"' \
|
|
3175
|
-
'--driver-class[Driver class. Auto-resolved when the JAR contains exactly one]:fqcn' \
|
|
3176
|
-
'--driver-name[Label for this driver type (defaults to the JAR filename)]:label' \
|
|
3177
|
-
'--url-template[JDBC URL with {{placeholders}}, e.g. jdbc\:postgresql\://{{host}}\:{{port}}/{{database}}]:template' \
|
|
3178
|
-
'--var[Value for a {{placeholder}}. Repeatable. Use vault\:<vaultId>/<secretId> for a secret. WARNING\: a literal value is visible in `ps` output and shell history, and is stored in clear text in the dataset YAML (local) or sent in the request body (cloud). Prefer a Shared Vault reference.]:name=value...' \
|
|
3179
|
-
'--prop[Driver connection property. Repeatable. Same vault\: syntax as --var]:name=value...' \
|
|
3180
|
-
'--vars-file[JSON object of --var values; "-" reads stdin. Supports {"$vaultId"\:..,"$secretId"\:..} objects, and keeps secrets out of argv entirely]:path:_files -g "*.json"' \
|
|
3181
|
-
'--from-source[Reuse another source'\''s driver JAR, class and URL template]:name' \
|
|
3182
|
-
'--java-path[Java runtime to use. Machine-local only - never written to the dataset. Also read from POSTMAN_JDBC_JAVA_PATH]:path:_files -g "*.json"' \
|
|
3183
|
-
'--no-test[Skip the pre-write connection test. Note that resolving the driver class still starts a JVM — on a machine with no Java, pass --driver-class (or --from-source) too]' \
|
|
3184
|
-
'--ssh-target-host-variable[Template variable holding the tunnelled host (inferred when omitted)]:name' \
|
|
3185
|
-
'--ssh-target-port-variable[Template variable holding the tunnelled port (inferred when omitted)]:name' \
|
|
3186
|
-
'--json[Emit the result as JSON instead of prose]' \
|
|
3187
|
-
'--host[DB host (mysql/postgresql/sqlserver)]:host' \
|
|
3188
|
-
'--port[DB port (defaults to 1433 for sqlserver)]:port' \
|
|
3189
|
-
'--user[DB user. WARNING\: a literal value is visible in `ps` output and shell history, and is stored in clear text in the dataset YAML (local) or sent in the request body (cloud). Prefer a Shared Vault reference.]:user' \
|
|
3190
|
-
'--password[DB password. WARNING\: a literal value is visible in `ps` output and shell history, and is stored in clear text in the dataset YAML (local) or sent in the request body (cloud). Prefer a Shared Vault reference.]:password' \
|
|
3191
|
-
'--database[DB database name]:db' \
|
|
3192
|
-
'--table[DB table to load (required for sqlserver). Leave it out to connect to the whole database; query it with `dataset query -s <source>` or `dataset view create -s <source>`]:table' \
|
|
3193
|
-
'--ssh-host[SSH bastion host]:host' \
|
|
3194
|
-
'--ssh-port[SSH bastion port]:port' \
|
|
3195
|
-
'--ssh-user[SSH bastion user]:user' \
|
|
3196
|
-
'--ssh-private-key[Path to the SSH private key. WARNING\: the path is visible in `ps` output and shell history; key contents are read locally at execution time and are not stored in the dataset config.]:filepath:_files -g "*.(pem|crt|key)"' \
|
|
3197
|
-
'--ssh-host-key[SSH bastion public host key]:publicKey' \
|
|
3198
|
-
'--ssh-host-key-vault-id[Shared Vault ID containing the SSH public host key]:id' \
|
|
3199
|
-
'--ssh-host-key-secret-id[Shared Vault secret ID containing the SSH public host key]:id' \
|
|
3200
|
-
'--ssh-insecure-skip-host-key-verification[WARNING\: disable SSH host-key verification; use only for trusted local testing]' \
|
|
3201
|
-
'--schema[DB schema (postgresql/sqlserver; defaults to dbo for sqlserver)]:schema' \
|
|
3202
|
-
'--encrypt[SQL Server TLS encryption (default\: true)]:true|false' \
|
|
3203
|
-
'--trust-server-certificate[SQL Server\: skip certificate verification (default\: false; insecure)]:true|false' \
|
|
3204
|
-
'--tls-certificate[SQL Server CA/server certificate file path]:path:_files -g "*.(pem|crt|key)"' \
|
|
3205
|
-
'--host-name-in-certificate[SQL Server certificate hostname override]:hostname' \
|
|
3206
|
-
'--tls-min-version[SQL Server minimum TLS version (default\: 1.2)]:1.2|1.3' \
|
|
3207
|
-
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3208
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3209
|
-
'*:datasetPathOrId:'
|
|
3210
|
-
}
|
|
3211
|
-
|
|
3212
|
-
_postman_dataset_source_remove() {
|
|
3213
|
-
_arguments \
|
|
3214
|
-
'(-d --dataset)'{-d,--dataset}'[Dataset the source belongs to — a local .dataset.yaml path or a cloud dataset id]:datasetPathOrId' \
|
|
3215
|
-
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3216
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3217
|
-
'*:sourceNameOrId:'
|
|
3236
|
+
_describe -t commands 'secret command' sub
|
|
3218
3237
|
}
|
|
3219
3238
|
|
|
3220
|
-
|
|
3239
|
+
_postman_secret_create() {
|
|
3221
3240
|
_arguments \
|
|
3222
|
-
'
|
|
3223
|
-
'(-
|
|
3224
|
-
'--
|
|
3225
|
-
'--
|
|
3226
|
-
'--
|
|
3227
|
-
'--
|
|
3228
|
-
'--driver-jar[Replace the JDBC driver JAR(s)]:path...:_files -g "*.json"' \
|
|
3229
|
-
'--driver-class[Replace the JDBC driver class]:fqcn' \
|
|
3230
|
-
'--driver-name[Rename the JDBC driver type label]:label' \
|
|
3231
|
-
'--url-template[Replace the JDBC URL template]:template' \
|
|
3232
|
-
'--var[Set a JDBC template variable. Merges onto the existing values. Use vault\:<vaultId>/<secretId> for a secret. WARNING\: a literal value is visible in `ps` output and shell history, and is stored in clear text in the dataset YAML (local) or sent in the request body (cloud). Prefer a Shared Vault reference.]:name=value...' \
|
|
3233
|
-
'--prop[Set a JDBC connection property. Merges, same vault\: syntax]:name=value...' \
|
|
3234
|
-
'--unset-var[Remove a JDBC template variable. Merging alone can never remove a key]:name...' \
|
|
3235
|
-
'--unset-prop[Remove a JDBC connection property]:name...' \
|
|
3236
|
-
'--vars-file[JSON object of --var values; "-" reads stdin]:path:_files -g "*.json"' \
|
|
3237
|
-
'--ssh-target-host-variable[Template variable holding the tunnelled host (JDBC)]:name' \
|
|
3238
|
-
'--ssh-target-port-variable[Template variable holding the tunnelled port (JDBC)]:name' \
|
|
3239
|
-
'--java-path[Java runtime for JDBC operations. Machine-local only]:path:_files -g "*.json"' \
|
|
3240
|
-
'--host[Update DB host (mysql/postgresql/sqlserver)]:host' \
|
|
3241
|
-
'--port[Update DB port]:port' \
|
|
3242
|
-
'--user[Update DB user. WARNING\: a literal value is visible in `ps` output and shell history, and is stored in clear text in the dataset YAML (local) or sent in the request body (cloud). Prefer a Shared Vault reference.]:user' \
|
|
3243
|
-
'--password[Update DB password. WARNING\: a literal value is visible in `ps` output and shell history, and is stored in clear text in the dataset YAML (local) or sent in the request body (cloud). Prefer a Shared Vault reference.]:password' \
|
|
3244
|
-
'--database[Update DB database name]:db' \
|
|
3245
|
-
'--table[Update the DB table to load. A source without a table connects to the whole database; query it with `dataset query -s <source>` or `dataset view create -s <source>`]:table' \
|
|
3246
|
-
'--ssh-host[Update SSH bastion host]:host' \
|
|
3247
|
-
'--ssh-port[Update SSH bastion port]:port' \
|
|
3248
|
-
'--ssh-user[Update SSH bastion user]:user' \
|
|
3249
|
-
'--ssh-private-key[Update the SSH private-key file path. WARNING\: the path is visible in `ps` output and shell history; key contents are read locally and are not stored in the dataset config.]:filepath:_files -g "*.(pem|crt|key)"' \
|
|
3250
|
-
'--ssh-host-key[Update the SSH bastion public host key]:publicKey' \
|
|
3251
|
-
'--ssh-host-key-vault-id[Update the Shared Vault ID containing the SSH public host key]:id' \
|
|
3252
|
-
'--ssh-host-key-secret-id[Update the Shared Vault secret ID containing the SSH public host key]:id' \
|
|
3253
|
-
'--ssh-insecure-skip-host-key-verification[WARNING\: disable SSH host-key verification; use only for trusted local testing]' \
|
|
3254
|
-
'--schema[Update DB schema (postgresql/sqlserver)]:schema' \
|
|
3255
|
-
'--encrypt[Update SQL Server TLS encryption]:true|false' \
|
|
3256
|
-
'--trust-server-certificate[Update SQL Server certificate verification (true is insecure)]:true|false' \
|
|
3257
|
-
'--tls-certificate[Update SQL Server CA/server certificate file path]:path:_files -g "*.(pem|crt|key)"' \
|
|
3258
|
-
'--host-name-in-certificate[Update SQL Server certificate hostname override]:hostname' \
|
|
3259
|
-
'--tls-min-version[Update SQL Server minimum TLS version]:1.2|1.3' \
|
|
3260
|
-
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3261
|
-
'--json[Emit the result as JSON instead of prose]' \
|
|
3241
|
+
'--team-id[Team id (defaults to your authenticated profile'\''s team; must be your own team — the vault rejects any other team id, even one you otherwise have access to)]:id' \
|
|
3242
|
+
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID (falls back to .postman/resources.yaml or .postman/config.json)]:workspaceId' \
|
|
3243
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
3244
|
+
'--terminal[Enter one secret value through the terminal instead of the default browser form]' \
|
|
3245
|
+
'--value-stdin[Read the secret value from stdin instead of prompting; implies --terminal]' \
|
|
3246
|
+
'--timeout[Seconds to wait for the browser form (default 300)]:seconds' \
|
|
3262
3247
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3263
|
-
'*:
|
|
3248
|
+
'*:keys...:_files -g "*.json"'
|
|
3264
3249
|
}
|
|
3265
3250
|
|
|
3266
|
-
|
|
3251
|
+
_postman_secret_list() {
|
|
3267
3252
|
_arguments \
|
|
3268
|
-
'(-
|
|
3269
|
-
'
|
|
3270
|
-
'--
|
|
3271
|
-
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3272
|
-
'--json[Emit the result as JSON instead of prose]' \
|
|
3253
|
+
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID (falls back to .postman/resources.yaml or .postman/config.json)]:workspaceId' \
|
|
3254
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
3255
|
+
'--json[Print the list as machine-readable JSON.]' \
|
|
3273
3256
|
'(-h --help)'{-h,--help}'[display help for command]'
|
|
3274
3257
|
}
|
|
3275
3258
|
|
|
3276
|
-
|
|
3259
|
+
_postman_simulation() {
|
|
3277
3260
|
local context state state_descr line
|
|
3278
3261
|
typeset -A opt_args
|
|
3279
3262
|
_arguments -C \
|
|
3280
3263
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3281
|
-
'1: :
|
|
3264
|
+
'1: :_postman_simulation_commands' \
|
|
3282
3265
|
'*::arg:->args'
|
|
3283
3266
|
case $state in
|
|
3284
3267
|
args)
|
|
3285
3268
|
case $words[1] in
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3269
|
+
create) _postman_simulation_create ;;
|
|
3270
|
+
list) _postman_simulation_list ;;
|
|
3271
|
+
get) _postman_simulation_get ;;
|
|
3272
|
+
run) _postman_simulation_run ;;
|
|
3273
|
+
push) _postman_simulation_push ;;
|
|
3274
|
+
deploy) _postman_simulation_deploy ;;
|
|
3275
|
+
update) _postman_simulation_update ;;
|
|
3276
|
+
log) _postman_simulation_log ;;
|
|
3277
|
+
delete) _postman_simulation_delete ;;
|
|
3291
3278
|
esac
|
|
3292
3279
|
;;
|
|
3293
3280
|
esac
|
|
3294
3281
|
}
|
|
3295
3282
|
|
|
3296
|
-
|
|
3283
|
+
_postman_simulation_commands() {
|
|
3297
3284
|
local -a sub
|
|
3298
3285
|
sub=(
|
|
3299
|
-
'
|
|
3300
|
-
'
|
|
3301
|
-
'
|
|
3302
|
-
'
|
|
3303
|
-
'
|
|
3286
|
+
'create:Create a simulation that serves several mocks behind one address'
|
|
3287
|
+
'list:List the simulations in your repository or Postman cloud workspace'
|
|
3288
|
+
'get:Show a simulation'\''s details using its .sim.yaml path if it lives in your repository, or its id if it lives in Postman cloud.'
|
|
3289
|
+
'run:Serve a simulation'\''s mocks on one local port, routing each by its routeKey. Pass a .sim.yaml path (local) or a Postman simulation id (fetched and run locally).'
|
|
3290
|
+
'push:Upload a simulation from your repository to Postman cloud (creates it the first time, updates it after). Its member mocks are pushed too.'
|
|
3291
|
+
'deploy:Turn a simulation in Postman cloud into a live mock server others can call over the internet.'
|
|
3292
|
+
'update:Change a simulation in place — rename it, switch routing, add mocks, or change a member'\''s address. Pass a .sim.yaml path (repository) or a Postman simulation id (cloud).'
|
|
3293
|
+
'log:Show the requests a deployed simulation has received and the responses it sent, using its mock server id.'
|
|
3294
|
+
'delete:Delete a simulation using its .sim.yaml path if it lives in your repository, or its id if it lives in Postman cloud. Cannot be undone.'
|
|
3304
3295
|
)
|
|
3305
|
-
_describe -t commands '
|
|
3296
|
+
_describe -t commands 'simulation command' sub
|
|
3306
3297
|
}
|
|
3307
3298
|
|
|
3308
|
-
|
|
3299
|
+
_postman_simulation_create() {
|
|
3309
3300
|
_arguments \
|
|
3310
|
-
'(-
|
|
3311
|
-
'--
|
|
3312
|
-
'--
|
|
3301
|
+
'(-n --name)'{-n,--name}'[Name for the simulation]:name' \
|
|
3302
|
+
'--mock[A mock to include (repeatable). Use a local mock path to build the simulation in your repository, or a Postman mock id to create it in Postman cloud. Set its address with <mockIdOrPath>=<routeKey>. (default\: \[\])]:mockIdOrPath:_files -g "*.json"' \
|
|
3303
|
+
'--routing[How callers reach each mock\: header or path (default path)]:header|path' \
|
|
3304
|
+
'(-o --output)'{-o,--output}'[Where to save the simulation file in your repository, a file or folder (defaults to postman/simulations)]:path:_files -g "*.json"' \
|
|
3305
|
+
'--force[Overwrite the simulation file if it already exists]' \
|
|
3306
|
+
'(-w --workspace)'{-w,--workspace}'[Postman cloud workspace to create the simulation in, by id (defaults to the workspace already linked to this project)]:id' \
|
|
3307
|
+
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3313
3308
|
'(-h --help)'{-h,--help}'[display help for command]'
|
|
3314
3309
|
}
|
|
3315
3310
|
|
|
3316
|
-
|
|
3311
|
+
_postman_simulation_list() {
|
|
3312
|
+
_arguments \
|
|
3313
|
+
'(-w --workspace)'{-w,--workspace}'[Postman cloud workspace whose simulations to list, by id (defaults to the workspace already linked to this project)]:id' \
|
|
3314
|
+
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3315
|
+
'--json[Print the list as machine-readable data instead of a table]' \
|
|
3316
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3317
|
+
'*:pathOrDir:_files -g "*.json"'
|
|
3318
|
+
}
|
|
3319
|
+
|
|
3320
|
+
_postman_simulation_get() {
|
|
3321
|
+
_arguments \
|
|
3322
|
+
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3323
|
+
'--json[Print the details as machine-readable data instead of a table]' \
|
|
3324
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3325
|
+
'*:simIdOrPath:'
|
|
3326
|
+
}
|
|
3327
|
+
|
|
3328
|
+
_postman_simulation_run() {
|
|
3329
|
+
_arguments \
|
|
3330
|
+
'(-e --environment)'{-e,--environment}'[Path to a file of environment variables for the mocks (relative or absolute)]:path:_files -g "*.json"' \
|
|
3331
|
+
'(-g --globals)'{-g,--globals}'[Path to a file of global variables for the mocks (relative or absolute)]:path:_files -g "*.json"' \
|
|
3332
|
+
'(-p --port)'{-p,--port}'[Port to serve on (e.g. 4010), or "auto" for a free one (default 3000)]:port' \
|
|
3333
|
+
'--dataset[Dataset file or folder to load for pm.datasets (repeatable) (default\: \[\])]:pathOrDir:_files -g "*.json"' \
|
|
3334
|
+
'(-w --workspace)'{-w,--workspace}'[Workspace for recording start history. Derived from a simulation id or the linked project; needed only for an unlinked .sim.yaml path.]:id' \
|
|
3335
|
+
'--simulation[Simulation id to record start history against for a .sim.yaml path (a local file has only a name). Not needed when running by simulation id, or when the file is linked to a cloud simulation (via workspace push).]:id' \
|
|
3336
|
+
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3337
|
+
'--no-history[Do not record this run in the simulation'\''s start history]' \
|
|
3338
|
+
'--output[Live output format\: auto (default, human-readable logs) or ndjson (one JSON event per line on stdout, ending with a "summary" event — for CI or other non-interactive use) (default\: "auto")]:format' \
|
|
3339
|
+
'--proxy[Serve the mocks behind a local HTTP(S) forward proxy instead of one routed port, so a repo under test can point HTTP_PROXY/HTTPS_PROXY at it and reach each mock by hostname without code changes. Requires a simulation.yaml (routing config), not a .sim.yaml.]' \
|
|
3340
|
+
'--proxy-port[Port for the proxy server. Distinct from --port, which is the one-port run'\''s own port. (default\: 7001)]:n' \
|
|
3341
|
+
'--scenario[Scenario each mock serves, sent as both pm-mock-scenario and x-mock-scenario. (default\: "default")]:name' \
|
|
3342
|
+
'--session[Session id to select via the x-mock-session header (default\: a generated id).]:id' \
|
|
3343
|
+
'--log-format[Proxy request log format\: text or json. (default\: "text")]:format' \
|
|
3344
|
+
'--log-body[Also log each response body (truncated). Buffers full responses in memory; meant for temporary debugging, not left on by default.]' \
|
|
3345
|
+
'--doctor[Start the proxy, probe each available HTTP client (fetch/undici/axios/node-fetch) to confirm it honors HTTP_PROXY/HTTPS_PROXY, then exit.]' \
|
|
3346
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3347
|
+
'*:simIdOrPath:'
|
|
3348
|
+
}
|
|
3349
|
+
|
|
3350
|
+
_postman_simulation_push() {
|
|
3351
|
+
_arguments \
|
|
3352
|
+
'(-w --workspace)'{-w,--workspace}'[Postman cloud workspace to upload to, by id (defaults to the workspace already linked to this project)]:id' \
|
|
3353
|
+
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3354
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3355
|
+
'*:simPath:'
|
|
3356
|
+
}
|
|
3357
|
+
|
|
3358
|
+
_postman_simulation_deploy() {
|
|
3317
3359
|
_arguments \
|
|
3318
|
-
'(-
|
|
3319
|
-
'(-
|
|
3320
|
-
'--
|
|
3321
|
-
'--
|
|
3322
|
-
'--
|
|
3360
|
+
'(-w --workspace)'{-w,--workspace}'[Postman cloud workspace that will own the server, by id (defaults to the workspace already linked to this project)]:id' \
|
|
3361
|
+
'(-n --name)'{-n,--name}'[Name for the mock server (you are asked for one if you skip this)]:name' \
|
|
3362
|
+
'(-s --slug)'{-s,--slug}'[Short label used in the server'\''s web address, e.g. "my-sim" (you are asked for one if you skip this)]:slug' \
|
|
3363
|
+
'--private[Require a Postman API key to reach the server. Public by default.]' \
|
|
3364
|
+
'(-y --yes)'{-y,--yes}'[Use the defaults and skip all questions (public)]' \
|
|
3365
|
+
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3323
3366
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3324
|
-
'*:
|
|
3367
|
+
'*:simId:'
|
|
3325
3368
|
}
|
|
3326
3369
|
|
|
3327
|
-
|
|
3370
|
+
_postman_simulation_update() {
|
|
3328
3371
|
_arguments \
|
|
3329
|
-
'(-
|
|
3330
|
-
'
|
|
3331
|
-
'
|
|
3332
|
-
'
|
|
3333
|
-
'--
|
|
3334
|
-
'--json[
|
|
3335
|
-
'--
|
|
3336
|
-
'
|
|
3372
|
+
'(-n --name)'{-n,--name}'[Rename the simulation]:name' \
|
|
3373
|
+
'--routing[Switch routing\: header or path]:header|path' \
|
|
3374
|
+
'--add-mock[Attach a mock (repeatable). A local mock path for a repository simulation, a Postman mock id for a cloud one. Set its address with <mockIdOrPath>=<routeKey>. (default\: \[\])]:mockIdOrPath:_files -g "*.json"' \
|
|
3375
|
+
'--route-key[Change a member mock'\''s address (repeatable), e.g. ./postman/mocks/payments=payments (default\: \[\])]:mockIdOrPath=routeKey:_files -g "*.(pem|crt|key)"' \
|
|
3376
|
+
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3377
|
+
'--json[Print the update as machine-readable data instead of a table]' \
|
|
3378
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3379
|
+
'*:simIdOrPath:'
|
|
3337
3380
|
}
|
|
3338
3381
|
|
|
3339
|
-
|
|
3382
|
+
_postman_simulation_log() {
|
|
3340
3383
|
_arguments \
|
|
3341
|
-
'
|
|
3342
|
-
'--
|
|
3384
|
+
'--mock[Show only requests served by this member (by routeKey). Repeat the flag for several members (default\: \[\])]:routeKey' \
|
|
3385
|
+
'--limit[Most entries to show (defaults to 50 when printing machine-readable output)]:n' \
|
|
3386
|
+
'--method[Show only requests of this type (e.g. GET, POST)]:method' \
|
|
3387
|
+
'--status[Show only these response codes (e.g. 404, or 5xx for any 500-series)]:code|range' \
|
|
3388
|
+
'--path[Show only requests to matching addresses (use * and ? as wildcards, e.g. /users/*)]:pattern' \
|
|
3389
|
+
'--since[Show entries from this long ago until now (e.g. 2h = the last 2 hours)]:duration' \
|
|
3390
|
+
'--until[Hide entries newer than this (e.g. 30m = skip the most recent 30 minutes)]:duration' \
|
|
3391
|
+
'--api-key[Postman API key (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3392
|
+
'--json[Print entries as machine-readable data instead of the scrollable view]' \
|
|
3343
3393
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3344
|
-
'*:
|
|
3394
|
+
'*:mockServerId:_files -g "*.json"'
|
|
3345
3395
|
}
|
|
3346
3396
|
|
|
3347
|
-
|
|
3397
|
+
_postman_simulation_delete() {
|
|
3348
3398
|
_arguments \
|
|
3349
|
-
'(-
|
|
3350
|
-
'
|
|
3351
|
-
'(-q --query)'{-q,--query}'[New SQL query]:sql' \
|
|
3352
|
-
'--api-key[Postman API key (defaults to the `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3399
|
+
'(-y --yes)'{-y,--yes}'[Delete without asking for confirmation first]' \
|
|
3400
|
+
'--api-key[Postman API key, used with a Postman cloud id (defaults to your `postman login` session)]:key:_files -g "*.(pem|crt|key)"' \
|
|
3353
3401
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3354
|
-
'*:
|
|
3402
|
+
'*:simIdOrPath:'
|
|
3355
3403
|
}
|
|
3356
3404
|
|
|
3357
|
-
|
|
3405
|
+
_postman_team() {
|
|
3358
3406
|
local context state state_descr line
|
|
3359
3407
|
typeset -A opt_args
|
|
3360
3408
|
_arguments -C \
|
|
3361
3409
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3362
|
-
'1: :
|
|
3410
|
+
'1: :_postman_team_commands' \
|
|
3363
3411
|
'*::arg:->args'
|
|
3364
3412
|
case $state in
|
|
3365
3413
|
args)
|
|
3366
3414
|
case $words[1] in
|
|
3367
|
-
|
|
3415
|
+
list) _postman_team_list ;;
|
|
3368
3416
|
esac
|
|
3369
3417
|
;;
|
|
3370
3418
|
esac
|
|
3371
3419
|
}
|
|
3372
3420
|
|
|
3373
|
-
|
|
3421
|
+
_postman_team_commands() {
|
|
3374
3422
|
local -a sub
|
|
3375
3423
|
sub=(
|
|
3376
|
-
'
|
|
3424
|
+
'list:List the teams inside your organisation.'
|
|
3377
3425
|
)
|
|
3378
|
-
_describe -t commands '
|
|
3426
|
+
_describe -t commands 'team command' sub
|
|
3379
3427
|
}
|
|
3380
3428
|
|
|
3381
|
-
|
|
3429
|
+
_postman_team_list() {
|
|
3382
3430
|
_arguments \
|
|
3383
|
-
'--
|
|
3384
|
-
'--
|
|
3385
|
-
'--
|
|
3386
|
-
'--
|
|
3387
|
-
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3388
|
-
'*:jar...:'
|
|
3431
|
+
'--can-create-workspace[Only list teams you could create a workspace in.]' \
|
|
3432
|
+
'--json[Print the list as machine-readable JSON.]' \
|
|
3433
|
+
'--timeout[Abort the run after this many milliseconds. Defaults to 30000.]:ms' \
|
|
3434
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
3389
3435
|
}
|
|
3390
3436
|
|
|
3391
|
-
|
|
3437
|
+
_postman_update() {
|
|
3438
|
+
_arguments \
|
|
3439
|
+
'--check[Check whether a Postman CLI update is available.]' \
|
|
3440
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
3441
|
+
}
|
|
3442
|
+
|
|
3443
|
+
_postman_webhook() {
|
|
3392
3444
|
local context state state_descr line
|
|
3393
3445
|
typeset -A opt_args
|
|
3394
3446
|
_arguments -C \
|
|
3395
3447
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3396
|
-
'1: :
|
|
3448
|
+
'1: :_postman_webhook_commands' \
|
|
3397
3449
|
'*::arg:->args'
|
|
3398
3450
|
case $state in
|
|
3399
3451
|
args)
|
|
3400
3452
|
case $words[1] in
|
|
3401
|
-
|
|
3402
|
-
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3453
|
+
create) _postman_webhook_create ;;
|
|
3454
|
+
start) _postman_webhook_start ;;
|
|
3455
|
+
pause) _postman_webhook_pause ;;
|
|
3456
|
+
list) _postman_webhook_list ;;
|
|
3457
|
+
delete) _postman_webhook_delete ;;
|
|
3458
|
+
status) _postman_webhook_status ;;
|
|
3459
|
+
requests) _postman_webhook_requests ;;
|
|
3460
|
+
scripts) _postman_webhook_scripts ;;
|
|
3461
|
+
forward) _postman_webhook_forward ;;
|
|
3407
3462
|
esac
|
|
3408
3463
|
;;
|
|
3409
3464
|
esac
|
|
3410
3465
|
}
|
|
3411
3466
|
|
|
3412
|
-
|
|
3467
|
+
_postman_webhook_commands() {
|
|
3413
3468
|
local -a sub
|
|
3414
3469
|
sub=(
|
|
3415
|
-
'
|
|
3416
|
-
'
|
|
3417
|
-
'
|
|
3418
|
-
'
|
|
3419
|
-
'
|
|
3420
|
-
'
|
|
3470
|
+
'create:Create a new webhook and print its public URL.'
|
|
3471
|
+
'start:Activate a webhook so it can receive requests.'
|
|
3472
|
+
'pause:Pause a webhook so it no longer accepts requests.'
|
|
3473
|
+
'list:List all webhooks in a workspace.'
|
|
3474
|
+
'delete:Permanently delete a webhook.'
|
|
3475
|
+
'status:Show details for a webhook.'
|
|
3476
|
+
'requests:List, inspect, and replay requests received by a webhook.'
|
|
3477
|
+
'scripts:Create or update scripts executed by a webhook.'
|
|
3478
|
+
'forward:Forward incoming webhook requests to a local port.'
|
|
3421
3479
|
)
|
|
3422
|
-
_describe -t commands '
|
|
3480
|
+
_describe -t commands 'webhook command' sub
|
|
3423
3481
|
}
|
|
3424
3482
|
|
|
3425
|
-
|
|
3483
|
+
_postman_webhook_create() {
|
|
3426
3484
|
_arguments \
|
|
3427
|
-
'(-
|
|
3428
|
-
'(-
|
|
3429
|
-
'--
|
|
3485
|
+
'(-t --title)'{-t,--title}'[Name for the webhook (default\: "CLI Webhook")]:title' \
|
|
3486
|
+
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID (falls back to .postman/resources.yaml or .postman/config.json)]:workspaceId' \
|
|
3487
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
3488
|
+
'(-h --help)'{-h,--help}'[display help for command]'
|
|
3489
|
+
}
|
|
3490
|
+
|
|
3491
|
+
_postman_webhook_start() {
|
|
3492
|
+
_arguments \
|
|
3493
|
+
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID]:workspaceId' \
|
|
3494
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
3430
3495
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3431
|
-
'*:
|
|
3496
|
+
'*:webhookIdOrUrl:'
|
|
3432
3497
|
}
|
|
3433
3498
|
|
|
3434
|
-
|
|
3499
|
+
_postman_webhook_pause() {
|
|
3435
3500
|
_arguments \
|
|
3436
|
-
'--
|
|
3437
|
-
'--
|
|
3501
|
+
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID]:workspaceId' \
|
|
3502
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
3438
3503
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3439
|
-
'*:
|
|
3504
|
+
'*:webhookIdOrUrl:'
|
|
3440
3505
|
}
|
|
3441
3506
|
|
|
3442
|
-
|
|
3507
|
+
_postman_webhook_list() {
|
|
3443
3508
|
_arguments \
|
|
3444
|
-
'--
|
|
3445
|
-
'--
|
|
3509
|
+
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID (falls back to .postman/resources.yaml or .postman/config.json)]:workspaceId' \
|
|
3510
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
3446
3511
|
'(-h --help)'{-h,--help}'[display help for command]'
|
|
3447
3512
|
}
|
|
3448
3513
|
|
|
3449
|
-
|
|
3514
|
+
_postman_webhook_delete() {
|
|
3450
3515
|
_arguments \
|
|
3451
|
-
'--
|
|
3452
|
-
'--
|
|
3516
|
+
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID]:workspaceId' \
|
|
3517
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
3453
3518
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3454
|
-
'*:
|
|
3519
|
+
'*:webhookId:'
|
|
3455
3520
|
}
|
|
3456
3521
|
|
|
3457
|
-
|
|
3522
|
+
_postman_webhook_status() {
|
|
3458
3523
|
_arguments \
|
|
3459
|
-
'--
|
|
3460
|
-
'--
|
|
3524
|
+
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID]:workspaceId' \
|
|
3525
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
3461
3526
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3462
|
-
'*:
|
|
3527
|
+
'*:webhookId:'
|
|
3463
3528
|
}
|
|
3464
3529
|
|
|
3465
|
-
|
|
3530
|
+
_postman_webhook_requests() {
|
|
3531
|
+
local context state state_descr line
|
|
3532
|
+
typeset -A opt_args
|
|
3533
|
+
_arguments -C \
|
|
3534
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3535
|
+
'1: :_postman_webhook_requests_commands' \
|
|
3536
|
+
'*::arg:->args'
|
|
3537
|
+
case $state in
|
|
3538
|
+
args)
|
|
3539
|
+
case $words[1] in
|
|
3540
|
+
list) _postman_webhook_requests_list ;;
|
|
3541
|
+
describe) _postman_webhook_requests_describe ;;
|
|
3542
|
+
replay) _postman_webhook_requests_replay ;;
|
|
3543
|
+
esac
|
|
3544
|
+
;;
|
|
3545
|
+
esac
|
|
3546
|
+
}
|
|
3547
|
+
|
|
3548
|
+
_postman_webhook_requests_commands() {
|
|
3549
|
+
local -a sub
|
|
3550
|
+
sub=(
|
|
3551
|
+
'list:List recent requests received by a webhook.'
|
|
3552
|
+
'describe:Show details for a request received by a webhook.'
|
|
3553
|
+
'replay:Replay a request received by a webhook.'
|
|
3554
|
+
)
|
|
3555
|
+
_describe -t commands 'requests command' sub
|
|
3556
|
+
}
|
|
3557
|
+
|
|
3558
|
+
_postman_webhook_requests_list() {
|
|
3466
3559
|
_arguments \
|
|
3467
|
-
'--
|
|
3468
|
-
'
|
|
3469
|
-
'--
|
|
3560
|
+
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID (falls back to .postman/resources.yaml or .postman/config.json)]:workspaceId' \
|
|
3561
|
+
'--cursor[Pagination cursor returned by a previous request list response]:cursor' \
|
|
3562
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
3470
3563
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3471
|
-
'*:
|
|
3564
|
+
'*:webhookId:'
|
|
3472
3565
|
}
|
|
3473
3566
|
|
|
3474
|
-
|
|
3567
|
+
_postman_webhook_requests_describe() {
|
|
3568
|
+
_arguments \
|
|
3569
|
+
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID (falls back to .postman/resources.yaml or .postman/config.json)]:workspaceId' \
|
|
3570
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
3571
|
+
'--verbose[Show script execution logs]' \
|
|
3572
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3573
|
+
'*:requestId:'
|
|
3574
|
+
}
|
|
3575
|
+
|
|
3576
|
+
_postman_webhook_requests_replay() {
|
|
3577
|
+
_arguments \
|
|
3578
|
+
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID (falls back to .postman/resources.yaml or .postman/config.json)]:workspaceId' \
|
|
3579
|
+
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
3580
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3581
|
+
'*:requestId:'
|
|
3582
|
+
}
|
|
3583
|
+
|
|
3584
|
+
_postman_webhook_scripts() {
|
|
3475
3585
|
local context state state_descr line
|
|
3476
3586
|
typeset -A opt_args
|
|
3477
3587
|
_arguments -C \
|
|
3478
3588
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3479
|
-
'1: :
|
|
3589
|
+
'1: :_postman_webhook_scripts_commands' \
|
|
3480
3590
|
'*::arg:->args'
|
|
3481
3591
|
case $state in
|
|
3482
3592
|
args)
|
|
3483
3593
|
case $words[1] in
|
|
3484
|
-
|
|
3485
|
-
list) _postman_secret_list ;;
|
|
3594
|
+
set) _postman_webhook_scripts_set ;;
|
|
3486
3595
|
esac
|
|
3487
3596
|
;;
|
|
3488
3597
|
esac
|
|
3489
3598
|
}
|
|
3490
3599
|
|
|
3491
|
-
|
|
3600
|
+
_postman_webhook_scripts_commands() {
|
|
3492
3601
|
local -a sub
|
|
3493
3602
|
sub=(
|
|
3494
|
-
'
|
|
3495
|
-
'list:List the secrets in a workspace'\''s shared vault\: key, secret id, vault id, and allowed domains.'
|
|
3603
|
+
'set:Create or update a webhook script from a JavaScript or TypeScript file.'
|
|
3496
3604
|
)
|
|
3497
|
-
_describe -t commands '
|
|
3605
|
+
_describe -t commands 'scripts command' sub
|
|
3498
3606
|
}
|
|
3499
3607
|
|
|
3500
|
-
|
|
3608
|
+
_postman_webhook_scripts_set() {
|
|
3501
3609
|
_arguments \
|
|
3502
|
-
'--
|
|
3610
|
+
'--event[Script event\: onEvent or onResponse]:event' \
|
|
3503
3611
|
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID (falls back to .postman/resources.yaml or .postman/config.json)]:workspaceId' \
|
|
3504
3612
|
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
3505
|
-
'--terminal[Enter one secret value through the terminal instead of the default browser form]' \
|
|
3506
|
-
'--value-stdin[Read the secret value from stdin instead of prompting; implies --terminal]' \
|
|
3507
|
-
'--timeout[Seconds to wait for the browser form (default 300)]:seconds' \
|
|
3508
3613
|
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3509
|
-
'*:
|
|
3614
|
+
'*:scriptPath:'
|
|
3510
3615
|
}
|
|
3511
3616
|
|
|
3512
|
-
|
|
3617
|
+
_postman_webhook_forward() {
|
|
3513
3618
|
_arguments \
|
|
3514
|
-
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID
|
|
3619
|
+
'(-w --workspace)'{-w,--workspace}'[Postman workspace ID]:workspaceId' \
|
|
3515
3620
|
'--api-key[Postman API key]:key:_files -g "*.(pem|crt|key)"' \
|
|
3516
|
-
'--
|
|
3517
|
-
'
|
|
3621
|
+
'(-h --help)'{-h,--help}'[display help for command]' \
|
|
3622
|
+
'*:port:'
|
|
3518
3623
|
}
|
|
3519
3624
|
|
|
3520
3625
|
# When loaded via fpath + compinit, the file body becomes the function body of
|