In this blog,
I am going to explain how we can manage the licenses in Azure DevOps in a
better way.
We have
different type of licenses that are being provided by Microsoft to access Azure
DevOps at different price levels and privileges.
Most widely used licenses to
access the ADO are Basic and Basic+Test Plan which costs to $5 and $52
user/month. Allocation of these licenses are pretty easy and can be done
seamlessly. But the monitoring of these licenses, whether the people are using
these licenses appropriately is very difficult. At times we might have
allocated some folks Basic+Test Plans license and he might have moved to some
other project with another tool, but still exists in ADO without accessing ADO
and wasting the license. Especially during these times when companies are
planning about cost-cutting, this document might help them.
The steps to monitor the usage of
ADO by users using ADO rest API can be done as below:
1.First get the list of all users
with their licenses and last Access date using the User
Entitlements - List API:
Example:
From the response collect all the users Id, licenses and
last access date:
Now check whether the user’s last
access date is more than 30 or not. 30 is a random number which we decided, so
that those who have not used ADO for last 30 days, we will send a warning
message to use ADO or else the license will be downgraded to stakeholder one.
Now if you want to downgrade
directly the license of those users who have not used the ADO from last 30 days
you can use API Update
user entitlements:
PATCH https://vsaex.dev.azure.com/{organization}/_apis/userentitlements/{userId}?api-version=5.1-preview.2
Once
we patch and update the license, we can see in ADO UI as below:
API response:
We can execute these API’s as a scheduled job which might execute twice a month to monitor the licenses. The entire source will be uploaded to my git repository soon.
No comments:
Post a Comment