{"id":27117937,"url":"https://github.com/bottlecapdave/gitlab-merge-request-reminder","last_synced_at":"2025-06-29T17:37:19.210Z","repository":{"id":43759101,"uuid":"297101916","full_name":"BottlecapDave/Gitlab-Merge-Request-Reminder","owner":"BottlecapDave","description":"Sends reminders for all open merge requests for given gitlab projects","archived":false,"fork":false,"pushed_at":"2024-04-15T16:00:23.000Z","size":811,"stargazers_count":14,"open_issues_count":3,"forks_count":5,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-06-27T00:51:00.946Z","etag":null,"topics":["docker-image","dockerfile","gitlab","nodejs","slack"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/BottlecapDave.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,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-09-20T15:08:51.000Z","updated_at":"2025-03-10T11:06:28.000Z","dependencies_parsed_at":"2024-01-26T11:56:57.301Z","dependency_job_id":"4e13ac68-ec20-43de-b699-2995b8b2dac3","html_url":"https://github.com/BottlecapDave/Gitlab-Merge-Request-Reminder","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/BottlecapDave/Gitlab-Merge-Request-Reminder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BottlecapDave%2FGitlab-Merge-Request-Reminder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BottlecapDave%2FGitlab-Merge-Request-Reminder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BottlecapDave%2FGitlab-Merge-Request-Reminder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BottlecapDave%2FGitlab-Merge-Request-Reminder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BottlecapDave","download_url":"https://codeload.github.com/BottlecapDave/Gitlab-Merge-Request-Reminder/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BottlecapDave%2FGitlab-Merge-Request-Reminder/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262639029,"owners_count":23341410,"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":["docker-image","dockerfile","gitlab","nodejs","slack"],"created_at":"2025-04-07T06:38:55.199Z","updated_at":"2025-06-29T17:37:19.188Z","avatar_url":"https://github.com/BottlecapDave.png","language":"TypeScript","funding_links":["https://github.com/sponsors/bottlecapdave"],"categories":[],"sub_categories":[],"readme":"# GitLab Merge Request Reminder\n\n[![Docker Image Version (latest semver)](https://img.shields.io/docker/v/bottlecapdave/gitlab-merge-request-reminder)](https://hub.docker.com/r/bottlecapdave/gitlab-merge-request-reminder) [![](https://img.shields.io/static/v1?label=Sponsor\u0026message=%E2%9D%A4\u0026logo=GitHub\u0026color=%23fe8e86)](https://github.com/sponsors/bottlecapdave)\n\nSends a notification to a Slack webhook highlighting open merge requests for a given GitLab repository. If no merge requests are open, then no notification will be sent.\n\n## Environment Variables\n\n| Variable             | Details                                                                           | Example Values |\n| -------------------- | --------------------------------------------------------------------------------- | -------------- |\n| GITLAB_URL           | The URL of the Gitlab server. Defaults to `https://gitlab.com`                    | `https://gitlab.company.com`               |\n| GITLAB_ACCESS_TOKEN  | The access token for the GitLab repository. This needs at least `read_api` access and be done by following the [Gitlab instructions](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html). |                |\n| GITLAB_PROJECT_IDS   | The GitLab project ids the merge requests are for. This should be comma separated (e.g. 12345,678910) | `12345,678910` |\n| INCLUDE_WIP          | Determines if work in progress merge requests should be included. This is true by default.                  | `true` or `false` |\n| INCLUDE_DRAFT        | Determines if draft merge requests should be included. This is true by default.                            | `true` or `false` |\n| GITLAB_MANDATORY_LABELS | The labels that merge requests must have assigned to them. All labels must be present. This should be comma separated (e.g. mandatory-label-1,mandatory-label-2) | `mandatory-label-1,mandatory-label-2` |\n| GITLAB_EXCLUDED_LABELS | The labels that merge requests must not have assigned to them. Any label must be present for the merge request to be ignored. This should be comma separated (e.g. excluded-label-1,excluded-label-2) | `excluded-label-1,excluded-label-2` |\n| SLACK_WEBHOOK_URL    | The URL of the slack incoming webhook to send the notification to.                                            |                |\n| SLACK_TARGET         | The target of the slack message. This is `@here` by default. | `@here` |\n\n## Docker\n\nThis is available as a docker image, available on [docker hub](https://hub.docker.com/r/bottlecapdave/gitlab-merge-request-reminder).\n\n## Example Uses\n\nBecause the logic is within a docker image, it can be run in a variety of places. Below I'll document examples of use.\n\n### Gitlab Job\n\nYou could create a gitlab job which is run on a [schedule](https://docs.gitlab.com/ce/ci/pipelines/schedules.html). For example\n\n```\nmerge-request-reminder:\n  stage: notify\n  image: bottlecapdave/gitlab-merge-request-reminder:v1.5.0\n  only:\n    refs:\n      - schedules\n  script:\n    - node /app/lib/index.js\n```\n\n## Build\n\nYou can run `npm run docker-build` to build a local docker image, which can then be run locally.\n\n## Releases\n\nTo release a new version, merge into `main`. The github CI will then create a release based on the commitizen messages.\n\n## Sponsorships\n\nIf you find this useful, please consider a one time or monthly [GitHub sponsorship](https://github.com/sponsors/bottlecapdave).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbottlecapdave%2Fgitlab-merge-request-reminder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbottlecapdave%2Fgitlab-merge-request-reminder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbottlecapdave%2Fgitlab-merge-request-reminder/lists"}