{"id":24057462,"url":"https://github.com/fbielejec/nagger","last_synced_at":"2026-05-04T18:36:57.171Z","repository":{"id":54739814,"uuid":"321137585","full_name":"fbielejec/nagger","owner":"fbielejec","description":"nag reviewers of PRs","archived":false,"fork":false,"pushed_at":"2021-02-01T15:18:00.000Z","size":528,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-18T15:58:51.050Z","etag":null,"topics":["bot","crawler","github","slack"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fbielejec.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-13T18:56:57.000Z","updated_at":"2022-04-19T13:21:50.000Z","dependencies_parsed_at":"2022-08-14T01:20:32.944Z","dependency_job_id":null,"html_url":"https://github.com/fbielejec/nagger","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/fbielejec%2Fnagger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbielejec%2Fnagger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbielejec%2Fnagger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbielejec%2Fnagger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fbielejec","download_url":"https://codeload.github.com/fbielejec/nagger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240851209,"owners_count":19868002,"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":["bot","crawler","github","slack"],"created_at":"2025-01-09T05:42:20.871Z","updated_at":"2026-05-04T18:36:52.142Z","avatar_url":"https://github.com/fbielejec.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nagger\n\n![alt text](https://github.com/fbielejec/nagger/blob/master/screenshot.png?raw=true)\n\nA github crawler and slack bot that reminds lazy engineers to review pull requests of their peers.\n\n# run it\n\nCreate a file in the [RON format](https://github.com/ron-rs/ron) which maps github user names to slack user names / ids.\nIt should also have an array of users to ignored (can be empoty):\n\n```ron\n(\n    map: {\n        \"user1\" : \"id-or-name1\",\n        \"user1\" : \"id2\",\n        \"user2\" : \"id3\"\n    },\n    ignores: [\"id4\"]\n)\n```\n\nExport env vars:\n\n```bash\nexport REPO_OWNER=\u003cowner\u003e\nexport REPO_NAME=\u003cname\u003e\nexport SLACK_HOOK_URL=\"https://hooks.slack.com/services/\u003c\u003e/\u003c\u003e/\u003c\u003e\"\nexport GITHUB_API_TOKEN=\u003ctoken\u003e\nexport TIMER_INTERVAL=86400 # seconds, defaults to 43200 (12hours)\nexport USER_ID_PATH=\"/home/$USER/users.ron\"\n```\n\nRun it\n\n```\ncargo build --release\n./target/release/nagger\n```\n\nAlso availiable as a docker image:\n\n```bash\ndocker run --name=nagger -v /home/$USER/users.ron:/nagger/users.ron --rm --env=REPO_OWNER=$REPO_OWNER --env=REPO_NAME=$REPO_NAME --env=SLACK_HOOK_URL=$SLACK_HOOK_URL --env=GITHUB_API_TOKEN=$GITHUB_API_TOKEN --env=USER_ID_PATH=/nagger/users.ron fbielejec/nagger -d\n```\n\nOr with docker compose:\n\n```yaml\nnagger:\n  image: fbielejec/nagger:latest\n  container_name: nagger\n  volumes:\n    - /home/$USER/users.ron:/nagger/users.ron\n  environment:\n    - REPO_OWNER=$REPO_OWNER\n    - REPO_NAME=$REPO_NAME\n    - SLACK_HOOK_URL=$SLACK_HOOK_URL\n    - GITHUB_API_TOKEN=$GITHUB_API_TOKEN\n    - USER_ID_PATH=/nagger/users.ron\n    - TIMER_INTERVAL=$TIMER_INTERVAL\n```\n\n# development\n\n```bash\ncargo watch -s \"cargo run\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffbielejec%2Fnagger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffbielejec%2Fnagger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffbielejec%2Fnagger/lists"}