Как получить Azure DevOps-клиент, используя python скрипт - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь получить клиент Azure DevOps, используя скрипт python. Вот код, который я использую для этой цели:

from azure.devops.connection import Connection
   git_client = p_context.connection.clients.get_git_client()

p_context - токен доступа моей Azure организации DevOps.

Ниже приведена ошибка, с которой я сталкиваюсь:

Traceback (most recent call last):
  File "/home/vsts/work/1/s/IdentifyGitBuildCommitItems.py", line 95, in <module>
    t = get_commit_changes_for_build(context ,azdevops_projectid ,azdevops_build_id ,azdevops_build_number ,bld_commit.id ,azdevops_repository_name)
  File "/home/vsts/work/1/s/IdentifyGitBuildCommitItems.py", line 51, in get_commit_changes_for_build
    comt = git_client.get_changes(p_commit_id ,repository_id=p_repository_name ,project=p_project_id)
  File "/opt/hostedtoolcache/Python/3.6.10/x64/lib/python3.6/site-packages/azure/devops/released/git/git_client_base.py", line 250, in get_changes
    query_parameters=query_parameters)
  File "/opt/hostedtoolcache/Python/3.6.10/x64/lib/python3.6/site-packages/azure/devops/client.py", line 104, in _send
    response = self._send_request(request=request, headers=headers, content=content, media_type=media_type)
  File "/opt/hostedtoolcache/Python/3.6.10/x64/lib/python3.6/site-packages/azure/devops/client.py", line 68, in _send_request
    self._handle_error(request, response)
  File "/opt/hostedtoolcache/Python/3.6.10/x64/lib/python3.6/site-packages/azure/devops/client.py", line 295, in _handle_error
    status_code=response.status_code))
azure.devops.exceptions.AzureDevOpsClientRequestError: Page not found.  Operation returned a 404 status code.
##[error]/opt/hostedtoolcache/Python/3.6.10/x64/bin/python failed with return code: 1

Это полный пример GitHub, которому я следую для моего варианта использования: https://github.com/venkatra/dbt_hacks/blob/PERSISTENT_TABLE_MATERIALIZATION/IdentifyGitBuildCommitItems.py

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

Я выяснил проблему и исправил ошибку. Ошибка была вызвана тем, что мой исходный код присутствовал в моей личной учетной записи GitHub, а не в репозитории Azure Git. Когда я переместил исходный код из личного Git в Azure Git, ошибка хранилища была решена.

0 голосов
/ 14 февраля 2020

Вы можете проверить Azure DevOps Python API и попробовать следующий код:

from azure.devops.connection import Connection
from msrest.authentication import BasicAuthentication
import pprint

# Fill in with your personal access token and org URL
personal_access_token = 'YOURPAT'
organization_url = 'https://dev.azure.com/YOURORG'

# Create a connection to the org
credentials = BasicAuthentication('', personal_access_token)
connection = Connection(base_url=organization_url, creds=credentials)

# Get a client 
git_client = connection.clients.get_git_client()
...