Turn Heroku deploys into a readable Slack changelog

By General Input

Every time you ship to Heroku, we post a clear summary to Slack listing what changed, who deployed it, and whether it was a rollback.

Integrations

  • Heroku
  • GitHub
  • Slack

Type

Agentic Task

Categories

  • Engineering
  • Product

Whenever a new release is deployed to my Heroku app, publish a readable deploy announcement to my Slack channel. Trigger this by polling Heroku for a new release (a deploy) on the app I specify. I will tell you which Heroku app to watch and which GitHub repository holds that app's code.

When a new release fires, use Heroku's Get Release to pull the details of the new version: the version number, the description, who deployed it (the deployer), and the timestamp it went live. Also determine the timestamp of the previous release for this app so you know the window of changes to summarize.

Use GitHub's List Pull Requests on the mapped repository to gather the pull requests that were merged since the previous release. Filter to closed pull requests and keep only the ones that were actually merged and whose merge time is after the prior release's timestamp. Ignore pull requests that were closed without merging, and ignore anything merged before the last deploy.

From those merged pull requests, draft a plain-English "What shipped in vN" changelog using the new version number. Summarize what actually changed in clear language, group related changes where it helps readability, and keep it skimmable. Lead with the version number, name the person who deployed, and note the time it went live.

Check the release description before writing. If it reads "Rollback to vX", clearly flag the announcement as a rollback to that earlier version instead of listing new changes, and say who performed the rollback. If there are no merged pull requests since the previous release, still post a short note confirming the deploy rather than an empty changelog.

Post the finished summary to my Slack channel using Slack's Send a Message. Format it with Slack's message formatting (single asterisks for bold, and <url|text> for links) so it reads cleanly in the channel.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionKajabi customer support console for member access fixes