Skip to content

⛓ Here's your serverless solution for sending build status from GitLab CI to Discord as webhooks.

License

Notifications You must be signed in to change notification settings

DiscordHooks/gitlab-ci-discord-webhook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

GitLab CI 🡒 Discord Webhook

Backers on Open Collective Sponsors on Open Collective

If you are looking for a way to get build (success/fail) status reports from GitLab CI in Discord, stop looking. You've came to the right place.

Requirements

  • You should be using GitLab CI.
  • A Discord Server where notifications will be posted.
  • 5 minutes
  • A cup of coffee ☕

Guide

  1. Create a webhook in your Discord Server (Guide).

  2. Copy the Webhook URL.

  3. Go to your repository CI/CD settings (for which you want status notifications) in GitLab and add an environment variable called WEBHOOK_URL and paste the Webhook URL you got in the previous step. You can also specify multiple webhook addresses at once, separating each with a whitespace character, such as space.

    Add environment variable in GitLab See: https://docs.gitlab.com/ee/ci/variables/#via-the-ui

  4. Add these lines, in their appropriate locations, to the .gitlab-ci.yml file of your repository.

    stages:
      - notification
    success_notification:
      stage: notification
      script:
        - wget https://raw.githubusercontent.com/DiscordHooks/gitlab-ci-discord-webhook/master/send.sh
        - chmod +x send.sh
        - ./send.sh success $WEBHOOK_URL
      when: on_success
    failure_notification:
      stage: notification
      script:
        - wget https://raw.githubusercontent.com/DiscordHooks/gitlab-ci-discord-webhook/master/send.sh
        - chmod +x send.sh
        - ./send.sh failure $WEBHOOK_URL
      when: on_failure
  5. Grab your coffee ☕ and enjoy! And, if you liked this, please ⭐Star this repository to show your love.

Artifacts

If you'd like to also link the artifacts in the CI Message, set the variable LINK_ARTIFACT to true:

variables:
  LINK_ARTIFACT: true

Make sure that the artifacts are available to download in the success_notification job. If they are produced by a previous one, you can follow this StackOverflow question

Please also note that artifacts are only available, if success_notification has been triggered.

Note

  • If you face any issues in the scripts (and you're sure it's not on your side), please consider opening an issue and I'll fix it ASAP.
  • If you want to improve the scripts, feel free to open a pull request.
  • If you are using an alpine image, you need to add git and curl packages before running this script.
    # ...
      script:
        - apk add --update git curl
    # ...

See Also

Contributors

This project exists thanks to all the people who contribute.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

About

⛓ Here's your serverless solution for sending build status from GitLab CI to Discord as webhooks.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 6

Languages