sfdx-hardis 5.41.0 → 5.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/lib/commands/hardis/project/deploy/notify.js +2 -2
- package/lib/commands/hardis/project/deploy/notify.js.map +1 -1
- package/lib/commands/hardis/project/deploy/smart.d.ts +11 -1
- package/lib/commands/hardis/project/deploy/smart.js +97 -30
- package/lib/commands/hardis/project/deploy/smart.js.map +1 -1
- package/lib/common/gitProvider/azureDevops.d.ts +2 -2
- package/lib/common/gitProvider/azureDevops.js +16 -9
- package/lib/common/gitProvider/azureDevops.js.map +1 -1
- package/lib/common/gitProvider/bitbucket.d.ts +2 -2
- package/lib/common/gitProvider/bitbucket.js +15 -6
- package/lib/common/gitProvider/bitbucket.js.map +1 -1
- package/lib/common/gitProvider/gitProviderRoot.d.ts +4 -3
- package/lib/common/gitProvider/gitProviderRoot.js +20 -0
- package/lib/common/gitProvider/gitProviderRoot.js.map +1 -1
- package/lib/common/gitProvider/github.d.ts +2 -2
- package/lib/common/gitProvider/github.js +14 -6
- package/lib/common/gitProvider/github.js.map +1 -1
- package/lib/common/gitProvider/gitlab.d.ts +2 -2
- package/lib/common/gitProvider/gitlab.js +17 -7
- package/lib/common/gitProvider/gitlab.js.map +1 -1
- package/lib/common/gitProvider/index.d.ts +42 -1
- package/lib/common/gitProvider/index.js +12 -5
- package/lib/common/gitProvider/index.js.map +1 -1
- package/lib/common/ticketProvider/azureBoardsProvider.d.ts +3 -2
- package/lib/common/ticketProvider/azureBoardsProvider.js +7 -7
- package/lib/common/ticketProvider/azureBoardsProvider.js.map +1 -1
- package/lib/common/ticketProvider/genericProvider.d.ts +2 -1
- package/lib/common/ticketProvider/genericProvider.js.map +1 -1
- package/lib/common/ticketProvider/index.d.ts +2 -1
- package/lib/common/ticketProvider/index.js.map +1 -1
- package/lib/common/ticketProvider/jiraProvider.d.ts +2 -1
- package/lib/common/ticketProvider/jiraProvider.js +2 -2
- package/lib/common/ticketProvider/jiraProvider.js.map +1 -1
- package/lib/common/ticketProvider/ticketProviderRoot.d.ts +2 -1
- package/lib/common/ticketProvider/ticketProviderRoot.js +1 -1
- package/lib/common/ticketProvider/ticketProviderRoot.js.map +1 -1
- package/lib/common/utils/deployTips.js.map +1 -1
- package/lib/common/utils/deployUtils.d.ts +17 -1
- package/lib/common/utils/deployUtils.js +30 -11
- package/lib/common/utils/deployUtils.js.map +1 -1
- package/lib/common/utils/gitUtils.d.ts +2 -1
- package/lib/common/utils/gitUtils.js +8 -9
- package/lib/common/utils/gitUtils.js.map +1 -1
- package/lib/common/utils/orgUtils.js +2 -0
- package/lib/common/utils/orgUtils.js.map +1 -1
- package/oclif.manifest.json +627 -627
- package/package.json +1 -1
package/oclif.manifest.json
CHANGED
|
@@ -129,13 +129,12 @@
|
|
|
129
129
|
"clear:cache:hardis"
|
|
130
130
|
]
|
|
131
131
|
},
|
|
132
|
-
"hardis:
|
|
132
|
+
"hardis:config:get": {
|
|
133
133
|
"aliases": [],
|
|
134
134
|
"args": {},
|
|
135
|
-
"description": "
|
|
135
|
+
"description": "Returns sfdx-hardis project config for a given level",
|
|
136
136
|
"examples": [
|
|
137
|
-
"$ sf hardis:
|
|
138
|
-
"CI=true sf hardis:auth:login"
|
|
137
|
+
"$ sf hardis:project:deploy:sources:metadata"
|
|
139
138
|
],
|
|
140
139
|
"flags": {
|
|
141
140
|
"json": {
|
|
@@ -153,28 +152,20 @@
|
|
|
153
152
|
"multiple": false,
|
|
154
153
|
"type": "option"
|
|
155
154
|
},
|
|
156
|
-
"
|
|
157
|
-
"char": "
|
|
158
|
-
"description": "
|
|
159
|
-
"name": "
|
|
155
|
+
"level": {
|
|
156
|
+
"char": "l",
|
|
157
|
+
"description": "project,branch or user",
|
|
158
|
+
"name": "level",
|
|
159
|
+
"default": "project",
|
|
160
160
|
"hasDynamicHelp": false,
|
|
161
161
|
"multiple": false,
|
|
162
|
+
"options": [
|
|
163
|
+
"project",
|
|
164
|
+
"branch",
|
|
165
|
+
"user"
|
|
166
|
+
],
|
|
162
167
|
"type": "option"
|
|
163
168
|
},
|
|
164
|
-
"devhub": {
|
|
165
|
-
"char": "h",
|
|
166
|
-
"description": "Also connect associated DevHub",
|
|
167
|
-
"name": "devhub",
|
|
168
|
-
"allowNo": false,
|
|
169
|
-
"type": "boolean"
|
|
170
|
-
},
|
|
171
|
-
"scratchorg": {
|
|
172
|
-
"char": "s",
|
|
173
|
-
"description": "Scratch org",
|
|
174
|
-
"name": "scratchorg",
|
|
175
|
-
"allowNo": false,
|
|
176
|
-
"type": "boolean"
|
|
177
|
-
},
|
|
178
169
|
"debug": {
|
|
179
170
|
"char": "d",
|
|
180
171
|
"description": "Activate debug mode (more logs)",
|
|
@@ -198,38 +189,39 @@
|
|
|
198
189
|
},
|
|
199
190
|
"hasDynamicHelp": false,
|
|
200
191
|
"hiddenAliases": [],
|
|
201
|
-
"id": "hardis:
|
|
192
|
+
"id": "hardis:config:get",
|
|
202
193
|
"pluginAlias": "sfdx-hardis",
|
|
203
194
|
"pluginName": "sfdx-hardis",
|
|
204
195
|
"pluginType": "core",
|
|
205
196
|
"strict": true,
|
|
206
197
|
"enableJsonFlag": true,
|
|
207
|
-
"title": "
|
|
198
|
+
"title": "Deploy metadata sources to org",
|
|
208
199
|
"requiresProject": false,
|
|
209
200
|
"isESM": true,
|
|
210
201
|
"relativePath": [
|
|
211
202
|
"lib",
|
|
212
203
|
"commands",
|
|
213
204
|
"hardis",
|
|
214
|
-
"
|
|
215
|
-
"
|
|
205
|
+
"config",
|
|
206
|
+
"get.js"
|
|
216
207
|
],
|
|
217
208
|
"aliasPermutations": [],
|
|
218
209
|
"permutations": [
|
|
219
|
-
"hardis:
|
|
220
|
-
"
|
|
221
|
-
"
|
|
222
|
-
"hardis:
|
|
223
|
-
"
|
|
224
|
-
"
|
|
210
|
+
"hardis:config:get",
|
|
211
|
+
"config:hardis:get",
|
|
212
|
+
"config:get:hardis",
|
|
213
|
+
"hardis:get:config",
|
|
214
|
+
"get:hardis:config",
|
|
215
|
+
"get:config:hardis"
|
|
225
216
|
]
|
|
226
217
|
},
|
|
227
|
-
"hardis:
|
|
218
|
+
"hardis:auth:login": {
|
|
228
219
|
"aliases": [],
|
|
229
220
|
"args": {},
|
|
230
|
-
"description": "
|
|
221
|
+
"description": "\nLogins to a Salesforce org from CI/CD workflows.\n\nWill use the variables and files defined by configuration commands:\n\n- CI/CD repos: [Configure Org CI Authentication](https://sfdx-hardis.cloudity.com/hardis/project/configure/auth/)\n- Monitoring repos: [Configure Org Monitoring](https://sfdx-hardis.cloudity.com/hardis/org/configure/monitoring/)\n\nIf you have a technical org (for example to call Agentforce from another org, you can define variable SFDX_AUTH_URL_TECHNICAL_ORG and it will authenticate it with alias TECHNICAL_ORG)\n\nYou can get SFDX_AUTH_URL_TECHNICAL_ORG value by running the command: `sf org display --verbose --json` and copy the value of the field `sfdxAuthUrl` in the output.\n",
|
|
231
222
|
"examples": [
|
|
232
|
-
"$ sf hardis:
|
|
223
|
+
"$ sf hardis:auth:login",
|
|
224
|
+
"CI=true sf hardis:auth:login"
|
|
233
225
|
],
|
|
234
226
|
"flags": {
|
|
235
227
|
"json": {
|
|
@@ -247,20 +239,28 @@
|
|
|
247
239
|
"multiple": false,
|
|
248
240
|
"type": "option"
|
|
249
241
|
},
|
|
250
|
-
"
|
|
251
|
-
"char": "
|
|
252
|
-
"description": "
|
|
253
|
-
"name": "
|
|
254
|
-
"default": "project",
|
|
242
|
+
"instanceurl": {
|
|
243
|
+
"char": "r",
|
|
244
|
+
"description": "URL of org instance",
|
|
245
|
+
"name": "instanceurl",
|
|
255
246
|
"hasDynamicHelp": false,
|
|
256
247
|
"multiple": false,
|
|
257
|
-
"options": [
|
|
258
|
-
"project",
|
|
259
|
-
"branch",
|
|
260
|
-
"user"
|
|
261
|
-
],
|
|
262
248
|
"type": "option"
|
|
263
249
|
},
|
|
250
|
+
"devhub": {
|
|
251
|
+
"char": "h",
|
|
252
|
+
"description": "Also connect associated DevHub",
|
|
253
|
+
"name": "devhub",
|
|
254
|
+
"allowNo": false,
|
|
255
|
+
"type": "boolean"
|
|
256
|
+
},
|
|
257
|
+
"scratchorg": {
|
|
258
|
+
"char": "s",
|
|
259
|
+
"description": "Scratch org",
|
|
260
|
+
"name": "scratchorg",
|
|
261
|
+
"allowNo": false,
|
|
262
|
+
"type": "boolean"
|
|
263
|
+
},
|
|
264
264
|
"debug": {
|
|
265
265
|
"char": "d",
|
|
266
266
|
"description": "Activate debug mode (more logs)",
|
|
@@ -284,30 +284,30 @@
|
|
|
284
284
|
},
|
|
285
285
|
"hasDynamicHelp": false,
|
|
286
286
|
"hiddenAliases": [],
|
|
287
|
-
"id": "hardis:
|
|
287
|
+
"id": "hardis:auth:login",
|
|
288
288
|
"pluginAlias": "sfdx-hardis",
|
|
289
289
|
"pluginName": "sfdx-hardis",
|
|
290
290
|
"pluginType": "core",
|
|
291
291
|
"strict": true,
|
|
292
292
|
"enableJsonFlag": true,
|
|
293
|
-
"title": "
|
|
293
|
+
"title": "Login",
|
|
294
294
|
"requiresProject": false,
|
|
295
295
|
"isESM": true,
|
|
296
296
|
"relativePath": [
|
|
297
297
|
"lib",
|
|
298
298
|
"commands",
|
|
299
299
|
"hardis",
|
|
300
|
-
"
|
|
301
|
-
"
|
|
300
|
+
"auth",
|
|
301
|
+
"login.js"
|
|
302
302
|
],
|
|
303
303
|
"aliasPermutations": [],
|
|
304
304
|
"permutations": [
|
|
305
|
-
"hardis:
|
|
306
|
-
"
|
|
307
|
-
"
|
|
308
|
-
"hardis:
|
|
309
|
-
"
|
|
310
|
-
"
|
|
305
|
+
"hardis:auth:login",
|
|
306
|
+
"auth:hardis:login",
|
|
307
|
+
"auth:login:hardis",
|
|
308
|
+
"hardis:login:auth",
|
|
309
|
+
"login:hardis:auth",
|
|
310
|
+
"login:auth:hardis"
|
|
311
311
|
]
|
|
312
312
|
},
|
|
313
313
|
"hardis:doc:fieldusage": {
|
|
@@ -5476,12 +5476,15 @@
|
|
|
5476
5476
|
"import:data:org:hardis"
|
|
5477
5477
|
]
|
|
5478
5478
|
},
|
|
5479
|
-
"hardis:org:
|
|
5479
|
+
"hardis:org:diagnose:audittrail": {
|
|
5480
5480
|
"aliases": [],
|
|
5481
5481
|
"args": {},
|
|
5482
|
-
"description": "Export
|
|
5482
|
+
"description": "Export Audit trail into a CSV file with selected criteria, and highlight suspect actions\n\nAlso detects updates of Custom Settings values (disable by defining `SKIP_AUDIT_TRAIL_CUSTOM_SETTINGS=true`)\n\nRegular setup actions performed in major orgs are filtered.\n\n- \"\"\n - createScratchOrg\n - changedsenderemail\n - deleteScratchOrg\n - loginasgrantedtopartnerbt\n- Certificate and Key Management\n - insertCertificate\n- Custom App Licenses\n - addeduserpackagelicense\n - granteduserpackagelicense\n - revokeduserpackagelicense\n- Customer Portal\n - createdcustomersuccessuser\n - CSPUserDisabled\n- Currency\n - updateddatedexchrate\n- Data Management\n - queueMembership\n- Email Administration\n - dkimRotationPreparationSuccessful\n - dkimRotationSuccessful\n- Groups\n - groupMembership\n- Holidays\n - holiday_insert\n- Inbox mobile and legacy desktop apps\n - enableSIQUserNonEAC\n- Manage Users\n - activateduser\n - createduser\n - changedcommunitynickname\n - changedemail\n - changedfederationid\n - changedpassword\n - changedinteractionuseroffon\n - changedinteractionuseronoff\n - changedmarketinguseroffon\n - changedmarketinguseronoff\n - changedofflineuseroffon\n - changedprofileforuserstdtostd\n - changedprofileforuser\n - changedprofileforusercusttostd\n - changedprofileforuserstdtocust\n - changedroleforusertonone\n - changedroleforuser\n - changedroleforuserfromnone\n - changedUserEmailVerifiedStatusUnverified\n - changedUserEmailVerifiedStatusVerified\n - changedknowledgeuseroffon\n - changedsfcontentuseroffon\n - changedsupportuseroffon\n - changedUserPhoneNumber\n - changedUserPhoneVerifiedStatusUnverified\n - deactivateduser\n - deleteAuthenticatorPairing\n - deleteTwoFactorInfo2\n - deleteTwoFactorTempCode\n - frozeuser\n - insertAuthenticatorPairing\n - insertTwoFactorInfo2\n - insertTwoFactorTempCode\n - lightningloginenroll\n - PermSetAssign\n - PermSetGroupAssign\n - PermSetGroupUnassign\n - PermSetLicenseAssign\n - PermSetUnassign\n - PermSetLicenseUnassign\n - registeredUserPhoneNumber\n - resetpassword\n - suNetworkAdminLogin\n - suNetworkAdminLogout\n - suOrgAdminLogin\n - suOrgAdminLogout\n - unfrozeuser\n - useremailchangesent\n- Mobile Administration\n - assigneduserstomobileconfig\n- Reporting Snapshots\n - createdReportJob\n - deletedReportJob\n- Sandboxes\n - DeleteSandbox\n\nBy default, deployment user defined in .sfdx-hardis.yml targetUsername property will be excluded.\n\nYou can define additional users to exclude in .sfdx-hardis.yml **monitoringExcludeUsernames** property.\n\nYou can also add more sections / actions considered as not suspect using property **monitoringAllowedSectionsActions**\n\nExample:\n\n```yaml\nmonitoringExcludeUsernames:\n - deploymentuser@cloudity.com\n - marketingcloud@cloudity.com\n - integration-user@cloudity.com\n\nmonitoringAllowedSectionsActions:\n \"Some section\": [] // Will ignore all actions from such section\n \"Some other section\": [\"actionType1\",\"actionType2\",\"actionType3\"] // Will ignore only those 3 actions from section \"Some other section\". Other actions in the same section will be considered as suspect.\n```\n\n## Excel output example\n\n\n\n## Local output example\n\n\n\nThis command is part of [sfdx-hardis Monitoring](https://sfdx-hardis.cloudity.com/salesforce-monitoring-suspect-audit-trail/) and can output Grafana, Slack and MsTeams Notifications.\n",
|
|
5483
5483
|
"examples": [
|
|
5484
|
-
"$ sf hardis:org:
|
|
5484
|
+
"$ sf hardis:org:diagnose:audittrail",
|
|
5485
|
+
"$ sf hardis:org:diagnose:audittrail --excludeusers baptiste@titi.com",
|
|
5486
|
+
"$ sf hardis:org:diagnose:audittrail --excludeusers baptiste@titi.com,bertrand@titi.com",
|
|
5487
|
+
"$ sf hardis:org:diagnose:audittrail --lastndays 5"
|
|
5485
5488
|
],
|
|
5486
5489
|
"flags": {
|
|
5487
5490
|
"json": {
|
|
@@ -5499,37 +5502,26 @@
|
|
|
5499
5502
|
"multiple": false,
|
|
5500
5503
|
"type": "option"
|
|
5501
5504
|
},
|
|
5502
|
-
"
|
|
5503
|
-
"char": "
|
|
5504
|
-
"description": "
|
|
5505
|
-
"name": "
|
|
5506
|
-
"hasDynamicHelp": false,
|
|
5507
|
-
"multiple": false,
|
|
5508
|
-
"type": "option"
|
|
5509
|
-
},
|
|
5510
|
-
"chunksize": {
|
|
5511
|
-
"char": "c",
|
|
5512
|
-
"description": "Number of records to add in a chunk before it is processed",
|
|
5513
|
-
"name": "chunksize",
|
|
5514
|
-
"default": 1000,
|
|
5505
|
+
"excludeusers": {
|
|
5506
|
+
"char": "e",
|
|
5507
|
+
"description": "Comma-separated list of usernames to exclude",
|
|
5508
|
+
"name": "excludeusers",
|
|
5515
5509
|
"hasDynamicHelp": false,
|
|
5516
5510
|
"multiple": false,
|
|
5517
5511
|
"type": "option"
|
|
5518
5512
|
},
|
|
5519
|
-
"
|
|
5513
|
+
"lastndays": {
|
|
5520
5514
|
"char": "t",
|
|
5521
|
-
"description": "
|
|
5522
|
-
"name": "
|
|
5523
|
-
"default": 300000,
|
|
5515
|
+
"description": "Number of days to extract from today (included)",
|
|
5516
|
+
"name": "lastndays",
|
|
5524
5517
|
"hasDynamicHelp": false,
|
|
5525
5518
|
"multiple": false,
|
|
5526
5519
|
"type": "option"
|
|
5527
5520
|
},
|
|
5528
|
-
"
|
|
5529
|
-
"char": "
|
|
5530
|
-
"description": "
|
|
5531
|
-
"name": "
|
|
5532
|
-
"default": 0,
|
|
5521
|
+
"outputfile": {
|
|
5522
|
+
"char": "f",
|
|
5523
|
+
"description": "Force the path and name of output report file. Must end with .csv",
|
|
5524
|
+
"name": "outputfile",
|
|
5533
5525
|
"hasDynamicHelp": false,
|
|
5534
5526
|
"multiple": false,
|
|
5535
5527
|
"type": "option"
|
|
@@ -5572,13 +5564,13 @@
|
|
|
5572
5564
|
},
|
|
5573
5565
|
"hasDynamicHelp": true,
|
|
5574
5566
|
"hiddenAliases": [],
|
|
5575
|
-
"id": "hardis:org:
|
|
5567
|
+
"id": "hardis:org:diagnose:audittrail",
|
|
5576
5568
|
"pluginAlias": "sfdx-hardis",
|
|
5577
5569
|
"pluginName": "sfdx-hardis",
|
|
5578
5570
|
"pluginType": "core",
|
|
5579
5571
|
"strict": true,
|
|
5580
5572
|
"enableJsonFlag": true,
|
|
5581
|
-
"title": "
|
|
5573
|
+
"title": "Diagnose content of Setup Audit Trail",
|
|
5582
5574
|
"requiresProject": false,
|
|
5583
5575
|
"isESM": true,
|
|
5584
5576
|
"relativePath": [
|
|
@@ -5586,43 +5578,43 @@
|
|
|
5586
5578
|
"commands",
|
|
5587
5579
|
"hardis",
|
|
5588
5580
|
"org",
|
|
5589
|
-
"
|
|
5590
|
-
"
|
|
5581
|
+
"diagnose",
|
|
5582
|
+
"audittrail.js"
|
|
5591
5583
|
],
|
|
5592
5584
|
"aliasPermutations": [],
|
|
5593
5585
|
"permutations": [
|
|
5594
|
-
"hardis:org:
|
|
5595
|
-
"org:hardis:
|
|
5596
|
-
"org:
|
|
5597
|
-
"org:
|
|
5598
|
-
"hardis:
|
|
5599
|
-
"
|
|
5600
|
-
"
|
|
5601
|
-
"
|
|
5602
|
-
"hardis:
|
|
5603
|
-
"
|
|
5604
|
-
"
|
|
5605
|
-
"
|
|
5606
|
-
"hardis:org:
|
|
5607
|
-
"org:hardis:
|
|
5608
|
-
"org:
|
|
5609
|
-
"org:
|
|
5610
|
-
"hardis:
|
|
5611
|
-
"
|
|
5612
|
-
"
|
|
5613
|
-
"
|
|
5614
|
-
"hardis:
|
|
5615
|
-
"
|
|
5616
|
-
"
|
|
5617
|
-
"
|
|
5586
|
+
"hardis:org:diagnose:audittrail",
|
|
5587
|
+
"org:hardis:diagnose:audittrail",
|
|
5588
|
+
"org:diagnose:hardis:audittrail",
|
|
5589
|
+
"org:diagnose:audittrail:hardis",
|
|
5590
|
+
"hardis:diagnose:org:audittrail",
|
|
5591
|
+
"diagnose:hardis:org:audittrail",
|
|
5592
|
+
"diagnose:org:hardis:audittrail",
|
|
5593
|
+
"diagnose:org:audittrail:hardis",
|
|
5594
|
+
"hardis:diagnose:audittrail:org",
|
|
5595
|
+
"diagnose:hardis:audittrail:org",
|
|
5596
|
+
"diagnose:audittrail:hardis:org",
|
|
5597
|
+
"diagnose:audittrail:org:hardis",
|
|
5598
|
+
"hardis:org:audittrail:diagnose",
|
|
5599
|
+
"org:hardis:audittrail:diagnose",
|
|
5600
|
+
"org:audittrail:hardis:diagnose",
|
|
5601
|
+
"org:audittrail:diagnose:hardis",
|
|
5602
|
+
"hardis:audittrail:org:diagnose",
|
|
5603
|
+
"audittrail:hardis:org:diagnose",
|
|
5604
|
+
"audittrail:org:hardis:diagnose",
|
|
5605
|
+
"audittrail:org:diagnose:hardis",
|
|
5606
|
+
"hardis:audittrail:diagnose:org",
|
|
5607
|
+
"audittrail:hardis:diagnose:org",
|
|
5608
|
+
"audittrail:diagnose:hardis:org",
|
|
5609
|
+
"audittrail:diagnose:org:hardis"
|
|
5618
5610
|
]
|
|
5619
5611
|
},
|
|
5620
|
-
"hardis:org:
|
|
5612
|
+
"hardis:org:diagnose:instanceupgrade": {
|
|
5621
5613
|
"aliases": [],
|
|
5622
5614
|
"args": {},
|
|
5623
|
-
"description": "
|
|
5615
|
+
"description": "Get the date when the org instance will be upgraded (to Spring, Summer or Winter)\n ",
|
|
5624
5616
|
"examples": [
|
|
5625
|
-
"$ sf hardis:org:
|
|
5617
|
+
"$ sf hardis:org:diagnose:instanceupgrade"
|
|
5626
5618
|
],
|
|
5627
5619
|
"flags": {
|
|
5628
5620
|
"json": {
|
|
@@ -5640,21 +5632,6 @@
|
|
|
5640
5632
|
"multiple": false,
|
|
5641
5633
|
"type": "option"
|
|
5642
5634
|
},
|
|
5643
|
-
"path": {
|
|
5644
|
-
"char": "p",
|
|
5645
|
-
"description": "Path to the file export project",
|
|
5646
|
-
"name": "path",
|
|
5647
|
-
"hasDynamicHelp": false,
|
|
5648
|
-
"multiple": false,
|
|
5649
|
-
"type": "option"
|
|
5650
|
-
},
|
|
5651
|
-
"overwrite": {
|
|
5652
|
-
"char": "f",
|
|
5653
|
-
"description": "Override existing files (doubles the number of API calls)",
|
|
5654
|
-
"name": "overwrite",
|
|
5655
|
-
"allowNo": false,
|
|
5656
|
-
"type": "boolean"
|
|
5657
|
-
},
|
|
5658
5635
|
"debug": {
|
|
5659
5636
|
"char": "d",
|
|
5660
5637
|
"description": "Activate debug mode (more logs)",
|
|
@@ -5693,13 +5670,13 @@
|
|
|
5693
5670
|
},
|
|
5694
5671
|
"hasDynamicHelp": true,
|
|
5695
5672
|
"hiddenAliases": [],
|
|
5696
|
-
"id": "hardis:org:
|
|
5673
|
+
"id": "hardis:org:diagnose:instanceupgrade",
|
|
5697
5674
|
"pluginAlias": "sfdx-hardis",
|
|
5698
5675
|
"pluginName": "sfdx-hardis",
|
|
5699
5676
|
"pluginType": "core",
|
|
5700
5677
|
"strict": true,
|
|
5701
5678
|
"enableJsonFlag": true,
|
|
5702
|
-
"title": "
|
|
5679
|
+
"title": "Get Instance Upgrade date",
|
|
5703
5680
|
"requiresProject": false,
|
|
5704
5681
|
"isESM": true,
|
|
5705
5682
|
"relativePath": [
|
|
@@ -5707,247 +5684,8 @@
|
|
|
5707
5684
|
"commands",
|
|
5708
5685
|
"hardis",
|
|
5709
5686
|
"org",
|
|
5710
|
-
"
|
|
5711
|
-
"
|
|
5712
|
-
],
|
|
5713
|
-
"aliasPermutations": [],
|
|
5714
|
-
"permutations": [
|
|
5715
|
-
"hardis:org:files:import",
|
|
5716
|
-
"org:hardis:files:import",
|
|
5717
|
-
"org:files:hardis:import",
|
|
5718
|
-
"org:files:import:hardis",
|
|
5719
|
-
"hardis:files:org:import",
|
|
5720
|
-
"files:hardis:org:import",
|
|
5721
|
-
"files:org:hardis:import",
|
|
5722
|
-
"files:org:import:hardis",
|
|
5723
|
-
"hardis:files:import:org",
|
|
5724
|
-
"files:hardis:import:org",
|
|
5725
|
-
"files:import:hardis:org",
|
|
5726
|
-
"files:import:org:hardis",
|
|
5727
|
-
"hardis:org:import:files",
|
|
5728
|
-
"org:hardis:import:files",
|
|
5729
|
-
"org:import:hardis:files",
|
|
5730
|
-
"org:import:files:hardis",
|
|
5731
|
-
"hardis:import:org:files",
|
|
5732
|
-
"import:hardis:org:files",
|
|
5733
|
-
"import:org:hardis:files",
|
|
5734
|
-
"import:org:files:hardis",
|
|
5735
|
-
"hardis:import:files:org",
|
|
5736
|
-
"import:hardis:files:org",
|
|
5737
|
-
"import:files:hardis:org",
|
|
5738
|
-
"import:files:org:hardis"
|
|
5739
|
-
]
|
|
5740
|
-
},
|
|
5741
|
-
"hardis:org:diagnose:audittrail": {
|
|
5742
|
-
"aliases": [],
|
|
5743
|
-
"args": {},
|
|
5744
|
-
"description": "Export Audit trail into a CSV file with selected criteria, and highlight suspect actions\n\nAlso detects updates of Custom Settings values (disable by defining `SKIP_AUDIT_TRAIL_CUSTOM_SETTINGS=true`)\n\nRegular setup actions performed in major orgs are filtered.\n\n- \"\"\n - createScratchOrg\n - changedsenderemail\n - deleteScratchOrg\n - loginasgrantedtopartnerbt\n- Certificate and Key Management\n - insertCertificate\n- Custom App Licenses\n - addeduserpackagelicense\n - granteduserpackagelicense\n - revokeduserpackagelicense\n- Customer Portal\n - createdcustomersuccessuser\n - CSPUserDisabled\n- Currency\n - updateddatedexchrate\n- Data Management\n - queueMembership\n- Email Administration\n - dkimRotationPreparationSuccessful\n - dkimRotationSuccessful\n- Groups\n - groupMembership\n- Holidays\n - holiday_insert\n- Inbox mobile and legacy desktop apps\n - enableSIQUserNonEAC\n- Manage Users\n - activateduser\n - createduser\n - changedcommunitynickname\n - changedemail\n - changedfederationid\n - changedpassword\n - changedinteractionuseroffon\n - changedinteractionuseronoff\n - changedmarketinguseroffon\n - changedmarketinguseronoff\n - changedofflineuseroffon\n - changedprofileforuserstdtostd\n - changedprofileforuser\n - changedprofileforusercusttostd\n - changedprofileforuserstdtocust\n - changedroleforusertonone\n - changedroleforuser\n - changedroleforuserfromnone\n - changedUserEmailVerifiedStatusUnverified\n - changedUserEmailVerifiedStatusVerified\n - changedknowledgeuseroffon\n - changedsfcontentuseroffon\n - changedsupportuseroffon\n - changedUserPhoneNumber\n - changedUserPhoneVerifiedStatusUnverified\n - deactivateduser\n - deleteAuthenticatorPairing\n - deleteTwoFactorInfo2\n - deleteTwoFactorTempCode\n - frozeuser\n - insertAuthenticatorPairing\n - insertTwoFactorInfo2\n - insertTwoFactorTempCode\n - lightningloginenroll\n - PermSetAssign\n - PermSetGroupAssign\n - PermSetGroupUnassign\n - PermSetLicenseAssign\n - PermSetUnassign\n - PermSetLicenseUnassign\n - registeredUserPhoneNumber\n - resetpassword\n - suNetworkAdminLogin\n - suNetworkAdminLogout\n - suOrgAdminLogin\n - suOrgAdminLogout\n - unfrozeuser\n - useremailchangesent\n- Mobile Administration\n - assigneduserstomobileconfig\n- Reporting Snapshots\n - createdReportJob\n - deletedReportJob\n- Sandboxes\n - DeleteSandbox\n\nBy default, deployment user defined in .sfdx-hardis.yml targetUsername property will be excluded.\n\nYou can define additional users to exclude in .sfdx-hardis.yml **monitoringExcludeUsernames** property.\n\nYou can also add more sections / actions considered as not suspect using property **monitoringAllowedSectionsActions**\n\nExample:\n\n```yaml\nmonitoringExcludeUsernames:\n - deploymentuser@cloudity.com\n - marketingcloud@cloudity.com\n - integration-user@cloudity.com\n\nmonitoringAllowedSectionsActions:\n \"Some section\": [] // Will ignore all actions from such section\n \"Some other section\": [\"actionType1\",\"actionType2\",\"actionType3\"] // Will ignore only those 3 actions from section \"Some other section\". Other actions in the same section will be considered as suspect.\n```\n\n## Excel output example\n\n\n\n## Local output example\n\n\n\nThis command is part of [sfdx-hardis Monitoring](https://sfdx-hardis.cloudity.com/salesforce-monitoring-suspect-audit-trail/) and can output Grafana, Slack and MsTeams Notifications.\n",
|
|
5745
|
-
"examples": [
|
|
5746
|
-
"$ sf hardis:org:diagnose:audittrail",
|
|
5747
|
-
"$ sf hardis:org:diagnose:audittrail --excludeusers baptiste@titi.com",
|
|
5748
|
-
"$ sf hardis:org:diagnose:audittrail --excludeusers baptiste@titi.com,bertrand@titi.com",
|
|
5749
|
-
"$ sf hardis:org:diagnose:audittrail --lastndays 5"
|
|
5750
|
-
],
|
|
5751
|
-
"flags": {
|
|
5752
|
-
"json": {
|
|
5753
|
-
"description": "Format output as json.",
|
|
5754
|
-
"helpGroup": "GLOBAL",
|
|
5755
|
-
"name": "json",
|
|
5756
|
-
"allowNo": false,
|
|
5757
|
-
"type": "boolean"
|
|
5758
|
-
},
|
|
5759
|
-
"flags-dir": {
|
|
5760
|
-
"helpGroup": "GLOBAL",
|
|
5761
|
-
"name": "flags-dir",
|
|
5762
|
-
"summary": "Import flag values from a directory.",
|
|
5763
|
-
"hasDynamicHelp": false,
|
|
5764
|
-
"multiple": false,
|
|
5765
|
-
"type": "option"
|
|
5766
|
-
},
|
|
5767
|
-
"excludeusers": {
|
|
5768
|
-
"char": "e",
|
|
5769
|
-
"description": "Comma-separated list of usernames to exclude",
|
|
5770
|
-
"name": "excludeusers",
|
|
5771
|
-
"hasDynamicHelp": false,
|
|
5772
|
-
"multiple": false,
|
|
5773
|
-
"type": "option"
|
|
5774
|
-
},
|
|
5775
|
-
"lastndays": {
|
|
5776
|
-
"char": "t",
|
|
5777
|
-
"description": "Number of days to extract from today (included)",
|
|
5778
|
-
"name": "lastndays",
|
|
5779
|
-
"hasDynamicHelp": false,
|
|
5780
|
-
"multiple": false,
|
|
5781
|
-
"type": "option"
|
|
5782
|
-
},
|
|
5783
|
-
"outputfile": {
|
|
5784
|
-
"char": "f",
|
|
5785
|
-
"description": "Force the path and name of output report file. Must end with .csv",
|
|
5786
|
-
"name": "outputfile",
|
|
5787
|
-
"hasDynamicHelp": false,
|
|
5788
|
-
"multiple": false,
|
|
5789
|
-
"type": "option"
|
|
5790
|
-
},
|
|
5791
|
-
"debug": {
|
|
5792
|
-
"char": "d",
|
|
5793
|
-
"description": "Activate debug mode (more logs)",
|
|
5794
|
-
"name": "debug",
|
|
5795
|
-
"allowNo": false,
|
|
5796
|
-
"type": "boolean"
|
|
5797
|
-
},
|
|
5798
|
-
"websocket": {
|
|
5799
|
-
"description": "Websocket host:port for VsCode SFDX Hardis UI integration",
|
|
5800
|
-
"name": "websocket",
|
|
5801
|
-
"hasDynamicHelp": false,
|
|
5802
|
-
"multiple": false,
|
|
5803
|
-
"type": "option"
|
|
5804
|
-
},
|
|
5805
|
-
"skipauth": {
|
|
5806
|
-
"description": "Skip authentication check when a default username is required",
|
|
5807
|
-
"name": "skipauth",
|
|
5808
|
-
"allowNo": false,
|
|
5809
|
-
"type": "boolean"
|
|
5810
|
-
},
|
|
5811
|
-
"target-org": {
|
|
5812
|
-
"aliases": [
|
|
5813
|
-
"targetusername",
|
|
5814
|
-
"u"
|
|
5815
|
-
],
|
|
5816
|
-
"char": "o",
|
|
5817
|
-
"deprecateAliases": true,
|
|
5818
|
-
"name": "target-org",
|
|
5819
|
-
"noCacheDefault": true,
|
|
5820
|
-
"required": true,
|
|
5821
|
-
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
5822
|
-
"hasDynamicHelp": true,
|
|
5823
|
-
"multiple": false,
|
|
5824
|
-
"type": "option"
|
|
5825
|
-
}
|
|
5826
|
-
},
|
|
5827
|
-
"hasDynamicHelp": true,
|
|
5828
|
-
"hiddenAliases": [],
|
|
5829
|
-
"id": "hardis:org:diagnose:audittrail",
|
|
5830
|
-
"pluginAlias": "sfdx-hardis",
|
|
5831
|
-
"pluginName": "sfdx-hardis",
|
|
5832
|
-
"pluginType": "core",
|
|
5833
|
-
"strict": true,
|
|
5834
|
-
"enableJsonFlag": true,
|
|
5835
|
-
"title": "Diagnose content of Setup Audit Trail",
|
|
5836
|
-
"requiresProject": false,
|
|
5837
|
-
"isESM": true,
|
|
5838
|
-
"relativePath": [
|
|
5839
|
-
"lib",
|
|
5840
|
-
"commands",
|
|
5841
|
-
"hardis",
|
|
5842
|
-
"org",
|
|
5843
|
-
"diagnose",
|
|
5844
|
-
"audittrail.js"
|
|
5845
|
-
],
|
|
5846
|
-
"aliasPermutations": [],
|
|
5847
|
-
"permutations": [
|
|
5848
|
-
"hardis:org:diagnose:audittrail",
|
|
5849
|
-
"org:hardis:diagnose:audittrail",
|
|
5850
|
-
"org:diagnose:hardis:audittrail",
|
|
5851
|
-
"org:diagnose:audittrail:hardis",
|
|
5852
|
-
"hardis:diagnose:org:audittrail",
|
|
5853
|
-
"diagnose:hardis:org:audittrail",
|
|
5854
|
-
"diagnose:org:hardis:audittrail",
|
|
5855
|
-
"diagnose:org:audittrail:hardis",
|
|
5856
|
-
"hardis:diagnose:audittrail:org",
|
|
5857
|
-
"diagnose:hardis:audittrail:org",
|
|
5858
|
-
"diagnose:audittrail:hardis:org",
|
|
5859
|
-
"diagnose:audittrail:org:hardis",
|
|
5860
|
-
"hardis:org:audittrail:diagnose",
|
|
5861
|
-
"org:hardis:audittrail:diagnose",
|
|
5862
|
-
"org:audittrail:hardis:diagnose",
|
|
5863
|
-
"org:audittrail:diagnose:hardis",
|
|
5864
|
-
"hardis:audittrail:org:diagnose",
|
|
5865
|
-
"audittrail:hardis:org:diagnose",
|
|
5866
|
-
"audittrail:org:hardis:diagnose",
|
|
5867
|
-
"audittrail:org:diagnose:hardis",
|
|
5868
|
-
"hardis:audittrail:diagnose:org",
|
|
5869
|
-
"audittrail:hardis:diagnose:org",
|
|
5870
|
-
"audittrail:diagnose:hardis:org",
|
|
5871
|
-
"audittrail:diagnose:org:hardis"
|
|
5872
|
-
]
|
|
5873
|
-
},
|
|
5874
|
-
"hardis:org:diagnose:instanceupgrade": {
|
|
5875
|
-
"aliases": [],
|
|
5876
|
-
"args": {},
|
|
5877
|
-
"description": "Get the date when the org instance will be upgraded (to Spring, Summer or Winter)\n ",
|
|
5878
|
-
"examples": [
|
|
5879
|
-
"$ sf hardis:org:diagnose:instanceupgrade"
|
|
5880
|
-
],
|
|
5881
|
-
"flags": {
|
|
5882
|
-
"json": {
|
|
5883
|
-
"description": "Format output as json.",
|
|
5884
|
-
"helpGroup": "GLOBAL",
|
|
5885
|
-
"name": "json",
|
|
5886
|
-
"allowNo": false,
|
|
5887
|
-
"type": "boolean"
|
|
5888
|
-
},
|
|
5889
|
-
"flags-dir": {
|
|
5890
|
-
"helpGroup": "GLOBAL",
|
|
5891
|
-
"name": "flags-dir",
|
|
5892
|
-
"summary": "Import flag values from a directory.",
|
|
5893
|
-
"hasDynamicHelp": false,
|
|
5894
|
-
"multiple": false,
|
|
5895
|
-
"type": "option"
|
|
5896
|
-
},
|
|
5897
|
-
"debug": {
|
|
5898
|
-
"char": "d",
|
|
5899
|
-
"description": "Activate debug mode (more logs)",
|
|
5900
|
-
"name": "debug",
|
|
5901
|
-
"allowNo": false,
|
|
5902
|
-
"type": "boolean"
|
|
5903
|
-
},
|
|
5904
|
-
"websocket": {
|
|
5905
|
-
"description": "Websocket host:port for VsCode SFDX Hardis UI integration",
|
|
5906
|
-
"name": "websocket",
|
|
5907
|
-
"hasDynamicHelp": false,
|
|
5908
|
-
"multiple": false,
|
|
5909
|
-
"type": "option"
|
|
5910
|
-
},
|
|
5911
|
-
"skipauth": {
|
|
5912
|
-
"description": "Skip authentication check when a default username is required",
|
|
5913
|
-
"name": "skipauth",
|
|
5914
|
-
"allowNo": false,
|
|
5915
|
-
"type": "boolean"
|
|
5916
|
-
},
|
|
5917
|
-
"target-org": {
|
|
5918
|
-
"aliases": [
|
|
5919
|
-
"targetusername",
|
|
5920
|
-
"u"
|
|
5921
|
-
],
|
|
5922
|
-
"char": "o",
|
|
5923
|
-
"deprecateAliases": true,
|
|
5924
|
-
"name": "target-org",
|
|
5925
|
-
"noCacheDefault": true,
|
|
5926
|
-
"required": true,
|
|
5927
|
-
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
5928
|
-
"hasDynamicHelp": true,
|
|
5929
|
-
"multiple": false,
|
|
5930
|
-
"type": "option"
|
|
5931
|
-
}
|
|
5932
|
-
},
|
|
5933
|
-
"hasDynamicHelp": true,
|
|
5934
|
-
"hiddenAliases": [],
|
|
5935
|
-
"id": "hardis:org:diagnose:instanceupgrade",
|
|
5936
|
-
"pluginAlias": "sfdx-hardis",
|
|
5937
|
-
"pluginName": "sfdx-hardis",
|
|
5938
|
-
"pluginType": "core",
|
|
5939
|
-
"strict": true,
|
|
5940
|
-
"enableJsonFlag": true,
|
|
5941
|
-
"title": "Get Instance Upgrade date",
|
|
5942
|
-
"requiresProject": false,
|
|
5943
|
-
"isESM": true,
|
|
5944
|
-
"relativePath": [
|
|
5945
|
-
"lib",
|
|
5946
|
-
"commands",
|
|
5947
|
-
"hardis",
|
|
5948
|
-
"org",
|
|
5949
|
-
"diagnose",
|
|
5950
|
-
"instanceupgrade.js"
|
|
5687
|
+
"diagnose",
|
|
5688
|
+
"instanceupgrade.js"
|
|
5951
5689
|
],
|
|
5952
5690
|
"aliasPermutations": [],
|
|
5953
5691
|
"permutations": [
|
|
@@ -6734,16 +6472,306 @@
|
|
|
6734
6472
|
"unusedlicenses:diagnose:org:hardis"
|
|
6735
6473
|
]
|
|
6736
6474
|
},
|
|
6737
|
-
"hardis:org:diagnose:unusedusers": {
|
|
6475
|
+
"hardis:org:diagnose:unusedusers": {
|
|
6476
|
+
"aliases": [],
|
|
6477
|
+
"args": {},
|
|
6478
|
+
"description": "Efficient user management is vital in Salesforce to ensure resources are optimized and costs are controlled. However, inactive or unused user accounts can often go unnoticed, leading to wasted licenses and potential security risks. This tool addresses this challenge by enabling administrators to identify users who haven't logged in within a specified period.\n\nBy analyzing user login activity and last login timestamps, this feature highlights inactive user accounts, allowing administrators to take appropriate action. Whether it's deactivating dormant accounts, freeing up licenses, or ensuring compliance with security policies, this functionality empowers administrators to maintain a lean and secure Salesforce environment.\n\nlicensetypes values are the following:\n\n- all-crm: SFDC,AUL,AUL1,AULL_IGHT\n\n- all-paying: SFDC,AUL,AUL1,AULL_IGHT,PID_Customer_Community,PID_Customer_Community_Login,PID_Partner_Community,PID_Partner_Community_Login\n\nNote: You can see the full list of available license identifiers in [Salesforce Documentation](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_userlicense.htm)\n\nUse --returnactiveusers to revert the command and retrieve active users that has logged in during the period.\n\nThis command is part of [sfdx-hardis Monitoring](https://sfdx-hardis.cloudity.com/salesforce-monitoring-inactive-users/) and can output Grafana, Slack and MsTeams Notifications.\n",
|
|
6479
|
+
"examples": [
|
|
6480
|
+
"$ sf hardis:org:diagnose:unusedusers",
|
|
6481
|
+
"$ sf hardis:org:diagnose:unusedusers --days 365",
|
|
6482
|
+
"$ sf hardis:org:diagnose:unusedusers --days 60 --licensetypes all-crm",
|
|
6483
|
+
"$ sf hardis:org:diagnose:unusedusers --days 60 --licenseidentifiers SFDC,AUL,AUL1",
|
|
6484
|
+
"$ sf hardis:org:diagnose:unusedusers --days 60 --licensetypes all-crm --returnactiveusers"
|
|
6485
|
+
],
|
|
6486
|
+
"flags": {
|
|
6487
|
+
"json": {
|
|
6488
|
+
"description": "Format output as json.",
|
|
6489
|
+
"helpGroup": "GLOBAL",
|
|
6490
|
+
"name": "json",
|
|
6491
|
+
"allowNo": false,
|
|
6492
|
+
"type": "boolean"
|
|
6493
|
+
},
|
|
6494
|
+
"flags-dir": {
|
|
6495
|
+
"helpGroup": "GLOBAL",
|
|
6496
|
+
"name": "flags-dir",
|
|
6497
|
+
"summary": "Import flag values from a directory.",
|
|
6498
|
+
"hasDynamicHelp": false,
|
|
6499
|
+
"multiple": false,
|
|
6500
|
+
"type": "option"
|
|
6501
|
+
},
|
|
6502
|
+
"outputfile": {
|
|
6503
|
+
"char": "f",
|
|
6504
|
+
"description": "Force the path and name of output report file. Must end with .csv",
|
|
6505
|
+
"name": "outputfile",
|
|
6506
|
+
"hasDynamicHelp": false,
|
|
6507
|
+
"multiple": false,
|
|
6508
|
+
"type": "option"
|
|
6509
|
+
},
|
|
6510
|
+
"days": {
|
|
6511
|
+
"char": "t",
|
|
6512
|
+
"description": "Extracts the users that have been inactive for the amount of days specified. In CI, default is 180 days",
|
|
6513
|
+
"name": "days",
|
|
6514
|
+
"hasDynamicHelp": false,
|
|
6515
|
+
"multiple": false,
|
|
6516
|
+
"type": "option"
|
|
6517
|
+
},
|
|
6518
|
+
"licensetypes": {
|
|
6519
|
+
"char": "l",
|
|
6520
|
+
"description": "Type of licenses to check. If set, do not use licenseidentifiers option. In CI, default is all-crm",
|
|
6521
|
+
"name": "licensetypes",
|
|
6522
|
+
"hasDynamicHelp": false,
|
|
6523
|
+
"multiple": false,
|
|
6524
|
+
"options": [
|
|
6525
|
+
"all",
|
|
6526
|
+
"all-crm",
|
|
6527
|
+
"all-paying"
|
|
6528
|
+
],
|
|
6529
|
+
"type": "option"
|
|
6530
|
+
},
|
|
6531
|
+
"licenseidentifiers": {
|
|
6532
|
+
"char": "i",
|
|
6533
|
+
"description": "Comma-separated list of license identifiers, in case licensetypes is not used.. Identifiers available at https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_userlicense.htm",
|
|
6534
|
+
"name": "licenseidentifiers",
|
|
6535
|
+
"hasDynamicHelp": false,
|
|
6536
|
+
"multiple": false,
|
|
6537
|
+
"type": "option"
|
|
6538
|
+
},
|
|
6539
|
+
"returnactiveusers": {
|
|
6540
|
+
"description": "Inverts the command by returning the active users",
|
|
6541
|
+
"name": "returnactiveusers",
|
|
6542
|
+
"allowNo": false,
|
|
6543
|
+
"type": "boolean"
|
|
6544
|
+
},
|
|
6545
|
+
"debug": {
|
|
6546
|
+
"char": "d",
|
|
6547
|
+
"description": "Activate debug mode (more logs)",
|
|
6548
|
+
"name": "debug",
|
|
6549
|
+
"allowNo": false,
|
|
6550
|
+
"type": "boolean"
|
|
6551
|
+
},
|
|
6552
|
+
"websocket": {
|
|
6553
|
+
"description": "Websocket host:port for VsCode SFDX Hardis UI integration",
|
|
6554
|
+
"name": "websocket",
|
|
6555
|
+
"hasDynamicHelp": false,
|
|
6556
|
+
"multiple": false,
|
|
6557
|
+
"type": "option"
|
|
6558
|
+
},
|
|
6559
|
+
"skipauth": {
|
|
6560
|
+
"description": "Skip authentication check when a default username is required",
|
|
6561
|
+
"name": "skipauth",
|
|
6562
|
+
"allowNo": false,
|
|
6563
|
+
"type": "boolean"
|
|
6564
|
+
},
|
|
6565
|
+
"target-org": {
|
|
6566
|
+
"aliases": [
|
|
6567
|
+
"targetusername",
|
|
6568
|
+
"u"
|
|
6569
|
+
],
|
|
6570
|
+
"char": "o",
|
|
6571
|
+
"deprecateAliases": true,
|
|
6572
|
+
"name": "target-org",
|
|
6573
|
+
"noCacheDefault": true,
|
|
6574
|
+
"required": true,
|
|
6575
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
6576
|
+
"hasDynamicHelp": true,
|
|
6577
|
+
"multiple": false,
|
|
6578
|
+
"type": "option"
|
|
6579
|
+
}
|
|
6580
|
+
},
|
|
6581
|
+
"hasDynamicHelp": true,
|
|
6582
|
+
"hiddenAliases": [],
|
|
6583
|
+
"id": "hardis:org:diagnose:unusedusers",
|
|
6584
|
+
"pluginAlias": "sfdx-hardis",
|
|
6585
|
+
"pluginName": "sfdx-hardis",
|
|
6586
|
+
"pluginType": "core",
|
|
6587
|
+
"strict": true,
|
|
6588
|
+
"enableJsonFlag": true,
|
|
6589
|
+
"title": "Detect unused Users in Salesforce",
|
|
6590
|
+
"requiresProject": false,
|
|
6591
|
+
"isESM": true,
|
|
6592
|
+
"relativePath": [
|
|
6593
|
+
"lib",
|
|
6594
|
+
"commands",
|
|
6595
|
+
"hardis",
|
|
6596
|
+
"org",
|
|
6597
|
+
"diagnose",
|
|
6598
|
+
"unusedusers.js"
|
|
6599
|
+
],
|
|
6600
|
+
"aliasPermutations": [],
|
|
6601
|
+
"permutations": [
|
|
6602
|
+
"hardis:org:diagnose:unusedusers",
|
|
6603
|
+
"org:hardis:diagnose:unusedusers",
|
|
6604
|
+
"org:diagnose:hardis:unusedusers",
|
|
6605
|
+
"org:diagnose:unusedusers:hardis",
|
|
6606
|
+
"hardis:diagnose:org:unusedusers",
|
|
6607
|
+
"diagnose:hardis:org:unusedusers",
|
|
6608
|
+
"diagnose:org:hardis:unusedusers",
|
|
6609
|
+
"diagnose:org:unusedusers:hardis",
|
|
6610
|
+
"hardis:diagnose:unusedusers:org",
|
|
6611
|
+
"diagnose:hardis:unusedusers:org",
|
|
6612
|
+
"diagnose:unusedusers:hardis:org",
|
|
6613
|
+
"diagnose:unusedusers:org:hardis",
|
|
6614
|
+
"hardis:org:unusedusers:diagnose",
|
|
6615
|
+
"org:hardis:unusedusers:diagnose",
|
|
6616
|
+
"org:unusedusers:hardis:diagnose",
|
|
6617
|
+
"org:unusedusers:diagnose:hardis",
|
|
6618
|
+
"hardis:unusedusers:org:diagnose",
|
|
6619
|
+
"unusedusers:hardis:org:diagnose",
|
|
6620
|
+
"unusedusers:org:hardis:diagnose",
|
|
6621
|
+
"unusedusers:org:diagnose:hardis",
|
|
6622
|
+
"hardis:unusedusers:diagnose:org",
|
|
6623
|
+
"unusedusers:hardis:diagnose:org",
|
|
6624
|
+
"unusedusers:diagnose:hardis:org",
|
|
6625
|
+
"unusedusers:diagnose:org:hardis"
|
|
6626
|
+
]
|
|
6627
|
+
},
|
|
6628
|
+
"hardis:org:files:export": {
|
|
6629
|
+
"aliases": [],
|
|
6630
|
+
"args": {},
|
|
6631
|
+
"description": "Export file attachments from a Salesforce org\n\nHandles:\n\n- ContentVersion\n- Attachment\n\nSee article below:\n\n[](https://nicolas.vuillamy.fr/how-to-mass-download-notes-and-attachments-files-from-a-salesforce-org-83a028824afd)\n",
|
|
6632
|
+
"examples": [
|
|
6633
|
+
"$ sf hardis:org:files:export"
|
|
6634
|
+
],
|
|
6635
|
+
"flags": {
|
|
6636
|
+
"json": {
|
|
6637
|
+
"description": "Format output as json.",
|
|
6638
|
+
"helpGroup": "GLOBAL",
|
|
6639
|
+
"name": "json",
|
|
6640
|
+
"allowNo": false,
|
|
6641
|
+
"type": "boolean"
|
|
6642
|
+
},
|
|
6643
|
+
"flags-dir": {
|
|
6644
|
+
"helpGroup": "GLOBAL",
|
|
6645
|
+
"name": "flags-dir",
|
|
6646
|
+
"summary": "Import flag values from a directory.",
|
|
6647
|
+
"hasDynamicHelp": false,
|
|
6648
|
+
"multiple": false,
|
|
6649
|
+
"type": "option"
|
|
6650
|
+
},
|
|
6651
|
+
"path": {
|
|
6652
|
+
"char": "p",
|
|
6653
|
+
"description": "Path to the file export project",
|
|
6654
|
+
"name": "path",
|
|
6655
|
+
"hasDynamicHelp": false,
|
|
6656
|
+
"multiple": false,
|
|
6657
|
+
"type": "option"
|
|
6658
|
+
},
|
|
6659
|
+
"chunksize": {
|
|
6660
|
+
"char": "c",
|
|
6661
|
+
"description": "Number of records to add in a chunk before it is processed",
|
|
6662
|
+
"name": "chunksize",
|
|
6663
|
+
"default": 1000,
|
|
6664
|
+
"hasDynamicHelp": false,
|
|
6665
|
+
"multiple": false,
|
|
6666
|
+
"type": "option"
|
|
6667
|
+
},
|
|
6668
|
+
"polltimeout": {
|
|
6669
|
+
"char": "t",
|
|
6670
|
+
"description": "Timeout in MS for Bulk API calls",
|
|
6671
|
+
"name": "polltimeout",
|
|
6672
|
+
"default": 300000,
|
|
6673
|
+
"hasDynamicHelp": false,
|
|
6674
|
+
"multiple": false,
|
|
6675
|
+
"type": "option"
|
|
6676
|
+
},
|
|
6677
|
+
"startchunknumber": {
|
|
6678
|
+
"char": "s",
|
|
6679
|
+
"description": "Chunk number to start from",
|
|
6680
|
+
"name": "startchunknumber",
|
|
6681
|
+
"default": 0,
|
|
6682
|
+
"hasDynamicHelp": false,
|
|
6683
|
+
"multiple": false,
|
|
6684
|
+
"type": "option"
|
|
6685
|
+
},
|
|
6686
|
+
"debug": {
|
|
6687
|
+
"char": "d",
|
|
6688
|
+
"description": "Activate debug mode (more logs)",
|
|
6689
|
+
"name": "debug",
|
|
6690
|
+
"allowNo": false,
|
|
6691
|
+
"type": "boolean"
|
|
6692
|
+
},
|
|
6693
|
+
"websocket": {
|
|
6694
|
+
"description": "Websocket host:port for VsCode SFDX Hardis UI integration",
|
|
6695
|
+
"name": "websocket",
|
|
6696
|
+
"hasDynamicHelp": false,
|
|
6697
|
+
"multiple": false,
|
|
6698
|
+
"type": "option"
|
|
6699
|
+
},
|
|
6700
|
+
"skipauth": {
|
|
6701
|
+
"description": "Skip authentication check when a default username is required",
|
|
6702
|
+
"name": "skipauth",
|
|
6703
|
+
"allowNo": false,
|
|
6704
|
+
"type": "boolean"
|
|
6705
|
+
},
|
|
6706
|
+
"target-org": {
|
|
6707
|
+
"aliases": [
|
|
6708
|
+
"targetusername",
|
|
6709
|
+
"u"
|
|
6710
|
+
],
|
|
6711
|
+
"char": "o",
|
|
6712
|
+
"deprecateAliases": true,
|
|
6713
|
+
"name": "target-org",
|
|
6714
|
+
"noCacheDefault": true,
|
|
6715
|
+
"required": true,
|
|
6716
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
6717
|
+
"hasDynamicHelp": true,
|
|
6718
|
+
"multiple": false,
|
|
6719
|
+
"type": "option"
|
|
6720
|
+
}
|
|
6721
|
+
},
|
|
6722
|
+
"hasDynamicHelp": true,
|
|
6723
|
+
"hiddenAliases": [],
|
|
6724
|
+
"id": "hardis:org:files:export",
|
|
6725
|
+
"pluginAlias": "sfdx-hardis",
|
|
6726
|
+
"pluginName": "sfdx-hardis",
|
|
6727
|
+
"pluginType": "core",
|
|
6728
|
+
"strict": true,
|
|
6729
|
+
"enableJsonFlag": true,
|
|
6730
|
+
"title": "Export files",
|
|
6731
|
+
"requiresProject": false,
|
|
6732
|
+
"isESM": true,
|
|
6733
|
+
"relativePath": [
|
|
6734
|
+
"lib",
|
|
6735
|
+
"commands",
|
|
6736
|
+
"hardis",
|
|
6737
|
+
"org",
|
|
6738
|
+
"files",
|
|
6739
|
+
"export.js"
|
|
6740
|
+
],
|
|
6741
|
+
"aliasPermutations": [],
|
|
6742
|
+
"permutations": [
|
|
6743
|
+
"hardis:org:files:export",
|
|
6744
|
+
"org:hardis:files:export",
|
|
6745
|
+
"org:files:hardis:export",
|
|
6746
|
+
"org:files:export:hardis",
|
|
6747
|
+
"hardis:files:org:export",
|
|
6748
|
+
"files:hardis:org:export",
|
|
6749
|
+
"files:org:hardis:export",
|
|
6750
|
+
"files:org:export:hardis",
|
|
6751
|
+
"hardis:files:export:org",
|
|
6752
|
+
"files:hardis:export:org",
|
|
6753
|
+
"files:export:hardis:org",
|
|
6754
|
+
"files:export:org:hardis",
|
|
6755
|
+
"hardis:org:export:files",
|
|
6756
|
+
"org:hardis:export:files",
|
|
6757
|
+
"org:export:hardis:files",
|
|
6758
|
+
"org:export:files:hardis",
|
|
6759
|
+
"hardis:export:org:files",
|
|
6760
|
+
"export:hardis:org:files",
|
|
6761
|
+
"export:org:hardis:files",
|
|
6762
|
+
"export:org:files:hardis",
|
|
6763
|
+
"hardis:export:files:org",
|
|
6764
|
+
"export:hardis:files:org",
|
|
6765
|
+
"export:files:hardis:org",
|
|
6766
|
+
"export:files:org:hardis"
|
|
6767
|
+
]
|
|
6768
|
+
},
|
|
6769
|
+
"hardis:org:files:import": {
|
|
6738
6770
|
"aliases": [],
|
|
6739
6771
|
"args": {},
|
|
6740
|
-
"description": "
|
|
6772
|
+
"description": "Import file attachments into a Salesforce org\n\nSee article below to see how to Export them.\n\n[](https://nicolas.vuillamy.fr/how-to-mass-download-notes-and-attachments-files-from-a-salesforce-org-83a028824afd)\n",
|
|
6741
6773
|
"examples": [
|
|
6742
|
-
"$ sf hardis:org:
|
|
6743
|
-
"$ sf hardis:org:diagnose:unusedusers --days 365",
|
|
6744
|
-
"$ sf hardis:org:diagnose:unusedusers --days 60 --licensetypes all-crm",
|
|
6745
|
-
"$ sf hardis:org:diagnose:unusedusers --days 60 --licenseidentifiers SFDC,AUL,AUL1",
|
|
6746
|
-
"$ sf hardis:org:diagnose:unusedusers --days 60 --licensetypes all-crm --returnactiveusers"
|
|
6774
|
+
"$ sf hardis:org:files:import"
|
|
6747
6775
|
],
|
|
6748
6776
|
"flags": {
|
|
6749
6777
|
"json": {
|
|
@@ -6761,46 +6789,18 @@
|
|
|
6761
6789
|
"multiple": false,
|
|
6762
6790
|
"type": "option"
|
|
6763
6791
|
},
|
|
6764
|
-
"
|
|
6765
|
-
"char": "
|
|
6766
|
-
"description": "
|
|
6767
|
-
"name": "
|
|
6768
|
-
"hasDynamicHelp": false,
|
|
6769
|
-
"multiple": false,
|
|
6770
|
-
"type": "option"
|
|
6771
|
-
},
|
|
6772
|
-
"days": {
|
|
6773
|
-
"char": "t",
|
|
6774
|
-
"description": "Extracts the users that have been inactive for the amount of days specified. In CI, default is 180 days",
|
|
6775
|
-
"name": "days",
|
|
6776
|
-
"hasDynamicHelp": false,
|
|
6777
|
-
"multiple": false,
|
|
6778
|
-
"type": "option"
|
|
6779
|
-
},
|
|
6780
|
-
"licensetypes": {
|
|
6781
|
-
"char": "l",
|
|
6782
|
-
"description": "Type of licenses to check. If set, do not use licenseidentifiers option. In CI, default is all-crm",
|
|
6783
|
-
"name": "licensetypes",
|
|
6784
|
-
"hasDynamicHelp": false,
|
|
6785
|
-
"multiple": false,
|
|
6786
|
-
"options": [
|
|
6787
|
-
"all",
|
|
6788
|
-
"all-crm",
|
|
6789
|
-
"all-paying"
|
|
6790
|
-
],
|
|
6791
|
-
"type": "option"
|
|
6792
|
-
},
|
|
6793
|
-
"licenseidentifiers": {
|
|
6794
|
-
"char": "i",
|
|
6795
|
-
"description": "Comma-separated list of license identifiers, in case licensetypes is not used.. Identifiers available at https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_userlicense.htm",
|
|
6796
|
-
"name": "licenseidentifiers",
|
|
6792
|
+
"path": {
|
|
6793
|
+
"char": "p",
|
|
6794
|
+
"description": "Path to the file export project",
|
|
6795
|
+
"name": "path",
|
|
6797
6796
|
"hasDynamicHelp": false,
|
|
6798
6797
|
"multiple": false,
|
|
6799
6798
|
"type": "option"
|
|
6800
6799
|
},
|
|
6801
|
-
"
|
|
6802
|
-
"
|
|
6803
|
-
"
|
|
6800
|
+
"overwrite": {
|
|
6801
|
+
"char": "f",
|
|
6802
|
+
"description": "Override existing files (doubles the number of API calls)",
|
|
6803
|
+
"name": "overwrite",
|
|
6804
6804
|
"allowNo": false,
|
|
6805
6805
|
"type": "boolean"
|
|
6806
6806
|
},
|
|
@@ -6842,13 +6842,13 @@
|
|
|
6842
6842
|
},
|
|
6843
6843
|
"hasDynamicHelp": true,
|
|
6844
6844
|
"hiddenAliases": [],
|
|
6845
|
-
"id": "hardis:org:
|
|
6845
|
+
"id": "hardis:org:files:import",
|
|
6846
6846
|
"pluginAlias": "sfdx-hardis",
|
|
6847
6847
|
"pluginName": "sfdx-hardis",
|
|
6848
6848
|
"pluginType": "core",
|
|
6849
6849
|
"strict": true,
|
|
6850
6850
|
"enableJsonFlag": true,
|
|
6851
|
-
"title": "
|
|
6851
|
+
"title": "Import files",
|
|
6852
6852
|
"requiresProject": false,
|
|
6853
6853
|
"isESM": true,
|
|
6854
6854
|
"relativePath": [
|
|
@@ -6856,35 +6856,35 @@
|
|
|
6856
6856
|
"commands",
|
|
6857
6857
|
"hardis",
|
|
6858
6858
|
"org",
|
|
6859
|
-
"
|
|
6860
|
-
"
|
|
6859
|
+
"files",
|
|
6860
|
+
"import.js"
|
|
6861
6861
|
],
|
|
6862
6862
|
"aliasPermutations": [],
|
|
6863
6863
|
"permutations": [
|
|
6864
|
-
"hardis:org:
|
|
6865
|
-
"org:hardis:
|
|
6866
|
-
"org:
|
|
6867
|
-
"org:
|
|
6868
|
-
"hardis:
|
|
6869
|
-
"
|
|
6870
|
-
"
|
|
6871
|
-
"
|
|
6872
|
-
"hardis:
|
|
6873
|
-
"
|
|
6874
|
-
"
|
|
6875
|
-
"
|
|
6876
|
-
"hardis:org:
|
|
6877
|
-
"org:hardis:
|
|
6878
|
-
"org:
|
|
6879
|
-
"org:
|
|
6880
|
-
"hardis:
|
|
6881
|
-
"
|
|
6882
|
-
"
|
|
6883
|
-
"
|
|
6884
|
-
"hardis:
|
|
6885
|
-
"
|
|
6886
|
-
"
|
|
6887
|
-
"
|
|
6864
|
+
"hardis:org:files:import",
|
|
6865
|
+
"org:hardis:files:import",
|
|
6866
|
+
"org:files:hardis:import",
|
|
6867
|
+
"org:files:import:hardis",
|
|
6868
|
+
"hardis:files:org:import",
|
|
6869
|
+
"files:hardis:org:import",
|
|
6870
|
+
"files:org:hardis:import",
|
|
6871
|
+
"files:org:import:hardis",
|
|
6872
|
+
"hardis:files:import:org",
|
|
6873
|
+
"files:hardis:import:org",
|
|
6874
|
+
"files:import:hardis:org",
|
|
6875
|
+
"files:import:org:hardis",
|
|
6876
|
+
"hardis:org:import:files",
|
|
6877
|
+
"org:hardis:import:files",
|
|
6878
|
+
"org:import:hardis:files",
|
|
6879
|
+
"org:import:files:hardis",
|
|
6880
|
+
"hardis:import:org:files",
|
|
6881
|
+
"import:hardis:org:files",
|
|
6882
|
+
"import:org:hardis:files",
|
|
6883
|
+
"import:org:files:hardis",
|
|
6884
|
+
"hardis:import:files:org",
|
|
6885
|
+
"import:hardis:files:org",
|
|
6886
|
+
"import:files:hardis:org",
|
|
6887
|
+
"import:files:org:hardis"
|
|
6888
6888
|
]
|
|
6889
6889
|
},
|
|
6890
6890
|
"hardis:org:fix:listviewmine": {
|
|
@@ -9129,128 +9129,37 @@
|
|
|
9129
9129
|
"aliasPermutations": [],
|
|
9130
9130
|
"permutations": [
|
|
9131
9131
|
"hardis:project:audit:duplicatefiles",
|
|
9132
|
-
"project:hardis:audit:duplicatefiles",
|
|
9133
|
-
"project:audit:hardis:duplicatefiles",
|
|
9134
|
-
"project:audit:duplicatefiles:hardis",
|
|
9135
|
-
"hardis:audit:project:duplicatefiles",
|
|
9136
|
-
"audit:hardis:project:duplicatefiles",
|
|
9137
|
-
"audit:project:hardis:duplicatefiles",
|
|
9138
|
-
"audit:project:duplicatefiles:hardis",
|
|
9139
|
-
"hardis:audit:duplicatefiles:project",
|
|
9140
|
-
"audit:hardis:duplicatefiles:project",
|
|
9141
|
-
"audit:duplicatefiles:hardis:project",
|
|
9142
|
-
"audit:duplicatefiles:project:hardis",
|
|
9143
|
-
"hardis:project:duplicatefiles:audit",
|
|
9144
|
-
"project:hardis:duplicatefiles:audit",
|
|
9145
|
-
"project:duplicatefiles:hardis:audit",
|
|
9146
|
-
"project:duplicatefiles:audit:hardis",
|
|
9147
|
-
"hardis:duplicatefiles:project:audit",
|
|
9148
|
-
"duplicatefiles:hardis:project:audit",
|
|
9149
|
-
"duplicatefiles:project:hardis:audit",
|
|
9150
|
-
"duplicatefiles:project:audit:hardis",
|
|
9151
|
-
"hardis:duplicatefiles:audit:project",
|
|
9152
|
-
"duplicatefiles:hardis:audit:project",
|
|
9153
|
-
"duplicatefiles:audit:hardis:project",
|
|
9154
|
-
"duplicatefiles:audit:project:hardis"
|
|
9155
|
-
]
|
|
9156
|
-
},
|
|
9157
|
-
"hardis:project:audit:remotesites": {
|
|
9158
|
-
"aliases": [],
|
|
9159
|
-
"args": {},
|
|
9160
|
-
"description": "Generate list of remote sites",
|
|
9161
|
-
"examples": [
|
|
9162
|
-
"$ sf hardis:project:audit:remotesites"
|
|
9163
|
-
],
|
|
9164
|
-
"flags": {
|
|
9165
|
-
"json": {
|
|
9166
|
-
"description": "Format output as json.",
|
|
9167
|
-
"helpGroup": "GLOBAL",
|
|
9168
|
-
"name": "json",
|
|
9169
|
-
"allowNo": false,
|
|
9170
|
-
"type": "boolean"
|
|
9171
|
-
},
|
|
9172
|
-
"flags-dir": {
|
|
9173
|
-
"helpGroup": "GLOBAL",
|
|
9174
|
-
"name": "flags-dir",
|
|
9175
|
-
"summary": "Import flag values from a directory.",
|
|
9176
|
-
"hasDynamicHelp": false,
|
|
9177
|
-
"multiple": false,
|
|
9178
|
-
"type": "option"
|
|
9179
|
-
},
|
|
9180
|
-
"debug": {
|
|
9181
|
-
"char": "d",
|
|
9182
|
-
"description": "Activate debug mode (more logs)",
|
|
9183
|
-
"name": "debug",
|
|
9184
|
-
"allowNo": false,
|
|
9185
|
-
"type": "boolean"
|
|
9186
|
-
},
|
|
9187
|
-
"websocket": {
|
|
9188
|
-
"description": "Websocket host:port for VsCode SFDX Hardis UI integration",
|
|
9189
|
-
"name": "websocket",
|
|
9190
|
-
"hasDynamicHelp": false,
|
|
9191
|
-
"multiple": false,
|
|
9192
|
-
"type": "option"
|
|
9193
|
-
},
|
|
9194
|
-
"skipauth": {
|
|
9195
|
-
"description": "Skip authentication check when a default username is required",
|
|
9196
|
-
"name": "skipauth",
|
|
9197
|
-
"allowNo": false,
|
|
9198
|
-
"type": "boolean"
|
|
9199
|
-
}
|
|
9200
|
-
},
|
|
9201
|
-
"hasDynamicHelp": false,
|
|
9202
|
-
"hiddenAliases": [],
|
|
9203
|
-
"id": "hardis:project:audit:remotesites",
|
|
9204
|
-
"pluginAlias": "sfdx-hardis",
|
|
9205
|
-
"pluginName": "sfdx-hardis",
|
|
9206
|
-
"pluginType": "core",
|
|
9207
|
-
"strict": true,
|
|
9208
|
-
"enableJsonFlag": true,
|
|
9209
|
-
"title": "Audit Remote Sites",
|
|
9210
|
-
"requiresProject": true,
|
|
9211
|
-
"isESM": true,
|
|
9212
|
-
"relativePath": [
|
|
9213
|
-
"lib",
|
|
9214
|
-
"commands",
|
|
9215
|
-
"hardis",
|
|
9216
|
-
"project",
|
|
9217
|
-
"audit",
|
|
9218
|
-
"remotesites.js"
|
|
9219
|
-
],
|
|
9220
|
-
"aliasPermutations": [],
|
|
9221
|
-
"permutations": [
|
|
9222
|
-
"hardis:project:audit:remotesites",
|
|
9223
|
-
"project:hardis:audit:remotesites",
|
|
9224
|
-
"project:audit:hardis:remotesites",
|
|
9225
|
-
"project:audit:remotesites:hardis",
|
|
9226
|
-
"hardis:audit:project:remotesites",
|
|
9227
|
-
"audit:hardis:project:remotesites",
|
|
9228
|
-
"audit:project:hardis:remotesites",
|
|
9229
|
-
"audit:project:remotesites:hardis",
|
|
9230
|
-
"hardis:audit:remotesites:project",
|
|
9231
|
-
"audit:hardis:remotesites:project",
|
|
9232
|
-
"audit:remotesites:hardis:project",
|
|
9233
|
-
"audit:remotesites:project:hardis",
|
|
9234
|
-
"hardis:project:remotesites:audit",
|
|
9235
|
-
"project:hardis:remotesites:audit",
|
|
9236
|
-
"project:remotesites:hardis:audit",
|
|
9237
|
-
"project:remotesites:audit:hardis",
|
|
9238
|
-
"hardis:remotesites:project:audit",
|
|
9239
|
-
"remotesites:hardis:project:audit",
|
|
9240
|
-
"remotesites:project:hardis:audit",
|
|
9241
|
-
"remotesites:project:audit:hardis",
|
|
9242
|
-
"hardis:remotesites:audit:project",
|
|
9243
|
-
"remotesites:hardis:audit:project",
|
|
9244
|
-
"remotesites:audit:hardis:project",
|
|
9245
|
-
"remotesites:audit:project:hardis"
|
|
9132
|
+
"project:hardis:audit:duplicatefiles",
|
|
9133
|
+
"project:audit:hardis:duplicatefiles",
|
|
9134
|
+
"project:audit:duplicatefiles:hardis",
|
|
9135
|
+
"hardis:audit:project:duplicatefiles",
|
|
9136
|
+
"audit:hardis:project:duplicatefiles",
|
|
9137
|
+
"audit:project:hardis:duplicatefiles",
|
|
9138
|
+
"audit:project:duplicatefiles:hardis",
|
|
9139
|
+
"hardis:audit:duplicatefiles:project",
|
|
9140
|
+
"audit:hardis:duplicatefiles:project",
|
|
9141
|
+
"audit:duplicatefiles:hardis:project",
|
|
9142
|
+
"audit:duplicatefiles:project:hardis",
|
|
9143
|
+
"hardis:project:duplicatefiles:audit",
|
|
9144
|
+
"project:hardis:duplicatefiles:audit",
|
|
9145
|
+
"project:duplicatefiles:hardis:audit",
|
|
9146
|
+
"project:duplicatefiles:audit:hardis",
|
|
9147
|
+
"hardis:duplicatefiles:project:audit",
|
|
9148
|
+
"duplicatefiles:hardis:project:audit",
|
|
9149
|
+
"duplicatefiles:project:hardis:audit",
|
|
9150
|
+
"duplicatefiles:project:audit:hardis",
|
|
9151
|
+
"hardis:duplicatefiles:audit:project",
|
|
9152
|
+
"duplicatefiles:hardis:audit:project",
|
|
9153
|
+
"duplicatefiles:audit:hardis:project",
|
|
9154
|
+
"duplicatefiles:audit:project:hardis"
|
|
9246
9155
|
]
|
|
9247
9156
|
},
|
|
9248
|
-
"hardis:project:
|
|
9157
|
+
"hardis:project:audit:remotesites": {
|
|
9249
9158
|
"aliases": [],
|
|
9250
9159
|
"args": {},
|
|
9251
|
-
"description": "
|
|
9160
|
+
"description": "Generate list of remote sites",
|
|
9252
9161
|
"examples": [
|
|
9253
|
-
"$ sf hardis:project:
|
|
9162
|
+
"$ sf hardis:project:audit:remotesites"
|
|
9254
9163
|
],
|
|
9255
9164
|
"flags": {
|
|
9256
9165
|
"json": {
|
|
@@ -9268,13 +9177,6 @@
|
|
|
9268
9177
|
"multiple": false,
|
|
9269
9178
|
"type": "option"
|
|
9270
9179
|
},
|
|
9271
|
-
"devhub": {
|
|
9272
|
-
"char": "b",
|
|
9273
|
-
"description": "Configure project DevHub",
|
|
9274
|
-
"name": "devhub",
|
|
9275
|
-
"allowNo": false,
|
|
9276
|
-
"type": "boolean"
|
|
9277
|
-
},
|
|
9278
9180
|
"debug": {
|
|
9279
9181
|
"char": "d",
|
|
9280
9182
|
"description": "Activate debug mode (more logs)",
|
|
@@ -9294,84 +9196,53 @@
|
|
|
9294
9196
|
"name": "skipauth",
|
|
9295
9197
|
"allowNo": false,
|
|
9296
9198
|
"type": "boolean"
|
|
9297
|
-
},
|
|
9298
|
-
"target-org": {
|
|
9299
|
-
"aliases": [
|
|
9300
|
-
"targetusername",
|
|
9301
|
-
"u"
|
|
9302
|
-
],
|
|
9303
|
-
"char": "o",
|
|
9304
|
-
"deprecateAliases": true,
|
|
9305
|
-
"name": "target-org",
|
|
9306
|
-
"noCacheDefault": true,
|
|
9307
|
-
"summary": "Username or alias of the target org.",
|
|
9308
|
-
"hasDynamicHelp": true,
|
|
9309
|
-
"multiple": false,
|
|
9310
|
-
"type": "option"
|
|
9311
|
-
},
|
|
9312
|
-
"target-dev-hub": {
|
|
9313
|
-
"aliases": [
|
|
9314
|
-
"targetdevhubusername"
|
|
9315
|
-
],
|
|
9316
|
-
"char": "v",
|
|
9317
|
-
"deprecateAliases": true,
|
|
9318
|
-
"name": "target-dev-hub",
|
|
9319
|
-
"noCacheDefault": true,
|
|
9320
|
-
"required": false,
|
|
9321
|
-
"summary": "Username or alias of the Dev Hub org.",
|
|
9322
|
-
"hasDynamicHelp": true,
|
|
9323
|
-
"multiple": false,
|
|
9324
|
-
"type": "option"
|
|
9325
9199
|
}
|
|
9326
9200
|
},
|
|
9327
|
-
"hasDynamicHelp":
|
|
9201
|
+
"hasDynamicHelp": false,
|
|
9328
9202
|
"hiddenAliases": [],
|
|
9329
|
-
"id": "hardis:project:
|
|
9203
|
+
"id": "hardis:project:audit:remotesites",
|
|
9330
9204
|
"pluginAlias": "sfdx-hardis",
|
|
9331
9205
|
"pluginName": "sfdx-hardis",
|
|
9332
9206
|
"pluginType": "core",
|
|
9333
9207
|
"strict": true,
|
|
9334
9208
|
"enableJsonFlag": true,
|
|
9335
|
-
"title": "
|
|
9336
|
-
"requiresProject":
|
|
9337
|
-
"requiresDependencies": [
|
|
9338
|
-
"openssl"
|
|
9339
|
-
],
|
|
9209
|
+
"title": "Audit Remote Sites",
|
|
9210
|
+
"requiresProject": true,
|
|
9340
9211
|
"isESM": true,
|
|
9341
9212
|
"relativePath": [
|
|
9342
9213
|
"lib",
|
|
9343
9214
|
"commands",
|
|
9344
9215
|
"hardis",
|
|
9345
9216
|
"project",
|
|
9346
|
-
"
|
|
9347
|
-
"
|
|
9217
|
+
"audit",
|
|
9218
|
+
"remotesites.js"
|
|
9348
9219
|
],
|
|
9349
9220
|
"aliasPermutations": [],
|
|
9350
9221
|
"permutations": [
|
|
9351
|
-
"hardis:project:
|
|
9352
|
-
"project:hardis:
|
|
9353
|
-
"project:
|
|
9354
|
-
"project:
|
|
9355
|
-
"hardis:
|
|
9356
|
-
"
|
|
9357
|
-
"
|
|
9358
|
-
"
|
|
9359
|
-
"hardis:
|
|
9360
|
-
"
|
|
9361
|
-
"
|
|
9362
|
-
"
|
|
9363
|
-
"hardis:project:
|
|
9364
|
-
"project:hardis:
|
|
9365
|
-
"project:
|
|
9366
|
-
"project:
|
|
9367
|
-
"hardis:
|
|
9368
|
-
"
|
|
9369
|
-
"
|
|
9370
|
-
"
|
|
9371
|
-
"hardis:
|
|
9372
|
-
"
|
|
9373
|
-
"
|
|
9374
|
-
"
|
|
9222
|
+
"hardis:project:audit:remotesites",
|
|
9223
|
+
"project:hardis:audit:remotesites",
|
|
9224
|
+
"project:audit:hardis:remotesites",
|
|
9225
|
+
"project:audit:remotesites:hardis",
|
|
9226
|
+
"hardis:audit:project:remotesites",
|
|
9227
|
+
"audit:hardis:project:remotesites",
|
|
9228
|
+
"audit:project:hardis:remotesites",
|
|
9229
|
+
"audit:project:remotesites:hardis",
|
|
9230
|
+
"hardis:audit:remotesites:project",
|
|
9231
|
+
"audit:hardis:remotesites:project",
|
|
9232
|
+
"audit:remotesites:hardis:project",
|
|
9233
|
+
"audit:remotesites:project:hardis",
|
|
9234
|
+
"hardis:project:remotesites:audit",
|
|
9235
|
+
"project:hardis:remotesites:audit",
|
|
9236
|
+
"project:remotesites:hardis:audit",
|
|
9237
|
+
"project:remotesites:audit:hardis",
|
|
9238
|
+
"hardis:remotesites:project:audit",
|
|
9239
|
+
"remotesites:hardis:project:audit",
|
|
9240
|
+
"remotesites:project:hardis:audit",
|
|
9241
|
+
"remotesites:project:audit:hardis",
|
|
9242
|
+
"hardis:remotesites:audit:project",
|
|
9243
|
+
"remotesites:hardis:audit:project",
|
|
9244
|
+
"remotesites:audit:hardis:project",
|
|
9245
|
+
"remotesites:audit:project:hardis"
|
|
9375
9246
|
]
|
|
9376
9247
|
},
|
|
9377
9248
|
"hardis:project:clean:emptyitems": {
|
|
@@ -10859,6 +10730,135 @@
|
|
|
10859
10730
|
"xml:clean:project:hardis"
|
|
10860
10731
|
]
|
|
10861
10732
|
},
|
|
10733
|
+
"hardis:project:configure:auth": {
|
|
10734
|
+
"aliases": [],
|
|
10735
|
+
"args": {},
|
|
10736
|
+
"description": "Configure authentication from git branch to target org",
|
|
10737
|
+
"examples": [
|
|
10738
|
+
"$ sf hardis:project:configure:auth"
|
|
10739
|
+
],
|
|
10740
|
+
"flags": {
|
|
10741
|
+
"json": {
|
|
10742
|
+
"description": "Format output as json.",
|
|
10743
|
+
"helpGroup": "GLOBAL",
|
|
10744
|
+
"name": "json",
|
|
10745
|
+
"allowNo": false,
|
|
10746
|
+
"type": "boolean"
|
|
10747
|
+
},
|
|
10748
|
+
"flags-dir": {
|
|
10749
|
+
"helpGroup": "GLOBAL",
|
|
10750
|
+
"name": "flags-dir",
|
|
10751
|
+
"summary": "Import flag values from a directory.",
|
|
10752
|
+
"hasDynamicHelp": false,
|
|
10753
|
+
"multiple": false,
|
|
10754
|
+
"type": "option"
|
|
10755
|
+
},
|
|
10756
|
+
"devhub": {
|
|
10757
|
+
"char": "b",
|
|
10758
|
+
"description": "Configure project DevHub",
|
|
10759
|
+
"name": "devhub",
|
|
10760
|
+
"allowNo": false,
|
|
10761
|
+
"type": "boolean"
|
|
10762
|
+
},
|
|
10763
|
+
"debug": {
|
|
10764
|
+
"char": "d",
|
|
10765
|
+
"description": "Activate debug mode (more logs)",
|
|
10766
|
+
"name": "debug",
|
|
10767
|
+
"allowNo": false,
|
|
10768
|
+
"type": "boolean"
|
|
10769
|
+
},
|
|
10770
|
+
"websocket": {
|
|
10771
|
+
"description": "Websocket host:port for VsCode SFDX Hardis UI integration",
|
|
10772
|
+
"name": "websocket",
|
|
10773
|
+
"hasDynamicHelp": false,
|
|
10774
|
+
"multiple": false,
|
|
10775
|
+
"type": "option"
|
|
10776
|
+
},
|
|
10777
|
+
"skipauth": {
|
|
10778
|
+
"description": "Skip authentication check when a default username is required",
|
|
10779
|
+
"name": "skipauth",
|
|
10780
|
+
"allowNo": false,
|
|
10781
|
+
"type": "boolean"
|
|
10782
|
+
},
|
|
10783
|
+
"target-org": {
|
|
10784
|
+
"aliases": [
|
|
10785
|
+
"targetusername",
|
|
10786
|
+
"u"
|
|
10787
|
+
],
|
|
10788
|
+
"char": "o",
|
|
10789
|
+
"deprecateAliases": true,
|
|
10790
|
+
"name": "target-org",
|
|
10791
|
+
"noCacheDefault": true,
|
|
10792
|
+
"summary": "Username or alias of the target org.",
|
|
10793
|
+
"hasDynamicHelp": true,
|
|
10794
|
+
"multiple": false,
|
|
10795
|
+
"type": "option"
|
|
10796
|
+
},
|
|
10797
|
+
"target-dev-hub": {
|
|
10798
|
+
"aliases": [
|
|
10799
|
+
"targetdevhubusername"
|
|
10800
|
+
],
|
|
10801
|
+
"char": "v",
|
|
10802
|
+
"deprecateAliases": true,
|
|
10803
|
+
"name": "target-dev-hub",
|
|
10804
|
+
"noCacheDefault": true,
|
|
10805
|
+
"required": false,
|
|
10806
|
+
"summary": "Username or alias of the Dev Hub org.",
|
|
10807
|
+
"hasDynamicHelp": true,
|
|
10808
|
+
"multiple": false,
|
|
10809
|
+
"type": "option"
|
|
10810
|
+
}
|
|
10811
|
+
},
|
|
10812
|
+
"hasDynamicHelp": true,
|
|
10813
|
+
"hiddenAliases": [],
|
|
10814
|
+
"id": "hardis:project:configure:auth",
|
|
10815
|
+
"pluginAlias": "sfdx-hardis",
|
|
10816
|
+
"pluginName": "sfdx-hardis",
|
|
10817
|
+
"pluginType": "core",
|
|
10818
|
+
"strict": true,
|
|
10819
|
+
"enableJsonFlag": true,
|
|
10820
|
+
"title": "Configure authentication",
|
|
10821
|
+
"requiresProject": false,
|
|
10822
|
+
"requiresDependencies": [
|
|
10823
|
+
"openssl"
|
|
10824
|
+
],
|
|
10825
|
+
"isESM": true,
|
|
10826
|
+
"relativePath": [
|
|
10827
|
+
"lib",
|
|
10828
|
+
"commands",
|
|
10829
|
+
"hardis",
|
|
10830
|
+
"project",
|
|
10831
|
+
"configure",
|
|
10832
|
+
"auth.js"
|
|
10833
|
+
],
|
|
10834
|
+
"aliasPermutations": [],
|
|
10835
|
+
"permutations": [
|
|
10836
|
+
"hardis:project:configure:auth",
|
|
10837
|
+
"project:hardis:configure:auth",
|
|
10838
|
+
"project:configure:hardis:auth",
|
|
10839
|
+
"project:configure:auth:hardis",
|
|
10840
|
+
"hardis:configure:project:auth",
|
|
10841
|
+
"configure:hardis:project:auth",
|
|
10842
|
+
"configure:project:hardis:auth",
|
|
10843
|
+
"configure:project:auth:hardis",
|
|
10844
|
+
"hardis:configure:auth:project",
|
|
10845
|
+
"configure:hardis:auth:project",
|
|
10846
|
+
"configure:auth:hardis:project",
|
|
10847
|
+
"configure:auth:project:hardis",
|
|
10848
|
+
"hardis:project:auth:configure",
|
|
10849
|
+
"project:hardis:auth:configure",
|
|
10850
|
+
"project:auth:hardis:configure",
|
|
10851
|
+
"project:auth:configure:hardis",
|
|
10852
|
+
"hardis:auth:project:configure",
|
|
10853
|
+
"auth:hardis:project:configure",
|
|
10854
|
+
"auth:project:hardis:configure",
|
|
10855
|
+
"auth:project:configure:hardis",
|
|
10856
|
+
"hardis:auth:configure:project",
|
|
10857
|
+
"auth:hardis:configure:project",
|
|
10858
|
+
"auth:configure:hardis:project",
|
|
10859
|
+
"auth:configure:project:hardis"
|
|
10860
|
+
]
|
|
10861
|
+
},
|
|
10862
10862
|
"hardis:project:convert:profilestopermsets": {
|
|
10863
10863
|
"aliases": [],
|
|
10864
10864
|
"args": {},
|
|
@@ -11363,7 +11363,7 @@
|
|
|
11363
11363
|
"hardis:project:deploy:sources:dx"
|
|
11364
11364
|
],
|
|
11365
11365
|
"args": {},
|
|
11366
|
-
"description": "Smart deploy of SFDX sources to target org, with many useful options.\n\nIn case of errors, [tips to fix them](https://sfdx-hardis.cloudity.com/deployTips/) will be included within the error messages.\n\n### Quick Deploy\n\nIn case Pull Request comments are configured on the project, Quick Deploy will try to be used (equivalent to button Quick Deploy)\n\nIf you do not want to use QuickDeploy, define variable `SFDX_HARDIS_QUICK_DEPLOY=false`\n\n- [GitHub Pull Requests comments config](https://sfdx-hardis.cloudity.com/salesforce-ci-cd-setup-integration-github/)\n- [Gitlab Merge requests notes config](https://sfdx-hardis.cloudity.com/salesforce-ci-cd-setup-integration-gitlab/)\n- [Azure Pull Requests comments config](https://sfdx-hardis.cloudity.com/salesforce-ci-cd-setup-integration-azure/)\n\n### Delta deployments\n\nTo activate delta deployments, define property `useDeltaDeployment: true` in `config/.sfdx-hardis.yml`.\n\nThis will activate delta deployments only between minor and major branches (major to major remains full deployment mode)\n\nIf you want to force the delta deployment into major orgs (ex: preprod to prod), this is not recommended but you can use env variable ALWAYS_ENABLE_DELTA_DEPLOYMENT=true\n\n### Smart Deployments Tests\n\nNot all metadata updates can break test classes, use Smart Deployment Tests to skip running test classes if ALL the following conditions are met:\n\n- Delta deployment is activated and applicable to the source and target branches\n- Delta deployed metadatas are all matching the list of **NOT_IMPACTING_METADATA_TYPES** (see below)\n- Target org is not a production org\n\nActivate Smart Deployment tests with:\n\n- env variable `USE_SMART_DEPLOYMENT_TESTS=true`\n- .sfdx-hardis.yml config property `useSmartDeploymentTests: true`\n\nDefaut list for **NOT_IMPACTING_METADATA_TYPES** (can be overridden with comma-separated list on env var NOT_IMPACTING_METADATA_TYPES)\n\n- Audience\n- AuraDefinitionBundle\n- Bot\n- BotVersion\n- ContentAsset\n- CustomObjectTranslation\n- CustomSite\n- CustomTab\n- Dashboard\n- ExperienceBundle\n- Flexipage\n- GlobalValueSetTranslation\n- Layout\n- LightningComponentBundle\n- NavigationMenu\n- ReportType\n- Report\n- SiteDotCom\n- StandardValueSetTranslation\n- StaticResource\n- Translations\n\nNote: if you want to disable Smart test classes for a PR, add **nosmart** in the text of the latest commit.\n\n### Dynamic deployment items / Overwrite management\n\nIf necessary,you can define the following files (that supports wildcards <members>*</members>):\n\n- `manifest/package-no-overwrite.xml`: Every element defined in this file will be deployed only if it is not existing yet in the target org (can be useful with ListView for example, if the client wants to update them directly in production org).\n - Can be overridden for a branch using .sfdx-hardis.yml property **packageNoOverwritePath** or environment variable PACKAGE_NO_OVERWRITE_PATH (for example, define: `packageNoOverwritePath: manifest/package-no-overwrite-main.xml` in config file `config/.sfdx-hardis.main.yml`)\n- `manifest/packageXmlOnChange.xml`: Every element defined in this file will not be deployed if it already has a similar definition in target org (can be useful for SharingRules for example)\n\nSee [Overwrite management documentation](https://sfdx-hardis.cloudity.com/salesforce-ci-cd-config-overwrite/)\n\n### Deployment plan\n\nIf you need to deploy in multiple steps, you can define a property `deploymentPlan` in `.sfdx-hardis.yml`.\n\n- If a file `manifest/package.xml` is found, it will be placed with order 0 in the deployment plan\n\n- If a file `manifest/destructiveChanges.xml` is found, it will be executed as --postdestructivechanges\n\n- If env var `SFDX_HARDIS_DEPLOY_IGNORE_SPLIT_PACKAGES` is defined as `false` , split of package.xml will be applied\n\nExample:\n\n```yaml\ndeploymentPlan:\n packages:\n - label: Deploy Flow-Workflow\n packageXmlFile: manifest/splits/packageXmlFlowWorkflow.xml\n order: 6\n - label: Deploy SharingRules - Case\n packageXmlFile: manifest/splits/packageXmlSharingRulesCase.xml\n order: 30\n waitAfter: 30\n```\n\n### Packages installation\n\nYou can define a list of package to install during deployments using property `installedPackages`\n\n- If `INSTALL_PACKAGES_DURING_CHECK_DEPLOY` is defined as `true` (or `installPackagesDuringCheckDeploy: true` in `.sfdx-hardis.yml`), packages will be installed even if the command is called with `--check` mode\n- You can automatically update this property by listing all packages installed on an org using command `sf hardis:org:retrieve:packageconfig`\n\nExample:\n\n```yaml\ninstalledPackages:\n - Id: 0A35r0000009EtECAU\n SubscriberPackageId: 033i0000000LVMYAA4\n SubscriberPackageName: Marketing Cloud\n SubscriberPackageNamespace: et4ae5\n SubscriberPackageVersionId: 04t6S000000l11iQAA\n SubscriberPackageVersionName: Marketing Cloud\n SubscriberPackageVersionNumber: 236.0.0.2\n installOnScratchOrgs: true // true or false depending you want to install this package when creating a new scratch org\n installDuringDeployments: true // set as true to install package during a deployment using sf hardis:project:deploy:smart\n installationkey: xxxxxxxxxxxxxxxxxxxx // if the package has a password, write it in this property\n - Id: 0A35r0000009F9CCAU\n SubscriberPackageId: 033b0000000Pf2AAAS\n SubscriberPackageName: Declarative Lookup Rollup Summaries Tool\n SubscriberPackageNamespace: dlrs\n SubscriberPackageVersionId: 04t5p000001BmLvAAK\n SubscriberPackageVersionName: Release\n SubscriberPackageVersionNumber: 2.15.0.9\n installOnScratchOrgs: true\n installDuringDeployments: true\n```\n\n### Deployment pre or post commands\n\nYou can define command lines to run before or after a deployment, with parameters:\n\n- **id**: Unique Id for the command\n- **label**: Human readable label for the command\n- **skipIfError**: If defined to \"true\", the post-command won't be run if there is a deployment failure\n- **context**: Defines the context where the command will be run. Can be **all** (default), **check-deployment-only** or **process-deployment-only**\n- **runOnlyOnceByOrg**: If set to true, the command will be run only one time per org. A record of SfdxHardisTrace__c is stored to make that possible (it needs to be existing in target org)\n\nIf the commands are not the same depending on the target org, you can define them into **config/branches/.sfdx-hardis-BRANCHNAME.yml** instead of root **config/.sfdx-hardis.yml**\n\nExample:\n\n```yaml\ncommandsPreDeploy:\n - id: knowledgeUnassign\n label: Remove KnowledgeUser right to the user who has it\n command: sf data update record --sobject User --where \"UserPermissionsKnowledgeUser='true'\" --values \"UserPermissionsKnowledgeUser='false'\" --json\n - id: knowledgeAssign\n label: Assign Knowledge user to the deployment user\n command: sf data update record --sobject User --where \"Username='deploy.github@myclient.com'\" --values \"UserPermissionsKnowledgeUser='true'\" --json\n\ncommandsPostDeploy:\n - id: knowledgeUnassign\n label: Remove KnowledgeUser right to the user who has it\n command: sf data update record --sobject User --where \"UserPermissionsKnowledgeUser='true'\" --values \"UserPermissionsKnowledgeUser='false'\" --json\n - id: knowledgeAssign\n label: Assign Knowledge user to desired username\n command: sf data update record --sobject User --where \"Username='admin-yser@myclient.com'\" --values \"UserPermissionsKnowledgeUser='true'\" --json\n - id: someActionToRunJustOneTime\n label: And to run only if deployment is success\n command: sf sfdmu:run ...\n skipIfError: true\n context: process-deployment-only\n runOnlyOnceByOrg: true\n```\n\n### Automated fixes post deployments\n\n#### List view with scope Mine\n\nIf you defined a property **listViewsToSetToMine** in your .sfdx-hardis.yml, related ListViews will be set to Mine ( see command <https://sfdx-hardis.cloudity.com/hardis/org/fix/listviewmine/> )\n\nExample:\n\n```yaml\nlistViewsToSetToMine:\n - \"Operation__c:MyCurrentOperations\"\n - \"Operation__c:MyFinalizedOperations\"\n - \"Opportunity:Default_Opportunity_Pipeline\"\n - \"Opportunity:MyCurrentSubscriptions\"\n - \"Opportunity:MySubscriptions\"\n - \"Account:MyActivePartners\"\n```\n\nTroubleshooting: if you need to fix ListViews with mine from an alpine-linux based docker image, use this workaround in your dockerfile:\n\n```dockerfile\n# Do not use puppeteer embedded chromium\nRUN apk add --update --no-cache chromium\nENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=\"true\"\nENV CHROMIUM_PATH=\"/usr/bin/chromium-browser\"\nENV PUPPETEER_EXECUTABLE_PATH=\"$\\{CHROMIUM_PATH}\" // remove \\ before {\n```\n\nIf you need to increase the deployment waiting time (sf project deploy start --wait arg), you can define env variable SFDX_DEPLOY_WAIT_MINUTES (default: 120)\n\nIf you need notifications to be sent using the current Pull Request and not the one just merged ([see use case](https://github.com/hardisgroupcom/sfdx-hardis/issues/637#issuecomment-2230798904)), define env variable SFDX_HARDIS_DEPLOY_BEFORE_MERGE=true\n\nIf you want to disable the calculation and display of Flow Visual Git Diff in Pull Request comments, define variable **SFDX_DISABLE_FLOW_DIFF=true**\n",
|
|
11366
|
+
"description": "Smart deploy of SFDX sources to target org, with many useful options.\n\nIn case of errors, [tips to fix them](https://sfdx-hardis.cloudity.com/deployTips/) will be included within the error messages.\n\n### Quick Deploy\n\nIn case Pull Request comments are configured on the project, Quick Deploy will try to be used (equivalent to button Quick Deploy)\n\nIf you do not want to use QuickDeploy, define variable `SFDX_HARDIS_QUICK_DEPLOY=false`\n\n- [GitHub Pull Requests comments config](https://sfdx-hardis.cloudity.com/salesforce-ci-cd-setup-integration-github/)\n- [Gitlab Merge requests notes config](https://sfdx-hardis.cloudity.com/salesforce-ci-cd-setup-integration-gitlab/)\n- [Azure Pull Requests comments config](https://sfdx-hardis.cloudity.com/salesforce-ci-cd-setup-integration-azure/)\n\n### Delta deployments\n\nTo activate delta deployments, define property `useDeltaDeployment: true` in `config/.sfdx-hardis.yml`.\n\nThis will activate delta deployments only between minor and major branches (major to major remains full deployment mode)\n\nIf you want to force the delta deployment into major orgs (ex: preprod to prod), this is not recommended but you can use env variable ALWAYS_ENABLE_DELTA_DEPLOYMENT=true\n\n### Smart Deployments Tests\n\nNot all metadata updates can break test classes, use Smart Deployment Tests to skip running test classes if ALL the following conditions are met:\n\n- Delta deployment is activated and applicable to the source and target branches\n- Delta deployed metadatas are all matching the list of **NOT_IMPACTING_METADATA_TYPES** (see below)\n- Target org is not a production org\n\nActivate Smart Deployment tests with:\n\n- env variable `USE_SMART_DEPLOYMENT_TESTS=true`\n- .sfdx-hardis.yml config property `useSmartDeploymentTests: true`\n\nDefaut list for **NOT_IMPACTING_METADATA_TYPES** (can be overridden with comma-separated list on env var NOT_IMPACTING_METADATA_TYPES)\n\n- Audience\n- AuraDefinitionBundle\n- Bot\n- BotVersion\n- ContentAsset\n- CustomObjectTranslation\n- CustomSite\n- CustomTab\n- Dashboard\n- ExperienceBundle\n- Flexipage\n- GlobalValueSetTranslation\n- Layout\n- LightningComponentBundle\n- NavigationMenu\n- ReportType\n- Report\n- SiteDotCom\n- StandardValueSetTranslation\n- StaticResource\n- Translations\n\nNote: if you want to disable Smart test classes for a PR, add **nosmart** in the text of the latest commit.\n\n### Dynamic deployment items / Overwrite management\n\nIf necessary,you can define the following files (that supports wildcards <members>*</members>):\n\n- `manifest/package-no-overwrite.xml`: Every element defined in this file will be deployed only if it is not existing yet in the target org (can be useful with ListView for example, if the client wants to update them directly in production org).\n - Can be overridden for a branch using .sfdx-hardis.yml property **packageNoOverwritePath** or environment variable PACKAGE_NO_OVERWRITE_PATH (for example, define: `packageNoOverwritePath: manifest/package-no-overwrite-main.xml` in config file `config/.sfdx-hardis.main.yml`)\n- `manifest/packageXmlOnChange.xml`: Every element defined in this file will not be deployed if it already has a similar definition in target org (can be useful for SharingRules for example)\n\nSee [Overwrite management documentation](https://sfdx-hardis.cloudity.com/salesforce-ci-cd-config-overwrite/)\n\n### Packages installation\n\nYou can define a list of package to install during deployments using property `installedPackages`\n\n- If `INSTALL_PACKAGES_DURING_CHECK_DEPLOY` is defined as `true` (or `installPackagesDuringCheckDeploy: true` in `.sfdx-hardis.yml`), packages will be installed even if the command is called with `--check` mode\n- You can automatically update this property by listing all packages installed on an org using command `sf hardis:org:retrieve:packageconfig`\n\nExample:\n\n```yaml\ninstalledPackages:\n - Id: 0A35r0000009EtECAU\n SubscriberPackageId: 033i0000000LVMYAA4\n SubscriberPackageName: Marketing Cloud\n SubscriberPackageNamespace: et4ae5\n SubscriberPackageVersionId: 04t6S000000l11iQAA\n SubscriberPackageVersionName: Marketing Cloud\n SubscriberPackageVersionNumber: 236.0.0.2\n installOnScratchOrgs: true // true or false depending you want to install this package when creating a new scratch org\n installDuringDeployments: true // set as true to install package during a deployment using sf hardis:project:deploy:smart\n installationkey: xxxxxxxxxxxxxxxxxxxx // if the package has a password, write it in this property\n - Id: 0A35r0000009F9CCAU\n SubscriberPackageId: 033b0000000Pf2AAAS\n SubscriberPackageName: Declarative Lookup Rollup Summaries Tool\n SubscriberPackageNamespace: dlrs\n SubscriberPackageVersionId: 04t5p000001BmLvAAK\n SubscriberPackageVersionName: Release\n SubscriberPackageVersionNumber: 2.15.0.9\n installOnScratchOrgs: true\n installDuringDeployments: true\n```\n\n### Deployment pre or post commands\n\nYou can define command lines to run before or after a deployment, with parameters:\n\n- **id**: Unique Id for the command\n- **label**: Human readable label for the command\n- **skipIfError**: If defined to \"true\", the post-command won't be run if there is a deployment failure\n- **context**: Defines the context where the command will be run. Can be **all** (default), **check-deployment-only** or **process-deployment-only**\n- **runOnlyOnceByOrg**: If set to true, the command will be run only one time per org. A record of SfdxHardisTrace__c is stored to make that possible (it needs to be existing in target org)\n\nIf the commands are not the same depending on the target org, you can define them into **config/branches/.sfdx-hardis-BRANCHNAME.yml** instead of root **config/.sfdx-hardis.yml**\n\nExample:\n\n```yaml\ncommandsPreDeploy:\n - id: knowledgeUnassign\n label: Remove KnowledgeUser right to the user who has it\n command: sf data update record --sobject User --where \"UserPermissionsKnowledgeUser='true'\" --values \"UserPermissionsKnowledgeUser='false'\" --json\n - id: knowledgeAssign\n label: Assign Knowledge user to the deployment user\n command: sf data update record --sobject User --where \"Username='deploy.github@myclient.com'\" --values \"UserPermissionsKnowledgeUser='true'\" --json\n\ncommandsPostDeploy:\n - id: knowledgeUnassign\n label: Remove KnowledgeUser right to the user who has it\n command: sf data update record --sobject User --where \"UserPermissionsKnowledgeUser='true'\" --values \"UserPermissionsKnowledgeUser='false'\" --json\n - id: knowledgeAssign\n label: Assign Knowledge user to desired username\n command: sf data update record --sobject User --where \"Username='admin-yser@myclient.com'\" --values \"UserPermissionsKnowledgeUser='true'\" --json\n - id: someActionToRunJustOneTime\n label: And to run only if deployment is success\n command: sf sfdmu:run ...\n skipIfError: true\n context: process-deployment-only\n runOnlyOnceByOrg: true\n```\n\n### Pull Requests Custom Behaviors\n\nIf some words are found **in the Pull Request description**, special behaviors will be applied\n\n| Word | Behavior |\n| :--- | :--- |\n| NO_DELTA | Even if delta deployments are activated, a deployment in mode **full** will be performed for this Pull Request |\n| PURGE_FLOW_VERSIONS | After deployment, inactive and obsolete Flow Versions will be deleted (equivalent to command sf hardis:org:purge:flow)<br/>**Caution: This will also purge active Flow Interviews !** |\n| DESTRUCTIVE_CHANGES_AFTER_DEPLOYMENT | If a file manifest/destructiveChanges.xml is found, it will be executed in a separate step, after the deployment of the main package |\n\n> For example, define `PURGE_FLOW_VERSIONS` and `DESTRUCTIVE_CHANGES_AFTER_DEPLOYMENT` in your Pull Request comments if you want to delete fields that are used in an active flow.\n\nNote: it is also possible to define these behaviors as ENV variables:\n\n- For all deployments (example: `PURGE_FLOW_VERSIONS=true`)\n- For a specific branch, by appending the target branch name (example: `PURGE_FLOW_VERSIONS_UAT=true`)\n\n### Deployment plan (deprecated)\n\nIf you need to deploy in multiple steps, you can define a property `deploymentPlan` in `.sfdx-hardis.yml`.\n\n- If a file `manifest/package.xml` is found, it will be placed with order 0 in the deployment plan\n\n- If a file `manifest/destructiveChanges.xml` is found, it will be executed as --postdestructivechanges\n\n- If env var `SFDX_HARDIS_DEPLOY_IGNORE_SPLIT_PACKAGES` is defined as `false` , split of package.xml will be applied\n\nExample:\n\n```yaml\ndeploymentPlan:\n packages:\n - label: Deploy Flow-Workflow\n packageXmlFile: manifest/splits/packageXmlFlowWorkflow.xml\n order: 6\n - label: Deploy SharingRules - Case\n packageXmlFile: manifest/splits/packageXmlSharingRulesCase.xml\n order: 30\n waitAfter: 30\n```\n\n### Automated fixes post deployments\n\n#### List view with scope Mine\n\nIf you defined a property **listViewsToSetToMine** in your .sfdx-hardis.yml, related ListViews will be set to Mine ( see command <https://sfdx-hardis.cloudity.com/hardis/org/fix/listviewmine/> )\n\nExample:\n\n```yaml\nlistViewsToSetToMine:\n - \"Operation__c:MyCurrentOperations\"\n - \"Operation__c:MyFinalizedOperations\"\n - \"Opportunity:Default_Opportunity_Pipeline\"\n - \"Opportunity:MyCurrentSubscriptions\"\n - \"Opportunity:MySubscriptions\"\n - \"Account:MyActivePartners\"\n```\n\nTroubleshooting: if you need to fix ListViews with mine from an alpine-linux based docker image, use this workaround in your dockerfile:\n\n```dockerfile\n# Do not use puppeteer embedded chromium\nRUN apk add --update --no-cache chromium\nENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=\"true\"\nENV CHROMIUM_PATH=\"/usr/bin/chromium-browser\"\nENV PUPPETEER_EXECUTABLE_PATH=\"$\\{CHROMIUM_PATH}\" // remove \\ before {\n```\n\nIf you need to increase the deployment waiting time (sf project deploy start --wait arg), you can define env variable SFDX_DEPLOY_WAIT_MINUTES (default: 120)\n\nIf you need notifications to be sent using the current Pull Request and not the one just merged ([see use case](https://github.com/hardisgroupcom/sfdx-hardis/issues/637#issuecomment-2230798904)), define env variable SFDX_HARDIS_DEPLOY_BEFORE_MERGE=true\n\nIf you want to disable the calculation and display of Flow Visual Git Diff in Pull Request comments, define variable **SFDX_DISABLE_FLOW_DIFF=true**\n",
|
|
11367
11367
|
"examples": [
|
|
11368
11368
|
"$ sf hardis:project:deploy:smart",
|
|
11369
11369
|
"$ sf hardis:project:deploy:smart --check",
|
|
@@ -14805,5 +14805,5 @@
|
|
|
14805
14805
|
]
|
|
14806
14806
|
}
|
|
14807
14807
|
},
|
|
14808
|
-
"version": "5.
|
|
14808
|
+
"version": "5.42.0"
|
|
14809
14809
|
}
|