{"id":15755734,"url":"https://github.com/woozymasta/gitlab-groups-filling-with-users","last_synced_at":"2026-05-05T07:32:54.078Z","repository":{"id":148157471,"uuid":"460854446","full_name":"WoozyMasta/gitlab-groups-filling-with-users","owner":"WoozyMasta","description":"Automatically recursively adding a list of users to all GitLab groups ","archived":false,"fork":false,"pushed_at":"2022-02-18T14:33:31.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-31T08:16:59.754Z","etag":null,"topics":["gitlab","gitlab-group","python"],"latest_commit_sha":null,"homepage":"","language":"Python","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/WoozyMasta.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-18T12:59:23.000Z","updated_at":"2022-02-22T23:37:20.000Z","dependencies_parsed_at":"2023-05-19T08:15:29.298Z","dependency_job_id":null,"html_url":"https://github.com/WoozyMasta/gitlab-groups-filling-with-users","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/WoozyMasta/gitlab-groups-filling-with-users","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WoozyMasta%2Fgitlab-groups-filling-with-users","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WoozyMasta%2Fgitlab-groups-filling-with-users/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WoozyMasta%2Fgitlab-groups-filling-with-users/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WoozyMasta%2Fgitlab-groups-filling-with-users/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WoozyMasta","download_url":"https://codeload.github.com/WoozyMasta/gitlab-groups-filling-with-users/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WoozyMasta%2Fgitlab-groups-filling-with-users/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32640533,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"online","status_checked_at":"2026-05-05T02:00:06.033Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["gitlab","gitlab-group","python"],"created_at":"2024-10-04T08:40:27.489Z","updated_at":"2026-05-05T07:32:54.062Z","avatar_url":"https://github.com/WoozyMasta.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitLab groups filling with users\n\nAutomatically recursively adding a list of users to all GitLab groups.\n\nThis can be useful for GitLab administration when you need to add service\naccounts to all groups, such as dependabot, sonarqube, and other robot\naccounts for automation.\n\nYou are expected to run once or run on a schedule.\n\n## Environment Variables\n\n* **`GITLAB_URL`**=`https://gitlab.zyfra.com` - GitLab server URL\n* **`GITLAB_PRIVATE_TOKEN=`**=`None` - Private access token. Normal access will\n  allow you to grant rights no higher than the existing one and only for\n  available groups. To manage an entire GitLab instance, it is better\n  to use a token with sudo rights\n* **`GITLAB_FILLING_USERS`**=`[]` Comma-separated list of GitLab user\n  IDs to add to groups.  \n  Example: `GITLAB_FILLING_USERS=13,14,22`\n* **`GITLAB_USERS_ACCESS_LEVEL`**=`30` - Access level to be assigned to users\n  * 10 - Guest\n  * 20 - Reporter\n  * 30 - Developer _(default)_\n  * 40 - Mainteiner\n  * 50 - Owner\n* **`GITLAB_EXCLUDE_GROUPS`**=`[]` Comma-separated list of GitLab groups to be\n  ignored at run time.  \n  Example: `GITLAB_EXCLUDE_GROUPS=10,42`\n* **`SKIP_BLANK_GROUPS`**=`True` - Skip adding users to empty groups\n  (groups that have no projects)\n* **`SKIP_NESTED_GROUPS`**=`True` - Skip adding users to nested groups, the\n  user will inherit access from the parent group anyway.\n* **`LOG_LEVEL`**=`INFO`\n\n## Container Image\n\n* [`docker pull ghcr.io/woozymasta/gitlab-groups-filling-with-users:latest`](https://github.com/WoozyMasta/gitlab-groups-filling-with-usersp/pkgs/container/gitlab-groups-filling-with-users)\n* [`docker pull quay.io/woozymasta/gitlab-groups-filling-with-users:latest`](https://quay.io/repository/woozymasta/gitlab-groups-filling-with-users)\n* [`docker pull docker.io/woozymasta/gitlab-groups-filling-with-users:latest`](https://hub.docker.com/r/woozymasta/gitlab-groups-filling-with-users)\n\n## Run Locally\n\nClone this repository and go into it, run:\n\n```bash\npython -m venv .venv\npip install --upgrade pip\npip install --upgrade wheel\npip install --upgrade --requirement requirements.txt\n. .venv/bin/activate\ncp .env .env.example\neditor .env\n./app.py\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoozymasta%2Fgitlab-groups-filling-with-users","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwoozymasta%2Fgitlab-groups-filling-with-users","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoozymasta%2Fgitlab-groups-filling-with-users/lists"}