@salesforce/plugin-deploy-retrieve 3.3.1 → 3.5.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.
Files changed (53) hide show
  1. package/README.md +1530 -2
  2. package/lib/commands/project/convert/mdapi.js +3 -2
  3. package/lib/commands/project/convert/mdapi.js.map +1 -1
  4. package/lib/commands/project/convert/source.js +4 -2
  5. package/lib/commands/project/convert/source.js.map +1 -1
  6. package/lib/commands/project/delete/source.d.ts +1 -15
  7. package/lib/commands/project/delete/source.js +130 -173
  8. package/lib/commands/project/delete/source.js.map +1 -1
  9. package/lib/commands/project/deploy/cancel.d.ts +1 -0
  10. package/lib/commands/project/deploy/cancel.js +11 -1
  11. package/lib/commands/project/deploy/cancel.js.map +1 -1
  12. package/lib/commands/project/generate/manifest.js +1 -0
  13. package/lib/commands/project/generate/manifest.js.map +1 -1
  14. package/lib/commands/project/retrieve/start.js +11 -2
  15. package/lib/commands/project/retrieve/start.js.map +1 -1
  16. package/lib/formatters/deleteResultFormatter.js +4 -9
  17. package/lib/formatters/deleteResultFormatter.js.map +1 -1
  18. package/lib/formatters/deployResultFormatter.d.ts +6 -3
  19. package/lib/formatters/deployResultFormatter.js +28 -20
  20. package/lib/formatters/deployResultFormatter.js.map +1 -1
  21. package/lib/formatters/metadataRetrieveResultFormatter.js +2 -2
  22. package/lib/formatters/metadataRetrieveResultFormatter.js.map +1 -1
  23. package/lib/formatters/retrieveResultFormatter.js +7 -3
  24. package/lib/formatters/retrieveResultFormatter.js.map +1 -1
  25. package/lib/utils/conflicts.js +4 -3
  26. package/lib/utils/conflicts.js.map +1 -1
  27. package/lib/utils/deploy.js +8 -3
  28. package/lib/utils/deploy.js.map +1 -1
  29. package/lib/utils/manifestCache.d.ts +2 -2
  30. package/lib/utils/manifestCache.js +4 -2
  31. package/lib/utils/manifestCache.js.map +1 -1
  32. package/lib/utils/metadataTypes.d.ts +7 -0
  33. package/lib/utils/metadataTypes.js +14 -0
  34. package/lib/utils/metadataTypes.js.map +1 -0
  35. package/lib/utils/output.d.ts +5 -4
  36. package/lib/utils/output.js +16 -15
  37. package/lib/utils/output.js.map +1 -1
  38. package/lib/utils/previewOutput.js +7 -7
  39. package/lib/utils/previewOutput.js.map +1 -1
  40. package/lib/utils/types.d.ts +1 -0
  41. package/lib/utils/types.js +1 -0
  42. package/lib/utils/types.js.map +1 -1
  43. package/npm-shrinkwrap.json +9924 -14761
  44. package/oclif.lock +1024 -3192
  45. package/oclif.manifest.json +436 -426
  46. package/package.json +15 -16
  47. package/schemas/project-delete-source.json +8 -8
  48. package/schemas/project-deploy-cancel.json +8 -8
  49. package/schemas/project-deploy-quick.json +8 -8
  50. package/schemas/project-deploy-report.json +8 -8
  51. package/schemas/project-deploy-resume.json +8 -8
  52. package/schemas/project-deploy-start.json +8 -8
  53. package/schemas/project-deploy-validate.json +8 -8
package/README.md CHANGED
@@ -62,8 +62,1536 @@ sf plugins
62
62
 
63
63
  <!-- commands -->
64
64
 
65
- # Command Topics
65
+ - [`sf project convert mdapi`](#sf-project-convert-mdapi)
66
+ - [`sf project convert source`](#sf-project-convert-source)
67
+ - [`sf project delete source`](#sf-project-delete-source)
68
+ - [`sf project delete tracking`](#sf-project-delete-tracking)
69
+ - [`sf project deploy cancel`](#sf-project-deploy-cancel)
70
+ - [`sf project deploy preview`](#sf-project-deploy-preview)
71
+ - [`sf project deploy quick`](#sf-project-deploy-quick)
72
+ - [`sf project deploy report`](#sf-project-deploy-report)
73
+ - [`sf project deploy resume`](#sf-project-deploy-resume)
74
+ - [`sf project deploy start`](#sf-project-deploy-start)
75
+ - [`sf project deploy validate`](#sf-project-deploy-validate)
76
+ - [`sf project generate manifest`](#sf-project-generate-manifest)
77
+ - [`sf project list ignored`](#sf-project-list-ignored)
78
+ - [`sf project reset tracking`](#sf-project-reset-tracking)
79
+ - [`sf project retrieve preview`](#sf-project-retrieve-preview)
80
+ - [`sf project retrieve start`](#sf-project-retrieve-start)
66
81
 
67
- - [`sf project`](docs/project.md)
82
+ ## `sf project convert mdapi`
83
+
84
+ Convert metadata retrieved via Metadata API into the source format used in Salesforce DX projects.
85
+
86
+ ```
87
+ USAGE
88
+ $ sf project convert mdapi -r <value> [--json] [--flags-dir <value>] [--api-version <value>] [-d <value>] [-p <value> |
89
+ -x <value> | -m <value>]
90
+
91
+ FLAGS
92
+ -d, --output-dir=<value> Directory to store your files in after they’re converted to source format; can be an
93
+ absolute or relative path.
94
+ -m, --metadata=<value>... Metadata component names to convert.
95
+ -p, --metadata-dir=<value>... Root of directory or zip file of metadata formatted files to convert.
96
+ -r, --root-dir=<value> (required) Root directory that contains the Metadata API–formatted metadata.
97
+ -x, --manifest=<value> File path to manifest (package.xml) of metadata types to convert.
98
+ --api-version=<value> Override the api version used for api requests made by this command
99
+
100
+ GLOBAL FLAGS
101
+ --flags-dir=<value> Import flag values from a directory.
102
+ --json Format output as json.
103
+
104
+ DESCRIPTION
105
+ Convert metadata retrieved via Metadata API into the source format used in Salesforce DX projects.
106
+
107
+ To use Salesforce CLI to work with components that you retrieved via Metadata API, first convert your files from the
108
+ metadata format to the source format using this command.
109
+
110
+ To convert files from the source format back to the metadata format, run "sf project convert source".
111
+
112
+ To convert multiple metadata components, either set multiple --metadata <name> flags or a single --metadata flag with
113
+ multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax
114
+ applies to --manifest and --source-dir.
115
+
116
+ ALIASES
117
+ $ sf force mdapi convert
118
+
119
+ EXAMPLES
120
+ Convert metadata formatted files in the specified directory into source formatted files; writes converted files to
121
+ your default package directory:
122
+
123
+ $ sf project convert mdapi --root-dir path/to/metadata
124
+
125
+ Similar to previous example, but writes converted files to the specified output directory:
126
+
127
+ $ sf project convert mdapi --root-dir path/to/metadata --output-dir path/to/outputdir
128
+
129
+ FLAG DESCRIPTIONS
130
+ -p, --metadata-dir=<value>... Root of directory or zip file of metadata formatted files to convert.
131
+
132
+ The supplied paths can be to a single file (in which case the operation is applied to only one file) or to a folder
133
+ (in which case the operation is applied to all metadata types in the directory and its sub-directories).
134
+
135
+ If you specify this flag, don’t specify --manifest or --metadata. If the comma-separated list you’re supplying
136
+ contains spaces, enclose the entire comma-separated list in one set of double quotes.
137
+
138
+ -x, --manifest=<value> File path to manifest (package.xml) of metadata types to convert.
139
+
140
+ If you specify this parameter, don’t specify --metadata or --source-dir.
141
+ ```
142
+
143
+ _See code: [src/commands/project/convert/mdapi.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/convert/mdapi.ts)_
144
+
145
+ ## `sf project convert source`
146
+
147
+ Convert source-formatted files into metadata that you can deploy using Metadata API.
148
+
149
+ ```
150
+ USAGE
151
+ $ sf project convert source [--json] [--flags-dir <value>] [--api-version <value>] [-r <value>] [-d <value>] [-n <value>]
152
+ [-p <value> | -x <value> | -m <value>]
153
+
154
+ FLAGS
155
+ -d, --output-dir=<value> [default: metadataPackage_1711729438620] Output directory to store the Metadata
156
+ API–formatted files in.
157
+ -m, --metadata=<value>... Metadata component names to convert.
158
+ -n, --package-name=<value> Name of the package to associate with the metadata-formatted files.
159
+ -p, --source-dir=<value>... Paths to the local source files to convert.
160
+ -r, --root-dir=<value> Source directory other than the default package to convert.
161
+ -x, --manifest=<value> Path to the manifest (package.xml) file that specifies the metadata types to convert.
162
+ --api-version=<value> API Version to use in the generated project's manifest. By default, will use the version
163
+ from sfdx-project.json
164
+
165
+ GLOBAL FLAGS
166
+ --flags-dir=<value> Import flag values from a directory.
167
+ --json Format output as json.
168
+
169
+ DESCRIPTION
170
+ Convert source-formatted files into metadata that you can deploy using Metadata API.
171
+
172
+ To convert source-formatted files into the metadata format, so that you can deploy them using Metadata API, run this
173
+ command. Then deploy the metadata using "sf project deploy".
174
+
175
+ To convert Metadata API–formatted files into the source format, run "sf project convert mdapi".
176
+
177
+ To specify a package name that includes spaces, enclose the name in single quotes.
178
+
179
+ To convert multiple components, either set multiple --metadata <name> flags or a single --metadata flag with multiple
180
+ names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax applies to
181
+ --manifest and --source-dir.
182
+
183
+ ALIASES
184
+ $ sf force source convert
185
+
186
+ EXAMPLES
187
+ Convert source-formatted files in the specified directory into metadata-formatted files; writes converted files into
188
+ a new directory:
189
+
190
+ $ sf project convert source --root-dir path/to/source
191
+
192
+ Similar to previous example, but writes converted files to the specified output directory and associates the files
193
+ with the specified package:
194
+
195
+ $ sf project convert source --root-dir path/to/source --output-dir path/to/outputdir --package-name 'My Package'
196
+
197
+ FLAG DESCRIPTIONS
198
+ -p, --source-dir=<value>... Paths to the local source files to convert.
199
+
200
+ The supplied paths can be to a single file (in which case the operation is applied to only one file) or to a folder
201
+ (in which case the operation is applied to all metadata types in the directory and its sub-directories).
202
+
203
+ If you specify this parameter, don’t specify --manifest or --metadata.
204
+
205
+ -x, --manifest=<value> Path to the manifest (package.xml) file that specifies the metadata types to convert.
206
+
207
+ If you specify this parameter, don’t specify --metadata or --source-dir.
208
+
209
+ --api-version=<value>
210
+
211
+ API Version to use in the generated project's manifest. By default, will use the version from sfdx-project.json
212
+
213
+ Override the api version used for api requests made by this command
214
+ ```
215
+
216
+ _See code: [src/commands/project/convert/source.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/convert/source.ts)_
217
+
218
+ ## `sf project delete source`
219
+
220
+ Delete source from your project and from a non-source-tracked org.
221
+
222
+ ```
223
+ USAGE
224
+ $ sf project delete source -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-w <value>] [--tests
225
+ <value>] [-l NoTestRun|RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg] [-r] [-m <value>] [-p <value>] [-f [-t |
226
+ -c]] [--verbose]
227
+
228
+ FLAGS
229
+ -c, --check-only Validate delete command but don't delete anything from the org or the local project.
230
+ -f, --force-overwrite Ignore conflict warnings and overwrite changes to the org.
231
+ -m, --metadata=<value>... Metadata components to delete.
232
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
233
+ configuration variable is already set.
234
+ -p, --source-dir=<value>... Source file paths to delete.
235
+ -r, --no-prompt Don't prompt for delete confirmation.
236
+ -t, --track-source If the delete succeeds, update the source tracking information.
237
+ -w, --wait=<value> Number of minutes to wait for the command to finish.
238
+ --api-version=<value> Override the api version used for api requests made by this command
239
+ --verbose Verbose output of the delete result.
240
+
241
+ TEST FLAGS
242
+ -l, --test-level=<option> Deployment Apex testing level.
243
+ <options: NoTestRun|RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg>
244
+ --tests=<value>... Apex tests to run when --test-level is RunSpecifiedTests.
245
+
246
+ GLOBAL FLAGS
247
+ --flags-dir=<value> Import flag values from a directory.
248
+ --json Format output as json.
249
+
250
+ DESCRIPTION
251
+ Delete source from your project and from a non-source-tracked org.
252
+
253
+ Use this command to delete components from orgs that don’t have source tracking. To remove deleted items from orgs
254
+ that have source tracking enabled, "sf project deploy start".
255
+
256
+ When you run this command, both the local source file and the metadata component in the org are deleted.
257
+
258
+ To delete multiple metadata components, either set multiple --metadata <name> flags or a single --metadata flag with
259
+ multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax
260
+ applies to --manifest and --source-dir.
261
+
262
+ ALIASES
263
+ $ sf force source delete
264
+
265
+ EXAMPLES
266
+ Delete all local Apex source files and all Apex classes from the org with alias "my-scratch":
267
+
268
+ $ sf project delete source --metadata ApexClass --target-org my-scratch
269
+
270
+ Delete a specific Apex class and a Profile that has a space in it from your default org; don't prompt for
271
+ confirmation:
272
+
273
+ $ sf project delete source --metadata ApexClass:MyFabulousApexClass --metadata "Profile: My Profile" --no-prompt
274
+
275
+ Run the tests that aren’t in any managed packages as part of the deletion; if the delete succeeds, and the org has
276
+ source-tracking enabled, update the source tracking information:
277
+
278
+ $ sf project delete source --metadata ApexClass --test-level RunLocalTests --track-source
279
+
280
+ Delete the Apex source files in a directory and the corresponding components from your default org:
281
+
282
+ $ sf project delete source --source-dir force-app/main/default/classes
283
+
284
+ FLAG DESCRIPTIONS
285
+ -c, --check-only Validate delete command but don't delete anything from the org or the local project.
286
+
287
+ IMPORTANT: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained
288
+ certain terms to avoid any effect on customer implementations.
289
+
290
+ Validates the deleted metadata and runs all Apex tests, but prevents the deletion from being saved to the org.
291
+
292
+ If you change a field type from Master-Detail to Lookup or vice versa, that change isn’t supported when using the
293
+ --chec-konly parameter to test a deletion (validation). This kind of change isn’t supported for test deletions to
294
+ avoid the risk of data loss or corruption. If a change that isn’t supported for test deletions is included in a
295
+ deletion package, the test deletion fails and issues an error.
296
+
297
+ If your deletion package changes a field type from Master-Detail to Lookup or vice versa, you can still validate the
298
+ changes prior to deploying to Production by performing a full deletion to another test Sandbox. A full deletion
299
+ includes a validation of the changes as part of the deletion process.
300
+
301
+ Note: A Metadata API deletion that includes Master-Detail relationships deletes all detail records in the Recycle
302
+ Bin in the following cases.
303
+
304
+ 1. For a deletion with a new Master-Detail field, soft delete (send to the Recycle Bin) all detail records before
305
+ proceeding to delete the Master-Detail field, or the deletion fails. During the deletion, detail records are
306
+ permanently deleted from the Recycle Bin and cannot be recovered.
307
+
308
+ 2. For a deletion that converts a Lookup field relationship to a Master-Detail relationship, detail records must
309
+ reference a master record or be soft-deleted (sent to the Recycle Bin) for the deletion to succeed. However, a
310
+ successful deletion permanently deletes any detail records in the Recycle Bin.
311
+
312
+ -l, --test-level=NoTestRun|RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg Deployment Apex testing level.
313
+
314
+ Valid values are:
315
+
316
+ - NoTestRun — No tests are run. This test level applies only to deployments to development environments, such as
317
+ sandbox, Developer Edition, or trial orgs. This test level is the default for development environments.
318
+
319
+ - RunSpecifiedTests — Runs only the tests that you specify with the --tests flag. Code coverage requirements differ
320
+ from the default coverage requirements when using this test level. Executed tests must comprise a minimum of 75%
321
+ code coverage for each class and trigger in the deployment package. This coverage is computed for each class and
322
+ trigger individually and is different than the overall coverage percentage.
323
+
324
+ - RunLocalTests — All tests in your org are run, except the ones that originate from installed managed and unlocked
325
+ packages. This test level is the default for production deployments that include Apex classes or triggers.
326
+
327
+ - RunAllTestsInOrg — All tests in your org are run, including tests of managed packages.
328
+
329
+ If you don’t specify a test level, the default behavior depends on the contents of your deployment package and
330
+ target org. For more information, see “Running Tests in a Deployment” in the Metadata API Developer Guide.
331
+
332
+ -m, --metadata=<value>... Metadata components to delete.
333
+
334
+ If you specify this parameter, don’t specify --source-dir.
335
+
336
+ -p, --source-dir=<value>... Source file paths to delete.
337
+
338
+ The supplied paths can be a single file (in which case the operation is applied to only one file) or a folder (in
339
+ which case the operation is applied to all metadata types in the directory and its sub-directories).
340
+
341
+ If you specify this parameter, don’t specify --metadata.
342
+
343
+ -w, --wait=<value> Number of minutes to wait for the command to finish.
344
+
345
+ If the command continues to run after the wait period, the CLI returns control of the terminal window to you.
346
+
347
+ --tests=<value>... Apex tests to run when --test-level is RunSpecifiedTests.
348
+
349
+ If a test name contains a space, enclose it in double quotes.
350
+ For multiple test names, use one of the following formats:
351
+
352
+ - Repeat the flag for multiple test names: --tests Test1 --tests Test2 --tests "Test With Space"
353
+ - Separate the test names with spaces: --tests Test1 Test2 "Test With Space"
354
+ ```
355
+
356
+ _See code: [src/commands/project/delete/source.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/delete/source.ts)_
357
+
358
+ ## `sf project delete tracking`
359
+
360
+ Delete all local source tracking information.
361
+
362
+ ```
363
+ USAGE
364
+ $ sf project delete tracking -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-p]
365
+
366
+ FLAGS
367
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
368
+ configuration variable is already set.
369
+ -p, --no-prompt Don't prompt for source tracking override confirmation.
370
+ --api-version=<value> Override the api version used for api requests made by this command
371
+
372
+ GLOBAL FLAGS
373
+ --flags-dir=<value> Import flag values from a directory.
374
+ --json Format output as json.
375
+
376
+ DESCRIPTION
377
+ Delete all local source tracking information.
378
+
379
+ WARNING: This command deletes or overwrites all existing source tracking files. Use with extreme caution.
380
+
381
+ Deletes all local source tracking information. When you next run 'project deploy preview', Salesforce CLI displays all
382
+ local and remote files as changed, and any files with the same name are listed as conflicts.
383
+
384
+ ALIASES
385
+ $ sf force source tracking clear
386
+
387
+ EXAMPLES
388
+ Delete local source tracking for the org with alias "my-scratch":
389
+
390
+ $ sf project delete tracking --target-org my-scratch
391
+ ```
392
+
393
+ _See code: [src/commands/project/delete/tracking.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/delete/tracking.ts)_
394
+
395
+ ## `sf project deploy cancel`
396
+
397
+ Cancel a deploy operation.
398
+
399
+ ```
400
+ USAGE
401
+ $ sf project deploy cancel [--json] [--flags-dir <value>] [-o <value>] [--async | -w <value>] [-i <value>] [-r]
402
+
403
+ FLAGS
404
+ -i, --job-id=<value> Job ID of the deploy operation you want to cancel.
405
+ -o, --target-org=<value> Login username or alias for the target org.
406
+ -r, --use-most-recent Use the job ID of the most recent deploy operation.
407
+ -w, --wait=<minutes> Number of minutes to wait for the command to complete and display results.
408
+ --async Run the command asynchronously.
409
+
410
+ GLOBAL FLAGS
411
+ --flags-dir=<value> Import flag values from a directory.
412
+ --json Format output as json.
413
+
414
+ DESCRIPTION
415
+ Cancel a deploy operation.
416
+
417
+ Use this command to cancel a deploy operation that hasn't yet completed in the org. Deploy operations include standard
418
+ deploys, quick deploys, deploy validations, and deploy cancellations.
419
+
420
+ Run this command by either passing it a job ID or specifying the --use-most-recent flag to use the job ID of the most
421
+ recent deploy operation.
422
+
423
+ ALIASES
424
+ $ sf deploy metadata cancel
425
+
426
+ EXAMPLES
427
+ Cancel a deploy operation using a job ID:
428
+
429
+ $ sf project deploy cancel --job-id 0Af0x000017yLUFCA2
430
+
431
+ Cancel the most recent deploy operation:
432
+
433
+ $ sf project deploy cancel --use-most-recent
434
+
435
+ FLAG DESCRIPTIONS
436
+ -i, --job-id=<value> Job ID of the deploy operation you want to cancel.
437
+
438
+ These commands return a job ID if they time out or you specified the --async flag:
439
+
440
+ - sf project deploy start
441
+ - sf project deploy validate
442
+ - sf project deploy quick
443
+ - sf project deploy cancel
444
+
445
+ The job ID is valid for 10 days from when you started the deploy operation.
446
+
447
+ -o, --target-org=<value> Login username or alias for the target org.
448
+
449
+ Overrides your default org.
450
+
451
+ -r, --use-most-recent Use the job ID of the most recent deploy operation.
452
+
453
+ For performance reasons, this flag uses job IDs for deploy operations that started only in the past 3 days or less.
454
+ If your most recent deploy operations was more than 3 days ago, this flag won't find a job ID.
455
+
456
+ -w, --wait=<minutes> Number of minutes to wait for the command to complete and display results.
457
+
458
+ If the command continues to run after the wait period, the CLI returns control of the terminal window to you. To
459
+ resume watching the cancellation, run "sf project deploy resume". To check the status of the cancellation, run "sf
460
+ project deploy report".
461
+
462
+ --async Run the command asynchronously.
463
+
464
+ The command immediately returns the control of the terminal to you. This way, you can continue to use the CLI. To
465
+ resume watching the cancellation, run "sf project deploy resume". To check the status of the cancellation, run "sf
466
+ project deploy report".
467
+ ```
468
+
469
+ _See code: [src/commands/project/deploy/cancel.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/deploy/cancel.ts)_
470
+
471
+ ## `sf project deploy preview`
472
+
473
+ Preview a deployment to see what will deploy to the org, the potential conflicts, and the ignored files.
474
+
475
+ ```
476
+ USAGE
477
+ $ sf project deploy preview -o <value> [--json] [--flags-dir <value>] [-c] [-x <value> | -d <value> | -m <value>]
478
+ [--concise]
479
+
480
+ FLAGS
481
+ -c, --ignore-conflicts Don't display conflicts in preview of the deployment.
482
+ -d, --source-dir=<value>... Path to the local source files to preview.
483
+ -m, --metadata=<value>... Metadata component names to preview.
484
+ -o, --target-org=<value> (required) Login username or alias for the target org.
485
+ -x, --manifest=<value> Full file path for manifest (package.xml) of components to preview.
486
+ --concise Show only the changes that will be deployed; omits files that are forceignored.
487
+
488
+ GLOBAL FLAGS
489
+ --flags-dir=<value> Import flag values from a directory.
490
+ --json Format output as json.
491
+
492
+ DESCRIPTION
493
+ Preview a deployment to see what will deploy to the org, the potential conflicts, and the ignored files.
494
+
495
+ You must run this command from within a project.
496
+
497
+ The command outputs a table that describes what will happen if you run the "sf project deploy start" command. The
498
+ table lists the metadata components that will be deployed and deleted. The table also lists the current conflicts
499
+ between files in your local project and components in the org. Finally, the table lists the files that won't be
500
+ deployed because they're included in your .forceignore file.
501
+
502
+ If your org allows source tracking, then this command displays potential conflicts between the org and your local
503
+ project. Some orgs, such as production org, never allow source tracking. Source tracking is enabled by default on
504
+ scratch and sandbox orgs; you can disable source tracking when you create the orgs by specifying the --no-track-source
505
+ flag on the "sf org create scratch|sandbox" commands.
506
+
507
+ To preview the deployment of multiple metadata components, either set multiple --metadata <name> flags or a single
508
+ --metadata flag with multiple names separated by spaces. Enclose names that contain spaces in one set of double
509
+ quotes. The same syntax applies to --manifest and --source-dir.
510
+
511
+ ALIASES
512
+ $ sf deploy metadata preview
513
+
514
+ EXAMPLES
515
+ NOTE: The commands to preview a deployment and actually deploy it use similar flags. We provide a few preview examples here, but see the help for "sf project deploy start" for more examples that you can adapt for previewing.
516
+
517
+ Preview the deployment of source files in a directory, such as force-app, to your default org:
518
+
519
+ $ sf project deploy preview --source-dir force-app
520
+
521
+ Preview the deployment of all Apex classes to an org with alias "my-scratch":
522
+
523
+ $ sf project deploy preview --metadata ApexClass --target-org my-scratch
524
+
525
+ Preview deployment of a specific Apex class:
526
+
527
+ $ sf project deploy preview --metadata ApexClass:MyApexClass
528
+
529
+ Preview deployment of all components listed in a manifest:
530
+
531
+ $ sf project deploy preview --manifest path/to/package.xml
532
+
533
+ FLAG DESCRIPTIONS
534
+ -c, --ignore-conflicts Don't display conflicts in preview of the deployment.
535
+
536
+ This flag applies only to orgs that allow source tracking. It has no effect on orgs that don't allow it, such as
537
+ production orgs.
538
+
539
+ -d, --source-dir=<value>... Path to the local source files to preview.
540
+
541
+ The supplied path can be to a single file (in which case the operation is applied to only one file) or to a folder
542
+ (in which case the operation is applied to all metadata types in the directory and its subdirectories).
543
+
544
+ If you specify this flag, don’t specify --metadata or --manifest.
545
+
546
+ -o, --target-org=<value> Login username or alias for the target org.
547
+
548
+ Overrides your default org.
549
+
550
+ -x, --manifest=<value> Full file path for manifest (package.xml) of components to preview.
551
+
552
+ All child components are included. If you specify this flag, don’t specify --metadata or --source-dir.
553
+ ```
554
+
555
+ _See code: [src/commands/project/deploy/preview.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/deploy/preview.ts)_
556
+
557
+ ## `sf project deploy quick`
558
+
559
+ Quickly deploy a validated deployment to an org.
560
+
561
+ ```
562
+ USAGE
563
+ $ sf project deploy quick [--json] [--flags-dir <value>] [--async | -w <value>] [--concise | --verbose] [-i <value>] [-o
564
+ <value>] [-r] [-a <value>]
565
+
566
+ FLAGS
567
+ -a, --api-version=<value> Target API version for the deploy.
568
+ -i, --job-id=<value> Job ID of the deployment you want to quick deploy.
569
+ -o, --target-org=<value> Login username or alias for the target org.
570
+ -r, --use-most-recent Use the job ID of the most recently validated deployment.
571
+ -w, --wait=<minutes> [default: 33 minutes] Number of minutes to wait for the command to complete and display
572
+ results.
573
+ --async Run the command asynchronously.
574
+ --concise Show concise output of the deploy result.
575
+ --verbose Show verbose output of the deploy result.
576
+
577
+ GLOBAL FLAGS
578
+ --flags-dir=<value> Import flag values from a directory.
579
+ --json Format output as json.
580
+
581
+ DESCRIPTION
582
+ Quickly deploy a validated deployment to an org.
583
+
584
+ Before you run this command, first create a validated deployment with the "sf project deploy validate" command, which
585
+ returns a job ID. Validated deployments haven't been deployed to the org yet; you deploy them with this command.
586
+ Either pass the job ID to this command or use the --use-most-recent flag to use the job ID of the most recently
587
+ validated deployment. For the quick deploy to succeed, the associated validated deployment must also have succeeded.
588
+
589
+ Executing this quick deploy command takes less time than a standard deploy because it skips running Apex tests. These
590
+ tests were previously run as part of the validation. Validating first and then running a quick deploy is useful if the
591
+ deployment to your production org take several hours and you don’t want to risk a failed deploy.
592
+
593
+ This command doesn't support source-tracking. The source you deploy overwrites the corresponding metadata in your org.
594
+ This command doesn’t attempt to merge your source with the versions in your org.
595
+
596
+ Note: Don't use this command on sandboxes; the command is intended to be used on production orgs. By default,
597
+ sandboxes don't run tests during a deploy. Use `sf project deploy start` instead.
598
+
599
+ ALIASES
600
+ $ sf deploy metadata quick
601
+
602
+ EXAMPLES
603
+ Run a quick deploy to your default org using a job ID:
604
+
605
+ $ sf project deploy quick --job-id 0Af0x000017yLUFCA2
606
+
607
+ Asynchronously run a quick deploy of the most recently validated deployment to an org with alias "my-prod-org":
608
+
609
+ $ sf project deploy quick --async --use-most-recent --target-org my-prod-org
610
+
611
+ FLAG DESCRIPTIONS
612
+ -a, --api-version=<value> Target API version for the deploy.
613
+
614
+ Use this flag to override the default API version with the API version of your package.xml file. The default API
615
+ version is the latest version supported by the CLI.
616
+
617
+ -i, --job-id=<value> Job ID of the deployment you want to quick deploy.
618
+
619
+ The job ID is valid for 10 days from when you started the validation.
620
+
621
+ -o, --target-org=<value> Login username or alias for the target org.
622
+
623
+ Overrides your default org.
624
+
625
+ -r, --use-most-recent Use the job ID of the most recently validated deployment.
626
+
627
+ For performance reasons, this flag uses only job IDs that were validated in the past 3 days or less. If your most
628
+ recent deployment validation was more than 3 days ago, this flag won't find a job ID.
629
+
630
+ -w, --wait=<minutes> Number of minutes to wait for the command to complete and display results.
631
+
632
+ If the command continues to run after the wait period, the CLI returns control of the terminal window to you. To
633
+ resume watching the deploy, run "sf project deploy resume". To check the status of the deploy, run "sf project
634
+ deploy report".
635
+
636
+ --async Run the command asynchronously.
637
+
638
+ The command immediately returns the control of the terminal to you. This way, you can continue to use the CLI. To
639
+ resume watching the deploy, run "sf project deploy resume". To check the status of the deploy, run "sf project
640
+ deploy report".
641
+ ```
642
+
643
+ _See code: [src/commands/project/deploy/quick.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/deploy/quick.ts)_
644
+
645
+ ## `sf project deploy report`
646
+
647
+ Check or poll for the status of a deploy operation.
648
+
649
+ ```
650
+ USAGE
651
+ $ sf project deploy report [--json] [--flags-dir <value>] [-o <value>] [-i <value>] [-r] [--coverage-formatters
652
+ clover|cobertura|html-spa|html|json|json-summary|lcovonly|none|teamcity|text|text-summary] [--junit] [--results-dir
653
+ <value>] [-w <value>]
654
+
655
+ FLAGS
656
+ -i, --job-id=<value> Job ID of the deploy operation you want to check the status of.
657
+ -o, --target-org=<value> Login username or alias for the target org.
658
+ -r, --use-most-recent Use the job ID of the most recent deploy operation.
659
+ -w, --wait=<minutes> Number of minutes to wait for command to complete and display results.
660
+
661
+ TEST FLAGS
662
+ --coverage-formatters=<option>... Format of the code coverage results.
663
+ <options: clover|cobertura|html-spa|html|json|json-summary|lcovonly|none|teamcity|t
664
+ ext|text-summary>
665
+ --junit Output JUnit test results.
666
+ --results-dir=<value> Output directory for code coverage and JUnit results; defaults to the deploy ID.
667
+
668
+ GLOBAL FLAGS
669
+ --flags-dir=<value> Import flag values from a directory.
670
+ --json Format output as json.
671
+
672
+ DESCRIPTION
673
+ Check or poll for the status of a deploy operation.
674
+
675
+ Deploy operations include standard deploys, quick deploys, deploy validations, and deploy cancellations.
676
+
677
+ Run this command by either passing it a job ID or specifying the --use-most-recent flag to use the job ID of the most
678
+ recent deploy operation. If you specify the --wait flag, the command polls for the status every second until the
679
+ timeout of --wait minutes. If you don't specify the --wait flag, the command simply checks and displays the status of
680
+ the deploy; the command doesn't poll for the status.
681
+
682
+ You typically don't specify the --target-org flag because the cached job already references the org to which you
683
+ deployed. But if you run this command on a computer different than the one from which you deployed, then you must
684
+ specify the --target-org and it must point to the same org.
685
+
686
+ This command doesn't update source tracking information.
687
+
688
+ ALIASES
689
+ $ sf deploy metadata report
690
+
691
+ EXAMPLES
692
+ Check the status using a job ID:
693
+
694
+ $ sf project deploy report --job-id 0Af0x000017yLUFCA2
695
+
696
+ Check the status of the most recent deploy operation:
697
+
698
+ $ sf project deploy report --use-most-recent
699
+
700
+ Poll for the status using a job ID and target org:
701
+
702
+ $ sf project deploy report --job-id 0Af0x000017yLUFCA2 --target-org me@my.org --wait 30
703
+
704
+ FLAG DESCRIPTIONS
705
+ -i, --job-id=<value> Job ID of the deploy operation you want to check the status of.
706
+
707
+ These commands return a job ID if they time out or you specified the --async flag:
708
+
709
+ - sf project deploy start
710
+ - sf project deploy validate
711
+ - sf project deploy quick
712
+ - sf project deploy cancel
713
+
714
+ The job ID is valid for 10 days from when you started the deploy operation.
715
+
716
+ -o, --target-org=<value> Login username or alias for the target org.
717
+
718
+ Overrides your default org.
719
+
720
+ -r, --use-most-recent Use the job ID of the most recent deploy operation.
721
+
722
+ For performance reasons, this flag uses job IDs for deploy operations that started only in the past 3 days or less.
723
+ If your most recent operation was more than 3 days ago, this flag won't find a job ID.
724
+
725
+ -w, --wait=<minutes> Number of minutes to wait for command to complete and display results.
726
+
727
+ If the command continues to run after the wait period, the CLI returns control of the terminal window to you and
728
+ returns the job ID. To resume the deployment, run "sf project deploy resume". To check the status of the deployment,
729
+ run "sf project deploy report".
730
+
731
+ --coverage-formatters=clover|cobertura|html-spa|html|json|json-summary|lcovonly|none|teamcity|text|text-summary...
732
+
733
+ Format of the code coverage results.
734
+
735
+ For multiple formatters, repeat the flag for each formatter.
736
+ --coverage-formatters lcov --coverage-formatters clover
737
+ ```
738
+
739
+ _See code: [src/commands/project/deploy/report.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/deploy/report.ts)_
740
+
741
+ ## `sf project deploy resume`
742
+
743
+ Resume watching a deploy operation and update source tracking when the deploy completes.
744
+
745
+ ```
746
+ USAGE
747
+ $ sf project deploy resume [--json] [--flags-dir <value>] [--concise | --verbose] [-i <value>] [-r] [-w <value>]
748
+ [--coverage-formatters clover|cobertura|html-spa|html|json|json-summary|lcovonly|none|teamcity|text|text-summary]
749
+ [--junit] [--results-dir <value>]
750
+
751
+ FLAGS
752
+ -i, --job-id=<value> Job ID of the deploy operation you want to resume.
753
+ -r, --use-most-recent Use the job ID of the most recent deploy operation.
754
+ -w, --wait=<minutes> Number of minutes to wait for the command to complete and display results.
755
+ --concise Show concise output of the deploy operation result.
756
+ --verbose Show verbose output of the deploy operation result.
757
+
758
+ TEST FLAGS
759
+ --coverage-formatters=<option>... Format of the code coverage results.
760
+ <options: clover|cobertura|html-spa|html|json|json-summary|lcovonly|none|teamcity|t
761
+ ext|text-summary>
762
+ --junit Output JUnit test results.
763
+ --results-dir=<value> Output directory for code coverage and JUnit results; defaults to the deploy ID.
764
+
765
+ GLOBAL FLAGS
766
+ --flags-dir=<value> Import flag values from a directory.
767
+ --json Format output as json.
768
+
769
+ DESCRIPTION
770
+ Resume watching a deploy operation and update source tracking when the deploy completes.
771
+
772
+ Use this command to resume watching a deploy operation if the original command times out or you specified the --async
773
+ flag. Deploy operations include standard deploys, quick deploys, deploy validations, and deploy cancellations. This
774
+ command doesn't resume the original operation itself, because the operation always continues after you've started it,
775
+ regardless of whether you're watching it or not. When the deploy completes, source tracking information is updated as
776
+ needed.
777
+
778
+ Run this command by either passing it a job ID or specifying the --use-most-recent flag to use the job ID of the most
779
+ recent deploy operation.
780
+
781
+ ALIASES
782
+ $ sf deploy metadata resume
783
+
784
+ EXAMPLES
785
+ Resume watching a deploy operation using a job ID:
786
+
787
+ $ sf project deploy resume --job-id 0Af0x000017yLUFCA2
788
+
789
+ Resume watching the most recent deploy operation:
790
+
791
+ $ sf project deploy resume --use-most-recent
792
+
793
+ FLAG DESCRIPTIONS
794
+ -i, --job-id=<value> Job ID of the deploy operation you want to resume.
795
+
796
+ These commands return a job ID if they time out or you specified the --async flag:
797
+
798
+ - sf project deploy start
799
+ - sf project deploy validate
800
+ - sf project deploy quick
801
+ - sf project deploy cancel
802
+
803
+ The job ID is valid for 10 days from when you started the deploy operation.
804
+
805
+ -r, --use-most-recent Use the job ID of the most recent deploy operation.
806
+
807
+ For performance reasons, this flag uses job IDs for deploy operations that started only in the past 3 days or less.
808
+ If your most recent operation was more than 3 days ago, this flag won't find a job ID.
809
+
810
+ -w, --wait=<minutes> Number of minutes to wait for the command to complete and display results.
811
+
812
+ If the command continues to run after the wait period, the CLI returns control of the terminal window to you. To
813
+ resume watching the deploy operation, run this command again. To check the status of the deploy operation, run "sf
814
+ project deploy report".
815
+
816
+ --coverage-formatters=clover|cobertura|html-spa|html|json|json-summary|lcovonly|none|teamcity|text|text-summary...
817
+
818
+ Format of the code coverage results.
819
+
820
+ For multiple formatters, repeat the flag for each formatter.
821
+ --coverage-formatters lcov --coverage-formatters clover
822
+ ```
823
+
824
+ _See code: [src/commands/project/deploy/resume.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/deploy/resume.ts)_
825
+
826
+ ## `sf project deploy start`
827
+
828
+ Deploy metadata to an org from your local project.
829
+
830
+ ```
831
+ USAGE
832
+ $ sf project deploy start -o <value> [--json] [--flags-dir <value>] [-a <value>] [--async | -w <value>] [--concise |
833
+ --verbose] [--dry-run] [-c] [-r] [-g] [--single-package ] [-t <value>] [-l
834
+ NoTestRun|RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg] [--purge-on-delete [-x <value> | -d <value> | -m <value>
835
+ | --metadata-dir <value>]] [--pre-destructive-changes <value> ] [--post-destructive-changes <value> ]
836
+ [--coverage-formatters clover|cobertura|html-spa|html|json|json-summary|lcovonly|none|teamcity|text|text-summary]
837
+ [--junit] [--results-dir <value>]
838
+
839
+ FLAGS
840
+ -a, --api-version=<value> Target API version for the deploy.
841
+ -c, --ignore-conflicts Ignore conflicts and deploy local files, even if they overwrite changes in the org.
842
+ -g, --ignore-warnings Ignore warnings and allow a deployment to complete successfully.
843
+ -o, --target-org=<value> (required) Login username or alias for the target org.
844
+ -r, --ignore-errors Ignore any errors and don’t roll back deployment.
845
+ -w, --wait=<minutes> Number of minutes to wait for command to complete and display results.
846
+ --async Run the command asynchronously.
847
+ --concise Show concise output of the deploy result.
848
+ --dry-run Validate deploy and run Apex tests but don’t save to the org.
849
+ --verbose Show verbose output of the deploy result.
850
+
851
+ SOURCE FORMAT FLAGS
852
+ -d, --source-dir=<value>... Path to the local source files to deploy.
853
+ -m, --metadata=<value>... Metadata component names to deploy. Wildcards (`*` ) supported as long as you use quotes,
854
+ such as `ApexClass:MyClass*`.
855
+ -x, --manifest=<value> Full file path for manifest (package.xml) of components to deploy.
856
+
857
+ TEST FLAGS
858
+ -l, --test-level=<option> Deployment Apex testing level.
859
+ <options: NoTestRun|RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg>
860
+ -t, --tests=<value>... Apex tests to run when --test-level is RunSpecifiedTests.
861
+ --coverage-formatters=<option>... Format of the code coverage results.
862
+ <options: clover|cobertura|html-spa|html|json|json-summary|lcovonly|none|teamci
863
+ ty|text|text-summary>
864
+ --junit Output JUnit test results.
865
+ --results-dir=<value> Output directory for code coverage and JUnit results; defaults to the deploy
866
+ ID.
867
+
868
+ GLOBAL FLAGS
869
+ --flags-dir=<value> Import flag values from a directory.
870
+ --json Format output as json.
871
+
872
+ METADATA API FORMAT FLAGS
873
+ --metadata-dir=<value> Root of directory or zip file of metadata formatted files to deploy.
874
+ --single-package Indicates that the metadata zip file points to a directory structure for a single package.
875
+
876
+ DELETE FLAGS
877
+ --post-destructive-changes=<value> File path for a manifest (destructiveChangesPost.xml) of components to delete
878
+ after the deploy.
879
+ --pre-destructive-changes=<value> File path for a manifest (destructiveChangesPre.xml) of components to delete
880
+ before the deploy.
881
+ --purge-on-delete Specify that deleted components in the destructive changes manifest file are
882
+ immediately eligible for deletion rather than being stored in the Recycle Bin.
883
+
884
+ DESCRIPTION
885
+ Deploy metadata to an org from your local project.
886
+
887
+ You must run this command from within a project.
888
+
889
+ Metadata components are deployed in source format by default. Deploy them in metadata format by specifying the
890
+ --metadata-dir flag, which specifies the root directory or ZIP file that contains the metadata formatted files you
891
+ want to deploy.
892
+
893
+ If your org allows source tracking, then this command tracks the changes in your source. Some orgs, such as production
894
+ orgs, never allow source tracking. Source tracking is enabled by default on scratch and sandbox orgs; you can disable
895
+ source tracking when you create the orgs by specifying the --no-track-source flag on the "sf org create
896
+ scratch|sandbox" commands.
897
+
898
+ To deploy multiple metadata components, either set multiple --metadata <name> flags or a single --metadata flag with
899
+ multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax
900
+ applies to --manifest and --source-dir.
901
+
902
+ ALIASES
903
+ $ sf deploy metadata
904
+
905
+ EXAMPLES
906
+ Deploy local changes not in the org; uses your default org:
907
+
908
+ $ sf project deploy start
909
+
910
+ Deploy all source files in the "force-app" directory to an org with alias "my-scratch"; show only concise output, in
911
+ other words don't print a list of all the source that was deployed:
912
+
913
+ $ sf project deploy start --source-dir force-app --target-org my-scratch --concise
914
+
915
+ Deploy all the Apex classes and custom objects that are in the "force-app" directory. The list views, layouts, etc,
916
+ that are associated with the custom objects are also deployed. Both examples are equivalent:
917
+
918
+ $ sf project deploy start --source-dir force-app/main/default/classes force-app/main/default/objects
919
+ $ sf project deploy start --source-dir force-app/main/default/classes --source-dir \
920
+ force-app/main/default/objects
921
+
922
+ Deploy all Apex classes that are in all package directories defined in the "sfdx-project.json" file:
923
+
924
+ $ sf project deploy start --metadata ApexClass
925
+
926
+ Deploy a specific Apex class; ignore any conflicts between the local project and org (be careful with this flag,
927
+ because it will overwrite the Apex class in the org if there are conflicts!):
928
+
929
+ $ sf project deploy start --metadata ApexClass:MyApexClass --ignore-conflicts
930
+
931
+ Deploy specific Apex classes that match a pattern; in this example, deploy Apex classes whose names contain the
932
+ string "MyApex". Also ignore any deployment warnings (again, be careful with this flag! You typically want to see
933
+ the warnings):
934
+
935
+ $ sf project deploy start --metadata 'ApexClass:MyApex*' --ignore-warnings
936
+
937
+ Deploy all custom objects and Apex classes found in all defined package directories (both examples are equivalent):
938
+
939
+ $ sf project deploy start --metadata CustomObject ApexClass
940
+ $ sf project deploy start --metadata CustomObject --metadata ApexClass
941
+
942
+ Deploy all Apex classes and a profile that has a space in its name:
943
+
944
+ $ sf project deploy start --metadata ApexClass --metadata "Profile:My Profile"
945
+
946
+ Deploy all components listed in a manifest:
947
+
948
+ $ sf project deploy start --manifest path/to/package.xml
949
+
950
+ Run the tests that aren’t in any managed packages as part of a deployment:
951
+
952
+ $ sf project deploy start --metadata ApexClass --test-level RunLocalTests
953
+
954
+ FLAG DESCRIPTIONS
955
+ -a, --api-version=<value> Target API version for the deploy.
956
+
957
+ Use this flag to override the default API version with the API version of your package.xml file. The default API
958
+ version is the latest version supported by the CLI.
959
+
960
+ -c, --ignore-conflicts Ignore conflicts and deploy local files, even if they overwrite changes in the org.
961
+
962
+ This flag applies only to orgs that allow source tracking. It has no effect on orgs that don't allow it, such as
963
+ production orgs.
964
+
965
+ -d, --source-dir=<value>... Path to the local source files to deploy.
966
+
967
+ The supplied path can be to a single file (in which case the operation is applied to only one file) or to a folder
968
+ (in which case the operation is applied to all metadata types in the directory and its subdirectories).
969
+
970
+ If you specify this flag, don’t specify --metadata or --manifest.
971
+
972
+ -g, --ignore-warnings Ignore warnings and allow a deployment to complete successfully.
973
+
974
+ If you specify this flag, and a warning occurs, the success status of the deployment is set to true. If you don't
975
+ specify this flag, and a warning occurs, then the success status is set to false, and the warning is treated like an
976
+ error.
977
+
978
+ This flag is useful in a CI environment and your deployment includes destructive changes; if you try to delete a
979
+ component that doesn't exist in the org, you get a warning. In this case, to ensure that the command returns a
980
+ success value of true, specify this flag.
981
+
982
+ -l, --test-level=NoTestRun|RunSpecifiedTests|RunLocalTests|RunAllTestsInOrg Deployment Apex testing level.
983
+
984
+ Valid values are:
985
+
986
+ - NoTestRun — No tests are run. This test level applies only to deployments to development environments, such as
987
+ sandbox, Developer Edition, or trial orgs. This test level is the default for development environments.
988
+
989
+ - RunSpecifiedTests — Runs only the tests that you specify with the --tests flag. Code coverage requirements differ
990
+ from the default coverage requirements when using this test level. Executed tests must comprise a minimum of 75%
991
+ code coverage for each class and trigger in the deployment package. This coverage is computed for each class and
992
+ trigger individually and is different than the overall coverage percentage.
993
+
994
+ - RunLocalTests — All tests in your org are run, except the ones that originate from installed managed and unlocked
995
+ packages. This test level is the default for production deployments that include Apex classes or triggers.
996
+
997
+ - RunAllTestsInOrg — All tests in your org are run, including tests of managed packages.
998
+
999
+ If you don’t specify a test level, the default behavior depends on the contents of your deployment package and
1000
+ target org. For more information, see [Running Tests in a
1001
+ Deployment](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_running_tests.htm)
1002
+ in the "Metadata API Developer Guide".
1003
+
1004
+ -o, --target-org=<value> Login username or alias for the target org.
1005
+
1006
+ Overrides your default org.
1007
+
1008
+ -r, --ignore-errors Ignore any errors and don’t roll back deployment.
1009
+
1010
+ Never use this flag when deploying to a production org. If you specify it, components without errors are deployed
1011
+ and components with errors are skipped, and could result in an inconsistent production org.
1012
+
1013
+ -t, --tests=<value>... Apex tests to run when --test-level is RunSpecifiedTests.
1014
+
1015
+ If a test name contains a space, enclose it in double quotes.
1016
+ For multiple test names, use one of the following formats:
1017
+
1018
+ - Repeat the flag for multiple test names: --tests Test1 --tests Test2 --tests "Test With Space"
1019
+ - Separate the test names with spaces: --tests Test1 Test2 "Test With Space"
1020
+
1021
+ -w, --wait=<minutes> Number of minutes to wait for command to complete and display results.
1022
+
1023
+ If the command continues to run after the wait period, the CLI returns control of the terminal window to you and
1024
+ returns the job ID. To resume the deployment, run "sf project deploy resume". To check the status of the deployment,
1025
+ run "sf project deploy report".
1026
+
1027
+ -x, --manifest=<value> Full file path for manifest (package.xml) of components to deploy.
1028
+
1029
+ All child components are included. If you specify this flag, don’t specify --metadata or --source-dir.
1030
+
1031
+ --async Run the command asynchronously.
1032
+
1033
+ The command immediately returns the job ID and control of the terminal to you. This way, you can continue to use the
1034
+ CLI. To resume the deployment, run "sf project deploy resume". To check the status of the deployment, run "sf
1035
+ project deploy report".
1036
+
1037
+ --coverage-formatters=clover|cobertura|html-spa|html|json|json-summary|lcovonly|none|teamcity|text|text-summary...
1038
+
1039
+ Format of the code coverage results.
1040
+
1041
+ For multiple formatters, repeat the flag for each formatter.
1042
+ --coverage-formatters lcov --coverage-formatters clover
1043
+ ```
1044
+
1045
+ _See code: [src/commands/project/deploy/start.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/deploy/start.ts)_
1046
+
1047
+ ## `sf project deploy validate`
1048
+
1049
+ Validate a metadata deployment without actually executing it.
1050
+
1051
+ ```
1052
+ USAGE
1053
+ $ sf project deploy validate -o <value> [--json] [--flags-dir <value>] [-a <value>] [--async] [--concise | --verbose] [-m
1054
+ <value>] [-d <value>] [--single-package --metadata-dir <value>] [-t <value>] [-l
1055
+ RunAllTestsInOrg|RunLocalTests|RunSpecifiedTests] [-w <value>] [-g] [--coverage-formatters
1056
+ clover|cobertura|html-spa|html|json|json-summary|lcovonly|none|teamcity|text|text-summary] [--junit] [--results-dir
1057
+ <value>] [--purge-on-delete -x <value>] [--pre-destructive-changes <value> ] [--post-destructive-changes <value> ]
1058
+
1059
+ FLAGS
1060
+ -a, --api-version=<value> Target API version for the validation.
1061
+ -g, --ignore-warnings Ignore warnings and allow a deployment to complete successfully.
1062
+ -o, --target-org=<value> (required) Login username or alias for the target org.
1063
+ -w, --wait=<minutes> Number of minutes to wait for the command to complete and display results.
1064
+ --async Run the command asynchronously.
1065
+ --concise Show concise output of the validation result.
1066
+ --verbose Show verbose output of the validation result.
1067
+
1068
+ SOURCE FORMAT FLAGS
1069
+ -d, --source-dir=<value>... Path to the local source files to validate for deployment.
1070
+ -m, --metadata=<value>... Metadata component names to validate for deployment.
1071
+ -x, --manifest=<value> Full file path for manifest (package.xml) of components to validate for deployment.
1072
+
1073
+ TEST FLAGS
1074
+ -l, --test-level=<option> [default: RunLocalTests] Deployment Apex testing level.
1075
+ <options: RunAllTestsInOrg|RunLocalTests|RunSpecifiedTests>
1076
+ -t, --tests=<value>... Apex tests to run when --test-level is RunSpecifiedTests.
1077
+ --coverage-formatters=<option>... Format of the code coverage results.
1078
+ <options: clover|cobertura|html-spa|html|json|json-summary|lcovonly|none|teamci
1079
+ ty|text|text-summary>
1080
+ --junit Output JUnit test results.
1081
+ --results-dir=<value> Output directory for code coverage and JUnit results; defaults to the deploy
1082
+ ID.
1083
+
1084
+ GLOBAL FLAGS
1085
+ --flags-dir=<value> Import flag values from a directory.
1086
+ --json Format output as json.
1087
+
1088
+ METADATA API FORMAT FLAGS
1089
+ --metadata-dir=<value> Root of directory or zip file of metadata formatted files to deploy.
1090
+ --single-package Indicates that the metadata zip file points to a directory structure for a single package.
1091
+
1092
+ DELETE FLAGS
1093
+ --post-destructive-changes=<value> File path for a manifest (destructiveChangesPost.xml) of components to delete
1094
+ after the deploy.
1095
+ --pre-destructive-changes=<value> File path for a manifest (destructiveChangesPre.xml) of components to delete
1096
+ before the deploy
1097
+ --purge-on-delete Specify that deleted components in the destructive changes manifest file are
1098
+ immediately eligible for deletion rather than being stored in the Recycle Bin.
1099
+
1100
+ DESCRIPTION
1101
+ Validate a metadata deployment without actually executing it.
1102
+
1103
+ Use this command to verify whether a deployment will succeed without actually deploying the metadata to your org. This
1104
+ command is similar to "sf project deploy start", except you're required to run Apex tests, and the command returns a
1105
+ job ID rather than executing the deployment. If the validation succeeds, then you pass this job ID to the "sf project
1106
+ deploy quick" command to actually deploy the metadata. This quick deploy takes less time because it skips running Apex
1107
+ tests. The job ID is valid for 10 days from when you started the validation. Validating first is useful if the
1108
+ deployment to your production org take several hours and you don’t want to risk a failed deploy.
1109
+
1110
+ You must run this command from within a project.
1111
+
1112
+ This command doesn't support source-tracking. When you quick deploy with the resulting job ID, the source you deploy
1113
+ overwrites the corresponding metadata in your org.
1114
+
1115
+ To validate the deployment of multiple metadata components, either set multiple --metadata <name> flags or a single
1116
+ --metadata flag with multiple names separated by spaces. Enclose names that contain spaces in one set of double
1117
+ quotes. The same syntax applies to --manifest and --source-dir.
1118
+
1119
+ Note: Don't use this command on sandboxes; the command is intended to be used on production orgs. By default,
1120
+ sandboxes don't run tests during a deploy. If you want to validate a deployment with tests on a sandbox, use "sf
1121
+ project deploy start --dry-run --test-level RunLocalTests" instead.
1122
+
1123
+ ALIASES
1124
+ $ sf deploy metadata validate
1125
+
1126
+ EXAMPLES
1127
+ NOTE: These examples focus on validating large deployments. See the help for "sf project deploy start" for examples of deploying smaller sets of metadata which you can also use to validate.
1128
+
1129
+ Validate the deployment of all source files in the "force-app" directory to the default org:
1130
+
1131
+ $ sf project deploy validate --source-dir force-app
1132
+
1133
+ Validate the deployment of all source files in two directories: "force-app" and "force-app-utils":
1134
+
1135
+ $ sf project deploy validate --source-dir force-app --source-dir force-app-utils
1136
+
1137
+ Asynchronously validate the deployment and run all tests in the org with alias "my-prod-org"; command immediately
1138
+ returns the job ID:
1139
+
1140
+ $ sf project deploy validate --source-dir force-app --async --test-level RunAllTestsInOrg --target-org \
1141
+ my-prod-org
1142
+
1143
+ Validate the deployment of all components listed in a manifest:
1144
+
1145
+ $ sf project deploy validate --manifest path/to/package.xml
1146
+
1147
+ FLAG DESCRIPTIONS
1148
+ -a, --api-version=<value> Target API version for the validation.
1149
+
1150
+ Use this flag to override the default API version with the API version of your package.xml file. The default API
1151
+ version is the latest version supported by the CLI.
1152
+
1153
+ -d, --source-dir=<value>... Path to the local source files to validate for deployment.
1154
+
1155
+ The supplied path can be to a single file (in which case the operation is applied to only one file) or to a folder
1156
+ (in which case the operation is applied to all metadata types in the directory and its subdirectories).
1157
+
1158
+ If you specify this flag, don’t specify --metadata or --manifest.
1159
+
1160
+ -g, --ignore-warnings Ignore warnings and allow a deployment to complete successfully.
1161
+
1162
+ If you specify this flag, and a warning occurs, the success status of the deployment is set to true. If you don't
1163
+ specify this flag, and a warning occurs, then the success status is set to false, and the warning is treated like an
1164
+ error.
1165
+
1166
+ This flag is useful in a CI environment and your deployment includes destructive changes; if you try to delete a
1167
+ component that doesn't exist in the org, you get a warning. In this case, to ensure that the command returns a
1168
+ success value of true, specify this flag.
1169
+
1170
+ -l, --test-level=RunAllTestsInOrg|RunLocalTests|RunSpecifiedTests Deployment Apex testing level.
1171
+
1172
+ Valid values are:
1173
+
1174
+ - RunSpecifiedTests — Runs only the tests that you specify with the --tests flag. Code coverage requirements differ
1175
+ from the default coverage requirements when using this test level. Executed tests must comprise a minimum of 75%
1176
+ code coverage for each class and trigger in the deployment package. This coverage is computed for each class and
1177
+ trigger individually and is different than the overall coverage percentage.
1178
+
1179
+ - RunLocalTests — All tests in your org are run, except the ones that originate from installed managed and unlocked
1180
+ packages. This test level is the default.
1181
+
1182
+ - RunAllTestsInOrg — All tests in your org are run, including tests of managed packages.
1183
+
1184
+ -o, --target-org=<value> Login username or alias for the target org.
1185
+
1186
+ Overrides your default org.
1187
+
1188
+ -t, --tests=<value>... Apex tests to run when --test-level is RunSpecifiedTests.
1189
+
1190
+ If a test name contains a space, enclose it in double quotes.
1191
+ For multiple test names, use one of the following formats:
1192
+
1193
+ - Repeat the flag for multiple test names: --tests Test1 --tests Test2 --tests "Test With Space"
1194
+ - Separate the test names with spaces: --tests Test1 Test2 "Test With Space"
1195
+
1196
+ -w, --wait=<minutes> Number of minutes to wait for the command to complete and display results.
1197
+
1198
+ If the command continues to run after the wait period, the CLI returns control of the terminal window to you and
1199
+ returns the job ID. To resume watching the validation, run "sf project deploy resume". To check the status of the
1200
+ validation, run "sf project deploy report".
1201
+
1202
+ -x, --manifest=<value> Full file path for manifest (package.xml) of components to validate for deployment.
1203
+
1204
+ All child components are included. If you specify this flag, don’t specify --metadata or --source-dir.
1205
+
1206
+ --async Run the command asynchronously.
1207
+
1208
+ The command immediately returns the job ID and control of the terminal to you. This way, you can continue to use the
1209
+ CLI. To resume watching the validation, run "sf project deploy resume". To check the status of the validation, run
1210
+ "sf project deploy report".
1211
+
1212
+ --coverage-formatters=clover|cobertura|html-spa|html|json|json-summary|lcovonly|none|teamcity|text|text-summary...
1213
+
1214
+ Format of the code coverage results.
1215
+
1216
+ For multiple formatters, repeat the flag for each formatter.
1217
+ --coverage-formatters lcov --coverage-formatters clover
1218
+ ```
1219
+
1220
+ _See code: [src/commands/project/deploy/validate.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/deploy/validate.ts)_
1221
+
1222
+ ## `sf project generate manifest`
1223
+
1224
+ Create a project manifest that lists the metadata components you want to deploy or retrieve.
1225
+
1226
+ ```
1227
+ USAGE
1228
+ $ sf project generate manifest [--json] [--flags-dir <value>] [--api-version <value>] [-m <value>] [-p <value>] [-n <value> |
1229
+ -t pre|post|destroy|package] [-c managed|unlocked --from-org <value>] [-d <value>]
1230
+
1231
+ FLAGS
1232
+ -c, --include-packages=<option>... Package types (managed, unlocked) whose metadata is included in the manifest; by
1233
+ default, metadata in packages is ignored.
1234
+ <options: managed|unlocked>
1235
+ -d, --output-dir=<value> Directory to save the created manifest.
1236
+ -m, --metadata=<value>... Names of metadata components to include in the manifest.
1237
+ -n, --name=<value> Name of a custom manifest file to create.
1238
+ -p, --source-dir=<value>... Paths to the local source files to include in the manifest.
1239
+ -t, --type=<option> Type of manifest to create; the type determines the name of the created file.
1240
+ <options: pre|post|destroy|package>
1241
+ --api-version=<value> Override the api version used for api requests made by this command
1242
+ --from-org=<value> Username or alias of the org that contains the metadata components from which to
1243
+ build a manifest.
1244
+
1245
+ GLOBAL FLAGS
1246
+ --flags-dir=<value> Import flag values from a directory.
1247
+ --json Format output as json.
1248
+
1249
+ DESCRIPTION
1250
+ Create a project manifest that lists the metadata components you want to deploy or retrieve.
1251
+
1252
+ Create a manifest from a list of metadata components (--metadata) or from one or more local directories that contain
1253
+ source files (--source-dir). You can specify either of these parameters, not both.
1254
+
1255
+ Use --type to specify the type of manifest you want to create. The resulting manifest files have specific names, such
1256
+ as the standard package.xml or destructiveChanges.xml to delete metadata. Valid values for this parameter, and their
1257
+ respective file names, are:
1258
+
1259
+ * package : package.xml (default)
1260
+ * pre : destructiveChangesPre.xml
1261
+ * post : destructiveChangesPost.xml
1262
+ * destroy : destructiveChanges.xml
1263
+
1264
+ See https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_deleting_files.htm for
1265
+ information about these destructive manifest files.
1266
+
1267
+ Use --name to specify a custom name for the generated manifest if the pre-defined ones don’t suit your needs. You can
1268
+ specify either --type or --name, but not both.
1269
+
1270
+ To include multiple metadata components, either set multiple --metadata <name> flags or a single --metadata flag with
1271
+ multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same syntax
1272
+ applies to --include-packages and --source-dir.
1273
+
1274
+ ALIASES
1275
+ $ sf force source manifest create
1276
+
1277
+ EXAMPLES
1278
+ Create a manifest for deploying or retrieving all Apex classes and custom objects:
1279
+
1280
+ $ sf project generate manifest --metadata ApexClass --metadata CustomObject
1281
+
1282
+ Create a manifest for deleting the specified Apex class:
1283
+
1284
+ $ sf project generate manifest --metadata ApexClass:MyApexClass --type destroy
1285
+
1286
+ Create a manifest for deploying or retrieving all the metadata components in the specified local directory; name the
1287
+ file myNewManifest.xml:
1288
+
1289
+ $ sf project generate manifest --source-dir force-app --name myNewManifest
1290
+
1291
+ Create a manifest from the metadata components in the specified org and include metadata in any unlocked packages:
1292
+
1293
+ $ sf project generate manifest --from-org test@myorg.com --include-packages unlocked
1294
+ ```
1295
+
1296
+ _See code: [src/commands/project/generate/manifest.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/generate/manifest.ts)_
1297
+
1298
+ ## `sf project list ignored`
1299
+
1300
+ Check your local project package directories for forceignored files.
1301
+
1302
+ ```
1303
+ USAGE
1304
+ $ sf project list ignored [--json] [--flags-dir <value>] [-p <value>]
1305
+
1306
+ FLAGS
1307
+ -p, --source-dir=<value> File or directory of files that the command checks for foreceignored files.
1308
+
1309
+ GLOBAL FLAGS
1310
+ --flags-dir=<value> Import flag values from a directory.
1311
+ --json Format output as json.
1312
+
1313
+ DESCRIPTION
1314
+ Check your local project package directories for forceignored files.
1315
+
1316
+ When deploying or retrieving metadata between your local project and an org, you can specify the source files you want
1317
+ to exclude with a .forceignore file. The .forceignore file structure mimics the .gitignore structure. Each line in
1318
+ .forceignore specifies a pattern that corresponds to one or more files. The files typically represent metadata
1319
+ components, but can be any files you want to exclude, such as LWC configuration JSON files or tests.
1320
+
1321
+ ALIASES
1322
+ $ sf force source ignored list
1323
+
1324
+ EXAMPLES
1325
+ List all the files in all package directories that are ignored:
1326
+
1327
+ $ sf project list ignored
1328
+
1329
+ List all the files in a specific directory that are ignored:
1330
+
1331
+ $ sf project list ignored --source-dir force-app
1332
+
1333
+ Check if a particular file is ignored:
1334
+
1335
+ $ sf project list ignored --source-dir package.xml
1336
+ ```
1337
+
1338
+ _See code: [src/commands/project/list/ignored.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/list/ignored.ts)_
1339
+
1340
+ ## `sf project reset tracking`
1341
+
1342
+ Reset local and remote source tracking.
1343
+
1344
+ ```
1345
+ USAGE
1346
+ $ sf project reset tracking -o <value> [--json] [--flags-dir <value>] [--api-version <value>] [-r <value>] [-p]
1347
+
1348
+ FLAGS
1349
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
1350
+ configuration variable is already set.
1351
+ -p, --no-prompt Don't prompt for source tracking override confirmation.
1352
+ -r, --revision=<value> SourceMember revision counter number to reset to.
1353
+ --api-version=<value> Override the api version used for api requests made by this command
1354
+
1355
+ GLOBAL FLAGS
1356
+ --flags-dir=<value> Import flag values from a directory.
1357
+ --json Format output as json.
1358
+
1359
+ DESCRIPTION
1360
+ Reset local and remote source tracking.
1361
+
1362
+ WARNING: This command deletes or overwrites all existing source tracking files. Use with extreme caution.
1363
+
1364
+ Resets local and remote source tracking so that Salesforce CLI no longer registers differences between your local
1365
+ files and those in the org. When you next run 'project deploy preview', Salesforce CLI returns no results, even though
1366
+ conflicts might actually exist. Salesforce CLI then resumes tracking new source changes as usual.
1367
+
1368
+ Use the --revision parameter to reset source tracking to a specific revision number of an org source member. To get
1369
+ the revision number, query the SourceMember Tooling API object with the 'data soql' command. For example:
1370
+
1371
+ sf data query --query "SELECT MemberName, MemberType, RevisionCounter FROM SourceMember" --use-tooling-api
1372
+ --target-org my-scratch
1373
+
1374
+ ALIASES
1375
+ $ sf force source tracking reset
1376
+
1377
+ EXAMPLES
1378
+ Reset source tracking for the org with alias "my-scratch":
1379
+
1380
+ $ sf project reset tracking --target-org my-scratch
1381
+
1382
+ Reset source tracking to revision number 30 for your default org:
1383
+
1384
+ $ sf project reset tracking --revision 30
1385
+ ```
1386
+
1387
+ _See code: [src/commands/project/reset/tracking.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/reset/tracking.ts)_
1388
+
1389
+ ## `sf project retrieve preview`
1390
+
1391
+ Preview a retrieval to see what will be retrieved from the org, the potential conflicts, and the ignored files.
1392
+
1393
+ ```
1394
+ USAGE
1395
+ $ sf project retrieve preview -o <value> [--json] [--flags-dir <value>] [-c] [--concise]
1396
+
1397
+ FLAGS
1398
+ -c, --ignore-conflicts Don't display conflicts in the preview of the retrieval.
1399
+ -o, --target-org=<value> (required) Login username or alias for the target org.
1400
+ --concise Show only the changes that will be retrieved; omits files that are forceignored.
1401
+
1402
+ GLOBAL FLAGS
1403
+ --flags-dir=<value> Import flag values from a directory.
1404
+ --json Format output as json.
1405
+
1406
+ DESCRIPTION
1407
+ Preview a retrieval to see what will be retrieved from the org, the potential conflicts, and the ignored files.
1408
+
1409
+ You must run this command from within a project.
1410
+
1411
+ The command outputs a table that describes what will happen if you run the "sf project retrieve start" command. The
1412
+ table lists the metadata components that will be retrieved and deleted. The table also lists the current conflicts
1413
+ between files in your local project and components in the org. Finally, the table lists the files that won't be
1414
+ retrieved because they're included in your .forceignore file.
1415
+
1416
+ If your org allows source tracking, then this command displays potential conflicts between the org and your local
1417
+ project. Some orgs, such as production org, never allow source tracking. Source tracking is enabled by default on
1418
+ scratch and sandbox orgs; you can disable source tracking when you create the orgs by specifying the --no-track-source
1419
+ flag on the "sf org create scratch|sandbox" commands.
1420
+
1421
+ ALIASES
1422
+ $ sf retrieve metadata preview
1423
+
1424
+ EXAMPLES
1425
+ Preview the retrieve of all changes from your default org:
1426
+
1427
+ $ sf project retrieve preview
1428
+
1429
+ Preview the retrieve when ignoring any conflicts from an org with alias "my-scratch":
1430
+
1431
+ $ sf project retrieve preview --ignore-conflicts --target-org my-scratch
1432
+
1433
+ FLAG DESCRIPTIONS
1434
+ -c, --ignore-conflicts Don't display conflicts in the preview of the retrieval.
1435
+
1436
+ This flag applies only to orgs that allow source tracking. It has no effect on orgs that don't allow it, such as
1437
+ production orgs.
1438
+
1439
+ -o, --target-org=<value> Login username or alias for the target org.
1440
+
1441
+ Overrides your default org.
1442
+ ```
1443
+
1444
+ _See code: [src/commands/project/retrieve/preview.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/retrieve/preview.ts)_
1445
+
1446
+ ## `sf project retrieve start`
1447
+
1448
+ Retrieve metadata from an org to your local project.
1449
+
1450
+ ```
1451
+ USAGE
1452
+ $ sf project retrieve start -o <value> [--json] [--flags-dir <value>] [-a <value>] [-c] [-x <value> | -m <value> | -d
1453
+ <value>] [-r <value> | -n <value> | ] [--single-package -t <value>] [-w <value>] [-z ] [--zip-file-name <value> ]
1454
+
1455
+ FLAGS
1456
+ -a, --api-version=<value> Target API version for the retrieve.
1457
+ -c, --ignore-conflicts Ignore conflicts and retrieve and save files to your local filesystem, even if they
1458
+ overwrite your local changes.
1459
+ -d, --source-dir=<value>... File paths for source to retrieve from the org.
1460
+ -m, --metadata=<value>... Metadata component names to retrieve. Wildcards (`*`) supported as long as you use
1461
+ quotes, such as `ApexClass:MyClass*`.
1462
+ -n, --package-name=<value>... Package names to retrieve.
1463
+ -o, --target-org=<value> (required) Login username or alias for the target org.
1464
+ -r, --output-dir=<value> Directory root for the retrieved source files.
1465
+ -w, --wait=<value> [default: 33 minutes] Number of minutes to wait for the command to complete and display
1466
+ results to the terminal window.
1467
+ -x, --manifest=<value> File path for the manifest (package.xml) that specifies the components to retrieve.
1468
+
1469
+ METADATA API FORMAT FLAGS
1470
+ -t, --target-metadata-dir=<value> Directory that will contain the retrieved metadata format files or ZIP.
1471
+ -z, --unzip Extract all files from the retrieved zip file.
1472
+ --single-package Indicates that the zip file points to a directory structure for a single package.
1473
+ --zip-file-name=<value> File name to use for the retrieved zip file.
1474
+
1475
+ GLOBAL FLAGS
1476
+ --flags-dir=<value> Import flag values from a directory.
1477
+ --json Format output as json.
1478
+
1479
+ DESCRIPTION
1480
+ Retrieve metadata from an org to your local project.
1481
+
1482
+ You must run this command from within a project.
1483
+
1484
+ Metadata components are retrieved in source format by default. Retrieve them in metadata format by specifying the
1485
+ --target-metadata-dir flag, which retrieves the components into a ZIP file in the specified directory.
1486
+
1487
+ If your org allows source tracking, then this command tracks the changes in your source. Some orgs, such as production
1488
+ orgs, never allow source tracking. Source tracking is enabled by default on scratch and sandbox orgs; you can disable
1489
+ source tracking when you create the orgs by specifying the --no-track-source flag on the "sf org create
1490
+ scratch|sandbox" commands.
1491
+
1492
+ To retrieve multiple metadata components, either use multiple --metadata <name> flags or use a single --metadata flag
1493
+ with multiple names separated by spaces. Enclose names that contain spaces in one set of double quotes. The same
1494
+ syntax applies to --manifest and --source-dir.
1495
+
1496
+ ALIASES
1497
+ $ sf retrieve metadata
1498
+
1499
+ EXAMPLES
1500
+ Retrieve all remote changes from your default org:
1501
+
1502
+ $ sf project retrieve start
1503
+
1504
+ Retrieve the source files in the "force-app" directory from an org with alias "my-scratch":
1505
+
1506
+ $ sf project retrieve start --source-dir force-app --target-org my-scratch
1507
+
1508
+ Retrieve all the Apex classes and custom objects whose source is in the "force-app" directory. The list views,
1509
+ layouts, etc, that are associated with the custom objects are also retrieved. Both examples are equivalent:
1510
+
1511
+ $ sf project retrieve start --source-dir force-app/main/default/classes force-app/main/default/objects
1512
+ $ sf project retrieve start --source-dir force-app/main/default/classes --source-dir \
1513
+ force-app/main/default/objects
1514
+
1515
+ Retrieve all Apex classes that are in all package directories defined in the "sfdx-project.json" file:
1516
+
1517
+ $ sf project retrieve start --metadata ApexClass
1518
+
1519
+ Retrieve a specific Apex class; ignore any conflicts between the local project and org (be careful with this flag,
1520
+ because it will overwrite the Apex class source files in your local project if there are conflicts!):
1521
+
1522
+ $ sf project retrieve start --metadata ApexClass:MyApexClass --ignore-conflicts
1523
+
1524
+ Retrieve specific Apex classes that match a pattern; in this example, retrieve Apex classes whose names contain the
1525
+ string "MyApex":
1526
+
1527
+ $ sf project retrieve start --metadata 'ApexClass:MyApex*'
1528
+
1529
+ Retrieve all custom objects and Apex classes found in all defined package directories (both examples are
1530
+ equivalent):
1531
+
1532
+ $ sf project retrieve start --metadata CustomObject ApexClass
1533
+ $ sf project retrieve start --metadata CustomObject --metadata ApexClass
1534
+
1535
+ Retrieve all metadata components listed in a manifest:
1536
+
1537
+ $ sf project retrieve start --manifest path/to/package.xml
1538
+
1539
+ Retrieve metadata from a package:
1540
+
1541
+ $ sf project retrieve start --package-name MyPackageName
1542
+
1543
+ Retrieve metadata from multiple packages, one of which has a space in its name (both examples are equivalent):
1544
+
1545
+ $ sf project retrieve start --package-name Package1 "PackageName With Spaces" Package3
1546
+ $ sf project retrieve start --package-name Package1 --package-name "PackageName With Spaces" --package-name \
1547
+ Package3
1548
+
1549
+ Retrieve the metadata components listed in the force-app directory, but retrieve them in metadata format into a ZIP
1550
+ file in the "output" directory:
1551
+
1552
+ $ sf project retrieve start --source-dir force-app --target-metadata-dir output
1553
+
1554
+ Retrieve in metadata format and automatically extract the contents into the "output" directory:
1555
+
1556
+ $ sf project retrieve start --source-dir force-app --target-metadata-dir output --unzip
1557
+
1558
+ FLAG DESCRIPTIONS
1559
+ -a, --api-version=<value> Target API version for the retrieve.
1560
+
1561
+ Use this flag to override the default API version, which is the latest version supported the CLI, with the API
1562
+ version in your package.xml file.
1563
+
1564
+ -c, --ignore-conflicts
1565
+
1566
+ Ignore conflicts and retrieve and save files to your local filesystem, even if they overwrite your local changes.
1567
+
1568
+ This flag applies only to orgs that allow source tracking. It has no effect on orgs that don't allow it, such as
1569
+ production orgs.
1570
+
1571
+ -d, --source-dir=<value>... File paths for source to retrieve from the org.
1572
+
1573
+ The supplied paths can be to a single file (in which case the operation is applied to only one file) or to a folder
1574
+ (in which case the operation is applied to all source files in the directory and its subdirectories).
1575
+
1576
+ -o, --target-org=<value> Login username or alias for the target org.
1577
+
1578
+ Overrides your default org.
1579
+
1580
+ -r, --output-dir=<value> Directory root for the retrieved source files.
1581
+
1582
+ The root of the directory structure into which the source files are retrieved.
1583
+ If the target directory matches one of the package directories in your sfdx-project.json file, the command fails.
1584
+ Running the command multiple times with the same target adds new files and overwrites existing files.
1585
+
1586
+ -w, --wait=<value> Number of minutes to wait for the command to complete and display results to the terminal window.
1587
+
1588
+ If the command continues to run after the wait period, the CLI returns control of the terminal window to you.
1589
+
1590
+ -x, --manifest=<value> File path for the manifest (package.xml) that specifies the components to retrieve.
1591
+
1592
+ If you specify this parameter, don’t specify --metadata or --source-dir.
1593
+ ```
1594
+
1595
+ _See code: [src/commands/project/retrieve/start.ts](https://github.com/salesforcecli/plugin-deploy-retrieve/blob/3.5.0/src/commands/project/retrieve/start.ts)_
68
1596
 
69
1597
  <!-- commandsstop -->