CCOInsights
Azure-DevOps
CCOInsights | Azure-DevOps | |
---|---|---|
1 | 2 | |
692 | 779 | |
0.6% | - | |
1.7 | 6.0 | |
9 days ago | 10 days ago | |
Mathematica | PowerShell | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
CCOInsights
-
Azure DevOps REST API
There are some nice powerbi dashboards created by Microsoft - https://github.com/Azure/CCOInsights
Azure-DevOps
-
Fetch the details of the approvers in Environments inside Azure Pipelines
<# References1. https://github.com/vinijmoura/Azure-DevOps/blob/master/PowerShell/ListEnvironmentsDeploys/ListEnvironmentsDeploys.ps1#> $PAT = "PAT\_TOKEN"$Organization = "ORGANIZATION\_NAME"$AzureDevOpsAuthenicationHeader = @{Authorization = 'Basic ' + \[Convert\]::ToBase64String(\[Text.Encoding\]::ASCII.GetBytes(":$($PAT)")) }$UriOrganization = "https://dev.azure.com/$($Organization)/"$ProjectID = "PROJECT\_NAME"$ReportFlag = 0MSTEAM\_WEBHOOK=""#### # Get Build Definitions$uriBuildDefinitions = $UriOrganization + "$ProjectID/\_apis/build/definitions?api-version=7.1-preview.7"$BuildDefintionsResult = Invoke-RestMethod -Uri $uriBuildDefinitions -Method get -Headers $AzureDevOpsAuthenicationHeader # Iterate through Build Definitions and get the latest build instance against the build definition ID Foreach ($builDef in $BuildDefintionsResult.value) { # https://learn.microsoft.com/en-us/rest/api/azure/devops/build/latest/get?view=azure-devops-rest-7.1 $uriLatestBuild = $UriOrganization + "$($ProjectID)/\_apis/build/latest/$($builDef.id)?branchName=master&api-version=7.0-preview.1" Try { $URLmaker = $UriOrganization + "$ProjectID" $LatestBuildResult = Invoke-RestMethod -Uri $uriLatestBuild -Method get -Headers $AzureDevOpsAuthenicationHeader # Get the details about the environments $uriEnvironments = "$($URLmaker)/\_apis/distributedtask/environments?api-version=7.1-preview.1" $EnvironmentsResult = Invoke-RestMethod -Uri $uriEnvironments -Method get -Headers $AzureDevOpsAuthenicationHeader Foreach ($environment in $EnvironmentsResult.value) { # Pull the details of build instance that deployed to production. if ($environment.name -eq "Production") { $uriEnvironmentDeployment = "$($URLmaker)/\_apis/distributedtask/environments/$($environment.id)/environmentdeploymentrecords?top=1&api-version=7.1-preview.1" $EnvironmentDeploymentResult = Invoke-RestMethod -Uri $uriEnvironmentDeployment -Method get -Headers $AzureDevOpsAuthenicationHeader # Checks if there a record exists and also if the stage is production if (($EnvironmentDeploymentResult.value.Count -gt 0) -and ($EnvironmentDeploymentResult.value\[0\].stageName -eq "Packer\_Build")) { $GetTimeline = $URLmaker + "/\_apis/build/builds/$($LatestBuildResult.id)/timeline?api-version=7.1-preview.2" $GetTimelineResult = Invoke-RestMethod -Uri $GetTimeline -Method get -Headers $AzureDevOpsAuthenicationHeader $FilterRecords = $GetTimelineResult.records if ($FilterRecords.Count -gt 0) { foreach ($record in $FilterRecords) { if ($record.type -eq "Stage" -and $record.name -eq 'Packer\_Build' -and $record.result -eq 'succeeded' ) { if ($((get-date ($LatestBuildResult.finishTime)).ToString("MM/dd/yyyy")) -eq $((Get-Date).ToString("MM/dd/yyyy"))) { $proddeploystarttime = $(Get-Date $record.startTime).ToUniversalTime().ToString("MM/dd/yyyy HH:mm:ss") $proddeployfinishtime = $(Get-Date $record.finishTime).ToUniversalTime().ToString("MM/dd/yyyy HH:mm:ss") $LatestBuildResult | Select-Object @{n = "Pipeline"; e = { $\_.definition.name } }, @{n = "Requestor"; e = { $\_.requestedFor.displayName } }, @{n = "StartTime"; e = { $($proddeploystarttime) } }, @{n = "FinishTime"; e = { $($proddeployfinishtime) } }, @{n = "Build#"; e = { $\_.buildNumber } }, @{n = "Status"; e = { $\_.result } }, @{n = "Project"; e = { $\_.project.name } }, @{n = "URL"; e = { "$URLmaker/\_build/results?buildid=" + $\_.id } } | Export-Csv -Path ./daily\_deployment\_report.csv -NoTypeInformation -Append -Encoding UTF8 $ReportFlag = 1 } } } } } } } } Catch { if ($\_.ErrorDetails.Message) { Write-Host $\_.ErrorDetails.Message } else { Write-Host $\_ } }
-
Azure DevOps REST API
I would check out this GitHub Author for a ton of their content on pulling various pieces of data from AzDO and correlating it together. It's a pretty epic amount of content. https://github.com/vinijmoura/Azure-DevOps
What are some alternatives?
Power-BI-Real-Time-Slideshow - See my alternate solution instead: https://www.displagent.io. ------------- This is in response to a helpdesk ticket on Power BI's support website: https://community.powerbi.com/t5/Service/Displaying-Power-BI-Web-Reports-As-SlideShow/td-p/159453
Cloud-Native-Guide - Cloud Native Guide
azure - Azure-related repository
public-cloud-roadmap - Agile roadmap for OVHcloud Public Cloud services. Discover the features our product teams are working on, comment and influence our backlog.
azure-cheat-sheet - Every product, feature and service in the Azure family.
devdeals.org - A list of SaaS, PaaS, IaaS and other software offerings that have special deals for developers
cloudpods - A cloud-native open-source unified multi-cloud and hybrid-cloud platform. 开源、云原生的多云管理及混合云融合平台