Skip to content

Commit

Permalink
[Breaking change] Devops Org Extension parameter rename for extension…
Browse files Browse the repository at this point in the history
… management and search command (#890)

* Fix extension search cmd table output

* Update publisher name to id in devops extension management commands

* Rename extension name to id

* Fix back compat check

* Fixing back compat
  • Loading branch information
ishitam8 committed Nov 19, 2019
1 parent 8271f67 commit accd854
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 27 deletions.
4 changes: 2 additions & 2 deletions azure-devops/azext_devops/dev/team/_format.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ def transform_extension_search_results_table_output(result):

def _transform_extension_search_result_row(row):
table_row = OrderedDict()
table_row['Publisher Id'] = row['publisher']['publisherName']
table_row['Extension Id'] = row['extensionName']
table_row['Publisher Name'] = row['publisher']['publisherName']
table_row['Extension Name'] = row['extensionName']
table_row['Name'] = row['displayName']

return table_row
Expand Down
6 changes: 4 additions & 2 deletions azure-devops/azext_devops/dev/team/arguments.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,8 +154,10 @@ def load_team_arguments(self, _):
help='Include built in extensions.')
context.argument('include_disabled', arg_type=get_three_state_flag(),
help='Include disabled extensions.')
context.argument('publisher_name', help='Publisher Name')
context.argument('extension_name', help='Extension Name')
context.argument('publisher_id', help='Publisher Id. This will map to publisher-name \
in the az devops extension search output. ')
context.argument('extension_id', help='Extension Id. This will map to extension-name \
in the az devops extension search output.')
context.argument('search_query', options_list=('--search-query', '-q'), help='Search term')

with self.argument_context('devops') as context:
Expand Down
36 changes: 18 additions & 18 deletions azure-devops/azext_devops/dev/team/extension.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,63 +113,63 @@ def list_extensions(include_built_in=None, include_disabled=None, organization=N
return extensions


def get_extension(publisher_name, extension_name, organization=None, detect=None):
def get_extension(publisher_id, extension_id, organization=None, detect=None):
""" Get detail of single extension
"""
organization = resolve_instance(detect=detect, organization=organization)
extension_client = get_extension_client(organization)
return extension_client.get_installed_extension_by_name(publisher_name=publisher_name,
extension_name=extension_name)
return extension_client.get_installed_extension_by_name(publisher_name=publisher_id,
extension_name=extension_id)


def install_extension(publisher_name, extension_name, organization=None, detect=None):
def install_extension(publisher_id, extension_id, organization=None, detect=None):
""" Install an extension
"""
organization = resolve_instance(detect=detect, organization=organization)
extension_client = get_extension_client(organization)
return extension_client.install_extension_by_name(publisher_name=publisher_name,
extension_name=extension_name)
return extension_client.install_extension_by_name(publisher_name=publisher_id,
extension_name=extension_id)


def uninstall_extension(publisher_name, extension_name, organization=None, detect=None):
def uninstall_extension(publisher_id, extension_id, organization=None, detect=None):
""" Uninstall an extension
"""
organization = resolve_instance(detect=detect, organization=organization)
extension_client = get_extension_client(organization)
return extension_client.uninstall_extension_by_name(publisher_name=publisher_name,
extension_name=extension_name)
return extension_client.uninstall_extension_by_name(publisher_name=publisher_id,
extension_name=extension_id)


def enable_extension(publisher_name, extension_name, organization=None, detect=None):
def enable_extension(publisher_id, extension_id, organization=None, detect=None):
""" Enable an extension
"""
return _update_extension_state(disable=False,
enable=True,
publisher_name=publisher_name,
extension_name=extension_name,
publisher_id=publisher_id,
extension_id=extension_id,
organization=organization,
detect=detect)


def disable_extension(publisher_name, extension_name, organization=None, detect=None):
def disable_extension(publisher_id, extension_id, organization=None, detect=None):
""" Disable an extension
"""
return _update_extension_state(disable=True,
enable=False,
publisher_name=publisher_name,
extension_name=extension_name,
publisher_id=publisher_id,
extension_id=extension_id,
organization=organization,
detect=detect)


def _update_extension_state(disable, enable,
publisher_name, extension_name,
publisher_id, extension_id,
organization=None, detect=None):
organization = resolve_instance(detect=detect, organization=organization)
extension_client = get_extension_client(organization)
current_extension = extension_client.get_installed_extension_by_name(
publisher_name=publisher_name,
extension_name=extension_name)
publisher_name=publisher_id,
extension_name=extension_id)

state_from_service = str(current_extension.install_state.flags)
logger.info('state received from service')
Expand Down
15 changes: 10 additions & 5 deletions scripts/backCompatChecker.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,18 @@
oldArguments = []
newArguments = []
allowedMissingArguments = {}
allowedMissingArguments['repos policy merge-strategy update'] = ['--use-squash-merge']
allowedMissingArguments['repos policy merge-strategy create'] = ['--use-squash-merge']
allowedMissingArguments['pipelines update'] = ['--name']

allowedMissingArguments['devops extension uninstall'] = ['--extension-name', '--publisher-name']
allowedMissingArguments['devops extension install'] = ['--extension-name', '--publisher-name']
allowedMissingArguments['devops extension enable'] = ['--extension-name', '--publisher-name']
allowedMissingArguments['devops extension disable'] = ['--extension-name', '--publisher-name']
allowedMissingArguments['devops extension show'] = ['--extension-name', '--publisher-name']

allowedNewMandatoryArguments = {}
allowedNewMandatoryArguments['devops admin banner update'] = ['--id']
allowedNewMandatoryArguments['devops extension uninstall'] = ['--extension-id', '--publisher-id']
allowedNewMandatoryArguments['devops extension install'] = ['--extension-id', '--publisher-id']
allowedNewMandatoryArguments['devops extension enable'] = ['--extension-id', '--publisher-id']
allowedNewMandatoryArguments['devops extension disable'] = ['--extension-id', '--publisher-id']
allowedNewMandatoryArguments['devops extension show'] = ['--extension-id', '--publisher-id']


# Do not compare these commands
Expand Down

0 comments on commit accd854

Please sign in to comment.