{"id":15318454,"url":"https://github.com/appleboy/drone-discord","last_synced_at":"2025-10-04T18:08:36.259Z","repository":{"id":21740599,"uuid":"93909974","full_name":"appleboy/drone-discord","owner":"appleboy","description":"Drone plugin for sending message to Discord channel using Webhook","archived":false,"fork":false,"pushed_at":"2025-07-05T15:13:50.000Z","size":430,"stargazers_count":35,"open_issues_count":3,"forks_count":20,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-09-13T18:47:23.473Z","etag":null,"topics":["discord-api","discord-bot","drone-ci","drone-plugin"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/appleboy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://www.paypal.me/appleboy46"]}},"created_at":"2017-06-10T02:07:36.000Z","updated_at":"2025-07-05T14:46:30.000Z","dependencies_parsed_at":"2023-12-15T22:01:12.485Z","dependency_job_id":"c92a37ef-c2dd-4a39-a1cb-310ed06a89ac","html_url":"https://github.com/appleboy/drone-discord","commit_stats":{"total_commits":180,"total_committers":10,"mean_commits":18.0,"dds":"0.050000000000000044","last_synced_commit":"3f344cdf2eba489dc49c4ae07a182eb5c60109b5"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/appleboy/drone-discord","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appleboy%2Fdrone-discord","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appleboy%2Fdrone-discord/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appleboy%2Fdrone-discord/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appleboy%2Fdrone-discord/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/appleboy","download_url":"https://codeload.github.com/appleboy/drone-discord/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appleboy%2Fdrone-discord/sbom","scorecard":{"id":203734,"data":{"date":"2025-08-11","repo":{"name":"github.com/appleboy/drone-discord","commit":"2cbd8efffa17ead8915bd6d577f3b0387bc5b7ca"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.5,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":5,"reason":"5 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:28","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:29","Warn: no topLevel permission defined: .github/workflows/codeql.yml:1","Warn: no topLevel permission defined: .github/workflows/docker.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/goreleaser.yml:9","Warn: no topLevel permission defined: .github/workflows/testing.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/docker.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/docker.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docker.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/docker.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/goreleaser.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/goreleaser.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/goreleaser.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/goreleaser.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/goreleaser.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/goreleaser.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/testing.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/testing.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/testing.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/testing.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/testing.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/testing.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/testing.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/testing.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/testing.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/testing.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/testing.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/testing.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/testing.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/testing.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/testing.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/appleboy/drone-discord/testing.yml/master?enable=pin","Warn: containerImage not pinned by hash: docker/Dockerfile:1: pin your Docker image by updating alpine:3.21 to alpine:3.21@sha256:b6a6be0ff92ab6db8acd94f5d1b7a6c2f0f5d10ce3c24af348d333ac6da80685","Info:   0 out of  12 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  10 third-party GitHubAction dependencies pinned","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.5.0 not signed: https://api.github.com/repos/appleboy/drone-discord/releases/230199677","Warn: release artifact v1.4.1 not signed: https://api.github.com/repos/appleboy/drone-discord/releases/204537100","Warn: release artifact v1.4.0 not signed: https://api.github.com/repos/appleboy/drone-discord/releases/204524813","Warn: release artifact v1.3.3 not signed: https://api.github.com/repos/appleboy/drone-discord/releases/204522823","Warn: release artifact v1.3.2 not signed: https://api.github.com/repos/appleboy/drone-discord/releases/156024237","Warn: release artifact v1.5.0 does not have provenance: https://api.github.com/repos/appleboy/drone-discord/releases/230199677","Warn: release artifact v1.4.1 does not have provenance: https://api.github.com/repos/appleboy/drone-discord/releases/204537100","Warn: release artifact v1.4.0 does not have provenance: https://api.github.com/repos/appleboy/drone-discord/releases/204524813","Warn: release artifact v1.3.3 does not have provenance: https://api.github.com/repos/appleboy/drone-discord/releases/204522823","Warn: release artifact v1.3.2 does not have provenance: https://api.github.com/repos/appleboy/drone-discord/releases/156024237"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/docker.yml:14"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":10,"reason":"SAST tool detected","details":["Info: SAST configuration detected: CodeQL","Info: SAST configuration detected: Hadolint","Warn: 0 commits out of 2 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T23:16:27.053Z","repository_id":21740599,"created_at":"2025-08-16T23:16:27.053Z","updated_at":"2025-08-16T23:16:27.053Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278351325,"owners_count":25972731,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["discord-api","discord-bot","drone-ci","drone-plugin"],"created_at":"2024-10-01T09:00:12.843Z","updated_at":"2025-10-04T18:08:36.220Z","avatar_url":"https://github.com/appleboy.png","language":"Go","funding_links":["https://www.paypal.me/appleboy46"],"categories":[],"sub_categories":[],"readme":"# drone-[discord](https://discordapp.com)\n\n![logo](images/discord-logo.png)\n\n[Drone](https://www.drone.io/) / [Woodpecker](https://woodpecker-ci.org/) plugin for sending messages to Discord channels using Webhooks.\n\n[![GoDoc](https://godoc.org/github.com/appleboy/drone-discord?status.svg)](https://godoc.org/github.com/appleboy/drone-discord)\n[![codecov](https://codecov.io/gh/appleboy/drone-discord/branch/master/graph/badge.svg)](https://codecov.io/gh/appleboy/drone-discord)\n[![Go Report Card](https://goreportcard.com/badge/github.com/appleboy/drone-discord)](https://goreportcard.com/report/github.com/appleboy/drone-discord)\n[![Docker Pulls](https://img.shields.io/docker/pulls/appleboy/drone-discord.svg)](https://hub.docker.com/r/appleboy/drone-discord/)\n\nWebhooks are a low-effort way to post messages to channels in Discord. They do not require a bot user or authentication to use. See more [API documentation](https://discordapp.com/developers/docs/resources/webhook). For usage information and a list of available options, please refer to [the documentation](http://plugins.drone.io/appleboy/drone-discord/).\n\nSend Discord messages using a binary, Docker, or [Drone CI](http://docs.drone.io/).\n\n## Features\n\n- [x] Send Multiple Messages\n- [x] Send Multiple Files\n\n## Build or Download a binary\n\nThe pre-compiled binaries can be downloaded from the [release page](https://github.com/appleboy/drone-discord/releases). The following OS types are supported:\n\n- Windows amd64/386\n- Linux arm/amd64/386\n- Darwin amd64/386\n\nWith `Go` installed:\n\n```sh\ngo get -u -v github.com/appleboy/drone-discord\n```\n\nOr build the binary with the following command:\n\n```sh\nexport GOOS=linux\nexport GOARCH=amd64\nexport CGO_ENABLED=0\nexport GO111MODULE=on\n\ngo test -cover ./...\n\ngo build -v -a -tags netgo -o release/linux/amd64/drone-discord\n```\n\n## Usage\n\nThere are three ways to send notifications:\n\n### Usage from Binary\n\n```bash\ndrone-discord \\\n  --webhook-id xxxx \\\n  --webhook-token xxxx \\\n  --message \"Test Message\"\n```\n\n### Usage from Docker\n\n```bash\ndocker run --rm \\\n  -e WEBHOOK_ID=xxxxxxx \\\n  -e WEBHOOK_TOKEN=xxxxxxx \\\n  -e WAIT=false \\\n  -e TTS=false \\\n  -e USERNAME=test \\\n  -e AVATAR_URL=http://example.com/xxxx.png \\\n  -e MESSAGE=test \\\n  appleboy/drone-discord\n```\n\n### Usage from Drone CI\n\n#### Send Notification\n\nExecute from the working directory:\n\n```sh\ndocker run --rm \\\n  -e WEBHOOK_ID=xxxxxxx \\\n  -e WEBHOOK_TOKEN=xxxxxxx \\\n  -e WAIT=false \\\n  -e TTS=false \\\n  -e USERNAME=test \\\n  -e AVATAR_URL=http://example.com/xxxx.png \\\n  -e MESSAGE=test \\\n  -e DRONE_REPO_OWNER=appleboy \\\n  -e DRONE_REPO_NAME=go-hello \\\n  -e DRONE_COMMIT_SHA=e5e82b5eb3737205c25955dcc3dcacc839b7be52 \\\n  -e DRONE_COMMIT_BRANCH=master \\\n  -e DRONE_COMMIT_AUTHOR=appleboy \\\n  -e DRONE_COMMIT_AUTHOR_EMAIL=appleboy@gmail.com \\\n  -e DRONE_COMMIT_MESSAGE=Test_Your_Commit \\\n  -e DRONE_BUILD_NUMBER=1 \\\n  -e DRONE_BUILD_STATUS=success \\\n  -e DRONE_BUILD_LINK=http://github.com/appleboy/go-hello \\\n  -e DRONE_JOB_STARTED=1477550550 \\\n  -e DRONE_JOB_FINISHED=1477550750 \\\n  -v $(pwd):$(pwd) \\\n  -w $(pwd) \\\n  appleboy/drone-discord\n```\n\n## Declarative Environment Config Usage\n\nYou can get more [information](DOCS.md) about how to use this plugin in Drone.\n\n```yml\n- name: msg status\n  image: appleboy/drone-discord\n  settings:\n    webhook_id:\n      from_secret: discord_id\n    webhook_token:\n      from_secret: discord_token\n    message: \"{{#success build.status}}✅{{else}}❌{{/success}}  Repository `[{{repo.name}}/{{commit.branch}}]` triggered by event `[{{uppercase build.event}}]` for build.\\n    - Commit [[{{commit.sha}}]({{commit.link}})]\\n    - Author `[{{commit.author}} / {{commit.email}}]`\\n    - Message: {{commit.message}}    - Drone build [[#{{build.number}}]({{build.link}})] reported `[{{uppercase build.status}}]` at `[{{datetime build.finished \\\"2006.01.02 15:04\\\" \\\"\\\"}}]`\\n\"\n    when:\n      status: [success, failure, changed]\n```\n\n```yml\n- name: multi line msg status\n  ...\n    message: \u003e\n      Line one\n      Line two\n```\n\n## Testing\n\nTest the package with the following command:\n\n```sh\nmake test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappleboy%2Fdrone-discord","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappleboy%2Fdrone-discord","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappleboy%2Fdrone-discord/lists"}