@salesforce/plugin-devops-center 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +170 -44
  2. package/lib/commands/devops/pipeline/create.d.ts +1 -1
  3. package/lib/commands/devops/pipeline/create.js +5 -4
  4. package/lib/commands/devops/pipeline/create.js.map +1 -1
  5. package/lib/commands/devops/pipeline/stage/update.d.ts +19 -0
  6. package/lib/commands/devops/pipeline/stage/update.js +66 -0
  7. package/lib/commands/devops/pipeline/stage/update.js.map +1 -0
  8. package/lib/commands/devops/pipeline/update.d.ts +2 -1
  9. package/lib/commands/devops/pipeline/update.js +10 -4
  10. package/lib/commands/devops/pipeline/update.js.map +1 -1
  11. package/lib/commands/devops/promote.d.ts +5 -0
  12. package/lib/commands/devops/promote.js +49 -3
  13. package/lib/commands/devops/promote.js.map +1 -1
  14. package/lib/commands/devops/promotion/complete.d.ts +1 -1
  15. package/lib/commands/devops/promotion/complete.js +1 -1
  16. package/lib/commands/devops/promotion/complete.js.map +1 -1
  17. package/lib/commands/devops/promotion/validate.d.ts +21 -0
  18. package/lib/commands/devops/promotion/validate.js +137 -0
  19. package/lib/commands/devops/promotion/validate.js.map +1 -0
  20. package/lib/commands/devops/stage/branch/delete.d.ts +15 -0
  21. package/lib/commands/devops/stage/branch/delete.js +107 -0
  22. package/lib/commands/devops/stage/branch/delete.js.map +1 -0
  23. package/lib/commands/devops/work-item/prepare.js +0 -3
  24. package/lib/commands/devops/work-item/prepare.js.map +1 -1
  25. package/lib/utils/addPipelineStage.js +1 -0
  26. package/lib/utils/addPipelineStage.js.map +1 -1
  27. package/lib/utils/createPipeline.d.ts +1 -2
  28. package/lib/utils/createPipeline.js +28 -19
  29. package/lib/utils/createPipeline.js.map +1 -1
  30. package/lib/utils/deleteStageBranch.d.ts +22 -0
  31. package/lib/utils/deleteStageBranch.js +44 -0
  32. package/lib/utils/deleteStageBranch.js.map +1 -0
  33. package/lib/utils/pipelineUtils.d.ts +9 -0
  34. package/lib/utils/pipelineUtils.js +32 -0
  35. package/lib/utils/pipelineUtils.js.map +1 -1
  36. package/lib/utils/prepareWorkItem.d.ts +1 -1
  37. package/lib/utils/prepareWorkItem.js +4 -5
  38. package/lib/utils/prepareWorkItem.js.map +1 -1
  39. package/lib/utils/{deployStage.d.ts → promotionUtils.d.ts} +24 -0
  40. package/lib/utils/{deployStage.js → promotionUtils.js} +65 -1
  41. package/lib/utils/promotionUtils.js.map +1 -0
  42. package/lib/utils/soqlUtils.d.ts +5 -0
  43. package/lib/utils/soqlUtils.js +7 -0
  44. package/lib/utils/soqlUtils.js.map +1 -1
  45. package/messages/devops.pipeline.create.md +11 -7
  46. package/messages/devops.pipeline.stage.update.md +25 -0
  47. package/messages/devops.pipeline.update.md +10 -6
  48. package/messages/devops.promote.md +16 -0
  49. package/messages/devops.promotion.complete.md +3 -3
  50. package/messages/devops.promotion.validate.md +64 -0
  51. package/messages/devops.stage.branch.delete.md +37 -0
  52. package/npm-shrinkwrap.json +2 -2
  53. package/oclif.manifest.json +324 -72
  54. package/package.json +3 -3
  55. package/schemas/devops-pipeline-create.json +0 -3
  56. package/schemas/devops-pipeline-stage-update.json +22 -0
  57. package/schemas/devops-promote.json +38 -0
  58. package/schemas/devops-promotion-validate.json +66 -0
  59. package/schemas/devops-stage-branch-delete.json +47 -0
  60. package/lib/utils/deployStage.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"soqlUtils.js","sourceRoot":"","sources":["../../src/utils/soqlUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAU,EAAE,OAAgB;IAC/D,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,kCAAkC,CAAC,CAAC;IAC9G,CAAC;IAED,2FAA2F;IAC3F,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAQ,MAAkC,CAAC,QAAQ,KAAK,UAAU,CAAC;IACxG,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAEvE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,+BAA+B,OAAO,CAAC,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eACrE,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,+BAC1C,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,EAAU,EAAE,cAAsB,EAAE,UAAkB;IAC/F,oBAAoB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,SAAS,EAAE,iCAAiC,cAAc,IAAI,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAa,EAAE,OAAgB;IACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE,GAAG,OAAO,IAAI,OAAO,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;AAC7F,CAAC"}
1
+ {"version":3,"file":"soqlUtils.js","sourceRoot":"","sources":["../../src/utils/soqlUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAU,EAAE,OAAgB;IAC/D,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,kCAAkC,CAAC,CAAC;IAC9G,CAAC;IAED,2FAA2F;IAC3F,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAQ,MAAkC,CAAC,QAAQ,KAAK,UAAU,CAAC;IACxG,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAEvE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,+BAA+B,OAAO,CAAC,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eACrE,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,+BAC1C,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAU;IAC9C,OAAO,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,EAAU,EAAE,cAAsB,EAAE,UAAkB;IAC/F,oBAAoB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,SAAS,EAAE,iCAAiC,cAAc,IAAI,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAa,EAAE,OAAgB;IACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE,GAAG,OAAO,IAAI,OAAO,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;AAC7F,CAAC"}
@@ -38,27 +38,31 @@ Bitbucket workspace that will own the repository. Required when creating a Bitbu
38
38
 
39
39
  Bitbucket project key to associate with the repository. Optional when creating a Bitbucket repository using '--create-repo'.
40
40
 
41
- # flags.description.summary
41
+ # flags.stage.summary
42
42
 
43
- Description of the pipeline.
43
+ Name of a pipeline stage, in promotion order. Repeat the flag for each stage. Defaults to Integration, UAT, Staging, and Production.
44
44
 
45
45
  # examples
46
46
 
47
- - Create a pipeline and associate it with an existing GitHub repository.
47
+ - Create a pipeline and associate it with an existing GitHub repository:
48
48
 
49
49
  <%= config.bin %> <%= command.id %> --target-org my-devops-org --name "Release Pipeline" --repo https://github.com/myorg/myrepo
50
50
 
51
- - Create a pipeline and associate it with a new GitHub repository.
51
+ - Create a pipeline and associate it with a new GitHub repository:
52
52
 
53
53
  <%= config.bin %> <%= command.id %> --target-org my-devops-org --name "Release Pipeline" --repo my-new-repo --repo-type github --repo-owner myorg --create-repo
54
54
 
55
- - Create a pipeline and create a new Bitbucket repository.
55
+ - Create a pipeline and create a new Bitbucket repository:
56
56
 
57
57
  <%= config.bin %> <%= command.id %> --target-org my-devops-org --name "Release Pipeline" --repo my-new-repo --repo-type bitbucket --bitbucket-workspace myworkspace --bitbucket-project-key PROJ --create-repo
58
58
 
59
- - Create a pipeline with a description and associate it with an existing Bitbucket repository.
59
+ - Create a pipeline and associate it with an existing Bitbucket repository:
60
60
 
61
- <%= config.bin %> <%= command.id %> --target-org my-devops-org --name "Release Pipeline" --repo https://bitbucket.org/myworkspace/myrepo --description "Main CI/CD pipeline for production releases"
61
+ <%= config.bin %> <%= command.id %> --target-org my-devops-org --name "Release Pipeline" --repo https://bitbucket.org/myworkspace/myrepo
62
+
63
+ - Create a pipeline with custom stage names instead of the default stages:
64
+
65
+ <%= config.bin %> <%= command.id %> --target-org my-devops-org --name "Release Pipeline" --repo https://github.com/myorg/myrepo --stage Dev --stage QA --stage Prod
62
66
 
63
67
  # error.RepoTypeRequired
64
68
 
@@ -0,0 +1,25 @@
1
+ # summary
2
+
3
+ Update a DevOps Center pipeline stage.
4
+
5
+ # description
6
+
7
+ Updates the name of a pipeline stage.
8
+
9
+ # flags.stage-id.summary
10
+
11
+ ID of the pipeline stage to update.
12
+
13
+ # flags.name.summary
14
+
15
+ New name for the pipeline stage.
16
+
17
+ # examples
18
+
19
+ - Rename a pipeline stage.
20
+
21
+ <%= config.bin %> <%= command.id %> --target-org my-devops-org --stage-id 1QV000000000001 --name "Integration"
22
+
23
+ # error.StageNotFound
24
+
25
+ Stage "%s" not found. Check the stage ID and try again.
@@ -4,7 +4,7 @@ Update a DevOps Center pipeline.
4
4
 
5
5
  # description
6
6
 
7
- Activate, deactivate, or rename a DevOps Center pipeline. Use --active to activate, --no-active to deactivate, and --name to rename. You can combine --no-active and --name in one command.
7
+ Activate, deactivate, or rename a DevOps Center pipeline. Use --activate to activate, --deactivate to deactivate, and --name to rename. You can combine --deactivate and --name in one command.
8
8
 
9
9
  A pipeline must have at least one stage before you can activate it. You can't modify the pipeline stages after you activate and promote changes through it.
10
10
 
@@ -12,9 +12,13 @@ A pipeline must have at least one stage before you can activate it. You can't mo
12
12
 
13
13
  ID of the pipeline.
14
14
 
15
- # flags.active.summary
15
+ # flags.activate.summary
16
16
 
17
- Activate the pipeline. Use --no-active to deactivate.
17
+ Activate the pipeline. Can't be used with --deactivate.
18
+
19
+ # flags.deactivate.summary
20
+
21
+ Deactivate the pipeline. Can't be used with --activate.
18
22
 
19
23
  # flags.name.summary
20
24
 
@@ -24,15 +28,15 @@ New name for the pipeline.
24
28
 
25
29
  - Activate a pipeline:
26
30
 
27
- <%= config.bin %> <%= command.id %> --target-org my-devops-org --pipeline-id 0XB000000000001 --active
31
+ <%= config.bin %> <%= command.id %> --target-org my-devops-org --pipeline-id 0XB000000000001 --activate
28
32
 
29
33
  - Deactivate and rename in one step.
30
34
 
31
- <%= config.bin %> <%= command.id %> --target-org my-devops-org --pipeline-id 0XB000000000001 --no-active --name "My Pipeline"
35
+ <%= config.bin %> <%= command.id %> --target-org my-devops-org --pipeline-id 0XB000000000001 --deactivate --name "My Pipeline"
32
36
 
33
37
  # error.NoFlags
34
38
 
35
- Provide at least one of --active/--no-active or --name.
39
+ Provide at least one of --activate, --deactivate, or --name.
36
40
 
37
41
  # error.NoStages
38
42
 
@@ -48,6 +48,10 @@ ID of the source pipeline stage whose approved work items will be promoted. Mutu
48
48
 
49
49
  <%= config.bin %> <%= command.id %> --target-org my-devops-org --stage-id 1QVxx0000000001 --target-stage-id 1QVxx0000000002 --deploy-all
50
50
 
51
+ # flags.skip-validation.summary
52
+
53
+ Skip pre-promote validation. By default, promotion is validated before proceeding to prevent promoting work items without an associated PR. Use this flag to bypass validation.
54
+
51
55
  # error.NoModeFlag
52
56
 
53
57
  Provide either --work-item-id to promote specific work items or --stage-id to promote all approved work items from a stage.
@@ -56,6 +60,18 @@ Provide either --work-item-id to promote specific work items or --stage-id to pr
56
60
 
57
61
  No work items found to promote from the source stage. Make sure there are approved work items before promoting.
58
62
 
63
+ # error.ValidationRequestFailed
64
+
65
+ Failed to run pre-promote validation: %s
66
+
67
+ # error.ValidationFailedCombineRequired
68
+
69
+ Promotion blocked: work items must be combined before promoting. Run the combine command with the following details:
70
+
71
+ # error.ValidationFailed
72
+
73
+ Pre-promote validation failed (%s): %s
74
+
59
75
  # error.PromoteFailed
60
76
 
61
77
  Failed to promote: %s
@@ -18,15 +18,15 @@ ID of a specific work item to deploy. Omit to deploy all undeployed work items f
18
18
 
19
19
  # examples
20
20
 
21
- - Complete a promotion for an out-of-sync pipeline stage.
21
+ - Complete a promotion for an out-of-sync pipeline stage:
22
22
 
23
23
  <%= config.bin %> <%= command.id %> --target-org my-devops-org --target-stage-id 1QV000000000001
24
24
 
25
- - Complete a promotion for a specific work item (e.g. first stage of a pipeline).
25
+ - Complete a promotion for a specific work item (e.g. first stage of a pipeline):
26
26
 
27
27
  <%= config.bin %> <%= command.id %> --target-org my-devops-org --target-stage-id 1QV000000000001 --work-item-id 1fk000000000001
28
28
 
29
- - Complete a promotion with full deploy and a specific test level.
29
+ - Complete a promotion with full deploy and a specific test level:
30
30
 
31
31
  <%= config.bin %> <%= command.id %> --target-org my-devops-org --target-stage-id 1QV000000000001 --deploy-all --test-level RunLocalTests
32
32
 
@@ -0,0 +1,64 @@
1
+ # summary
2
+
3
+ Validate work item promotion for a pipeline stage.
4
+
5
+ # description
6
+
7
+ Validates whether the specified work items can be promoted to the target pipeline stage. Checks for VCS and object permission errors before a promotion is attempted.
8
+
9
+ # flags.target-stage-id.summary
10
+
11
+ ID of the target pipeline stage to validate promotion to.
12
+
13
+ # flags.work-item-id.summary
14
+
15
+ ID of a work item to validate for promotion. Specify multiple times for multiple work items.
16
+
17
+ # examples
18
+
19
+ - Validate promotion of a work item to a target stage:
20
+
21
+ <%= config.bin %> <%= command.id %> --target-org my-devops-org --target-stage-id 1QV000000000001 --work-item-id 1fk000000000001
22
+
23
+ - Validate promotion of multiple work items:
24
+
25
+ <%= config.bin %> <%= command.id %> --target-org my-devops-org --target-stage-id 1QV000000000001 --work-item-id 1fk000000000001 --work-item-id 1fk000000000002
26
+
27
+ # error.NoPipeline
28
+
29
+ No pipeline found for work item "%s". Ensure the project has an associated pipeline.
30
+
31
+ # error.ValidationFailed
32
+
33
+ Validation failed (%s): %s
34
+
35
+ # error.ValidationRequestFailed
36
+
37
+ Validation request failed: %s
38
+
39
+ # suggestion.SharedComponents
40
+
41
+ The selected work items share one or more components. Choose one of these approaches:
42
+
43
+ # suggestion.CombineOption
44
+
45
+ Option 1 - Combine the work items and promote them as a single unit:
46
+
47
+ # suggestion.PromoteOption
48
+
49
+ Option 2 - Promote the work items as they are, without combining:
50
+
51
+ # suggestion.CombineStepPrepare
52
+
53
+ 1. Combine the work items:
54
+ %s
55
+
56
+ # suggestion.CombineStepPromote
57
+
58
+ 2. Promote the combined work item:
59
+ %s
60
+
61
+ # suggestion.PromoteStep
62
+
63
+ Run:
64
+ %s
@@ -0,0 +1,37 @@
1
+ # summary
2
+
3
+ Delete the source code repository branch associated with a pipeline stage.
4
+
5
+ # description
6
+
7
+ Removes the branch linked to the specified pipeline stage. Because branches are configured from right to left (a stage can have a branch only after the stage to its right does), removing a branch also removes the branches from all upstream stages (to the left) in the pipeline, keeping it in a valid state. The branch records in the repository are not deleted; only their association with the stages is removed. The stage must belong to an inactive pipeline.
8
+
9
+ # flags.pipeline-id.summary
10
+
11
+ ID of the pipeline that contains the stage. Used to verify the pipeline is inactive before deleting.
12
+
13
+ # flags.stage-id.summary
14
+
15
+ ID of the pipeline stage whose branch you want to delete.
16
+
17
+ # examples
18
+
19
+ - Delete the branch associated with a pipeline stage:
20
+
21
+ <%= config.bin %> <%= command.id %> --target-org my-devops-org --pipeline-id 0Xo000000000001 --stage-id 0Xp000000000001
22
+
23
+ # error.PipelineAlreadyActive
24
+
25
+ Pipeline %s is already active. A branch can only be removed from a stage in an inactive pipeline.
26
+
27
+ # error.StageNotFound
28
+
29
+ Pipeline stage "%s" doesn't exist in pipeline "%s". Check the stage ID and try again.
30
+
31
+ # error.NoBranch
32
+
33
+ Pipeline stage "%s" doesn't have a branch associated with it. There's nothing to delete.
34
+
35
+ # error.BranchDeleteFailed
36
+
37
+ Failed to delete branch from stage: %s
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@salesforce/plugin-devops-center",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@salesforce/plugin-devops-center",
9
- "version": "2.0.0",
9
+ "version": "2.1.0",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@jsforce/jsforce-node": "^3",