Skip to content

chore: add /release-notify skill to credit reporters after a release - #2715

Open
git-nandor wants to merge 1 commit into
masterfrom
ISTUI-5133_notify_about_issues_fixed_in_release
Open

git-nandor wants to merge 1 commit into
masterfrom
ISTUI-5133_notify_about_issues_fixed_in_release

Conversation

@git-nandor

Copy link
Copy Markdown
Contributor

Summary

  • New /release-notify command: works out who reported the issues fixed in a release and drafts a Slack message crediting them by name. Nothing is posted automatically — the block is copy-pasted by a human.
  • One gather.mjs script collects the release's Jira tickets and the #instui threads and narrows them down; the command itself decides who the reporter is.
  • Reporters are found from two directions, because either can be missing: the Slack link in a Jira description, and channel threads quoting the issue key.
  • Adds step 11 to the release process and documents the two read-only credentials (Slack bot token, Jira API token).

Test Plan

  • Run /release-notify after a release and check the draft credits the right people. The key thing to eyeball: the reporter must be the thread's root author, not the developer who pasted the Jira link into the thread.
  • Needs SLACK_BOT_TOKEN and the three JIRA_* keys in the root .env, and the bot must be a member of #instui — see /slack-setup.
  • Already verified against v11.7.4..v11.7.5: of a hand-written reporter list, 4 of 6 matched with no false positives. The other two are unreachable in principle — their report thread never quoted the issue key and their ticket never linked the thread, so nothing connects them.

Fixes INSTUI-5133

🤖 Generated with Claude Code

Finds who reported the issues fixed in a release — from the Slack link in the
Jira ticket and from channel threads quoting the issue key — and drafts a Slack
message crediting them. Nothing is posted automatically.

Refs: INSTUI-5133

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@git-nandor git-nandor self-assigned this Sep 10, 2026
@github-actions

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://instructure.design/pr-preview/pr-2715/

Built to branch gh-pages at 2026-09-10 13:07 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@github-actions

Copy link
Copy Markdown
Contributor

Visual regression report

Cypress suite: ✅ Passing

Visual diff: ⚠️ Changes detected.

Status Count
Unchanged 95
Changed 1
New 0
Removed 0

Accessibility (axe): ✅ No violations.

📊 View full report — click a screenshot's ⚠ badge to see each violation boxed on the image, with the offending element named and contrast failures shown as color swatches.

Diff images (1)

badge-canvas.png — 1573 pixels differ

Baselines come from the visual-baselines branch. They refresh on every merge to master. The Cypress suite line covers the a11y and console-error assertions — a ❌ there means the suite found real issues even if the visual diff is clean.

github-actions Bot pushed a commit that referenced this pull request Sep 10, 2026
@git-nandor
git-nandor requested a review from balzss September 10, 2026 13:19

@balzss balzss left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works, but I think it solves the wrong problem.

We already know the reporter at triage time. /slack-triage resolves the user IDs in Step 1, and puts the thread link in the ticket in Step 5. Then we drop both, and this PR spends a six-month channel scan and 2.5 minutes rebuilding them by guesswork. Your own number: six of 22 tickets had a usable link.

Better: make /slack-triage store the reporter and the thread link as structured data (Jira Reporter field or a reported-by-<slack-id> label), and make it required. Then /release-notify just reads that field and writes the draft.

That means gather.mjs goes away completely, and the Jira credentials in .env.example with it — the atlassian MCP server already gives us Jira. Tickets triaged before this change won't have a reporter, and I'd accept that rather than keep a scanner for them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants