Webhook icon
If icon
Request icon
Log icon
Loop icon
DiscordIncomingWebhook icon

Skip prereleases and post one changelog line at a time

Kestra flow for a GitHub release webhook that skips prereleases and posts each changelog line on its own.

Categories
Business

bluesky-release-notes-post and x-release-announcement already post one announcement when a CI job sends a custom payload. This flow is the other shape. GitHub's own release webhook starts it. An If drops prereleases and any event that is not published. A loop sends each line of release.body on its own.

How it works

  1. github_release (io.kestra.plugin.core.trigger.Webhook) receives the GitHub release event.
  2. only_stable_releases (io.kestra.plugin.core.flow.If) continues only when action is published and release.prerelease is false.
  3. confirm_release (io.kestra.plugin.core.http.Request) checks the tag on the GitHub releases API.
  4. each_changelog_line (io.kestra.plugin.core.flow.Loop) walks release.body split on newlines.
  5. post_line (io.kestra.plugin.discord.DiscordIncomingWebhook) posts that line. Blank lines are skipped.

Prerequisites

  • A GitHub repository webhook for the release event, aimed at this flow.
  • A Discord incoming webhook.

Secrets

  • GITHUB_RELEASE_WEBHOOK_KEY: key guarding the Kestra webhook URL.
  • DISCORD_WEBHOOK_URL: Discord incoming webhook URL.
See How

New to Kestra?

Use blueprints to kickstart your first workflows.