38 lines
1.8 KiB
PowerShell
38 lines
1.8 KiB
PowerShell
$p = '19mNqNXIoZ4c3EriFNfzfkgpGNOvLjpOqqZnTFXKnzjxWJ5zURjgJQQJ99CBACAAAAAamI5kAAASAZDOAMPp'
|
|
$t = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(':' + $p))
|
|
$h = @{ Authorization = 'Basic ' + $t }
|
|
$base = 'https://dev.azure.com/CN-Squad/Invista%20FIDC%20-%20Nexus/_apis'
|
|
|
|
# Buscar os 10 builds mais recentes do projeto (qualquer pipeline, branch devops)
|
|
$builds = Invoke-RestMethod -Uri "$base/build/builds?branchName=refs/heads/devops&`$top=10&api-version=7.0" -Headers $h
|
|
Write-Host "Builds recentes na branch devops:"
|
|
$builds.value | Select-Object id,
|
|
@{n='pipeline';e={$_.definition.name}},
|
|
@{n='status';e={$_.status}},
|
|
@{n='result';e={if($_.result){$_.result}else{'(running)'}}},
|
|
@{n='queued';e={$_.queueTime}} |
|
|
Format-Table
|
|
|
|
# Pegar o mais recente do mfe-shell
|
|
$shell = $builds.value | Where-Object { $_.definition.name -eq 'mfe-shell' } | Select-Object -First 1
|
|
if ($shell) {
|
|
$buildId = $shell.id
|
|
Write-Host "=== mfe-shell build mais recente: $buildId ==="
|
|
if ($shell.validationResults) {
|
|
Write-Host "VALIDATION ERRORS:"
|
|
$shell.validationResults | ForEach-Object { Write-Host " [$($_.result)] $($_.message)" }
|
|
}
|
|
$tl = Invoke-RestMethod -Uri "$base/build/builds/$buildId/timeline?api-version=7.0" -Headers $h
|
|
if ($tl.records.Count -gt 0) {
|
|
$tl.records | Where-Object { $_.result -eq 'failed' } |
|
|
Select-Object type, name, result, errorCount | Format-Table
|
|
$failedStep = $tl.records | Where-Object { $_.result -eq 'failed' -and $_.type -eq 'Task' } | Select-Object -First 1
|
|
if ($failedStep -and $failedStep.log) {
|
|
Write-Host "LOG: $($failedStep.name)"
|
|
$logContent = Invoke-RestMethod -Uri "$($failedStep.log.url)?api-version=7.0" -Headers $h
|
|
$logContent -split "`n" | Select-Object -Last 40 | ForEach-Object { Write-Host $_ }
|
|
}
|
|
} else {
|
|
Write-Host "Timeline vazia."
|
|
}
|
|
}
|