Loading README.md +3 −2 Changes for README.md: 3 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -29,8 +29,8 @@ The following step is required before using the tool: ```yaml usage: gitlab-projects-settings [-h] [--version] [-t TOKEN] [--dry-run] [--exclude-group] [--exclude-subgroups] [--exclude-projects] [--reset-features [KEEP_FEATURES]] [--reset-members] [--set-avatar FILE] [--set-description TEXT] [--update-description] [--exclude-projects] [--available-features] [--reset-features [KEEP_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] Loading @@ -51,6 +51,7 @@ common settings arguments: --exclude-projects # Exclude children projects settings general settings arguments: --available-features # List the available GitLab project features known by the tool --reset-features [KEEP_FEATURES] # Reset features of GitLab projects based on usage # (Optionally keep features separated by ",") --reset-members # Reset members of GitLab projects and groups Loading src/cli/entrypoint.py +10 −0 Changes for src/cli/entrypoint.py: 10 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -78,6 +78,16 @@ class Entrypoint: print(' ') Platform.flush() # Handle available features if options.available_features: print(f'{Colors.BOLD} - GitLab project:' f'{Colors.RESET}') print(f'{Colors.BOLD} - Available features: ' f'{Colors.CYAN}{", ".join(GitLabFeature.project_features_available())}' f'{Colors.RESET}') Platform.flush() return Entrypoint.Result.FINALIZE # Handle single project if project: Entrypoint.project( Loading src/cli/main.py +6 −0 Changes for src/cli/main.py: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -91,6 +91,12 @@ def main() -> None: # Arguments general settings definitions group = parser.add_argument_group('general settings arguments') group.add_argument( '--available-features', dest='available_features', action='store_true', help='List the available GitLab project features known by the tool', ) group.add_argument( '--reset-features', dest='reset_features', Loading src/features/gitlab.py +28 −0 Changes for src/features/gitlab.py: 28 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -193,6 +193,34 @@ class GitLabFeature: # Result return result # Project available features @staticmethod def project_features_available() -> List[str]: return [ GitLabFeature.Features.ISSUES, GitLabFeature.Features.MERGE_REQUESTS, GitLabFeature.Features.FORKS, GitLabFeature.Features.GIT_LFS, GitLabFeature.Features.CI_CD, GitLabFeature.Features.REPOSITORY, GitLabFeature.Features.CONTAINER_REGISTRY, GitLabFeature.Features.ANALYTICS, GitLabFeature.Features.SECURITY_AND_COMPLIANCE, GitLabFeature.Features.WIKI, GitLabFeature.Features.SNIPPETS, GitLabFeature.Features.PACKAGE_REGISTRY, GitLabFeature.Features.MODEL_EXPERIMENTS, GitLabFeature.Features.MODEL_REGISTRY, GitLabFeature.Features.PAGES, GitLabFeature.Features.MONITOR, GitLabFeature.Features.ENVIRONMENTS, GitLabFeature.Features.FEATURE_FLAGS, GitLabFeature.Features.INFRASTRUCTURE, GitLabFeature.Features.RELEASES, GitLabFeature.Features.SERVICE_DESK, GitLabFeature.Features.AUTO_DEVOPS, ] # Project parse features @staticmethod def project_features_parse(input_string: str) -> List[str]: Loading Loading
README.md +3 −2 Changes for README.md: 3 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -29,8 +29,8 @@ The following step is required before using the tool: ```yaml usage: gitlab-projects-settings [-h] [--version] [-t TOKEN] [--dry-run] [--exclude-group] [--exclude-subgroups] [--exclude-projects] [--reset-features [KEEP_FEATURES]] [--reset-members] [--set-avatar FILE] [--set-description TEXT] [--update-description] [--exclude-projects] [--available-features] [--reset-features [KEEP_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] Loading @@ -51,6 +51,7 @@ common settings arguments: --exclude-projects # Exclude children projects settings general settings arguments: --available-features # List the available GitLab project features known by the tool --reset-features [KEEP_FEATURES] # Reset features of GitLab projects based on usage # (Optionally keep features separated by ",") --reset-members # Reset members of GitLab projects and groups Loading
src/cli/entrypoint.py +10 −0 Changes for src/cli/entrypoint.py: 10 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -78,6 +78,16 @@ class Entrypoint: print(' ') Platform.flush() # Handle available features if options.available_features: print(f'{Colors.BOLD} - GitLab project:' f'{Colors.RESET}') print(f'{Colors.BOLD} - Available features: ' f'{Colors.CYAN}{", ".join(GitLabFeature.project_features_available())}' f'{Colors.RESET}') Platform.flush() return Entrypoint.Result.FINALIZE # Handle single project if project: Entrypoint.project( Loading
src/cli/main.py +6 −0 Changes for src/cli/main.py: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -91,6 +91,12 @@ def main() -> None: # Arguments general settings definitions group = parser.add_argument_group('general settings arguments') group.add_argument( '--available-features', dest='available_features', action='store_true', help='List the available GitLab project features known by the tool', ) group.add_argument( '--reset-features', dest='reset_features', Loading
src/features/gitlab.py +28 −0 Changes for src/features/gitlab.py: 28 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -193,6 +193,34 @@ class GitLabFeature: # Result return result # Project available features @staticmethod def project_features_available() -> List[str]: return [ GitLabFeature.Features.ISSUES, GitLabFeature.Features.MERGE_REQUESTS, GitLabFeature.Features.FORKS, GitLabFeature.Features.GIT_LFS, GitLabFeature.Features.CI_CD, GitLabFeature.Features.REPOSITORY, GitLabFeature.Features.CONTAINER_REGISTRY, GitLabFeature.Features.ANALYTICS, GitLabFeature.Features.SECURITY_AND_COMPLIANCE, GitLabFeature.Features.WIKI, GitLabFeature.Features.SNIPPETS, GitLabFeature.Features.PACKAGE_REGISTRY, GitLabFeature.Features.MODEL_EXPERIMENTS, GitLabFeature.Features.MODEL_REGISTRY, GitLabFeature.Features.PAGES, GitLabFeature.Features.MONITOR, GitLabFeature.Features.ENVIRONMENTS, GitLabFeature.Features.FEATURE_FLAGS, GitLabFeature.Features.INFRASTRUCTURE, GitLabFeature.Features.RELEASES, GitLabFeature.Features.SERVICE_DESK, GitLabFeature.Features.AUTO_DEVOPS, ] # Project parse features @staticmethod def project_features_parse(input_string: str) -> List[str]: Loading