код Python:
Код: Выделить всё
payload = {
"authorization":{"scheme":"UsernamePassword","parameters":{"username":"{User name}","password":"{github access token }"}},
"data":{"accessExternalGitServer":"true"},
"name":"{name}",
"serviceEndpointProjectReferences":[{"description":"","name":"{Service connection name}","projectReference":{"id":"{Project Id}","name":"{Project Name}"}}],
"type":"git",
"url":"{Target Git URL}",
"isShared":false,
"owner":"library"
Код: Выделить всё
service_endpoint_url = f"https://dev.azure.com/{ORGANIZATION_NAME}/{project_name}/_apis/serviceendpoint/endpoints?api-version=6.0-preview.4"
headers = {"Content-Type": "application/json"}
response = requests.post(
service_endpoint_url,
auth=HTTPBasicAuth("", PERSONAL_ACCESS_TOKEN),
headers=headers,
data=json.dumps(payload),
verify=False,
)
Код: Выделить всё
# Prepare import request
import_url = f"https://dev.azure.com/{ORG_NAME}/{PROJECT}/_apis/git/repositories/{REPO_NAME}/importRequests?api-version=7.1-preview.1"
import_payload = {
"parameters": {
"gitSource": {
"url": GITLAB_REPO_URL,
"overwrite": False,
},
"serviceEndpointId": connection_id,
"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