azure-devops/azext_devops/dev/boards/commands.py (87 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_work_item_table_output, transform_work_item_query_result_table_output, transform_work_item_relation_type_table_output, transform_work_item_relations, transform_work_item_team_iterations_table_output, transform_work_item_team_iteration_table_output, transform_work_item_team_iteration_work_items, transform_work_item_team_default_iteration_table_output, transform_work_item_team_backlog_iteration_table_output, transform_work_item_project_classification_nodes_table_output, transform_work_item_project_classification_node_table_output, transform_work_item_team_areas_table_output) workItemOps = CliCommandType( operations_tmpl='azext_devops.dev.boards.work_item#{}', exception_handler=azure_devops_exception_handler ) relationsOps = CliCommandType( operations_tmpl='azext_devops.dev.boards.relations#{}', exception_handler=azure_devops_exception_handler ) workProjectAndTeamIterationOps = CliCommandType( operations_tmpl='azext_devops.dev.boards.iteration#{}', exception_handler=azure_devops_exception_handler ) workProjectAndTeamAreaOps = CliCommandType( operations_tmpl='azext_devops.dev.boards.area#{}', exception_handler=azure_devops_exception_handler ) def load_work_commands(self, _): with self.command_group('boards', command_type=workItemOps) as g: # basic work item commands g.command('work-item show', 'show_work_item', table_transformer=transform_work_item_table_output) g.command('work-item create', 'create_work_item', table_transformer=transform_work_item_table_output) g.command('work-item update', 'update_work_item', table_transformer=transform_work_item_table_output) g.command('work-item delete', 'delete_work_item', confirmation='Are you sure you want to delete this work item?') # query commands g.command('query', 'query_work_items', table_transformer=transform_work_item_query_result_table_output) with self.command_group('boards work-item', command_type=relationsOps) as g: # relation commands g.command('relation list-type', 'get_relation_types_show', table_transformer=transform_work_item_relation_type_table_output) g.command('relation add', 'add_relation', table_transformer=transform_work_item_relations) g.command('relation remove', 'remove_relation', table_transformer=transform_work_item_relations, confirmation='Are you sure you want to remove this relation(s)?') g.command('relation show', 'show_work_item', table_transformer=transform_work_item_relations) with self.command_group('boards iteration', command_type=workProjectAndTeamIterationOps) as g: # team iteration commands g.command('team list', 'get_team_iterations', table_transformer=transform_work_item_team_iterations_table_output) g.command('team list-work-items', 'list_iteration_work_items', table_transformer=transform_work_item_team_iteration_work_items) g.command('team set-default-iteration', 'set_default_iteration', table_transformer=transform_work_item_team_default_iteration_table_output) g.command('team set-backlog-iteration', 'set_backlog_iteration', table_transformer=transform_work_item_team_backlog_iteration_table_output) g.command('team show-default-iteration', 'show_default_iteration', table_transformer=transform_work_item_team_default_iteration_table_output) g.command('team show-backlog-iteration', 'show_backlog_iteration', table_transformer=transform_work_item_team_backlog_iteration_table_output) g.command('team remove', 'delete_team_iteration', table_transformer=transform_work_item_team_iteration_table_output) g.command('team add', 'post_team_iteration', table_transformer=transform_work_item_team_iteration_table_output) # team iteration commands g.command('project list', 'get_project_iterations', table_transformer=transform_work_item_project_classification_nodes_table_output) g.command('project update', 'update_project_iteration', table_transformer=transform_work_item_project_classification_nodes_table_output) g.command('project delete', 'delete_project_iteration', confirmation='Are you sure you want to delete this iteration?') g.command('project show', 'get_project_iteration', table_transformer=transform_work_item_project_classification_node_table_output) g.command('project create', 'create_project_iteration', table_transformer=transform_work_item_project_classification_nodes_table_output) with self.command_group('boards area', command_type=workProjectAndTeamAreaOps) as g: # team iteration commands g.command('project list', 'get_project_areas', table_transformer=transform_work_item_project_classification_nodes_table_output) g.command('project delete', 'delete_project_area', confirmation='Are you sure you want to delete this area?') g.command('project create', 'create_project_area', table_transformer=transform_work_item_project_classification_nodes_table_output) g.command('project update', 'update_project_area', table_transformer=transform_work_item_project_classification_nodes_table_output) g.command('project show', 'get_project_area', table_transformer=transform_work_item_project_classification_node_table_output) # team iteration commands g.command('team list', 'get_team_areas', table_transformer=transform_work_item_team_areas_table_output) g.command('team add', 'add_team_area', table_transformer=transform_work_item_team_areas_table_output) g.command('team remove', 'remove_team_area', table_transformer=transform_work_item_team_areas_table_output) g.command('team update', 'update_team_area', table_transformer=transform_work_item_team_areas_table_output)