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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: azure_requests-24.1.tar.gz
  • Upload date:
  • Size: 4.6 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.1.tar.gz
Algorithm Hash digest
SHA256 859a694db7d59464cf1ee06e71d187db808c3601710de2e7e712228e28879e29
MD5 8eebcac110c9279cc784af552524b4fc
BLAKE2b-256 17b8e42fc666c780d8942320009a91127767564d4bc07bb5016cc444e2e73ef8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for azure_requests-24.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f41489bd5dae6269f79b78581c39626772fa8df021ea2e95c25621ebf4825c23
MD5 a98249201ae83dd3227a6f30876154f1
BLAKE2b-256 c76ec8a2251b43492e1242d529ebfa1404b97ca530c6c1fa64ff0f1eb0b155dc

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