azure-devops/azext_devops/dev/repos/commands.py (107 lines of code) (raw):

# -------------------------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See License.txt in the project root for license information. # -------------------------------------------------------------------------------------------- from azure.cli.core.commands import CliCommandType from azext_devops.dev.common.exception_handler import azure_devops_exception_handler from ._format import (transform_pull_request_table_output, transform_pull_requests_table_output, transform_repo_table_output, transform_repos_table_output, transform_ref_table_output, transform_refs_table_output, transform_reviewers_table_output, transform_reviewer_table_output, transform_policies_table_output, transform_policy_table_output, transform_work_items_table_output, transform_repo_import_table_output, transform_repo_policy_table_output, transform_repo_policies_table_output) reposPullRequestOps = CliCommandType( operations_tmpl='azext_devops.dev.repos.pull_request#{}', exception_handler=azure_devops_exception_handler ) reposRefOps = CliCommandType( operations_tmpl='azext_devops.dev.repos.ref#{}', exception_handler=azure_devops_exception_handler ) reposRepositoryOps = CliCommandType( operations_tmpl='azext_devops.dev.repos.repository#{}', exception_handler=azure_devops_exception_handler ) reposImportOps = CliCommandType( operations_tmpl='azext_devops.dev.repos.import_request#{}', exception_handler=azure_devops_exception_handler ) policyOps = CliCommandType( operations_tmpl='azext_devops.dev.repos.policy#{}', exception_handler=azure_devops_exception_handler ) def load_code_commands(self, _): # pylint: disable=too-many-statements with self.command_group('repos', command_type=reposRepositoryOps) as g: # repository commands g.command('create', 'create_repo', table_transformer=transform_repo_table_output) g.command('delete', 'delete_repo', confirmation='Are you sure you want to delete this repository?') g.command('list', 'list_repos', table_transformer=transform_repos_table_output) g.show_command('show', 'show_repo', table_transformer=transform_repo_table_output) g.command('update', 'update_repo', table_transformer=transform_repo_table_output) with self.command_group('repos policy', command_type=policyOps) as g: # repository/ branch policies g.command('list', 'list_policy', table_transformer=transform_repo_policies_table_output) g.show_command('show', 'get_policy', table_transformer=transform_repo_policy_table_output) g.command('delete', 'delete_policy', confirmation='Are you sure you want to delete this policy?') g.command('create', 'create_policy_configuration_file', table_transformer=transform_repo_policy_table_output) g.command('update', 'update_policy_configuration_file', table_transformer=transform_repo_policy_table_output) g.command('approver-count create', 'create_policy_approver_count', table_transformer=transform_repo_policy_table_output) g.command('approver-count update', 'update_policy_approver_count', table_transformer=transform_repo_policy_table_output) g.command('merge-strategy create', 'create_policy_merge_strategy', table_transformer=transform_repo_policy_table_output) g.command('merge-strategy update', 'update_policy_merge_strategy', table_transformer=transform_repo_policy_table_output) g.command('build create', 'create_policy_build', table_transformer=transform_repo_policy_table_output) g.command('build update', 'update_policy_build', table_transformer=transform_repo_policy_table_output) g.command('comment-required create', 'create_policy_comment_required', table_transformer=transform_repo_policy_table_output) g.command('comment-required update', 'update_policy_comment_required', table_transformer=transform_repo_policy_table_output) g.command('work-item-linking create', 'create_policy_work_item_linking', table_transformer=transform_repo_policy_table_output) g.command('work-item-linking update', 'update_policy_work_item_linking', table_transformer=transform_repo_policy_table_output) g.command('file-size create', 'create_policy_file_size', table_transformer=transform_repo_policy_table_output) g.command('file-size update', 'update_policy_file_size', table_transformer=transform_repo_policy_table_output) g.command('required-reviewer create', 'create_policy_required_reviewer', table_transformer=transform_repo_policy_table_output) g.command('required-reviewer update', 'update_policy_required_reviewer', table_transformer=transform_repo_policy_table_output) g.command('case-enforcement create', 'create_policy_case_enforcement', table_transformer=transform_repo_policy_table_output) g.command('case-enforcement update', 'update_policy_case_enforcement', table_transformer=transform_repo_policy_table_output) with self.command_group('repos pr', command_type=reposPullRequestOps) as g: # basic pr commands g.command('create', 'create_pull_request', table_transformer=transform_pull_request_table_output) g.command('update', 'update_pull_request', table_transformer=transform_pull_request_table_output) g.show_command('show', 'show_pull_request', table_transformer=transform_pull_request_table_output) g.command('list', 'list_pull_requests', table_transformer=transform_pull_requests_table_output) g.command('checkout', 'checkout') # pr reviewer commands g.command('reviewer add', 'create_pull_request_reviewers', table_transformer=transform_reviewers_table_output) g.command('reviewer list', 'list_pull_request_reviewers', table_transformer=transform_reviewers_table_output) g.command('reviewer remove', 'delete_pull_request_reviewers', table_transformer=transform_reviewers_table_output) # pr work item commands g.command('work-item add', 'add_pull_request_work_items', table_transformer=transform_work_items_table_output) g.command('work-item list', 'list_pull_request_work_items', table_transformer=transform_work_items_table_output) g.command('work-item remove', 'remove_pull_request_work_items', table_transformer=transform_work_items_table_output) # pr set-vote commands g.command('set-vote', 'vote_pull_request', table_transformer=transform_reviewer_table_output) # pr policy commands g.command('policy list', 'list_pr_policies', table_transformer=transform_policies_table_output) g.command('policy queue', 'queue_pr_policy', table_transformer=transform_policy_table_output) with self.command_group('repos import', command_type=reposImportOps) as g: # import request g.command('create', 'create_import_request', table_transformer=transform_repo_import_table_output) with self.command_group('repos ref', command_type=reposRefOps) as g: # refs commands g.command('create', 'create_ref', table_transformer=transform_ref_table_output) g.command('delete', 'delete_ref', table_transformer=transform_ref_table_output) g.command('list', 'list_refs', table_transformer=transform_refs_table_output) g.command('lock', 'lock_ref', table_transformer=transform_ref_table_output) g.command('unlock', 'unlock_ref', table_transformer=transform_ref_table_output)