{"id":21396788,"url":"https://github.com/favware/concourse-discord-webhook-resource","last_synced_at":"2026-05-11T16:38:04.019Z","repository":{"id":252451008,"uuid":"840478598","full_name":"favware/concourse-discord-webhook-resource","owner":"favware","description":"Resource for ConcourseCI to send messages as a Discord webhook","archived":false,"fork":false,"pushed_at":"2026-05-08T06:07:42.000Z","size":7935,"stargazers_count":0,"open_issues_count":11,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-08T08:16:20.428Z","etag":null,"topics":["concourse","concourse-ci","concourse-ci-resource","concourse-resource","discord","notification","webhook"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/favware.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["favna"],"patreon":"favna","open_collective":null,"ko_fi":"favna","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://donate.favware.tech/paypal"}},"created_at":"2024-08-09T19:58:39.000Z","updated_at":"2026-01-04T01:15:09.000Z","dependencies_parsed_at":"2026-01-15T03:03:58.487Z","dependency_job_id":"301ab06e-0abd-44cf-a2de-07b00516b10d","html_url":"https://github.com/favware/concourse-discord-webhook-resource","commit_stats":null,"previous_names":["favware/concourse-discord-webhook-resource"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/favware/concourse-discord-webhook-resource","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/favware%2Fconcourse-discord-webhook-resource","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/favware%2Fconcourse-discord-webhook-resource/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/favware%2Fconcourse-discord-webhook-resource/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/favware%2Fconcourse-discord-webhook-resource/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/favware","download_url":"https://codeload.github.com/favware/concourse-discord-webhook-resource/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/favware%2Fconcourse-discord-webhook-resource/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32903821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-10T13:40:02.631Z","status":"online","status_checked_at":"2026-05-11T02:00:05.975Z","response_time":120,"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":["concourse","concourse-ci","concourse-ci-resource","concourse-resource","discord","notification","webhook"],"created_at":"2024-11-22T14:29:16.585Z","updated_at":"2026-05-11T16:38:04.002Z","avatar_url":"https://github.com/favware.png","language":"TypeScript","funding_links":["https://github.com/sponsors/favna","https://patreon.com/favna","https://ko-fi.com/favna","https://donate.favware.tech/paypal","https://github.com/sponsors/Favna"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Concourse Discord Webhook Resource\n\n**Resource for ConcourseCI to send messages as a Discord webhook**\n\n[![GitHub](https://img.shields.io/github/license/favware/discord-application-emojis-manager)](https://github.com/favware/discord-application-emojis-manager/blob/main/LICENSE)\n\n[![Support Server](https://discord.com/api/guilds/512303595966824458/embed.png?style=banner2)](https://join.favware.tech)\n\n\u003c/div\u003e\n\n\u003e [!IMPORTANT]\n\u003e\n\u003e This has only been tested with ConcourseCI 7.11.2 and may not work with older\n\u003e versions.\n\n## Usage\n\n### Resource Type Configuration\n\n\u003e [!NOTE]\n\u003e\n\u003e `docker.io` is the default public registry, https://hub.docker.com.\n\n```yaml\nresource_types:\n  - name: discord-webhook-resource\n    type: registry-image\n    source:\n      repository: docker.io/favware/concourse-discord-webhook-resource\n      tag: latest\n    check_every: 24h\n```\n\n**Alternatively pull the image from the GitHub registry**\n\n```yaml\nresource_types:\n  - name: discord-webhook-resource\n    type: registry-image\n    source:\n      repository: ghcr.io/favware/concourse-discord-webhook-resource\n      tag: latest\n    check_every: 24h\n```\n\n\u003e [!NOTE]\n\u003e\n\u003e The `tag: latest` source property is optional, as the value `latest` in the\n\u003e default.\n\n### Resource Configuration Example\n\nTo setup an incoming webhook, create it in Discord on the desired channel, then\nconfigure the URL in the resource configuration.\n\n- `url` (**required**) (_string_): The webhook URL as provided by Discord.\n  Always in the format: `https://discord.com/api/webhooks/XXXX/ZZZZ` wherein\n  `XXXX` is the webhook ID and `ZZZZ` is the webhook token.\n\n- `insecure`: _Optional._ Connect to Discord insecurely - i.e. skip SSL\n  validation. Defaults to `false` if not provided.\n\n- `proxy`: _Optional._ Connect to Discord using an HTTP(S) proxy. In the form:\n  `http://my.proxy:3128`.\n\n- `disable`: _Optional._ Set to `true` to skip all messaging. Convenient for\n  temporarily disabling notifications without editing your pipelines.\n\n#### Example\n\n```yaml\nresources:\n  - name: discord-notification\n    type: discord-webhook-resource\n    icon: chat\n    check_every: 24h\n    source:\n      url: https://discord.com/api/webhooks/XXXX/ZZZZ\n```\n\n## Behaviour\n\n### `check` Step (`check` script): No operation\n\nChecking for new version always returns the last timestamp-based dummy version,\ncreated when the last `put` step was executed on this resource.\n\n### `get` Step (`in` script): No operation\n\nGetting a new version of this resource does nothing else that always returning\nthe last timestamp-based dummy version, created when the last `put` step was\nexecuted on this resource.\n\n### `put` Step (`out` script): Sends a message to Discord.\n\nSend message using a Discord webhook with the configured parameters. Parameters\ncan be passed in using the\n[params](https://concourse-ci.org/jobs.html#schema.step.put-step.params) key on\nthe `put` step or passed in via files.\n\n#### Parameters: `params`\n\n**The parameters mimic the bulk of the parameters from\nhttps://discord.com/developers/docs/resources/webhook#execute-webhook.**\n\n- `content` (**required**) (_string_): The message contents (up to 2000\n  characters). For formatting your content see\n  [Markdown Text 101](https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline).\n\n\u003e [!NOTE]\n\u003e\n\u003e You can add the following parameters in your content that will be replaced\n\u003e with their respective ConcourseCI values:\n\u003e\n\u003e - `ATC_EXTERNAL_URL` - The external URL to your ConcourseCI instance\n\u003e - `BUILD_ID` - The ID of the build\n\u003e - `BUILD_JOB_ID` - The ID of the job\n\u003e - `BUILD_JOB_NAME` - The name of the job\n\u003e - `BUILD_NAME` - The name of the build\n\u003e - `BUILD_PIPELINE_ID` - The ID of the pipeline\n\u003e - `BUILD_PIPELINE_NAME` - The name of the pipeline\n\u003e - `BUILD_TEAM_ID` - The ID of the team\n\u003e - `BUILD_TEAM_NAME` - The name of the team To insert these values, use the\n\u003e   following syntax: `${BUILD_ID}` or `$BUILD_ID`\n\n- `username` (_string_): Override the default username of the webhook\n- `avatar_url` (_string)_: Any text wanted to ultimately appear on the page as\n  the title of the message.\n- `allowed_mentions` (_object_): Allowed mentions for the message.\n  - `.roles` (_array of strings_): Roles that are allowed to be mentioned\n    (default: `[]`).\n  - `.users` (_array of strings_): Users that are allowed to be mentioned\n    (default: `[]`).\n\n\u003e [!IMPORTANT]\n\u003e\n\u003e Make sure to wrap these values in quotes to prevent YAML from interpreting\n\u003e them as numbers and performing invalid rounding operation.\n\n- `flags` (_object_): An object of the allowed values from\n  [message flags](https://discord.com/developers/docs/resources/message#message-object-message-flags)\n  - `.suppress_embeds` (_boolean_): Do not include any embeds when serializing\n    this message (default: `false`).\n  - `.suppress_notifications` (_boolean_): This message will not trigger push\n    and desktop notifications (default: `false`).\n- `verbose` (_boolean_): Whether to print verbose messages during the process\n  (useful for debugging) (default: `false`).\n\n## Usage Examples\n\n```yaml\njobs:\n  - name: discord-send\n    plan:\n      - put: discord-notification\n        params:\n          content: |\n            Job `${BUILD_JOB_NAME}` in `${BUILD_PIPELINE_NAME}` had a result. Check it out at:\n            ${ATC_EXTERNAL_URL}/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}\n            or at:\n            ${ATC_EXTERNAL_URL}/builds/${BUILD_ID}\n```\n\n**With additional parameters**\n\n```yaml\njobs:\n  - name: discord-send\n    plan:\n      - put: discord-notification\n        params:\n          content: |\n            Job `${BUILD_JOB_NAME}` in `${BUILD_PIPELINE_NAME}` had a result. Check it out at:\n            ${ATC_EXTERNAL_URL}/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}\n            or at:\n            ${ATC_EXTERNAL_URL}/builds/${BUILD_ID}\n          username: ConcourseCI\n          avatar_url: https://github.com/cloudfoundry-community.png\n          allowed_mentions:\n            roles:\n              - '123456789012345678'\n              - '234567890123456789'\n            users:\n              - '345678901234567890'\n              - '456789012345678901'\n          flags:\n            suppress_notifications: true\n```\n\n## Buy us some doughnuts\n\nFavware projects are and always will be open source, even if we don't get\ndonations. That being said, we know there are amazing people who may still want\nto donate just to show their appreciation. Thank you very much in advance!\n\nWe accept donations through Ko-fi, Paypal, Patreon, GitHub Sponsorships, and\nvarious cryptocurrencies. You can use the buttons below to donate through your\nmethod of choice.\n\n|   Donate With   |                      Address                      |\n| :-------------: | :-----------------------------------------------: |\n|      Ko-fi      |  [Click Here](https://donate.favware.tech/kofi)   |\n|     Patreon     | [Click Here](https://donate.favware.tech/patreon) |\n|     PayPal      | [Click Here](https://donate.favware.tech/paypal)  |\n| GitHub Sponsors |  [Click Here](https://github.com/sponsors/Favna)  |\n|     Bitcoin     |       `1E643TNif2MTh75rugepmXuq35Tck4TnE5`        |\n|    Ethereum     |   `0xF653F666903cd8739030D2721bF01095896F5D6E`    |\n|    LiteCoin     |       `LZHvBkaJqKJRa8N7Dyu41Jd1PDBAofCik6`        |\n\n## Contributors\n\nPlease make sure to read the [Contributing Guide][contributing] before making a\npull request.\n\nThank you to all the people who already contributed to Sapphire!\n\n\u003ca href=\"https://github.com/favware/discord-application-emojis-manager/graphs/contributors\"\u003e\n  \u003cimg alt=\"contributors\" src=\"https://contrib.rocks/image?repo=favware/discord-application-emojis-manager\" /\u003e\n\u003c/a\u003e\n\n[contributing]: ./.github/CONTRIBUTING.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffavware%2Fconcourse-discord-webhook-resource","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffavware%2Fconcourse-discord-webhook-resource","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffavware%2Fconcourse-discord-webhook-resource/lists"}