Ошибка 400: «Неверный запрос» при импорте репозитория GitLab в Azure DevOps через REST APIPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка 400: «Неверный запрос» при импорте репозитория GitLab в Azure DevOps через REST API

Сообщение Anonymous »

Я пытаюсь импортировать репозиторий GitLab в Azure DevOps с помощью REST API. Однако во время процесса я сталкиваюсь с ошибкой 400 Bad Request. Ниже приведена основная часть кода:
код 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,
)
connection_id = response.json()["id"]

Код: Выделить всё

# 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»