tfsbuild - 找出有多少用户正在使用/创建 TFS 构建
问题描述
我正在使用 TFS 2015 服务器。作为管理员,我想看看有多少用户正在使用/创建 TFS 构建到 tfs 2015 服务器?是否可以使用查询从 TFS SQL 数据库中获取这些数据?
解决方案
我想看看有多少用户正在使用/创建 TFS 构建到 tfs 2015 服务器?
恐怕没有办法让使用/创建 TFS 构建的用户。
我们可以使用 REST API Builds - List来获取所有流水线的当前状态,然后判断流水线的状态是否为inprocess
,如果是,则输出使用该流水线的用户名。
以下是我的测试样本:
$connectionToken="$(PAT)"
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))
$PipelineUrl = "https://dev.azure.com/<OrganizationName>/Test/_apis/build/builds?api-version=5.0"
$Pipelines = (Invoke-RestMethod -Uri $PipelineUrl -Method Get -UseDefaultCredential -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)})
$PipelinesId = $Pipelines.value.id
ForEach ($Pt in $PipelinesId)
{
$baseUrl = "https://dev.azure.com/<OrganizationName>/Test/_apis/build/builds/$($Pt)?api-version=5.1"
$response = (Invoke-RestMethod -Uri $baseUrl -Method Get -UseDefaultCredential -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)})
$PipelinesStaus = $($response.status | ConvertTo-Json -Depth 100)
If("$PipelinesStaus" -eq '"inProgress"'){
$WhoUsingPipeline = $($response.requestedBy.displayName | ConvertTo-Json -Depth 100)
Write-Host "People who using builds = $WhoUsingPipeline"
}
}
测试结果:
推荐阅读
- php - 将数据插入 MySQL 数据库时使用 PHP 替换 CSV 文件中的空值
- reactjs - 类型 ' 上不存在属性 'mockResolvedValue'
> - azure - 如何使用无服务器为 Azure Functions 指定自定义域和证书?
- angular - 我可以在 Angular 中创建自定义“routerLink”吗?
- alfresco - 带有 LDAP 的 Alfresco,加密安全凭证
- html - Safari 中的线性渐变伪影
- c# - 字典中的 json 文件中的错误输出
C# - python - 具有多个条件的 Python 列表理解
- docker - 限制 docker 容器中的 MarkLogic 内存消耗
- angular - 从 Angular 7 迁移到 Angular 8 及进一步迁移时,用于在 Angular 项目中添加依赖模块版本的方法