{"id":28436301,"url":"https://github.com/james-firth/git-slackin","last_synced_at":"2026-05-10T03:03:20.968Z","repository":{"id":40752276,"uuid":"156573518","full_name":"James-Firth/git-slackin","owner":"James-Firth","description":"Stop checking pull requests manually all day and git slackin instead!","archived":false,"fork":false,"pushed_at":"2023-01-07T02:35:59.000Z","size":755,"stargazers_count":0,"open_issues_count":46,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-27T18:43:21.012Z","etag":null,"topics":["github-webhooks","nodejs","slack"],"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/James-Firth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-07T16:11:04.000Z","updated_at":"2020-04-23T20:27:54.000Z","dependencies_parsed_at":"2023-02-06T10:46:54.235Z","dependency_job_id":null,"html_url":"https://github.com/James-Firth/git-slackin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/James-Firth/git-slackin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/James-Firth%2Fgit-slackin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/James-Firth%2Fgit-slackin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/James-Firth%2Fgit-slackin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/James-Firth%2Fgit-slackin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/James-Firth","download_url":"https://codeload.github.com/James-Firth/git-slackin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/James-Firth%2Fgit-slackin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266270448,"owners_count":23902734,"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":["github-webhooks","nodejs","slack"],"created_at":"2025-06-05T22:07:50.420Z","updated_at":"2026-05-10T03:03:20.887Z","avatar_url":"https://github.com/James-Firth.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git Slackin'\n\nGet notified better when using Github Pull Requests and Slack.\n\nFeatures and commands listed below\n\n## Setup\n\n* Clone the repo\n* Install dependencies `npm i`\n* Create a config file\n  * Name it `development.json`\n  * Base it off of `config/example.json`\n* Create a `user_list.json` with all the users you want involved\n  * Base it off of `example_user_list.json`\n  * Ensure that any repositories registered are cased appropriately, they are case sensitive\n  * _Note:_ future goal is for this to live in a DB and for users to sign themselves up\n* Run service `npm start`\n  * If running on a local machine use `ngrok` to make endpoint available to the internet\n* Create a [Webhook](https://developer.github.com/webhooks/creating/) for your repo\n  * Please include all Pull Request related events (not all used yet)\n* Start making Pull Requests!\n\n## Config Details\n\nConfigure `development.json` with the following information:\n\n- github_token: A personal access token. You can create one [here](https://github.com/settings/tokens)\n - You will require permissions `repo:*` and `admin:repo_hook:*`\n- github_secret: A random string that will be used in conjunction with your webhook to push notifications\n- slack: A Slack application xoxb OAuth Access Token. You'll need to create a new app [here](https://api.slack.com/apps).\n- slack_manager_ids: Slack Id of someone to direct message on boot. This can be retrieved from slack by viewing a profile, selecting the `...` and \"Copy member id\" for the appropriate user\n- slack_announce_channel_id: The channel you wish to announce things to. The easiest way to find the correct room is to use the slack browser, navigate to the channel you want and taking the last string. Example:  `https://app.slack.com/client/\u003cclientId\u003e/\u003cslack_announce_channel_id\u003e`\n\n## Current Features\n\n* Announces itself to admin and channel (if provided)\n* Request reviews and send messages when opening a PR\n  * Git-slackin will pick 2 random, requestable users from the `user_list.json`\n  * Assigns them and requests a review from them on Github (_Note:_ These actions happen on the behalf of the user whose personal access token is in the config)\n  * Notifies the requested reviewers via a DM with a link to the PR\n    * This happens if someone uses the Github UI to request a review as well.\n  * Notifies the PR Opener who has been requested\n* Get notified when your PR is reviewed\n  * Git-Slackin will message the opener of the PR informing them of who submitted a review, and in what state (approved, commented, requested changes)\n* Don't bother people when then are not requestable\n* Allow users to change their requestability\n* Respond to some DM commands\n\n## Commands (via Slack DMs)\n\n_Note_ All commands are case insensitive\n\n### Everyone Commands\n\nGet Command List\n\n* Say `help`\n* Lists the commands\n\nBench Yourself\n\n* Say `stop`\n* This means you will not be requested by Git Slackin'\n\nUnbench Yourself\n\n* Say `start`\n* You will now be requestable by Git Slackin'\n\nNotifcations\n\nTurn on\n* Say `notify` or `unmute`\n\nTurn off\n* Say `silence`, or `mute`\n\nAm I requestable?\n\n* Say `status`\n* Get your github and slack usernames and your requestability status\n\n### Admin/Manager commands\n\nWhat's everyone's state?\n\n* Say `overview`\n* Lists benched and available users, like the boot message\n\nShut it all down\n\n* Say `shutdown`\n* Exits the git slackin' process.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjames-firth%2Fgit-slackin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjames-firth%2Fgit-slackin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjames-firth%2Fgit-slackin/lists"}