Конвейер Azure DevOps не отображает все запуски

У меня возникают проблемы при попытке отобразить все прогоны одного из моих конвейеров. Я работаю в локальной среде Azure Devops 2020 и получаю постоянно вращающийся диалог загрузки. У меня нет этой проблемы ни в одном из моих других конвейеров. Кажется, что если я фильтрую по состоянию выполнения в проблемном конвейере, я могу обойти это и просмотреть некоторые из запусков, но для других состояний в моем случае «Успешно» и «Успешно с проблемами» я продолжаю получать вращающийся символ загрузки. Любой совет?


person user3591385    schedule 04.12.2020    source источник
comment
Привет, есть ли обновления по этой проблеме? Пожалуйста, проверьте, может ли мой ответ вам помочь, и не стесняйтесь комментировать. Вы можете сосредоточиться на предложении 4, потому что многие люди решили проблему с его помощью.   -  person Jane Ma-MSFT    schedule 15.12.2020


Ответы (1)


Вот некоторые предложения:

Предложение 1

Очистите кеш или загрузите страницу из другого браузера и перезапустите сервер Azure DevOps и компьютер с SQL Server.

Предложение 2

Создайте новый конвейер с теми же настройками, что и у затронутого конвейера.

Предложение 3

Вы можете использовать REST API Сборки - Список, чтобы получить все запуски вашего конвейера.

GET https://dev.azure.com/{organization}/{project}/_apis/build/builds?api-version=6.0

Потому что причиной этого вопроса может быть слишком длинный список запусков. Вы можете использовать REST API Builds-Delete, чтобы удалить некоторые прогоны, вам не нужно проверять, можно ли решить вопрос.

DELETE https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}?api-version=6.0

Предложение 4

Вы можете обратиться к аналогичному вопросу в сообществе разработчиков. Комментарий Яна Зельбаха предлагает решение.

1. Запустите следующий сценарий SQL, чтобы найти LeaseId повторяющихся строк. Измените имя коллекции Db на свое.

SELECT LeaseId
FROM [AzureDevOps_DefaultCollection].[Build].[tbl_RetentionLease] 
 WHERE
partitionId > 0 AND
LeaseId NOT IN (
SELECT MIN(LeaseId) as LeaseId
  FROM [AzureDevOps_DefaultCollection].[Build].[tbl_RetentionLease]
    WHERE PartitionId > 0
    GROUP BY OwnerId,RunId
)

2. объедините LeaseIds в список, разделенный запятыми.

3. Запустите следующий сценарий PowerShell, указав org, project, pat и leaseId, передав список LeaseId, разделенный запятыми (помните, если локально измените https://dev.azure.com в $ uri на вашем локальном сервере)

$org = "";
$project = "";
$pat = "";
$encoded = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes([string]::Format("{0}:{1}", "", $pat)));
$accessToken = "Basic $encoded";
$leaseId = "";
$uri = "https://dev.azure.com/$org/$project/_apis/build/retention/leases?ids=$leaseId&api-version=6.0-preview";
try {
$response = Invoke-RestMethod -uri $uri -method DELETE -Headers @{ Authorization = $accessToken } -ContentType "application/json"
$response
}
catch {
$errorDetails = ConvertFrom-Json $_.ErrorDetails
Write-Host "StatusCode: $($_.Exception.Response.StatusCode)`nExceptionType: $($errorDetails.typeKey)`nExceptionMessage: $($errorDetails.message)"
#StackTrace: $($errorDetails.stackTrace)" 
}
person Jane Ma-MSFT    schedule 07.12.2020