Forum Discussion
Need help on rest api for creating a report
To create a JSON report of release IDs and related work items from all projects in an Azure DevOps organization. Please try the below mentioned steps.
Steps
1. Authenticate: Use a Personal Access Token (PAT) for authentication
2. Fetch Projects:
GET https://dev.azure.com/{organization}/_apis/projects?api-version=6.0
3. Get Releases for Each Project:
GET https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases?api-version=6.0
4. Fetch Linked Work Items:
GET https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{id}?api-version=6.0
5. Compile Data: Combine projects, releases, and work items into a JSON report
Python Script Example:
import requests
import json
org = "your_organization"
pat = "your_pat"
headers = {"Authorization": f"Basic {requests.auth._basic_auth_str('', pat)}"}
# Fetch projects
projects = requests.get(f"https://dev.azure.com/{org}/_apis/projects?api-version=6.0", headers=headers).json()["value"]
report = []
for project in projects:
project_name = project["name"]
releases = requests.get(f"https://vsrm.dev.azure.com/{org}/{project_name}/_apis/release/releases?api-version=6.0", headers=headers).json()["value"]
for release in releases:
release_id = release["id"]
work_items = [] # Add logic to fetch work items linked to release
report.append({"project": project_name, "release_id": release_id, "work_items": work_items})
# Save to JSON
with open("report.json", "w") as file:
json.dump(report, file, indent=4)