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-25.1.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

azure_requests-25.1-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: azure_requests-25.1.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.13

File hashes

Hashes for azure_requests-25.1.tar.gz
Algorithm Hash digest
SHA256 01ecfc4e1e022bab65ad194ca67a49075516d27d8ef64b3d47d57a9d0f692843
MD5 45fae54ab4b596c454317d9fc7510f91
BLAKE2b-256 e9eed306316267fff04dfe77f5cf6b1f5c443b5f23fda4270e9878f9439cb6fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for azure_requests-25.1-py3-none-any.whl
Algorithm Hash digest
SHA256 655b9de839b29dbca6857c139db360ea8363f9a5e24af5be1a9bebbfc312845b
MD5 d29f45616b0f52cdbc1d53f92d5c927b
BLAKE2b-256 b1efb74da07abdd8448d89a5d9406b1eb314839b1c91dd0cdddd3b4b53ff539d

See more details on using hashes here.

Supported by

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