A high level wrapper around the AzureDevops API including OOP principals and state management
Project description
Ado Wrapper
This is a Python Package which works as an interface to the Azure DevOps API
It is essentially a wrapper for the (horrible to work with) ADO API, and supports OOP principals.
Any resource can be fetched by calling the <resource>.get_by_id() function.
It also includes a solution for managing resources created by this script, which is extremely useful for testing the creation of random resources. To delete all resources created by this, run the main module with the "--delete-everything" flag.
If you're reading this readme not from the code, here's a link to the github repo
Setup
It's recommended you create your own ADO organisation and project for testing/development, this is easy and means that
you won't delete anything or cause problems, but may mean you're missing features such as certain teams or repos.
To test/add to this locally, you'll need to create a few files:
For tests, add tests/test_data.txt, which contains:
ADO Organisation name
ADO Project name (e.g. MyProject)
ADO Secondary project name (e.g. can be empty for your testing, so just an empty line unless you're testing the client)
Email: e.g. first.last@company.com
Pat token (with good perms), https://dev.azure.com/<ORG>/_usersSettings/tokens
Existing User ID, print(AdoUser.get_by_email(ado_client, "first.last@company.com").origin_id)
Existing user descriptor, print(AdoUser.get_by_email(ado_client, "first.last@company.com").descriptor_id)
For development, I recommend adding a script.py with this boiler plate:
with open("credentials.txt", "r") as file:
email, ado_access_token, ado_org_name, ado_project = file.read().split("\n")
from ado_wrapper import AdoClient, Secret
from ado_wrapper.resources import *
from ado_wrapper.errors import *
ado_client = AdoClient(email, ado_access_token, ado_org_name, ado_project)
And then fill credentials.txt with email, PAT, org, project on different lines.
Commands Used To Ensure Quality
pylint .
mypy . --strict
flake8 --ignore=E501,E126,E121,W503,W504,PBP --exclude=script.py
bandit -c pyproject.toml -r .
ruff check
black . --line-length 140
python3.11 -m pytest tests/ -vvvv -s
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ado_wrapper-1.47.0.tar.gz.
File metadata
- Download URL: ado_wrapper-1.47.0.tar.gz
- Upload date:
- Size: 106.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.11.11 Darwin/24.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c06686c97f12fb30e25a45e4b2df4db0a3a58f27eea5ba3b5aba6622104974c
|
|
| MD5 |
10534890c75149f1f93a0940b1641972
|
|
| BLAKE2b-256 |
f311434de6c895b6a4ae0cbfb9aa7c62093e5a874fd4e497e986b012aa51d099
|
File details
Details for the file ado_wrapper-1.47.0-py3-none-any.whl.
File metadata
- Download URL: ado_wrapper-1.47.0-py3-none-any.whl
- Upload date:
- Size: 135.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.6.1 CPython/3.11.11 Darwin/24.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
052f36469252c1a2b27df21671309ec3953af677ccbe3de23caedfd8301787e3
|
|
| MD5 |
b27d117e7ff9283cc927ac6e6380f5ee
|
|
| BLAKE2b-256 |
c01d57fa0284dd00f18b7c872357515ac488bcfcc27fe4ad3cb4389c2cc65d7a
|