# gitlab-projects-settings
<!-- markdownlint-disable no-inline-html -->
[![Build](https://gitlab.com/AdrianDC/gitlab-projects-settings/badges/main/pipeline.svg)](https://gitlab.com/AdrianDC/gitlab-projects-settings/-/commits/main/)
Configure GitLab groups and projects settings automatically
---
## Purpose
This tool can automatically configure and update the GitLab settings
of groups, subgroups and projects, using multiple available options.
Repetitive tasks can be performed accross multiple projects at once,
for example protecting tags and branches, or setting a new avatar recursively.
The following step is required before using the tool:
- The GitLab user tokens must be created with an `api` scope (a short expiration date is recommended)
---
## Usage
<!-- prettier-ignore-start -->
<!-- readme-help-start -->
```yaml
usage: gitlab-projects-settings [-h] [--version] [-t TOKEN] [--dry-run] [--exclude-group] [--exclude-subgroups]
[--exclude-projects] [--reset-features] [--reset-members] [--set-avatar FILE]
[--set-description TEXT] [--update-description] [--run-housekeeping]
[--archive-project | --unarchive-project] [--delete-group] [--delete-project]
[--protect-branches] [--protect-tags LEVEL]
[gitlab] [path]
gitlab-projects-settings: Configure GitLab groups and projects settings automatically
internal arguments:
-h, --help # Show this help message
--version # Show the current version
credentials arguments:
-t TOKEN # GitLab API token (default: GITLAB_TOKEN environment)
common settings arguments:
--dry-run # Enable dry run mode to check without saving
--exclude-group # Exclude parent group settings
--exclude-subgroups # Exclude children subgroups settings
--exclude-projects # Exclude children projects settings
general settings arguments:
--reset-features # Reset features of GitLab projects based on usage
--reset-members # Reset members of GitLab projects and groups
--set-avatar FILE # Set avatar of GitLab projects and groups
--set-description TEXT # Set description of GitLab projects and groups
--update-description # Update description of GitLab projects and groups automatically
advanced settings arguments:
--run-housekeeping # Run housekeeping of project or projects GitLab in groups
--archive-project # Archive project or projects in GitLab groups
--unarchive-project # Unarchive project or projects in GitLab groups
--delete-group # Delete group or groups in GitLab groups
--delete-project # Delete project or projects in GitLab groups
repository settings arguments:
--protect-branches # Protect branches with default master/main, develop and staging
--protect-tags LEVEL # Protect tags at level [no-one,admins,maintainers,developers]
positional arguments:
gitlab # GitLab URL (default: https://gitlab.com)
path # GitLab group, user namespace or project path
```
<!-- readme-help-stop -->
<!-- prettier-ignore-end -->
---
## Dependencies
- [colored](https://pypi.org/project/colored/): Terminal colors and styles
- [python-gitlab](https://pypi.org/project/python-gitlab/): A python wrapper for the GitLab API
- [setuptools](https://pypi.org/project/setuptools/): Build and manage Python packages
---
## References
- [git-chglog](https://github.com/git-chglog/git-chglog): CHANGELOG generator
- [gitlab-release](https://pypi.org/project/gitlab-release/): Utility for publishing on GitLab
- [gitlabci-local](https://pypi.org/project/gitlabci-local/): Launch .gitlab-ci.yml jobs locally
- [mypy](https://pypi.org/project/mypy/): Optional static typing for Python
- [PyPI](https://pypi.org/): The Python Package Index
- [twine](https://pypi.org/project/twine/): Utility for publishing on PyPI
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/AdrianDC/gitlab-projects-settings",
"name": "gitlab-projects-settings",
"maintainer": null,
"docs_url": null,
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=3",
"maintainer_email": null,
"keywords": "gitlab issues sync",
"author": "Adrian DC",
"author_email": "radian.dc@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/fc/35/df87abbbb8277b3b735d4e8660785ef512170ab4195b2dbd127d35b03fbc/gitlab_projects_settings-3.0.0.tar.gz",
"platform": null,
"description": "# gitlab-projects-settings\n\n<!-- markdownlint-disable no-inline-html -->\n\n[![Build](https://gitlab.com/AdrianDC/gitlab-projects-settings/badges/main/pipeline.svg)](https://gitlab.com/AdrianDC/gitlab-projects-settings/-/commits/main/)\n\nConfigure GitLab groups and projects settings automatically\n\n---\n\n## Purpose\n\nThis tool can automatically configure and update the GitLab settings \nof groups, subgroups and projects, using multiple available options.\n\nRepetitive tasks can be performed accross multiple projects at once, \nfor example protecting tags and branches, or setting a new avatar recursively.\n\nThe following step is required before using the tool:\n\n- The GitLab user tokens must be created with an `api` scope (a short expiration date is recommended)\n\n---\n\n## Usage\n\n<!-- prettier-ignore-start -->\n<!-- readme-help-start -->\n\n```yaml\nusage: gitlab-projects-settings [-h] [--version] [-t TOKEN] [--dry-run] [--exclude-group] [--exclude-subgroups]\n [--exclude-projects] [--reset-features] [--reset-members] [--set-avatar FILE]\n [--set-description TEXT] [--update-description] [--run-housekeeping]\n [--archive-project | --unarchive-project] [--delete-group] [--delete-project]\n [--protect-branches] [--protect-tags LEVEL]\n [gitlab] [path]\n\ngitlab-projects-settings: Configure GitLab groups and projects settings automatically\n\ninternal arguments:\n -h, --help # Show this help message\n --version # Show the current version\n\ncredentials arguments:\n -t TOKEN # GitLab API token (default: GITLAB_TOKEN environment)\n\ncommon settings arguments:\n --dry-run # Enable dry run mode to check without saving\n --exclude-group # Exclude parent group settings\n --exclude-subgroups # Exclude children subgroups settings\n --exclude-projects # Exclude children projects settings\n\ngeneral settings arguments:\n --reset-features # Reset features of GitLab projects based on usage\n --reset-members # Reset members of GitLab projects and groups\n --set-avatar FILE # Set avatar of GitLab projects and groups\n --set-description TEXT # Set description of GitLab projects and groups\n --update-description # Update description of GitLab projects and groups automatically\n\nadvanced settings arguments:\n --run-housekeeping # Run housekeeping of project or projects GitLab in groups\n --archive-project # Archive project or projects in GitLab groups\n --unarchive-project # Unarchive project or projects in GitLab groups\n --delete-group # Delete group or groups in GitLab groups\n --delete-project # Delete project or projects in GitLab groups\n\nrepository settings arguments:\n --protect-branches # Protect branches with default master/main, develop and staging\n --protect-tags LEVEL # Protect tags at level [no-one,admins,maintainers,developers]\n\npositional arguments:\n gitlab # GitLab URL (default: https://gitlab.com)\n path # GitLab group, user namespace or project path\n```\n\n<!-- readme-help-stop -->\n<!-- prettier-ignore-end -->\n\n---\n\n## Dependencies\n\n- [colored](https://pypi.org/project/colored/): Terminal colors and styles\n- [python-gitlab](https://pypi.org/project/python-gitlab/): A python wrapper for the GitLab API\n- [setuptools](https://pypi.org/project/setuptools/): Build and manage Python packages\n\n---\n\n## References\n\n- [git-chglog](https://github.com/git-chglog/git-chglog): CHANGELOG generator\n- [gitlab-release](https://pypi.org/project/gitlab-release/): Utility for publishing on GitLab\n- [gitlabci-local](https://pypi.org/project/gitlabci-local/): Launch .gitlab-ci.yml jobs locally\n- [mypy](https://pypi.org/project/mypy/): Optional static typing for Python\n- [PyPI](https://pypi.org/): The Python Package Index\n- [twine](https://pypi.org/project/twine/): Utility for publishing on PyPI\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "Configure GitLab groups and projects settings automatically",
"version": "3.0.0",
"project_urls": {
"Bug Reports": "https://gitlab.com/AdrianDC/gitlab-projects-settings/-/issues",
"Changelog": "https://gitlab.com/AdrianDC/gitlab-projects-settings/blob/main/CHANGELOG.md",
"Documentation": "https://gitlab.com/AdrianDC/gitlab-projects-settings#gitlab-projects-settings",
"Homepage": "https://gitlab.com/AdrianDC/gitlab-projects-settings",
"Source": "https://gitlab.com/AdrianDC/gitlab-projects-settings",
"Statistics": "https://pypistats.org/packages/gitlab-projects-settings"
},
"split_keywords": [
"gitlab",
"issues",
"sync"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f8bb336def45917aacf6834c5daab6869f0d429a887553b6106109bdbed551ca",
"md5": "21cc87be61ee909d16056a5662045006",
"sha256": "83f017389777ccc4621bc00c4846bb9aa8acca13fb236bfb3db6ae68f13ffbc7"
},
"downloads": -1,
"filename": "gitlab_projects_settings-3.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "21cc87be61ee909d16056a5662045006",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=3",
"size": 19145,
"upload_time": "2024-05-06T01:26:20",
"upload_time_iso_8601": "2024-05-06T01:26:20.865175Z",
"url": "https://files.pythonhosted.org/packages/f8/bb/336def45917aacf6834c5daab6869f0d429a887553b6106109bdbed551ca/gitlab_projects_settings-3.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fc35df87abbbb8277b3b735d4e8660785ef512170ab4195b2dbd127d35b03fbc",
"md5": "9b3c3d99d096b5f803d281d775f3ceb2",
"sha256": "a8b855578e8444c4505804afd1bf4b8af6b3fcd2034aab5b404435af006e08c7"
},
"downloads": -1,
"filename": "gitlab_projects_settings-3.0.0.tar.gz",
"has_sig": false,
"md5_digest": "9b3c3d99d096b5f803d281d775f3ceb2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=3",
"size": 21759,
"upload_time": "2024-05-06T01:26:22",
"upload_time_iso_8601": "2024-05-06T01:26:22.932103Z",
"url": "https://files.pythonhosted.org/packages/fc/35/df87abbbb8277b3b735d4e8660785ef512170ab4195b2dbd127d35b03fbc/gitlab_projects_settings-3.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-06 01:26:22",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "AdrianDC",
"gitlab_project": "gitlab-projects-settings",
"lcname": "gitlab-projects-settings"
}