Skip to content


For it to work, you'll need to create a new Telegram app, and set some environment variables on your pipeline:


Also you need to know your channel's chat ID to talk with.

Then, you can add something like the following to your .goreleaser.yaml config:

# .goreleaser.yaml
    # Whether its enabled or not.
    enabled: true

    # Integer representation of your channel
    # Templates: allowed (since v1.15)
    chat_id: 123456

    # Message template to use while publishing.
    # Default: '{{ .ProjectName }} {{ mdv2escape .Tag }} is out! Check it out at {{ mdv2escape .ReleaseURL }}'
    # Templates: allowed
    message_template: 'Awesome project {{.Tag}} is out!'

    # Parse mode.
    # Valid options are MarkdownV2 and HTML.
    # Default: MarkdownV2
    # Since: v1.19
    parse_mode: HTML

You can format your message using MarkdownV2, for reference, see the Telegram Bot API.


Learn more about the name template engine. In the specific case of MarkdownV2, you'll probably need the mdv2escape function.