{"id":16066555,"url":"https://github.com/presidentbeef/github-reminder","last_synced_at":"2026-05-21T07:32:58.778Z","repository":{"id":66785614,"uuid":"164352092","full_name":"presidentbeef/github-reminder","owner":"presidentbeef","description":"Automatic reminders about GitHub issues that need attention","archived":false,"fork":false,"pushed_at":"2019-02-04T19:13:30.000Z","size":18,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-14T18:08:41.681Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/presidentbeef.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-06T22:45:17.000Z","updated_at":"2021-06-17T20:55:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"4695dd3e-209d-4488-85fe-f44a74b1fc4d","html_url":"https://github.com/presidentbeef/github-reminder","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/presidentbeef%2Fgithub-reminder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/presidentbeef%2Fgithub-reminder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/presidentbeef%2Fgithub-reminder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/presidentbeef%2Fgithub-reminder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/presidentbeef","download_url":"https://codeload.github.com/presidentbeef/github-reminder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244574800,"owners_count":20474818,"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":[],"created_at":"2024-10-09T05:41:57.899Z","updated_at":"2026-05-21T07:32:53.733Z","avatar_url":"https://github.com/presidentbeef.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Reminder\n\n*Warning: This code is currently a work-in-progress and changing rapidly!*\n\nThis is a little Ruby script to check repositories for open issues that need attention.\n\nIt can then send an email reminder about outstanding issues.\n\nRight now, \"outstanding issues\" are issues with no comments.\n\n## Dependencies\n\nJust Ruby!\n\n## Running\n\n    github-reminder --config-file YOUR-CONFIG-FILE.json\n\n## Options\n\n    -c, --config-file FILE           Specify configuration file to use\n    -g, --generate-config            Generate configuration file to use\n\n    -d, --[no-]display-issues        Write issue reports to console (Default)\n    -e, --[no-]email-issues          Send issues via email (Default)\n\n    -h, --help                       Display help message\n\n## Configuration\n\nGitHub Reminder needs a lot of information.\n\nThe easiest way to provide that information is to generate a skeleton configuration file:\n\n    github-reminder --generate-config --config-file github-reminder.json\n\nThis will create a configuration file that looks like this:\n\n```json\n{\n  \"github_user\": \"\",\n  \"github_token\": \"\",\n  \"mail\": {\n    \"server\": {\n      \"host\": \"\",\n      \"port\": 465,\n      \"user\": \"\",\n      \"password\": \"\",\n      \"ignore_tls_failure\": false\n    },\n    \"sender_address\": \"\",\n    \"receiver_address\": \"\"\n  },\n  \"repos\": [\n    {\n      \"owner\": \"\",\n      \"name\": \"\"\n    }\n  ]\n}\n```\n\n### GitHub\n\n*github_user*\n\nThis is the user name you will use to access the GitHub API.\n\n*github_token*\n\nYou will need to generate a GitHub Access Token, otherwise you will run into rate limits when using the GitHub API.\n\nGo [here](https://github.com/settings/tokens) to create a new token. You do not need to grant it access to any OAuth scopes.\n\n### Email\n\nYou can leave the email section alone if you don't want to receive email reminders.\n\n*sender_address*\n\n\"From\" email address.\n\n*receiver_address*\n\n\"To\" email address.\n\n#### Server\n\n*host*\n\nHost name of your email server. \n\n*port*\n\nThe port to use for outgoing (SMTP) mail on your email server.\n\n*user*\n\nThe username for your outgoing mail server.\n\n*password*\n\nThe password for your outgoing email server.\n\n*ignore_tls_failure*\n\nIt's sad, but sometimes email servers are awful and you have to ignore certificate failures.\n\n**Only use this option if you know what you are doing!**\n\n### Repos\n\nYou may set up multiple GitHub repos for monitoring.\n\n*owner*\n\nThe user name or organization for the repo. E.g., the `presidentbeef` in `presidentbeef/github-reminder`.\n\n*name*\n\nThe name of the GitHub repository. E.g., the `github-reminder` in `presidentbeef/github-reminder`.\n\n## Use with FaaStRuby\n\n[FaaStRuby](https://faastruby.io/) can be used to run GitHub Reminder in the cloud.\n\nClone this repo:\n\n    git clone https://github.com/presidentbeef/github-reminder.git\n\nGenerate a configuration file:\n\n    ./bin/github-reminder --generate-config --config-file github-reminder.json\n\n(Note: You do *not* want the configuration file with your passwords in the faastruby directory.)\n\nEdit `github-reminder.json` as described above.\n\nSwitch to the faastruby directory:\n\n    cd faastruby/\n\nInstall FaaStRuby:\n\n    gem install faastruby\n\nCreate a workspace:\n\n    faastruby create-workspace YOUR_WORKSPACE_NAME --email YOUR_EMAIL\n\nEdit `faastruby.yml` to adjust name of the job and frequency, if desired.\n\nDeploy:\n\n    faastruby deploy-to YOUR_WORKSPACE_NAME\n\nUpdate the configuration:\n\n    cat ../github_reminder.json | faastruby update-context YOUR_WORKSPACE_NAME --stdin\n\nThis way the configuration [is encrypted](https://faastruby.io/getting-started/#execution-context) on the server.\n\nYou can use curl to test the setup by hitting the endpoint displayed after deploying.\n\nOtherwise, it should run on the schedule you have set.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpresidentbeef%2Fgithub-reminder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpresidentbeef%2Fgithub-reminder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpresidentbeef%2Fgithub-reminder/lists"}