{"id":18646772,"url":"https://github.com/metabase/slack-recently-closed-issues-bot","last_synced_at":"2025-11-05T05:30:32.397Z","repository":{"id":142262781,"uuid":"366933997","full_name":"metabase/slack-recently-closed-issues-bot","owner":"metabase","description":"Slack bot that posts message about recently closed GitHub issues with no milestone","archived":false,"fork":false,"pushed_at":"2021-05-13T05:50:07.000Z","size":144,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":37,"default_branch":"master","last_synced_at":"2024-12-27T12:09:17.906Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Clojure","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/metabase.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2021-05-13T04:31:17.000Z","updated_at":"2021-05-13T05:50:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"f839779b-483e-4850-94cb-10a979941047","html_url":"https://github.com/metabase/slack-recently-closed-issues-bot","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/metabase%2Fslack-recently-closed-issues-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metabase%2Fslack-recently-closed-issues-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metabase%2Fslack-recently-closed-issues-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metabase%2Fslack-recently-closed-issues-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/metabase","download_url":"https://codeload.github.com/metabase/slack-recently-closed-issues-bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239449588,"owners_count":19640535,"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-11-07T06:22:30.338Z","updated_at":"2025-11-05T05:30:32.350Z","avatar_url":"https://github.com/metabase.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cam's Recently Closed GitHub Issues with no Milestone Slack Bot\n\nA Slack app that will post a message when about recently closed GitHub issues that weren't tagged with a milestone.\n\n![Screenshot](docs/screenshot.png)\n\n### Running:\n\n```sh\n# To see a list of possible arguments\nclojure -M -m closed-issues-bot.core --help\n\n# To run the command (these tokens are fake, but the shape is correct)\nclojure -M -m closed-issues-bot.core \\\n  --slack-oauth-token xoxb-3104327438-7923114252020-rAaqkKTnbGy4dwLalHridEiu \\\n  --github-token 17c52c6b16f7187c63813741266ab57c0ce72697 \\\n  --slack-channel pod-product\n\n# With compiled uberjar (see below)\njava -jar closed-issues-bot.jar --help\n```\n\n### Building an uberjar:\n\n```sh\nclojure -X:uberjar\n```\n\nWill generate `closed-issues-bot.jar`.\n\n### CLI Options:\n\nYou can also set any of these options via env var by using `SCREAMING_SNAKE_CASE` instead of `lisp-case`, e.g.\n`SLACK_OAUTH_TOKEN` instead of `--slack-oauth-token`.\n\n#### Required options\n\nThe following options are required:\n\n##### `--slack-oauth-token`\n\nCreate a new Slack application by visiting https://api.slack.com/apps \u003e `Create an app` \u003e `From scratch`. Add it to\nthe desired workspace, then click `Add features and functionality` \u003e `Bots` \u003e `Review Scopes to Add`. Add the\nfollowing **Bot Token Scopes**:\n\n- `chat:write`\n- `chat:write.customize`\n- `chat:write.public`\n- `users:read`\n\nFinally, click `Install to Workspace` to get the **Bot User OAuth Token**.\n\n##### `--github-token`\n\nGo to https://github.com/settings/tokens \u003e `Personal access tokens` and create a new token. For public repos, this token doesn't need\nany special permissions besides the default permission `public_repo`.\n\n##### `--slack-channel`\n\nThe channel to post the message to. Does not need to start with `#`. Can also be a user (prefix with `@`).\n\n#### Optional\n\nThe following additional configuration options are supported:\n\n##### `--github-repo`\n\nThe GitHub repo to check for recently closed issues in. By default, `metabase/metabase`.\n\n##### `--days`\n\nThe maximum number of days ago an issue could have been closed to be considered \"recent\". Issues closed longer than\nthis many days ago will not be posted by the bot, regardless of whether they have a milestone or not. By default, `14`.\n\n##### `--slack-bot-name`\n\nThe name that should be used for the Slack app when it posts. By default, `GH Closed Issues With No Milestone Bot`.\n\n##### `--slack-bot-emoji`\n\nThe emoji that should be used for the Slack app when it posts. By default, `:sad`.\n\n##### `--excluded-github-labels`\n\nGitHub labels that mean an issue should be ignored. Use commas to separate labels. By default these labels are ignored:\n\n- `.Documentation`\n- `.Duplicate`\n- `.Unable to Reproduce`\n- `.Won't Fix`\n- `Type:Question`\n\n### REPL Usage\n\nTo set options in the REPL, use `closed-issues-bot.config/set-option!`:\n\n```clj\n(closed-issues-bot.config/set-option! :excluded-github-labels #{\"abc\" \"def\"})\n```\n\n### Deploying to AWS Lambda\n\nUse `closed_issues_bot.aws_lambda::handleRequest` as the handler. See https://github.com/metabase/cla-bot/ for more\nhints on deploying a Clojure AWS lambda.\n\n#### Updating the Lambda from the Command Line\n\nFaster than using the AWS Console.\n\n```sh\nclojure -X:uberjar \u0026\u0026\naws lambda update-function-code \\\n  --region us-east-1 \\\n  --function-name Cams-Recently-Closed-GitHub-Issues-with-no-Milestone-Slack-Bot \\\n  --zip-file fileb://./closed-issues-bot.jar\n```\n\n### License\n\nCopyright 2021, Metabase, Inc. Licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetabase%2Fslack-recently-closed-issues-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetabase%2Fslack-recently-closed-issues-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetabase%2Fslack-recently-closed-issues-bot/lists"}