public/maester/azuredevops/Test-AzdoResourceUsageProject.ps1
|
<# .SYNOPSIS Returns a boolean depending on the configuration. .DESCRIPTION Checks the status of limitation regarding projects in Azure DevOps, As it supports up to 1,000 projects within an organization https://learn.microsoft.com/en-us/azure/devops/organizations/projects/about-projects?view=azure-devops .EXAMPLE ``` Test-AzdoResourceUsageProject ``` Returns a boolean depending on the configuration. .LINK https://maester.dev/docs/commands/Test-AzdoResourceUsageProject #> function Test-AzdoResourceUsageProject { [CmdletBinding()] [OutputType([bool])] param() if ($null -eq (Get-ADOPSConnection)['Organization']) { Write-Verbose 'Not connected to Azure DevOps' Add-MtTestResultDetail -SkippedBecause Custom -SkippedCustomReason 'Not connected to Azure DevOps' return $null } $Projects = (Get-ADOPSResourceUsage -Force).Projects $CurrentUsage = $($Projects.count / $Projects.limit).ToString("P") if ($($Projects.count / $Projects.limit) -gt 0.9) { $resultMarkdown = "Project Resource Usage limit is greater than 90% - Current usage: $CurrentUsage" $result = $false } else { $resultMarkdown = "Project Resource Usage limit is at $CurrentUsage" $result = $true } Add-MtTestResultDetail -Result $resultMarkdown return $result } |