{"id":40106331,"url":"https://github.com/graemedavidson/gitlab-mr-bot","last_synced_at":"2026-01-19T11:33:37.508Z","repository":{"id":50472496,"uuid":"510414115","full_name":"graemedavidson/gitlab-mr-bot","owner":"graemedavidson","description":"Webhook bot for assigning reviewers to an MR and notify the reviewer via a slack message.","archived":false,"fork":false,"pushed_at":"2022-08-09T13:59:33.000Z","size":241,"stargazers_count":5,"open_issues_count":12,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-06-20T22:37:29.968Z","etag":null,"topics":["bot","gitlab","mergerequest","slack"],"latest_commit_sha":null,"homepage":"","language":"Go","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/graemedavidson.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-04T15:35:47.000Z","updated_at":"2024-05-24T09:49:36.000Z","dependencies_parsed_at":"2022-08-12T21:21:46.475Z","dependency_job_id":null,"html_url":"https://github.com/graemedavidson/gitlab-mr-bot","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/graemedavidson/gitlab-mr-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graemedavidson%2Fgitlab-mr-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graemedavidson%2Fgitlab-mr-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graemedavidson%2Fgitlab-mr-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graemedavidson%2Fgitlab-mr-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/graemedavidson","download_url":"https://codeload.github.com/graemedavidson/gitlab-mr-bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graemedavidson%2Fgitlab-mr-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28566495,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T08:53:44.001Z","status":"ssl_error","status_checked_at":"2026-01-19T08:52:40.245Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","gitlab","mergerequest","slack"],"created_at":"2026-01-19T11:33:37.448Z","updated_at":"2026-01-19T11:33:37.500Z","avatar_url":"https://github.com/graemedavidson.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gitlab MR Bot\n\nThe Gitlab MR Bot provides a webhook service which assigns a random reviewer to a Merge Request. After assigning a user\nfrom the suggested approver list such as from the CODEOWNERS file it can send a notification to a configured slack\nchannel.\n\nThe bot is currently developed against [GitLab Premium](https://about.gitlab.com/pricing/) edition which allows for\nadding reviewers and using CODEOWNERS files.\n\n## State of development\n\nFair warning, codebase maintained by a infrastructure engineer who was learning GO at the time and certainly would not\ncall themselves a software engineer. Coded as a side project and a bit of fun. Happy to take on any\nsuggestions/improvements, please raise an issue or see the [contributing](#contributing) section to help out.\n\n## Gitlab should do this\n\nYou might be thinking that Gitlab should offer this within their integrations, others agree, have a search through\ntheir gitlab issues and find it mentioned a few times. This project is starting to extend feature requests beyond what\nthey might offer but who knows, this might all be academic some point soon.\n\n## Known bugs / Tasks remaining\n\nPlease review [issues](https://github.com/graemedavidson/gitlab-mr-bot/issues) in this repository for remaining work\nidentified. Please add an issue should you discover a bug or would like to request a feature.\n\n## Running app\n\nThe App requires some passed in configuration via the command line or environment variable. See\n[deployments documentation](./docs/deployment.md) for more information on this subject.\n\n## Contributing\n\nTo contribute please first create an [issue](https://github.com/graemedavidson/gitlab-mr-bot/issues) to use as a ref in\ncommits. Review preceeding section \"Known bugs / Tasks remaining\" to ensure no existing issue describing bug/feature.\n\nWhen ready create an MR with the following changes included:\n\n- Changelog including a description from user perspective on what the change does\n- Concise commits including issue ref and technical description of why a change is happening\n- Tests for new features and old ones still passing\n- Documentation\n\n### Local development\n\n**Note:** currently not working due the limited capability of a free gitlab version.\n\nBasic configuration for running the required components through docker.\n\n## Documentation\n\n- [Usage](./docs/usage.md)\n\n## Credits / References\n\n- [GitLab: api](https://docs.gitlab.com/ee/api/api_resources.html)\n    - [Merge requests](https://docs.gitlab.com/ee/api/merge_requests.html)\n    - [Merge request approvals](https://docs.gitlab.com/ee/api/merge_request_approvals.html)\n    - [Webhook server example](https://github.com/xanzy/go-gitlab/blob/master/examples/webhook.go)\n- [Go: GitLab SDK](https://github.com/xanzy/go-gitlab)\n- Slack\n    - [Go: Slack SDK](https://github.com/slack-go/slack)\n    - [Slack: build app](https://api.slack.com/start/building)\n- [Go: prometheus instrumentation](https://prometheus.io/docs/guides/go-application/)\n- [Go: logging](https://github.com/sirupsen/logrus)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraemedavidson%2Fgitlab-mr-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgraemedavidson%2Fgitlab-mr-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraemedavidson%2Fgitlab-mr-bot/lists"}