microsoft / microsoft/azure-devops-python-api

git_client.create_repository() Failing with msrest.exceptions.SerializationError

Offen
#479 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
684
Forks
218
Ø Merge
8 T. 10 Std.
Gemergte PRs (30 T.)
1

Beschreibung

I am trying to create a git repository using the azure devops python module.

Here is the script I am using

personal_access_token = 'xxxxxxxxxxxxxxxxxx'
org_url = 'https://dev.azure.com/xxxxxxxxxxxxxxxxxxxxs'
project_name = 'testProject'

credentials = BasicAuthentication('', personal_access_token)
connection = Connection(base_url=org_url, creds=credentials)

git_client = connection.clients.get_git_client()

git_client.create_repository("repotest", project=project_name, source_ref=None)

The create_repository command is failing with the following error:

Traceback (most recent call last):
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\serialization.py", line 1428, in _deserialize
    found_value = key_extractor(attr, attr_desc, data)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\serialization.py", line 1193, in rest_key_case_insensitive_extractor
    return attribute_key_case_insensitive_extractor(key, None, working_data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\serialization.py", line 1222, in attribute_key_case_insensitive_extractor
    return data.get(found_key)
           ^^^^^^^^
AttributeError: 'str' object has no attribute 'get'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\serialization.py", line 620, in body
    data = deserializer._deserialize(data_type, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\serialization.py", line 1446, in _deserialize
    raise_with_traceback(DeserializationError, msg, err)
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\exceptions.py", line 51, in raise_with_traceback
    raise error.with_traceback(exc_traceback)
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\serialization.py", line 1428, in _deserialize
    found_value = key_extractor(attr, attr_desc, data)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\serialization.py", line 1193, in rest_key_case_insensitive_extractor
    return attribute_key_case_insensitive_extractor(key, None, working_data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\serialization.py", line 1222, in attribute_key_case_insensitive_extractor
    return data.get(found_key)
           ^^^^^^^^
msrest.exceptions.DeserializationError: Unable to deserialize to object: type, AttributeError: 'str' object has no attribute 'get'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\test.py", line 47, in <module>
    git_client.create_repository("infratest", project=project_name, source_ref=None)
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\azure\devops\v7_0\git\git_client_base.py", line 2986, in create_repository
    content = self._serialize.body(git_repository_to_create, 'GitRepositoryCreateOptions')
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\serialization.py", line 622, in body
    raise_with_traceback(
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\exceptions.py", line 51, in raise_with_traceback
    raise error.with_traceback(exc_traceback)
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\serialization.py", line 620, in body
    data = deserializer._deserialize(data_type, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\serialization.py", line 1446, in _deserialize
    raise_with_traceback(DeserializationError, msg, err)
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\exceptions.py", line 51, in raise_with_traceback
    raise error.with_traceback(exc_traceback)
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\serialization.py", line 1428, in _deserialize
    found_value = key_extractor(attr, attr_desc, data)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\serialization.py", line 1193, in rest_key_case_insensitive_extractor
    return attribute_key_case_insensitive_extractor(key, None, working_data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\<user>\Documents\PycharmProjects\projectCreation\venv\Lib\site-packages\msrest\serialization.py", line 1222, in attribute_key_case_insensitive_extractor
    return data.get(found_key)
           ^^^^^^^^
msrest.exceptions.SerializationError: Unable to build a model: Unable to deserialize to object: type, AttributeError: 'str' object has no attribute 'get', DeserializationError: Unable to deserialize to object: type, AttributeError: 'str' object has no attribute 'get'

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere das bereitgestellte Skript und untersuche den Einstiegspunkt create_repository in azure/devops/v7_0/git/git_client_base.py ungefähr bei Zeile 2986. Verfolge anschließend den Fehler bei der Modellserialisierung durch msrest/serialization.py. Als erledigt gilt die Aufgabe, wenn derselbe Aufruf zur Repository-Erstellung ohne den gemeldeten SerializationError abgeschlossen wird; im Issue ist keine Testdatei angegeben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
azure, python
Bereich
api
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.