microsoft / microsoft/azure-devops-python-api

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

Đang mở
#479 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
Python
Star
684
Fork
218
Merge trung bình
8 ngày 10 giờ
Pull request đã merge (30 ngày)
1

Mô tả

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'

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Tái hiện script được cung cấp và kiểm tra entry point create_repository trong azure/devops/v7_0/git/git_client_base.py quanh dòng 2986, sau đó lần theo lỗi tuần tự hóa model qua msrest/serialization.py. Được xem là hoàn tất khi cùng lời gọi tạo repository hoàn thành mà không có SerializationError đã báo cáo; issue không xác định file kiểm thử nào.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
azure, python
Lĩnh vực
api
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.