{"id":13474463,"url":"https://github.com/bitoiu/release-notify-action","last_synced_at":"2025-07-24T14:33:36.139Z","repository":{"id":66463451,"uuid":"152647788","full_name":"bitoiu/release-notify-action","owner":"bitoiu","description":"GitHub Action that triggers e-mails with release notes when these are created","archived":false,"fork":false,"pushed_at":"2022-12-08T03:01:18.000Z","size":36,"stargazers_count":65,"open_issues_count":2,"forks_count":17,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-01T16:36:09.524Z","etag":null,"topics":["email-sender","github","github-actions","github-releases","mailer","notify","sendgrid","workflow"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/bitoiu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2018-10-11T19:53:59.000Z","updated_at":"2023-05-15T05:07:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"42f21715-8609-4d8d-9523-668ebe6ccf49","html_url":"https://github.com/bitoiu/release-notify-action","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitoiu%2Frelease-notify-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitoiu%2Frelease-notify-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitoiu%2Frelease-notify-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitoiu%2Frelease-notify-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitoiu","download_url":"https://codeload.github.com/bitoiu/release-notify-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221117215,"owners_count":16759141,"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","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":["email-sender","github","github-actions","github-releases","mailer","notify","sendgrid","workflow"],"created_at":"2024-07-31T16:01:12.540Z","updated_at":"2024-10-22T17:09:45.547Z","avatar_url":"https://github.com/bitoiu.png","language":"JavaScript","funding_links":[],"categories":["Community Resources","JavaScript","Uncategorized"],"sub_categories":["Notifications and Messages","Uncategorized"],"readme":"## release-notify-action\n\nThis repo contains a re-usable GitHub Action that when installed sends an e-mail to a distribution list with the release note contents every time a GitHub Release is created for the repository.\n\nThis Action makes use of [SendGrid's](https://sendgrid.com/) API to send the e-mails.\n\n## Pre-requisites\n\nTo run this action you'll need:\n - To be part of the [Actions beta](https://github.com/features/actions). Note that during the beta, Actions will only run on private repositories.\n - A [**SendGrid API Key**](https://sendgrid.com/docs/ui/account-and-settings/api-keys/). _SendGrid is [free to up 100 e-mails a day](https://sendgrid.com/pricing/) so feel free to register and get your API KEY._\n - **A text file hosted anywhere** with the list of e-mail recipients. _I personally use [GitHub Gists](https://gist.github.com) and get the link of the raw file._\n\n## Setup\n\n### 1. Create the release workflow\n\nAdd a new workflow to your `.github/main.workflow` to trigger on `release`.\n\n\u003cimg src=\"https://user-images.githubusercontent.com/1192590/47112721-11578d80-d24f-11e8-8504-4864cd8d0c93.png\" alt=\"new-workflow\" width=\"300\" /\u003e\n\n### 2. Create the Action\n\nCreate an action that uses this repository `bitoiu/release-notify-action@master` or points to Docker Hub at `docker://bitoiu/release-notifiy-action`\n\n\u003cimg src=\"https://user-images.githubusercontent.com/1192590/47112720-11578d80-d24f-11e8-968d-bb3de5831ce8.png\" alt=\"new-action\" width=\"300\" /\u003e\n\n\n### 3. Set the SendGrid secret\n\nUsing the Visual Editor create a new secret on the action named `SENDGRID_API_TOKEN`. Set the value to your [SendGrid API Key](https://sendgrid.com/docs/ui/account-and-settings/api-keys/).\n\n\u003cimg src=\"https://user-images.githubusercontent.com/1192590/47112718-11578d80-d24f-11e8-8b97-544290ed5910.png\" alt=\"new-secret\" width=\"300\" /\u003e\n\n### 4. Set the RECIPIENTS secret\n\nDo the same for a secret named `RECIPIENTS` that you need to set to the URI of the text file with the target recipients. The contents of the file should be a list of e-mails separated by newline, for example:\n\n```\nmona@github.com\nactions_are_awesome@github.com\n```\n\nIf you don't know where to host this file, just go to [GitHub Gists](https://gist.github.com) and create a new textfile with the e-mails you want to target. After you save the file just click `raw` and get the URI of the file you've just created.\n\n### 5. Commit the changes\n\nMake sure you commit all pending changes. After you've done that your `main.workflow` should look similar to this:\n\n```\n\nworkflow \"Release Notifier\" {\n  on = \"release\"\n  resolves = [\"Notify Releases\"]\n}\n\naction \"Notify Releases\" {\n  uses = \"bitoiu/release-notify-action@master\"\n  secrets = [\"SENDGRID_API_TOKEN\", \"RECIPIENTS\"]\n}\n\n```\n\nOn the visual editor it should look similar to this:\n\n![visual editor](https://user-images.githubusercontent.com/1192590/47112717-10bef700-d24f-11e8-86a7-ef28d3d270c8.png)\n\n### 6. Test the workflow!\n\nCreate a new release for your repository and verify that the action triggers and that the e-mails were sent. Sometimes it's worth checking the spam inbox.\n\n## Local testing\n\nThe main script that does the heavy lifting is a NodeJS file. As such you can simply test it like any other node program, for example, running the following inside the `src` folder:\n\n```\nSENDGRID_API_TOKEN=XXX RECIPIENTS=ABSOLUTE_PATH_TO_TXT_FILE_WITH_RECIPIENTS GITHUB_EVENT_PATH=ABSOLUTE_PATH_TO_SAMPLE_PAYLOAD_FILE_PROVIDED node notify.js\n```\n\nIf you prefer to test the container directly (which is a tiny bit slower but more reliable) you can just run something like:\n\n```\ndocker build -t release . \u0026\u0026 docker run --env-file=./env release\n```\n\nBe sure to rename `env.template` to `env` and fill it with your environment variables.\n\n## Pull Requests and Issues are Welcome\n\nIf you're thinking of a dynamic e-mail template with substitutions, configurable TO and FROM addresses then you're just a pull request away. Feel free to share your ideas.\n\n:octocat::heart:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitoiu%2Frelease-notify-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitoiu%2Frelease-notify-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitoiu%2Frelease-notify-action/lists"}