Мне нужно создать нового пользователя в Azure DevOps, используя клиентскую библиотеку python для Azure DevOps REST API.
Я написал следующий код:
from azure.devops.connection import Connection
from azure.devops.v5_0.graph.models import GraphUserCreationContext
from msrest.authentication import BasicAuthentication
credentials = BasicAuthentication('', personal_access_token)
connection = Connection(base_url=organization_url, creds=credentials)
graph_client = connection.clients_v5_0.get_graph_client()
addAADUserContext = GraphUserCreationContext("[email protected]")
print(addAADUserContext)
resp = graph_client.create_user(addAADUserContext)
print(resp)
Получаю вывод:
{'additional_properties': {}, 'storage_key': '[email protected]'}
И при вызове метода create_user возникает ошибка:
azure.devops.exceptions.AzureDevOpsServiceError: VS860015: Must have exactly one of originId or principalName set.
Собственно, что я должен передать GraphUserPrincipalNameCreationContext функции create_user.
Я нашел образец .NET, который делает это в функции с именем AddRemoveAADUserByUPN (): https://github.com/microsoft/azure-devops-dotnet-samples/blob/master/ClientLibrary/Samples/Graph/UsersSample.cs < / а>
GraphUserPrincipalNameCreationContext - это интерфейс в этом примере. Но питон не поддерживает интерфейсы.
Итак, как это реализовать на Python?