From 245ec2d25128d9adae22a5f0e3cd295c161e4193 Mon Sep 17 00:00:00 2001 From: Evann Regnault Date: Sat, 4 May 2024 16:49:10 +0200 Subject: [PATCH] First commit --- .drone.yml | 17 +++++++++++++++++ README.md | 29 +++++++++++++++++++++++++++++ docker/Dockerfile | 8 ++++++++ images/image.png | Bin 0 -> 19513 bytes src/launch.sh | 37 +++++++++++++++++++++++++++++++++++++ src/template.json | 44 ++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 135 insertions(+) create mode 100644 .drone.yml create mode 100644 README.md create mode 100644 docker/Dockerfile create mode 100644 images/image.png create mode 100644 src/launch.sh create mode 100644 src/template.json diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..d92f03f --- /dev/null +++ b/.drone.yml @@ -0,0 +1,17 @@ +kind: pipeline +name: build +type: docker + +steps: + - name: build + image: plugins/docker + settings: + registry: r.regnault.dev + username: + from_secret: DOCKER_USERNAME + password: + from_secret: DOCKER_PASSWORD + repo: r.regnault.dev/drone-discord-webhook + dockerfile: docker/Dockerfile + context: src/ + force_tag: true \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..caa7347 --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +# Drone Discord Webhook + +This is a plugin for the [Drone CI/CD](https://www.drone.io/) tool which purpose is to post messages after each builds completed or failed. + +## How to use it? + +There are 3 environment variable that can be set. + +(Required) `WEBHOOK_URL`: The url of the webhook that will send the status message + +(Optionnal) `AVATAR`: Url of an image that'll be used for the webhook user. + +(Optionnal) `USERNAME`: Username of the avatar that'll be assigned to the webhook. + +```yaml +- name: Send discord notification + image: r.regnault.dev/drone-discord-webhook + environment: + AVATAR: "Optionnal webhook avatar url" + USERNAME: "Optionnal webhook username" + WEBHOOK_URL: + from_secret: WEBHOOK_URL + when: + status: [ success, failure, changed ] +``` + +## How does it look? + +![Screen showing the embed appearance of the webhook message](images/image.png) \ No newline at end of file diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..4faa9f8 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,8 @@ +FROM alpine +RUN apk add jq curl bash + +COPY . /app +WORKDIR /app +RUN chmod +x launch.sh + +ENTRYPOINT [ "/bin/bash", "/app/launch.sh" ] \ No newline at end of file diff --git a/images/image.png b/images/image.png new file mode 100644 index 0000000000000000000000000000000000000000..7956a49bd47b768f779aee16229995061a8e11a6 GIT binary patch literal 19513 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 literal 0 HcmV?d00001 diff --git a/src/launch.sh b/src/launch.sh new file mode 100644 index 0000000..54c72db --- /dev/null +++ b/src/launch.sh @@ -0,0 +1,37 @@ +#/bin/sh + +# List +cd /app +DRONE_COMMIT_SHA=$(head -c 8 <<< $DRONE_COMMIT_SHA) + +USERNAME=${USERNAME:-"DRONE CI/CD"} +AVATAR=${AVATAR:-"https://github.com/drone/brand/blob/master/logos/png/with-background/drone-logo-white-with-background@2x.png?raw=true"} + +#Init +cp template.json build.json + +#Build json +if [ "$DRONE_BUILD_STATUS" = "success" ]; then + sed -i "s/\$COLOR/3795747/g" build.json + sed -i "s/\$BUILD_STATE/Success/g" build.json +elif [ "$DRONE_BUILD_STATUS" = "failure" ]; then + sed -i "s/\$COLOR/15409955/g" build.json + sed -i "s/\$BUILD_STATE/Failed/g" build.json +fi + +sed -i "s^\$COMMIT_MESSAGE^$(echo $DRONE_COMMIT_MESSAGE)^g" build.json +sed -i "s^\$WORKFLOW_URL^$DRONE_BUILD_LINK^g" build.json +sed -i "s^\$COMMIT_USER^$DRONE_COMMIT_AUTHOR^g" build.json +sed -i "s^\$COMMIT_HASH^$DRONE_COMMIT_SHA^g" build.json +sed -i "s^\$COMMIT_LINK^$DRONE_COMMIT_LINK^g" build.json +sed -i "s^\$EVENT^$DRONE_BUILD_EVENT^g" build.json +sed -i "s^\$BRANCH^$DRONE_REPO_BRANCH^g" build.json +sed -i "s^\$REPO_NAME^$DRONE_REPO^g" build.json +sed -i "s^\$REPO_LINK^$DRONE_REPO_LINK^g" build.json +sed -i "s^\$JOB_NAME^$DRONE_STAGE_NAME^g" build.json +sed -i "s^\$TIMESTAMP^$(date -Iseconds -d @$DRONE_BUILD_FINISHED)^g" build.json +sed -i "s^\$USERNAME^$USERNAME^g" build.json +sed -i "s^\$AVATAR^$AVATAR^g" build.json + +# Curl +curl -X POST -H "Content-Type: application/json" -d "$(cat build.json)" $WEBHOOK_URL \ No newline at end of file diff --git a/src/template.json b/src/template.json new file mode 100644 index 0000000..fe0e9ee --- /dev/null +++ b/src/template.json @@ -0,0 +1,44 @@ +{ + "content": "", + "tts": false, + "embeds": [ + { + "color": $COLOR, + "fields": [ + { + "name": "Repository", + "value": "[$REPO_NAME]($REPO_LINK)", + "inline": true + }, + { + "name": "Ref", + "value": "$BRANCH", + "inline": true + }, + { + "name": "Event - $EVENT", + "value": " [`$COMMIT_HASH`]($COMMIT_LINK) $COMMIT_MESSAGE", + "inline": false + }, + { + "name": "Triggered by", + "value": "$COMMIT_USER", + "inline": true + }, + { + "name": "Workflow", + "value": "[Drone link]($WORKFLOW_URL)", + "inline": true + } + ], + "author": { + "name": "$BUILD_STATE: $JOB_NAME" + }, + "timestamp": "$TIMESTAMP" + } + ], + "components": [], + "actions": {}, + "username": "$USERNAME", + "avatar_url": "$AVATAR" + } \ No newline at end of file