код Python:
Код: Выделить всё
repo_details = get_azure_repo(
context=context,
repo_name=ADO_REPO_NAME,
project_name=PROJECT_NAME
)
# Prepare import request
import_url = f"https://dev.azure.com/{ORGANIZATION_NAME}/{PROJECT_NAME}/_apis/git/repositories/{ADO_REPO_NAME}/importRequests?api-version=7.1-preview.1"
import_payload = {
"parameters": {
"gitSource": {
"url": GITLAB_REPO_URL,
"overwrite": False,
"username": "oauth2",
"password": "GITLAB_PERSONAL_ACCESS_TOKEN" # Placeholder for GitLab PAT
},
"serviceEndpointId": None,
"deleteServiceEndpointAfterImportIsDone": True
}
}
headers = {
"Content-Type": "application/json"
}
# Perform repository import
import_response = requests.post(
import_url,
auth=HTTPBasicAuth("", AZURE_DEVOPS_PAT), # Placeholder for Azure DevOps PAT
headers=headers,
data=json.dumps(import_payload),
verify=False
)
400 Ошибка клиента: неверный запрос URL-адреса: https://dev.azure.com/ /
/_apis/git/repositories//importRequests?api-version=7.1-preview.1
Что я сделал Пробовал:
URL-адрес репозитория GitLab (GITLAB_REPO_URL) правильный и общедоступный.
Токен личного доступа Azure DevOps (AZURE_DEVOPS_PAT) имеет полные разрешения на импорт репозитория и связанные операции.
Имя репозитория (ADO_REPO_NAME) и имя проекта (PROJECT_NAME) существуют и доступны в Azure DevOps.
GITLAB_REPO_URL имеет формат: https://gitlab.example.com//.git.
Я использую соответствующую версию API (7.1-preview.1) согласно документации Microsoft.
Подробнее здесь: https://stackoverflow.com/questions/792 ... devops-via