Skip to main content

Requests wrapper for Azure DevOps

Project description

Azure requests

Just a wrapper around Python requests module for communicating with Azure DevOps.

DRY (don't repeat yourself) features

  • Authentication
  • Replace organization, project, and team in URL, so URLs can be copy-pasted from the documentation
  • Handle rate limit
  • Handle ADO temporary server errors
  • Set appropriate Content-Type headers
  • Parse JSON automatically
  • Raise exception for wrong HTTPS statuses

Rationale

Azure DevOps has an excellent HTTPS API with an excellent documentation. It is easy to understand and easy to use. For smaller scripts and projects it is easier to use them as is. Every existing API implementations have many documentation issues.

Example

from azure_requests import AzureRequests

azure_requests = AzureRequests(
    pat="<YOUR PAT>",
    organization="<YOUR ORGANIZATION>",
)

WORK_ITEM_ID = 12345

work_item_fields = azure_requests.call(
    # Copy-pasted from https://learn.microsoft.com/en-us/rest/api/azure/devops/wit/work-items/update?view=azure-devops-rest-7.0&tabs=HTTP
    "PATCH https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{id}?api-version=7.0",
    # custom URL parameters
    params={
        "id": WORK_ITEM_ID,
    },
    # JSON data
    data=[
        {
            "op": "test",
            "path": "/id",
            "value": WORK_ITEM_ID,
        }
    ],
    # syntactic sugar for azure_requests.call(...)[result_key]
    result_key="fields"
)

print(work_item_fields)

For a more detailed example see example.py.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

azure_requests-24.2.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

azure_requests-24.2-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file azure_requests-24.2.tar.gz.

File metadata

  • Download URL: azure_requests-24.2.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for azure_requests-24.2.tar.gz
Algorithm Hash digest
SHA256 39a8cbc15d76249c42f2deb44843d9b1f5d81b6b9b5814a8c0f06a74b310a953
MD5 0d26743279f158ff38329d845d5a0d72
BLAKE2b-256 4ef1589e80519c7d1299f0d70660ddc5b6ad6032d0802968296fadef21d3e325

See more details on using hashes here.

File details

Details for the file azure_requests-24.2-py3-none-any.whl.

File metadata

File hashes

Hashes for azure_requests-24.2-py3-none-any.whl
Algorithm Hash digest
SHA256 29cca17e1d8826fe8b0228fadae338c32c9b1da924fdfb7bca9a0279a5477842
MD5 4e63017ef13ae68a53b15ae033170c0f
BLAKE2b-256 b3e29058a7f1751f763c3e1afbad34d03301a36a3d85c1bc511dd8982f8b5f7a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page