Background
The release-pipeline Slack QA notification (#35762) launched with two real-world problems uncovered on the first live run:
- The detailed PR list got clipped — Slack auto-collapses messages over ~4000 chars, so the per-PR list ended up hidden behind a Show more link. Reviewers never saw which PRs needed attention.
- Author mentions didn't notify — plain
@username is decorative text; without a Slack member ID wrapped in <@U...>, the person whose action was required got no notification.
Scope
- Replace the detailed PR list in the Slack message with a compact summary: the four bucket counts (linked to the workflow run summary) plus a single
cc line that @-mentions the authors of flagged PRs.
- Resolve GitHub usernames to Slack member IDs via
.github/data/slack-mappings.json (the same file utility_slack-channel-resolver.yml uses). Fall back to plain @login when the user isn't in the mapping.
- Move the full detailed report (PR-by-PR tables) to the workflow run summary via
$GITHUB_STEP_SUMMARY, so reviewers can drill in from the count links.
- Add stable per-bucket anchors so each count deep-links directly to its bucket section in the summary.
Out of scope
- Maintaining the slack-mappings.json over time — that's a separate ongoing task.
- Cross-repo issue label visibility (PRs that close
dotCMS/private-issues#N still surface in the "outside dotCMS core" bucket because the labels aren't readable from here).
Related
Background
The release-pipeline Slack QA notification (#35762) launched with two real-world problems uncovered on the first live run:
@usernameis decorative text; without a Slack member ID wrapped in<@U...>, the person whose action was required got no notification.Scope
ccline that @-mentions the authors of flagged PRs..github/data/slack-mappings.json(the same fileutility_slack-channel-resolver.ymluses). Fall back to plain@loginwhen the user isn't in the mapping.$GITHUB_STEP_SUMMARY, so reviewers can drill in from the count links.Out of scope
dotCMS/private-issues#Nstill surface in the "outside dotCMS core" bucket because the labels aren't readable from here).Related