sfdx-hardis 8.20.1 → 8.21.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 (52) hide show
  1. package/lib/commands/hardis/project/deploy/smart.d.ts +2 -2
  2. package/lib/commands/hardis/project/deploy/smart.js +10 -9
  3. package/lib/commands/hardis/project/deploy/smart.js.map +1 -1
  4. package/lib/commands/hardis/project/promotion/create.js +1 -1
  5. package/lib/commands/hardis/project/promotion/list-candidates.js +2 -0
  6. package/lib/commands/hardis/project/promotion/list-candidates.js.map +1 -1
  7. package/lib/common/gitProvider/azureDevops.d.ts +12 -1
  8. package/lib/common/gitProvider/azureDevops.js +73 -1
  9. package/lib/common/gitProvider/azureDevops.js.map +1 -1
  10. package/lib/common/gitProvider/bitbucket.d.ts +3 -1
  11. package/lib/common/gitProvider/bitbucket.js +24 -3
  12. package/lib/common/gitProvider/bitbucket.js.map +1 -1
  13. package/lib/common/gitProvider/gitProviderRoot.d.ts +9 -1
  14. package/lib/common/gitProvider/gitProviderRoot.js +27 -7
  15. package/lib/common/gitProvider/gitProviderRoot.js.map +1 -1
  16. package/lib/common/gitProvider/github.d.ts +12 -1
  17. package/lib/common/gitProvider/github.js +63 -2
  18. package/lib/common/gitProvider/github.js.map +1 -1
  19. package/lib/common/gitProvider/gitlab.d.ts +3 -1
  20. package/lib/common/gitProvider/gitlab.js +23 -1
  21. package/lib/common/gitProvider/gitlab.js.map +1 -1
  22. package/lib/common/gitProvider/index.d.ts +6 -0
  23. package/lib/common/utils/deploymentKeywordUtils.d.ts +31 -0
  24. package/lib/common/utils/deploymentKeywordUtils.js +47 -0
  25. package/lib/common/utils/deploymentKeywordUtils.js.map +1 -0
  26. package/lib/common/utils/index.d.ts +1 -0
  27. package/lib/common/utils/index.js +23 -1
  28. package/lib/common/utils/index.js.map +1 -1
  29. package/lib/common/utils/manualCherryPickUtils.d.ts +190 -0
  30. package/lib/common/utils/manualCherryPickUtils.js +442 -0
  31. package/lib/common/utils/manualCherryPickUtils.js.map +1 -0
  32. package/lib/common/utils/orgUtils.d.ts +4 -0
  33. package/lib/common/utils/orgUtils.js +20 -6
  34. package/lib/common/utils/orgUtils.js.map +1 -1
  35. package/lib/common/utils/promotionBranchUtils.d.ts +6 -0
  36. package/lib/common/utils/promotionBranchUtils.js +8 -0
  37. package/lib/common/utils/promotionBranchUtils.js.map +1 -1
  38. package/lib/common/utils/promotionCreateUtils.d.ts +33 -0
  39. package/lib/common/utils/promotionCreateUtils.js +54 -2
  40. package/lib/common/utils/promotionCreateUtils.js.map +1 -1
  41. package/lib/i18n/de.json +9 -0
  42. package/lib/i18n/en.json +9 -0
  43. package/lib/i18n/es.json +9 -0
  44. package/lib/i18n/fr.json +9 -0
  45. package/lib/i18n/it.json +9 -0
  46. package/lib/i18n/ja.json +9 -0
  47. package/lib/i18n/nl.json +9 -0
  48. package/lib/i18n/pl.json +9 -0
  49. package/lib/i18n/pt-BR.json +9 -0
  50. package/oclif.lock +129 -179
  51. package/oclif.manifest.json +3039 -3039
  52. package/package.json +14 -14
@@ -40,7 +40,7 @@ export default class SmartDeploy extends SfCommand<any> {
40
40
  private handlePackages;
41
41
  private initTestLevelAndTestClasses;
42
42
  isDeltaAllowed(): Promise<boolean>;
43
- isNoDelta(latestCommit: any): any;
43
+ isNoDelta(latestCommit: any): boolean;
44
44
  isSmartDeploymentTestsAllowed(): Promise<boolean>;
45
- isNoSmartDeploymentTests(latestCommit: any): any;
45
+ isNoSmartDeploymentTests(latestCommit: any): boolean;
46
46
  }
@@ -18,6 +18,7 @@ import * as path from 'path';
18
18
  import { MetadataUtils } from '../../../../common/metadata-utils/index.js';
19
19
  import { createTempDir, getCurrentGitBranch, getLatestGitCommit, isCI, uxLog, uxLogTable, } from '../../../../common/utils/index.js';
20
20
  import { CONSTANTS, getConfig, getEnvVar } from '../../../../config/index.js';
21
+ import { commitContainsDeploymentKeyword } from '../../../../common/utils/deploymentKeywordUtils.js';
21
22
  import { smartDeploy, removePackageXmlContent, createEmptyPackageXml } from '../../../../common/utils/deployUtils.js';
22
23
  import { extendPackageFileWithDependencies, appendPackageModifications } from '../../../../common/utils/deltaUtils.js';
23
24
  import { isProductionOrg, promptOrgUsernameDefault, setConnectionVariables } from '../../../../common/utils/orgUtils.js';
@@ -140,7 +141,7 @@ Defaut list for **NOT_IMPACTING_METADATA_TYPES** (can be overridden with comma-s
140
141
  - Translations
141
142
  - WebLink
142
143
 
143
- Note: if you want to disable Smart test classes for a PR, add **nosmart** in the text of the latest commit.
144
+ Note: if you want to disable Smart test classes for a PR, add **nosmart** in the text of the latest commit (any case: \`NOSMART\`, \`no_smart\`, \`no-smart\` and \`no smart\` also work).
144
145
 
145
146
  ### Custom Apex Test Classes (optional)
146
147
 
@@ -339,11 +340,13 @@ Notes:
339
340
 
340
341
  ### Pull Requests Custom Behaviors
341
342
 
342
- If some words are found **in the Pull Request description**, special behaviors will be applied
343
+ If some words are found **in the Pull Request description**, special behaviors will be applied.
344
+
345
+ Keywords match in any case. NO_DELTA also accepts its words joined by \`-\`, a space or nothing (\`no_delta\`, \`No-Delta\`, \`no delta\` and \`nodelta\` all work). PURGE_FLOW_VERSIONS and DESTRUCTIVE_CHANGES_AFTER_DEPLOYMENT start destructive steps, so they keep their underscores (\`purge_flow_versions\` works, \`purge flow versions\` does not). A keyword inside a path or a branch name does not count, nor one inside an HTML comment (\`<!-- -->\`) or a fenced code block: a Pull Request template can list them without applying them, and the job log warns when a keyword is found only there.
343
346
 
344
347
  | Word | Behavior |
345
348
  | :--- | :--- |
346
- | NO_DELTA | Even if delta deployments are activated, a deployment in mode **full** will be performed for this Pull Request |
349
+ | NO_DELTA | Even if delta deployments are activated, a deployment in mode **full** will be performed for this Pull Request. Also works in the latest commit message. |
347
350
  | 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 !** |
348
351
  | 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 |
349
352
  | FLOW_DELETE_INTERVIEWS | Authorizes deleting the Flow Interviews that block the deletion of a Flow listed in destructive changes. The directive must be on its own line (or in a checked Markdown checkbox).<br/>**Caution: deleting Flow Interviews is irreversible and destroys in-flight process state !** |
@@ -971,7 +974,7 @@ If testlevel=RunRepositoryTests, can contain a regular expression to keep only c
971
974
  }
972
975
  const latestCommit = await getLatestGitCommit();
973
976
  if (latestCommit && this.isNoDelta(latestCommit)) {
974
- uxLog("warning", this, c.yellow(c.bold((`[DeltaDeployment] Latest commit contains string "nodelta" so disable delta for this time 😊`))));
977
+ uxLog("warning", this, c.yellow(c.bold('[DeltaDeployment] ' + t('deltaDisabledByLatestCommitKeyword'))));
975
978
  return false;
976
979
  }
977
980
  if (process.env?.ALWAYS_ENABLE_DELTA_DEPLOYMENT === 'true' || this.configInfo?.enableDeltaDeploymentBetweenMajorBranches === true) {
@@ -1009,14 +1012,13 @@ If testlevel=RunRepositoryTests, can contain a regular expression to keep only c
1009
1012
  return true;
1010
1013
  }
1011
1014
  isNoDelta(latestCommit) {
1012
- return latestCommit?.body?.trim().includes('nodelta') || latestCommit?.message?.trim().includes('nodelta') ||
1013
- latestCommit?.body?.trim().includes('no delta') || latestCommit?.message?.trim().includes('no delta');
1015
+ return commitContainsDeploymentKeyword(latestCommit, 'noDelta');
1014
1016
  }
1015
1017
  async isSmartDeploymentTestsAllowed() {
1016
1018
  if (process.env?.USE_SMART_DEPLOYMENT_TESTS === 'true' || this.configInfo?.useSmartDeploymentTests === true) {
1017
1019
  const latestCommit = await getLatestGitCommit();
1018
1020
  if (latestCommit && this.isNoSmartDeploymentTests(latestCommit)) {
1019
- uxLog("warning", this, c.yellow(c.bold((`[SmartDeploymentTests] Latest commit contains string "nosmart" so disable smartDeploymentTests for this time 😊`))));
1021
+ uxLog("warning", this, c.yellow(c.bold('[SmartDeploymentTests] ' + t('smartDeploymentTestsDisabledByLatestCommitKeyword'))));
1020
1022
  return false;
1021
1023
  }
1022
1024
  return true;
@@ -1024,8 +1026,7 @@ If testlevel=RunRepositoryTests, can contain a regular expression to keep only c
1024
1026
  return false;
1025
1027
  }
1026
1028
  isNoSmartDeploymentTests(latestCommit) {
1027
- return latestCommit?.body?.trim().includes('nosmart') || latestCommit?.message?.trim().includes('nosmart') ||
1028
- latestCommit?.body?.trim().includes('no smart') || latestCommit?.message?.trim().includes('no smart');
1029
+ return commitContainsDeploymentKeyword(latestCommit, 'noSmart');
1029
1030
  }
1030
1031
  }
1031
1032
  //# sourceMappingURL=smart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/deploy/smart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/deploy/smart.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ This is the only supported way to create a [promotion branch (Beta)](${CONSTANTS
25
25
  - checks that \`enablePromotionBranches: true\` is set in the sfdx-hardis configuration;
26
26
  - checks that \`allowedPromotionSteps\` declares the steps promotions may run on (ex: \`- source: uat\` / \`target: preprod\`), and keeps to them: only those source and target branches are offered, and naming another one fails;
27
27
  - requires the [git provider connection](${CONSTANTS.DOC_URL_ROOT}/salesforce-ci-cd-setup-integrations-home/) (GitHub, GitLab, Bitbucket or Azure DevOps) and refuses to run without it: the carried Pull Requests are read from the provider, so the command behaves the same on every platform and every carried Pull Request gets its real title and author. From VS Code, the extension passes its own connection; from a terminal, an agent or CI, set the provider token as an environment variable or in a \`.env\` file at the repository root;
28
- - lists the Pull Requests merged into the source branch and not yet promoted to the target branch, and lets you select the ones to carry (or takes them from \`--pull-requests\`). A Pull Request another promotion branch already carries to the same target is left out, unless \`--include-already-promoted\` is passed;
28
+ - lists the Pull Requests merged into the source branch and not yet promoted to the target branch, and lets you select the ones to carry (or takes them from \`--pull-requests\`). A Pull Request another promotion branch already carries to the same target is left out, unless \`--include-already-promoted\` is passed. With \`detectManualCherryPicks: true\`, so is a Pull Request that reached the target branch through a cherry-pick made by hand (see \`hardis:project:promotion:list-candidates\`);
29
29
  - creates the branch from the target branch, named \`promotion/<source>/<target>/<YYYY-MM-DD>-<HHMM>\` (UTC, ex: \`promotion/uat/preprod/2026-09-06-1430\`), with \`-2\`, \`-3\`... added only when that name is already taken;
30
30
  - cherry-picks the merge commit of each selected Pull Request, oldest first, with \`-x\` so each commit keeps a pointer to its origin;
31
31
  - pushes the branch and creates the Pull Request to the target branch, with a description declaring the carried Pull Requests (\`${PROMOTION_PULL_REQUESTS_KEY}\`), their titles, authors, source branches and tickets.
@@ -25,6 +25,7 @@ The command:
25
25
  - requires the [git provider connection](${CONSTANTS.DOC_URL_ROOT}/salesforce-ci-cd-setup-integrations-home/) (GitHub, GitLab, Bitbucket or Azure DevOps) and refuses to run without it, like \`hardis:project:promotion:create\`: the candidates are read from the provider, so the numbers listed are the ones \`create\` accepts;
26
26
  - lists the Pull Requests merged into the source branch since its merge base with the target branch, leaving out the merges between major branches and the promotion branches themselves (they carry other people's work, they are not User Stories);
27
27
  - marks the ones another promotion branch already carries to the same target branch. They are left out of the candidates unless \`--include-already-promoted\` is passed, and always reported in the \`alreadyPromoted\` result;
28
+ - with \`detectManualCherryPicks: true\`, also marks the ones that reached the target branch through a cherry-pick made by hand (\`alreadyPromotedBy.manualCherryPick\`). A story only part of whose commits were found stays a candidate (\`partiallyCherryPicked\`), and so does a story only matched by its commit title (\`probablyCherryPicked\`);
28
29
  - names the promotion Pull Request already open between the two branches, if any. It is left untouched: \`hardis:project:promotion:create\` is what closes it, once its replacement exists.
29
30
 
30
31
  With \`--json\`, the result holds \`candidates\` (Pull Request numbers, title, author, source branch, commit, date), \`alreadyPromoted\`, and \`openPromotions\`.
@@ -37,6 +38,7 @@ With \`--json\`, the result holds \`candidates\` (Pull Request numbers, title, a
37
38
  - A promotion merged into the source branch is expanded into the User Stories its \`promotionPullRequests\` block declares, recursively, so a story promoted twice in a row keeps its number.
38
39
  - A candidate can be a merge commit carrying several Pull Requests: they are listed together, because cherry-picking it carries all of them.
39
40
  - Already-promoted detection reads the promotion Pull Requests of the target branch, bounded by the date of the oldest candidate.
41
+ - Manual cherry-pick detection (\`detectManualCherryPicks\`, off by default) reads the \`git cherry-pick -x\` trailers of the target branch (since the merge base, and before it as far as the oldest commit the candidates bring, so a back-merge does not hide a pick), and the commits each Pull Request merged into the target branch since the oldest candidate held (by merge date). A squash merge removes them from the history, not from the provider, which is asked for them; a Pull Request merged with a merge commit is read from the local history. Their trailers and their own SHAs name the candidates. A promotion that declares a story always wins over this detection.
40
42
  </details>
41
43
 
42
44
  ### Agent Mode
@@ -1 +1 @@
1
- {"version":3,"file":"list-candidates.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/promotion/list-candidates.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,CAAC,EAAE,MAAM,kCAAkC,CAAC;AACrD,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,EAChC,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,EACvB,8BAA8B,EAC9B,2BAA2B,EAC3B,8BAA8B,EAC9B,+BAA+B,EAC/B,kBAAkB,GACnB,MAAM,kDAAkD,CAAC;AAE1D,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,uBAAwB,SAAQ,SAAc;IAC1D,MAAM,CAAC,KAAK,GAAG,oDAAoD,CAAC;IAEpE,MAAM,CAAC,WAAW,GAAG;;;;;4KAK8I,SAAS,CAAC,YAAY;;;;;;;2CAOvJ,SAAS,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BhE,CAAC;IAEO,MAAM,CAAC,QAAQ,GAAG;QACvB,+CAA+C;QAC/C,mEAAmE;QACnE,2FAA2F;QAC3F,kFAAkF;QAClF,sGAAsG;KACvG,CAAC;IAEK,MAAM,CAAC,KAAK,GAAQ;QACzB,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,qHAAqH;SACnI,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4GAA4G;SAC1H,CAAC;QACF,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC;YACxC,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,2IAA2I;SACzJ,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,uDAAuD;SACrE,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SAC9C,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;SAC9C,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACtB,WAAW,EAAE,+DAA+D;SAC7E,CAAC;KACH,CAAC;IAEK,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;IACrC,sBAAsB;IAEf,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC;QAE/C,MAAM,eAAe,GAAG,MAAM,8BAA8B,CAAC,IAAI,CAAC,CAAC;QACnE,8FAA8F;QAC9F,wEAAwE;QACxE,MAAM,8BAA8B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACtD,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,+BAA+B,CAC1E,IAAI,EACJ,KAAK,CAAC,eAAe,CAAC,IAAI,IAAI,EAC9B,KAAK,CAAC,eAAe,CAAC,IAAI,IAAI,EAC9B,SAAS,EACT,eAAe,CAAC,YAAY,CAC7B,CAAC;QAEF,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kCAAkC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvI,+FAA+F;QAC/F,8FAA8F;QAC9F,+EAA+E;QAC/E,MAAM,cAAc,GAAG,MAAM,6BAA6B,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAC7F,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QACnF,MAAM,oBAAoB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAChE,MAAM,EAAE,WAAW,CAAC,QAAQ;YAC5B,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,MAAM,EAAE,WAAW,CAAC,MAAM;SAC3B,CAAC,CAAC,CAAC;QACJ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAClH,OAAO;gBACL,YAAY;gBACZ,YAAY;gBACZ,UAAU,EAAE,EAAE;gBACd,eAAe,EAAE,EAAE;gBACnB,cAAc,EAAE,oBAAoB;gBACpC,YAAY,EAAE,oBAAoB;aACnC,CAAC;QACJ,CAAC;QAED,MAAM,2BAA2B,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAChF,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,gCAAgC,CACtE,UAAU,EACV,KAAK,CAAC,0BAA0B,CAAC,KAAK,IAAI,EAC1C,IAAI,CACL,CAAC;QACF,8BAA8B,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,sCAAsC,EAAE;gBACxE,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,YAAY;gBACpB,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;aAC/G,CAAC,CAAC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,MAAM,GAAG,wBAAwB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACzG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,8BAA8B,EAAE;YAC/D,KAAK,EAAE,UAAU,CAAC,MAAM;YACxB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,YAAY;YACpB,MAAM;SACP,CAAC,CAAC,CAAC,CAAC;QAEL,OAAO;YACL,YAAY;YACZ,YAAY;YACZ,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACxE,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAClF,cAAc,EAAE,oBAAoB;YACpC,YAAY,EAAE,GAAG,UAAU,CAAC,MAAM,yCAAyC,YAAY,OAAO,YAAY,KAAK,MAAM,EAAE;SACxH,CAAC;IACJ,CAAC"}
1
+ {"version":3,"file":"list-candidates.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/promotion/list-candidates.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { CiRunFilters, CommonCiRun, DashboardComment, DashboardFormat, DashboardRef, GitProviderRepositorySettings, GitProviderRoot, JobArtifact, JobArtifactsListing, PullRequestCommentRef, PullRequestCreateUrlResult } from "./gitProviderRoot.js";
2
- import { CommonPullRequestInfo, CreatePullRequestRequest, CreatePullRequestResult, PullRequestMessageRequest, PullRequestMessageResult } from "./index.js";
2
+ import { CommonPullRequestInfo, CreatePullRequestRequest, CreatePullRequestResult, PullRequestCommitInfo, PullRequestMessageRequest, PullRequestMessageResult } from "./index.js";
3
3
  export declare class AzureDevopsProvider extends GitProviderRoot {
4
4
  private azureApi;
5
5
  serverUrl: string;
@@ -45,6 +45,7 @@ export declare class AzureDevopsProvider extends GitProviderRoot {
45
45
  pullRequestStatus?: "open" | "merged" | "abandoned";
46
46
  targetBranch?: string;
47
47
  minDate?: Date;
48
+ minDateOn?: 'created' | 'merged';
48
49
  withoutComments?: boolean;
49
50
  }): Promise<CommonPullRequestInfo[] | null>;
50
51
  getBranchDeploymentCheckId(gitBranch: string): Promise<string | null>;
@@ -52,6 +53,13 @@ export declare class AzureDevopsProvider extends GitProviderRoot {
52
53
  private isPullRequestMatchingCommit;
53
54
  private getDeploymentIdFromPullRequest;
54
55
  private getCommentTimestamp;
56
+ listPullRequestCommits(pullRequestId: number): Promise<PullRequestCommitInfo[] | null>;
57
+ /**
58
+ * Every commit of a Pull Request. getPullRequestCommits of azure-devops-node-api only returns
59
+ * the first page (about 100 commits) and exposes neither $top nor the continuation token, so
60
+ * the same REST resource is called with them. Falls back to the first page if that call fails.
61
+ */
62
+ private listAllPullRequestCommitRefs;
55
63
  getPullRequestById(pullRequestId: number): Promise<CommonPullRequestInfo | null>;
56
64
  listPullRequestsInBranchSinceLastMerge(currentBranchName: string, targetBranchName: string, childBranchesNames: string[]): Promise<CommonPullRequestInfo[]>;
57
65
  listPullRequestsInGoLive(branchName: string, childBranchesNames: string[], mergeCommitId: string): Promise<CommonPullRequestInfo[]>;
@@ -103,6 +111,9 @@ export declare class AzureDevopsProvider extends GitProviderRoot {
103
111
  private static readonly PUSH_BUILD_REASONS;
104
112
  private static readonly BUILDS_PAGE_SIZE;
105
113
  private static readonly PULL_REQUESTS_PAGE_SIZE;
114
+ private static readonly PULL_REQUEST_COMMITS_LOCATION_ID;
115
+ private static readonly PULL_REQUEST_COMMITS_PAGE_SIZE;
116
+ private static readonly PULL_REQUEST_COMMITS_MAX_PAGES;
106
117
  private listCompletedBuildsSince;
107
118
  private getRepositoryGuid;
108
119
  private readOwnJobOfBuilds;
@@ -8,7 +8,7 @@ import c from "chalk";
8
8
  import fs from '../utils/fsUtils.js';
9
9
  import { getCurrentGitBranch, getGitRepoUrl, git, isGitRepo, uxLog } from "../utils/index.js";
10
10
  import * as path from "path";
11
- import { CommentThreadStatus, PullRequestAsyncStatus, PullRequestStatus } from "azure-devops-node-api/interfaces/GitInterfaces.js";
11
+ import { CommentThreadStatus, PullRequestAsyncStatus, PullRequestStatus, PullRequestTimeRangeType } from "azure-devops-node-api/interfaces/GitInterfaces.js";
12
12
  import { getBannerMarkdownAndLink, getEnvVar } from "../../config/index.js";
13
13
  import { getPrCommentKind, getPrCommentKindFromMessageKey } from "./utils/prCommentNav.js";
14
14
  import { SfError } from "@salesforce/core";
@@ -550,6 +550,11 @@ ${this.getPipelineVariablesConfig()}
550
550
  }
551
551
  if (filters.minDate) {
552
552
  queryConstraint.minTime = filters.minDate;
553
+ // minTime applies to the creation date unless told otherwise: a completed Pull Request is
554
+ // closed when it is merged
555
+ if (filters.minDateOn === 'merged') {
556
+ queryConstraint.queryTimeRangeType = PullRequestTimeRangeType.Closed;
557
+ }
553
558
  }
554
559
  // Process request
555
560
  uxLog("action", this, c.cyan(t('callingAzureApiToListPullRequests')));
@@ -683,6 +688,69 @@ ${this.getPipelineVariablesConfig()}
683
688
  }
684
689
  return latest;
685
690
  }
691
+ async listPullRequestCommits(pullRequestId) {
692
+ if (!this.azureApi || !process.env.BUILD_REPOSITORY_ID) {
693
+ return null;
694
+ }
695
+ try {
696
+ const azureGitApi = await this.azureApi.getGitApi();
697
+ const repositoryId = process.env.BUILD_REPOSITORY_ID;
698
+ const project = process.env.SYSTEM_TEAMPROJECT;
699
+ // Azure DevOps keeps the commits of a squashed Pull Request, served by pages
700
+ const commits = await this.listAllPullRequestCommitRefs(azureGitApi, repositoryId, pullRequestId, project);
701
+ // The listing shortens long messages (commentTruncated), which only cuts the body: a
702
+ // cherry-pick trailer would then be lost, so those commits are read again in full
703
+ const results = await mapInAdaptiveBatches(commits, async (commit) => {
704
+ let message = commit.comment || '';
705
+ let parentShas = commit.parents || [];
706
+ if (commit.commentTruncated && commit.commitId) {
707
+ const full = await azureGitApi.getCommit(commit.commitId, repositoryId, project);
708
+ message = full?.comment || message;
709
+ parentShas = full?.parents || parentShas;
710
+ }
711
+ return { sha: commit.commitId || '', message, parentShas };
712
+ // A few at a time: the Pull Requests themselves are already read in parallel
713
+ }, { sizes: [8, 4, 1] });
714
+ return results.filter((commit) => !!commit && !!commit.sha);
715
+ }
716
+ catch (err) {
717
+ uxLog("warning", this, c.yellow('[Azure Integration] ' + t('gitProviderPullRequestCommitsNotListed', { number: pullRequestId, message: String(err) })));
718
+ return null;
719
+ }
720
+ }
721
+ /**
722
+ * Every commit of a Pull Request. getPullRequestCommits of azure-devops-node-api only returns
723
+ * the first page (about 100 commits) and exposes neither $top nor the continuation token, so
724
+ * the same REST resource is called with them. Falls back to the first page if that call fails.
725
+ */
726
+ async listAllPullRequestCommitRefs(azureGitApi, repositoryId, pullRequestId, project) {
727
+ const pages = [];
728
+ try {
729
+ let continuationToken = undefined;
730
+ for (let page = 0; page < AzureDevopsProvider.PULL_REQUEST_COMMITS_MAX_PAGES; page++) {
731
+ const queryParameters = { '$top': AzureDevopsProvider.PULL_REQUEST_COMMITS_PAGE_SIZE };
732
+ if (continuationToken) {
733
+ queryParameters.continuationToken = continuationToken;
734
+ }
735
+ const versioning = await azureGitApi.vsoClient.getVersioningData("7.1", "git", AzureDevopsProvider.PULL_REQUEST_COMMITS_LOCATION_ID, { project, repositoryId, pullRequestId }, queryParameters);
736
+ const response = await azureGitApi.rest.get(versioning.requestUrl, azureGitApi.createRequestOptions('application/json', versioning.apiVersion));
737
+ const raw = response?.result;
738
+ const items = Array.isArray(raw) ? raw : Array.isArray(raw?.value) ? raw.value : [];
739
+ pages.push(...items);
740
+ const headers = response?.headers || {};
741
+ continuationToken = headers['x-ms-continuationtoken'] || headers['X-MS-ContinuationToken'] || undefined;
742
+ if (!continuationToken || items.length === 0) {
743
+ return pages;
744
+ }
745
+ }
746
+ uxLog("warning", this, c.yellow('[Azure Integration] ' + t('gitProviderPullRequestCommitsTruncated', { number: pullRequestId, count: pages.length })));
747
+ return pages;
748
+ }
749
+ catch (err) {
750
+ uxLog("other", this, `[Azure Integration] Paged listing of the commits of Pull Request ${pullRequestId} failed, first page only: ${String(err)}`);
751
+ return (await azureGitApi.getPullRequestCommits(repositoryId, pullRequestId, project)) || [];
752
+ }
753
+ }
686
754
  async getPullRequestById(pullRequestId) {
687
755
  try {
688
756
  const azureGitApi = await this.azureApi.getGitApi();
@@ -1489,6 +1557,10 @@ ${getBannerMarkdownAndLink()}
1489
1557
  static PUSH_BUILD_REASONS = [BuildReason.IndividualCI, BuildReason.BatchedCI, BuildReason.Manual];
1490
1558
  static BUILDS_PAGE_SIZE = 1000;
1491
1559
  static PULL_REQUESTS_PAGE_SIZE = 100;
1560
+ // Pull Request commits: the REST resource of getPullRequestCommits, read page by page
1561
+ static PULL_REQUEST_COMMITS_LOCATION_ID = "52823034-34a8-4576-922c-8d8b77e9e4c4";
1562
+ static PULL_REQUEST_COMMITS_PAGE_SIZE = 500;
1563
+ static PULL_REQUEST_COMMITS_MAX_PAGES = 20;
1492
1564
  // Build API getBuilds: the completed builds of this repository finished since minDate, oldest
1493
1565
  // first. azure-devops-node-api does not return the continuation token of the REST API (it comes
1494
1566
  // in a response header the client drops), so a full page is followed by the same query starting