in azure-devops/azext_devops/dev/common/services.py [0:0]
def resolve_instance_project_and_repo(
detect,
organization,
project=None,
project_required=True,
repo=None,
repo_required=False):
init_telemetry()
vsts_tracking_data.properties[ORG_PRESENT_IN_COMMAND] = organization is not None
vsts_tracking_data.properties[PROJECT_PRESENT_IN_COMMAND] = project is not None
vsts_tracking_data.properties[REPO_PRESENT_IN_COMMAND] = repo is not None
if organization is None:
if should_detect(detect):
git_info = get_vsts_info_from_current_remote_url()
organization = git_info.uri
vsts_tracking_data.properties[ORG_PICKED_FROM_GIT] = organization is not None
if project is None:
project = git_info.project
vsts_tracking_data.properties[PROJECT_PICKED_FROM_GIT] = project is not None
if repo is None:
repo = git_info.repo
vsts_tracking_data.properties[REPO_PICKED_FROM_GIT] = repo is not None
if organization is None:
organization = _resolve_instance_from_config(organization)
vsts_tracking_data.properties[ORG_PICKED_FROM_CONFIG] = organization is not None
else:
orgFromConfig = _resolve_instance_from_config(organization)
vsts_tracking_data.properties[ORG_IGNORED_FROM_CONFIG] = orgFromConfig is not None
if project is None:
project = _resolve_project_from_config(project, project_required)
vsts_tracking_data.properties[PROJECT_PICKED_FROM_CONFIG] = organization is not None
else:
projectFromConfig = _resolve_project_from_config(project, False)
vsts_tracking_data.properties[PROJECT_IGNORED_FROM_CONFIG] = projectFromConfig is not None
if not is_valid_url(organization):
raise _team_organization_arg_error()
if project_required and project is None:
_raise_team_project_arg_error()
if repo_required and repo is None:
_raise_repo_requird_arg_error()
if not check_organization_in_azure(organization):
logger.warning("The Azure DevOps Extension for the Azure CLI does not support Azure DevOps Server.")
return organization, project, repo