prodlysfcli 1.6.3 → 1.7.5

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 CHANGED
@@ -41,15 +41,16 @@ sf plugins
41
41
  ## Commands
42
42
 
43
43
  <!-- commands -->
44
- * [`sf prodly branch-folders`](#sf-prodly-branch-folders)
45
- * [`sf prodly change-types`](#sf-prodly-change-types)
46
- * [`sf prodly checkin`](#sf-prodly-checkin)
47
- * [`sf prodly checkout`](#sf-prodly-checkout)
48
- * [`sf prodly deploy`](#sf-prodly-deploy)
49
- * [`sf prodly jobs`](#sf-prodly-jobs)
50
- * [`sf prodly manage`](#sf-prodly-manage)
51
- * [`sf prodly releases`](#sf-prodly-releases)
52
- * [`sf prodly version`](#sf-prodly-version)
44
+
45
+ - [`sf prodly branch-folders`](#sf-prodly-branch-folders)
46
+ - [`sf prodly change-types`](#sf-prodly-change-types)
47
+ - [`sf prodly checkin`](#sf-prodly-checkin)
48
+ - [`sf prodly checkout`](#sf-prodly-checkout)
49
+ - [`sf prodly deploy`](#sf-prodly-deploy)
50
+ - [`sf prodly jobs`](#sf-prodly-jobs)
51
+ - [`sf prodly manage`](#sf-prodly-manage)
52
+ - [`sf prodly releases`](#sf-prodly-releases)
53
+ - [`sf prodly version`](#sf-prodly-version)
53
54
 
54
55
  ## `sf prodly branch-folders`
55
56
 
@@ -79,7 +80,7 @@ EXAMPLES
79
80
  Lists all branch folders
80
81
  ```
81
82
 
82
- _See code: [src/commands/prodly/branch-folders.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.6.3/src/commands/prodly/branch-folders.ts)_
83
+ _See code: [src/commands/prodly/branch-folders.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.7.2/src/commands/prodly/branch-folders.ts)_
83
84
 
84
85
  ## `sf prodly change-types`
85
86
 
@@ -120,7 +121,7 @@ EXAMPLES
120
121
  Creates a scratch org based on a change type
121
122
  ```
122
123
 
123
- _See code: [src/commands/prodly/change-types.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.6.3/src/commands/prodly/change-types.ts)_
124
+ _See code: [src/commands/prodly/change-types.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.7.2/src/commands/prodly/change-types.ts)_
124
125
 
125
126
  ## `sf prodly checkin`
126
127
 
@@ -170,7 +171,7 @@ EXAMPLES
170
171
  The instance should be managed by the Prodly account associated with the default DevHub control org.
171
172
  ```
172
173
 
173
- _See code: [src/commands/prodly/checkin.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.6.3/src/commands/prodly/checkin.ts)_
174
+ _See code: [src/commands/prodly/checkin.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.7.2/src/commands/prodly/checkin.ts)_
174
175
 
175
176
  ## `sf prodly checkout`
176
177
 
@@ -178,23 +179,34 @@ prodly:checkout command
178
179
 
179
180
  ```
180
181
  USAGE
181
- $ sf prodly checkout -v <value> -o <value> [--json] [--flags-dir <value>] [-f <value>] [-b <value>] [-t <value>]
182
- [-e] [-q <value>] [-i <value>] [-n <value>] [-z <value>] [-p <value>]
182
+ $ sf prodly checkout -v <value> -o <value> [--json] [--flags-dir <value>] [-a <value> -r
183
+ NoTestRun|RunLocalTests|RunAllTestsInOrg|RunSpecifiedTests] [-f <value>] [-m <value>] [-b <value>] [-t <value>] [-e]
184
+ [-q <value>] [-i <value>] [-n <value>] [-z <value>] [-p <value>] [-l]
183
185
 
184
186
  FLAGS
185
- -b, --branch=<value> branch name for deployment
186
- -e, --deactivate deactivate all events for the deployment
187
- -f, --data-folder=<value> data branch folder id to use
188
- -i, --instance=<value> managed instance ID on which to perform the action
189
- -n, --name=<value> name for the deployment
190
- -o, --target-org=<value> (required) Username or alias of the target org. Not required if the `target-org`
191
- configuration variable is already set.
192
- -p, --plan=<value> name or record ID of the deployment plan to deploy
193
- -q, --filter=<value> query filter override for a data set deployment
194
- -t, --dataset=<value> name or record ID of the data set to deploy
195
- -v, --target-dev-hub=<value> (required) Username or alias of the Dev Hub org. Not required if the `target-dev-hub`
196
- configuration variable is already set.
197
- -z, --notes=<value> notes for the deployment
187
+ -a, --apex-test-classes=<value> comma separated list of Apex test class names to run when
188
+ RunSpecifiedTests was selected
189
+ -b, --branch=<value> branch name for deployment
190
+ -e, --deactivate deactivate all events for the deployment
191
+ -f, --data-folder=<value> data branch folder id to use
192
+ -i, --instance=<value> managed instance ID on which to perform the action
193
+ -l, --simulation perform a data and/or metadata simulation
194
+ -m, --metadata-quick-select-components=<value> JSON string of metadata quick select components array, e.g.,
195
+ '[{"type":"Profile","ids":["Profile1","Profile2"]}]'
196
+ -n, --name=<value> name for the deployment
197
+ -o, --target-org=<value> (required) Username or alias of the target org. Not required if the
198
+ `target-org` configuration variable is already set.
199
+ -p, --plan=<value> name or record ID of the deployment plan to deploy
200
+ -q, --filter=<value> query filter override for a data set deployment
201
+ -r, --test-option=<option> specifies the Salesforce Validate Change Set tests to run before
202
+ deploying metadata. Default runs no tests, except when deploying Apex
203
+ classes or triggers to production, Default runs local tests. Local
204
+ tests are tests that do not originate from a managed package.
205
+ <options: NoTestRun|RunLocalTests|RunAllTestsInOrg|RunSpecifiedTests>
206
+ -t, --dataset=<value> name or record ID of the data set to deploy
207
+ -v, --target-dev-hub=<value> (required) Username or alias of the Dev Hub org. Not required if the
208
+ `target-dev-hub` configuration variable is already set.
209
+ -z, --notes=<value> notes for the deployment
198
210
 
199
211
  GLOBAL FLAGS
200
212
  --flags-dir=<value> Import flag values from a directory.
@@ -219,7 +231,7 @@ EXAMPLES
219
231
  The instance should be managed by the Prodly account associated with the default DevHub control org.
220
232
  ```
221
233
 
222
- _See code: [src/commands/prodly/checkout.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.6.3/src/commands/prodly/checkout.ts)_
234
+ _See code: [src/commands/prodly/checkout.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.7.2/src/commands/prodly/checkout.ts)_
223
235
 
224
236
  ## `sf prodly deploy`
225
237
 
@@ -227,14 +239,17 @@ prodly:deploy command
227
239
 
228
240
  ```
229
241
  USAGE
230
- $ sf prodly deploy -v <value> -o <value> -n <value> [--json] [--flags-dir <value>] [-m <value>] [-e] [-d <value>]
231
- [-q <value> -t <value>] [-b <value>] [-z <value>] [-p <value>] [-l] [-s <value>]
242
+ $ sf prodly deploy -v <value> -o <value> -n <value> [--json] [--flags-dir <value>] [-a <value> -r
243
+ NoTestRun|RunLocalTests|RunAllTestsInOrg|RunSpecifiedTests] [-m <value>] [-e] [-d <value>] [-q <value> -t <value>]
244
+ [-b <value>] [-z <value>] [-p <value>] [-l] [-s <value>]
232
245
 
233
246
  FLAGS
247
+ -a, --apex-test-classes=<value> comma separated list of Apex test class names to run when
248
+ RunSpecifiedTests was selected
234
249
  -b, --label=<value> connection and managed instance name
235
250
  -d, --destination=<value> destination managed instance ID
236
251
  -e, --deactivate deactivate all events for the deployment
237
- -l, --simulation perform a data simulation
252
+ -l, --simulation perform a data and/or metadata simulation
238
253
  -m, --metadata-quick-select-components=<value> JSON string of metadata quick select components array, e.g.,
239
254
  '[{"type":"Profile","ids":["Profile1","Profile2"]}]'
240
255
  -n, --name=<value> (required) name for the deployment
@@ -242,6 +257,11 @@ FLAGS
242
257
  `target-org` configuration variable is already set.
243
258
  -p, --plan=<value> name or record ID of the deployment plan to deploy
244
259
  -q, --filter=<value> query filter override for a data set deployment
260
+ -r, --test-option=<option> specifies the Salesforce Validate Change Set tests to run before
261
+ deploying metadata. Default runs no tests, except when deploying Apex
262
+ classes or triggers to production, Default runs local tests. Local
263
+ tests are tests that do not originate from a managed package.
264
+ <options: NoTestRun|RunLocalTests|RunAllTestsInOrg|RunSpecifiedTests>
245
265
  -s, --source=<value> source managed instance ID
246
266
  -t, --dataset=<value> name or record ID of the data set to deploy
247
267
  -v, --target-dev-hub=<value> (required) Username or alias of the Dev Hub org. Not required if the
@@ -271,7 +291,7 @@ EXAMPLES
271
291
  Command output... deploying to the scratch org from the UAT sandbox, using the named connection record in the dev hub, control org. Long param names.
272
292
  ```
273
293
 
274
- _See code: [src/commands/prodly/deploy.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.6.3/src/commands/prodly/deploy.ts)_
294
+ _See code: [src/commands/prodly/deploy.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.7.2/src/commands/prodly/deploy.ts)_
275
295
 
276
296
  ## `sf prodly jobs`
277
297
 
@@ -300,7 +320,7 @@ EXAMPLES
300
320
  Print the job status for the provided job Id.
301
321
  ```
302
322
 
303
- _See code: [src/commands/prodly/jobs.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.6.3/src/commands/prodly/jobs.ts)_
323
+ _See code: [src/commands/prodly/jobs.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.7.2/src/commands/prodly/jobs.ts)_
304
324
 
305
325
  ## `sf prodly manage`
306
326
 
@@ -352,7 +372,7 @@ EXAMPLES
352
372
  Refresh the managed instance org ID after a sandbox has been refreshed.
353
373
  ```
354
374
 
355
- _See code: [src/commands/prodly/manage.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.6.3/src/commands/prodly/manage.ts)_
375
+ _See code: [src/commands/prodly/manage.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.7.2/src/commands/prodly/manage.ts)_
356
376
 
357
377
  ## `sf prodly releases`
358
378
 
@@ -392,7 +412,7 @@ EXAMPLES
392
412
  The instance should be managed by the Prodly account associated with the default DevHub control org.
393
413
  ```
394
414
 
395
- _See code: [src/commands/prodly/releases.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.6.3/src/commands/prodly/releases.ts)_
415
+ _See code: [src/commands/prodly/releases.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.7.2/src/commands/prodly/releases.ts)_
396
416
 
397
417
  ## `sf prodly version`
398
418
 
@@ -437,7 +457,7 @@ EXAMPLES
437
457
  The instance should be managed by the Prodly account associated with the default DevHub control org.
438
458
  ```
439
459
 
440
- _See code: [src/commands/prodly/version.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.6.3/src/commands/prodly/version.ts)_
460
+ _See code: [src/commands/prodly/version.ts](https://github.com/prodly/prodly-sf-cli/blob/v1.7.2/src/commands/prodly/version.ts)_
441
461
 
442
462
  <!-- commandsstop -->
443
463
 
@@ -1,6 +1,6 @@
1
1
  import { Messages, SfError } from '@salesforce/core';
2
2
  import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
3
- import { constructQueryFilter } from '../../helpers/index.js';
3
+ import { constructQueryFilter, constructQuickDeploymentComponents } from '../../helpers/index.js';
4
4
  import { updateConnection } from '../../services/connections.js';
5
5
  import { getManagedInstance } from '../../services/manage-instances.js';
6
6
  import { getDeploymentEntityId } from '../../services/queries.js';
@@ -43,7 +43,11 @@ export default class ProdlyCheckin extends SfCommand {
43
43
  this.log('Deployment plan flag: ' + planFlag);
44
44
  this.log('Query filter flag: ' + queryFilterFlag);
45
45
  this.log('Metadata quick select components flag: ' + metadataQuickSelectComponentsFlag);
46
- const hasMetadataQuickSelectComponents = metadataQuickSelectComponentsFlag !== undefined;
46
+ const metadataQuickSelectComponents = metadataQuickSelectComponentsFlag !== undefined && metadataQuickSelectComponentsFlag.trim().length > 0
47
+ ? metadataQuickSelectComponentsFlag
48
+ : undefined;
49
+ const hasMetadataQuickSelectComponents = metadataQuickSelectComponents !== undefined;
50
+ // When no metadata quick select components are provided, require either dataset or plan (but not both)
47
51
  if (!hasMetadataQuickSelectComponents && !datasetFlag && !planFlag) {
48
52
  throw new SfError(prodlyMessages.getMessage('errorNoDatasetAndPlanFlags', []));
49
53
  }
@@ -54,7 +58,7 @@ export default class ProdlyCheckin extends SfCommand {
54
58
  const hubOrg = flags['target-dev-hub'];
55
59
  const hubConn = hubOrg.getConnection();
56
60
  const print = (message, ...args) => this.log(message, ...args);
57
- let mangedInstanceId = null;
61
+ let mangedInstanceId;
58
62
  let dataSetId;
59
63
  let deploymentPlanId;
60
64
  // Retrieve the data set or deployment plan to deploy
@@ -77,17 +81,6 @@ export default class ProdlyCheckin extends SfCommand {
77
81
  }
78
82
  this.log(`Data set ID: ${dataSetId ?? ''}`);
79
83
  this.log(`Deployment plan ID: ${deploymentPlanId ?? ''}`);
80
- // Parse metadata quick select components if provided
81
- let quickDeploymentComponents;
82
- if (metadataQuickSelectComponentsFlag) {
83
- try {
84
- quickDeploymentComponents = JSON.parse(metadataQuickSelectComponentsFlag);
85
- this.log(`Parsed metadata quick select components: ${JSON.stringify(quickDeploymentComponents)}`);
86
- }
87
- catch (error) {
88
- throw new SfError(`Invalid JSON format for metadata-quick-select-components flag: ${error instanceof Error ? error.message : String(error)}`);
89
- }
90
- }
91
84
  // Check if instance is provided
92
85
  if (instanceFlag) {
93
86
  // Use provided managed instance
@@ -125,7 +118,7 @@ export default class ProdlyCheckin extends SfCommand {
125
118
  filter: queryFilterFlag,
126
119
  hubConn,
127
120
  mangedInstanceId,
128
- quickDeploymentComponents,
121
+ quickDeploymentComponents: constructQuickDeploymentComponents(metadataQuickSelectComponents),
129
122
  });
130
123
  this.log(`Checkin launched with Job ID: ${jobId}`);
131
124
  return { jobId, message: 'Checkin launched' };
@@ -1 +1 @@
1
- {"version":3,"file":"checkin.js","sourceRoot":"","sources":["../../../src/commands/prodly/checkin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkin.js","sourceRoot":"","sources":["../../../src/commands/prodly/checkin.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,12 @@ export default class ProdlyCheckout extends SfCommand<JSONObject> {
5
5
  static readonly description: string;
6
6
  static readonly examples: string[];
7
7
  static readonly flags: {
8
+ 'apex-test-classes': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
9
  'data-folder': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
10
  'target-dev-hub': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
10
11
  'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
12
+ 'test-option': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ 'metadata-quick-select-components': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
14
  branch: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
15
  dataset: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
16
  deactivate: import("@oclif/core/interfaces").BooleanFlag<boolean>;
@@ -16,6 +19,7 @@ export default class ProdlyCheckout extends SfCommand<JSONObject> {
16
19
  name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
20
  notes: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
21
  plan: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ simulation: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
23
  };
20
24
  run(): Promise<JSONObject>;
21
25
  private checkoutInstance;
@@ -1,9 +1,10 @@
1
1
  import { Messages, SfError } from '@salesforce/core';
2
2
  import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
3
- import { constructQueryFilter } from '../../helpers/index.js';
3
+ import { constructApexTestClasses, constructQueryFilter, constructQuickDeploymentComponents, } from '../../helpers/index.js';
4
4
  import { updateConnection } from '../../services/connections.js';
5
5
  import { getManagedInstance } from '../../services/manage-instances.js';
6
6
  import { getDeploymentEntityId } from '../../services/queries.js';
7
+ import { TEST_OPTIONS } from '../../constants/index.js';
7
8
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
8
9
  const commandMessages = Messages.loadMessages('prodlysfcli', 'prodly.checkout');
9
10
  const prodlyMessages = Messages.loadMessages('prodlysfcli', 'prodly');
@@ -12,9 +13,24 @@ export default class ProdlyCheckout extends SfCommand {
12
13
  static description = prodlyMessages.getMessage('descriptionCheckoutCommand');
13
14
  static examples = commandMessages.getMessages('examples');
14
15
  static flags = {
16
+ 'apex-test-classes': Flags.string({
17
+ char: 'a',
18
+ summary: prodlyMessages.getMessage('apexTestClassesFlagDescription'),
19
+ dependsOn: ['test-option'],
20
+ }),
15
21
  'data-folder': Flags.string({ char: 'f', summary: prodlyMessages.getMessage('dataBranchFolderFlagDescription') }),
16
22
  'target-dev-hub': Flags.requiredHub(),
17
23
  'target-org': Flags.requiredOrg(),
24
+ 'test-option': Flags.string({
25
+ char: 'r',
26
+ summary: prodlyMessages.getMessage('testOptionFlagDescription'),
27
+ dependsOn: ['metadata-quick-select-components'],
28
+ options: TEST_OPTIONS,
29
+ }),
30
+ 'metadata-quick-select-components': Flags.string({
31
+ char: 'm',
32
+ summary: prodlyMessages.getMessage('metadataQuickSelectComponentsFlagDescription'),
33
+ }),
18
34
  branch: Flags.string({ char: 'b', summary: prodlyMessages.getMessage('branchFlagDescription') }),
19
35
  dataset: Flags.string({ char: 't', summary: prodlyMessages.getMessage('dataSetFlagDescription') }),
20
36
  deactivate: Flags.boolean({ char: 'e', summary: prodlyMessages.getMessage('deactivateFlagDescription') }),
@@ -23,10 +39,11 @@ export default class ProdlyCheckout extends SfCommand {
23
39
  name: Flags.string({ char: 'n', summary: prodlyMessages.getMessage('deplomentNameFlagDescription') }),
24
40
  notes: Flags.string({ char: 'z', summary: prodlyMessages.getMessage('notesFlagDescription') }),
25
41
  plan: Flags.string({ char: 'p', summary: prodlyMessages.getMessage('deploymentPlanFlagDescription') }),
42
+ simulation: Flags.boolean({ char: 'l', summary: prodlyMessages.getMessage('simulationFlagDescription') }),
26
43
  };
27
44
  async run() {
28
45
  const { flags } = await this.parse(ProdlyCheckout);
29
- const { branch: branchFlag, dataset: datasetFlag, deactivate: deactivateFlag, filter: queryFilterFlag, instance: instanceFlag, name: deploymentNameFlag, notes: deploymentNotesFlag, plan: planFlag, } = flags;
46
+ const { 'apex-test-classes': apexTestClassesFlag, 'metadata-quick-select-components': metadataQuickSelectComponentsFlag, 'test-option': testOptionFlag, branch: branchFlag, dataset: datasetFlag, deactivate: deactivateFlag, filter: queryFilterFlag, instance: instanceFlag, name: deploymentNameFlag, notes: deploymentNotesFlag, plan: planFlag, simulation: simulationFlag, } = flags;
30
47
  this.log('Deployment name flag: ' + deploymentNameFlag);
31
48
  this.log('Instance flag: ' + instanceFlag);
32
49
  this.log('Deactivate flag: ' + deactivateFlag);
@@ -35,10 +52,22 @@ export default class ProdlyCheckout extends SfCommand {
35
52
  this.log('Data folder flag: ' + flags['data-folder']);
36
53
  this.log('Data set flag: ' + datasetFlag);
37
54
  this.log('Deployment plan flag: ' + planFlag);
55
+ this.log('Simulation flag: ' + simulationFlag);
38
56
  this.log('Query filter flag: ' + queryFilterFlag);
39
- if (!datasetFlag && !planFlag) {
57
+ this.log('Metadata quick select components flag: ' + metadataQuickSelectComponentsFlag);
58
+ this.log('Test option flag: ' + testOptionFlag);
59
+ this.log('Apex test classes flag: ' + apexTestClassesFlag);
60
+ const metadataQuickSelectComponents = metadataQuickSelectComponentsFlag !== undefined && metadataQuickSelectComponentsFlag.trim().length > 0
61
+ ? metadataQuickSelectComponentsFlag
62
+ : undefined;
63
+ const hasMetadataQuickSelectComponents = metadataQuickSelectComponents !== undefined;
64
+ // When no metadata quick select components are provided, require either dataset or plan (but not both)
65
+ if (!hasMetadataQuickSelectComponents && !datasetFlag && !planFlag) {
40
66
  throw new SfError(prodlyMessages.getMessage('errorNoDatasetAndPlanFlags', []));
41
67
  }
68
+ if (datasetFlag && planFlag) {
69
+ throw new SfError(prodlyMessages.getMessage('errorDatasetAndPlanFlags', []));
70
+ }
42
71
  if (!deploymentNameFlag) {
43
72
  throw new SfError(prodlyMessages.getMessage('errorDeploymentNameFlag', []));
44
73
  }
@@ -49,7 +78,7 @@ export default class ProdlyCheckout extends SfCommand {
49
78
  const hubOrg = flags['target-dev-hub'];
50
79
  const hubConn = hubOrg.getConnection();
51
80
  const print = (message, ...args) => this.log(message, ...args);
52
- let mangedInstanceId = null;
81
+ let mangedInstanceId;
53
82
  let dataSetId;
54
83
  let deploymentPlanId;
55
84
  // Retrieve the data set or deployment plan to deploy
@@ -100,6 +129,7 @@ export default class ProdlyCheckout extends SfCommand {
100
129
  }
101
130
  // Perform the checkout
102
131
  const jobId = await this.checkoutInstance({
132
+ apexTestClasses: apexTestClassesFlag,
103
133
  branchFlag,
104
134
  dataFolder: flags['data-folder'],
105
135
  dataSetId,
@@ -110,11 +140,14 @@ export default class ProdlyCheckout extends SfCommand {
110
140
  filter: queryFilterFlag,
111
141
  hubConn,
112
142
  mangedInstanceId,
143
+ quickDeploymentComponents: constructQuickDeploymentComponents(metadataQuickSelectComponents),
144
+ simulation: simulationFlag,
145
+ testLevel: testOptionFlag,
113
146
  });
114
147
  this.log(`Checkout launched with Job ID: ${jobId}`);
115
148
  return { jobId, message: 'Checkout launched' };
116
149
  }
117
- async checkoutInstance({ branchFlag, dataFolder, dataSetId, deactivateAllEvents, deploymentNameFlag, deploymentNotes, deploymentPlanId, filter, hubConn, mangedInstanceId, }) {
150
+ async checkoutInstance({ apexTestClasses, branchFlag, dataFolder, dataSetId, deactivateAllEvents, deploymentNameFlag, deploymentNotes, deploymentPlanId, filter, hubConn, mangedInstanceId, quickDeploymentComponents, simulation, testLevel, }) {
118
151
  this.log(`Performing checkout for managed instance with id ${mangedInstanceId}.`);
119
152
  const path = `/services/apexrest/PDRI/v1/instances/${mangedInstanceId}/checkout`;
120
153
  const checkoutInstance = {
@@ -125,7 +158,15 @@ export default class ProdlyCheckout extends SfCommand {
125
158
  deploymentName: deploymentNameFlag,
126
159
  deploymentNotes,
127
160
  deploymentPlanId,
161
+ metadata: quickDeploymentComponents
162
+ ? {
163
+ apexTestClasses: constructApexTestClasses(apexTestClasses, testLevel),
164
+ quickDeploymentComponents,
165
+ testLevel,
166
+ }
167
+ : {},
128
168
  queryFilter: constructQueryFilter(filter),
169
+ validation: simulation ?? false,
129
170
  };
130
171
  const request = {
131
172
  body: JSON.stringify(checkoutInstance),
@@ -1 +1 @@
1
- {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../../src/commands/prodly/checkout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../../src/commands/prodly/checkout.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,10 @@ export default class ProdlyDeploy extends SfCommand<JSONObject> {
8
8
  static readonly description: string;
9
9
  static readonly examples: string[];
10
10
  static readonly flags: {
11
+ 'apex-test-classes': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
12
  'target-dev-hub': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
12
13
  'target-org': import("@oclif/core/interfaces").OptionFlag<import("@salesforce/core").Org, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'test-option': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
15
  'metadata-quick-select-components': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
16
  dataset: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
17
  deactivate: import("@oclif/core/interfaces").BooleanFlag<boolean>;
@@ -1,10 +1,11 @@
1
1
  /* eslint-disable complexity */
2
2
  import { Messages, SfError } from '@salesforce/core';
3
3
  import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
4
- import { constructQueryFilter } from '../../helpers/index.js';
4
+ import { constructApexTestClasses, constructQueryFilter, constructQuickDeploymentComponents, } from '../../helpers/index.js';
5
5
  import { createConnection, getConnectionId, updateConnection } from '../../services/connections.js';
6
6
  import { getManagedInstance, manageInstance } from '../../services/manage-instances.js';
7
7
  import { getDeploymentEntityId } from '../../services/queries.js';
8
+ import { TEST_OPTIONS } from '../../constants/index.js';
8
9
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
9
10
  const commandMessages = Messages.loadMessages('prodlysfcli', 'prodly.deploy');
10
11
  const prodlyMessages = Messages.loadMessages('prodlysfcli', 'prodly');
@@ -13,8 +14,19 @@ export default class ProdlyDeploy extends SfCommand {
13
14
  static description = prodlyMessages.getMessage('descriptionDeployCommand');
14
15
  static examples = commandMessages.getMessages('examples');
15
16
  static flags = {
17
+ 'apex-test-classes': Flags.string({
18
+ char: 'a',
19
+ summary: prodlyMessages.getMessage('apexTestClassesFlagDescription'),
20
+ dependsOn: ['test-option'],
21
+ }),
16
22
  'target-dev-hub': Flags.requiredHub(),
17
23
  'target-org': Flags.requiredOrg(),
24
+ 'test-option': Flags.string({
25
+ char: 'r',
26
+ summary: prodlyMessages.getMessage('testOptionFlagDescription'),
27
+ dependsOn: ['metadata-quick-select-components'],
28
+ options: TEST_OPTIONS,
29
+ }),
18
30
  'metadata-quick-select-components': Flags.string({
19
31
  char: 'm',
20
32
  summary: prodlyMessages.getMessage('metadataQuickSelectComponentsFlagDescription'),
@@ -46,7 +58,7 @@ export default class ProdlyDeploy extends SfCommand {
46
58
  };
47
59
  async run() {
48
60
  const { flags } = await this.parse(ProdlyDeploy);
49
- const { 'metadata-quick-select-components': metadataQuickSelectComponentsFlag, dataset: datasetFlag, deactivate: deactivateFlag, destination: destinationFlag, filter: queryFilterFlag, label: labelFlag, name: deploymentNameFlag, notes: deploymentNotesFlag, plan: planFlag, simulation: simulationFlag, source: sourceFlag, } = flags;
61
+ const { 'apex-test-classes': apexTestClassesFlag, 'metadata-quick-select-components': metadataQuickSelectComponentsFlag, 'test-option': testOptionFlag, dataset: datasetFlag, deactivate: deactivateFlag, destination: destinationFlag, filter: queryFilterFlag, label: labelFlag, name: deploymentNameFlag, notes: deploymentNotesFlag, plan: planFlag, simulation: simulationFlag, source: sourceFlag, } = flags;
50
62
  const isOrgSpecified = sourceFlag !== undefined || destinationFlag !== undefined;
51
63
  this.log('Deployment name flag: ' + deploymentNameFlag);
52
64
  this.log('Deployment description flag: ' + deploymentNotesFlag);
@@ -59,6 +71,8 @@ export default class ProdlyDeploy extends SfCommand {
59
71
  this.log('Simulation flag: ' + simulationFlag);
60
72
  this.log('Query filter flag: ' + queryFilterFlag);
61
73
  this.log('Metadata quick select components flag: ' + metadataQuickSelectComponentsFlag);
74
+ this.log('Test option flag: ' + testOptionFlag);
75
+ this.log('Apex test classes flag: ' + apexTestClassesFlag);
62
76
  const hasMetadataQuickSelectComponents = metadataQuickSelectComponentsFlag !== undefined;
63
77
  // When no metadata quick select components are provided, require either dataset or plan (but not both)
64
78
  if (!hasMetadataQuickSelectComponents && !datasetFlag && !planFlag) {
@@ -228,19 +242,9 @@ export default class ProdlyDeploy extends SfCommand {
228
242
  print,
229
243
  });
230
244
  }
231
- // Parse metadata quick select components if provided
232
- let quickDeploymentComponents;
233
- if (metadataQuickSelectComponentsFlag) {
234
- try {
235
- quickDeploymentComponents = JSON.parse(metadataQuickSelectComponentsFlag);
236
- this.log(`Parsed metadata quick select components: ${JSON.stringify(quickDeploymentComponents)}`);
237
- }
238
- catch (error) {
239
- throw new SfError(`Invalid JSON format for metadata-quick-select-components flag: ${error instanceof Error ? error.message : String(error)}`);
240
- }
241
- }
242
245
  this.log('Launching deployment.');
243
246
  const jobId = await this.deploy({
247
+ apexTestClasses: apexTestClassesFlag,
244
248
  dataSetId,
245
249
  deactivateAllEvents: deactivateFlag,
246
250
  deploymentName: deploymentNameFlag,
@@ -249,15 +253,16 @@ export default class ProdlyDeploy extends SfCommand {
249
253
  destinationInstanceId,
250
254
  hubConn,
251
255
  queryFilter: queryFilterFlag,
252
- quickDeploymentComponents,
256
+ quickDeploymentComponents: constructQuickDeploymentComponents(metadataQuickSelectComponentsFlag),
253
257
  simulation: simulationFlag,
254
258
  sourceInstanceId,
259
+ testLevel: testOptionFlag,
255
260
  });
256
261
  this.log(`Deployment launched with Job ID: ${jobId}`);
257
262
  // Return an object to be displayed with --json
258
263
  return { jobId, message: 'Deployment launched' };
259
264
  }
260
- async deploy({ dataSetId, deactivateAllEvents, deploymentName, deploymentNotes, deploymentPlanId, destinationInstanceId, hubConn, queryFilter, quickDeploymentComponents, simulation, sourceInstanceId, }) {
265
+ async deploy({ apexTestClasses, dataSetId, deactivateAllEvents, deploymentName, deploymentNotes, deploymentPlanId, destinationInstanceId, hubConn, queryFilter, quickDeploymentComponents, simulation, sourceInstanceId, testLevel, }) {
261
266
  this.log('Invoking deployment.');
262
267
  const path = `/services/apexrest/PDRI/v1/instances/${destinationInstanceId}/deploy`;
263
268
  const eventControlOptions = {
@@ -276,9 +281,15 @@ export default class ProdlyDeploy extends SfCommand {
276
281
  const deployInstance = {
277
282
  deploymentName,
278
283
  deploymentNotes,
279
- engagementId: null,
280
284
  data: [dataDeploymentOptions],
281
- metadata: quickDeploymentComponents ? { quickDeploymentComponents } : {},
285
+ metadata: quickDeploymentComponents
286
+ ? {
287
+ apexTestClasses: constructApexTestClasses(apexTestClasses, testLevel),
288
+ quickDeploymentComponents,
289
+ testLevel,
290
+ validation: simulation ?? false,
291
+ }
292
+ : {},
282
293
  source: sourceOptions,
283
294
  };
284
295
  const request = {