Hello Prashant !
Thank you for posting on Microsoft Learn Q&A.
There’s no built-in inactive project flag in Azure DevOps and there still isn’t a first class archive project feature, so you have to infer inactivity from activity signals and then lock or delete/restore as policy.
https://stackoverflow.com/questions/73369803/archive-a-devops-project
You need to pick your inactivity window and pull last activity per project from multiple sources, then take the max of those timestamps:
- for boards, use the Analytics OData feed to query WorkItems by ChangedDate (last work-item change) https://learn.microsoft.com/en-us/azure/devops/report/extend-analytics/analytics-recipes?view=azure-devops
- for pipelines, use Analytics entities for pipelines or builds to get the last completed run per pipeline https://learn.microsoft.com/en-us/azure/devops/report/analytics/entity-reference-pipelines?view=azure-devops
- for repos, use Git Pushes – List or OData if you already model it and take the latest push date and be aware of Git different date types, but ADO also tracks when a commit was first pushedhttps://learn.microsoft.com/en-us/rest/api/azure/devops/git/pushes/list?view=azure-devops-rest-7.1
The project summary page only shows 1/7/30-day activity it can be useful for a quick analysis but not for longer windows. https://learn.microsoft.com/en-us/azure/devops/organizations/projects/project-vision-status?view=azure-devops
Then report projects whose max activity date is less than today window and make them private, remove the permissions ,lock repos and disable pipelines or delete the project.