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.
- You should be using GitLab CI.
- A Discord Server where notifications will be posted.
- 5 minutes
- A cup of coffee ☕
-
Create a webhook in your Discord Server (Guide).
-
Copy the Webhook URL.
-
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 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
-
Grab your coffee ☕ and enjoy! And, if you liked this, please ⭐Star this repository to show your love.
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.
- 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
andcurl
packages before running this script.# ... script: - apk add --update git curl # ...
This project exists thanks to all the people who contribute.
Thank you to all our backers! 🙏 [Become a backer]
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]