New to Kestra?
Use blueprints to kickstart your first workflows.
Kestra flow for a GitHub release webhook that skips prereleases and posts each changelog line on its own.
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.
github_release (io.kestra.plugin.core.trigger.Webhook) receives the GitHub release event.only_stable_releases (io.kestra.plugin.core.flow.If) continues only when action is published and release.prerelease is false.confirm_release (io.kestra.plugin.core.http.Request) checks the tag on the GitHub releases API.each_changelog_line (io.kestra.plugin.core.flow.Loop) walks release.body split on newlines.post_line (io.kestra.plugin.discord.DiscordIncomingWebhook) posts that line. Blank lines are skipped.release event, aimed at this flow.GITHUB_RELEASE_WEBHOOK_KEY: key guarding the Kestra webhook URL.DISCORD_WEBHOOK_URL: Discord incoming webhook URL.