public IResult CheckWeCanGetBuilds(AdoProjectUrls adoProjectUrls, string?personalAccessToken = null) { var buildsUrl = $"{adoProjectUrls.ProjectUrl}/_apis/build/builds?$top=1&api-version=4.1"; var(status, jObject) = client.Get(buildsUrl, personalAccessToken ?? GetPersonalAccessToken(adoProjectUrls)); if (!status.IsSuccessStatusCode()) { return(Result.Failed($"Error while checking whether we can retrieve builds from Azure DevOps: {status.ToDescription(jObject, true)}")); } return(Result.Success()); }
string?GetPersonalAccessToken(AdoProjectUrls adoUrl) { try { var azureDevOpsConnection = store.GetMostQualifiedConnection(adoUrl); systemLog.Info(azureDevOpsConnection?.PersonalAccessToken?.Value != null ? $"Found the PersonalAccessToken for {adoUrl.ProjectUrl ?? adoUrl.OrganizationUrl}" : $"Could not find a PersonalAccessToken for {adoUrl.ProjectUrl ?? adoUrl.OrganizationUrl}"); return(azureDevOpsConnection?.PersonalAccessToken?.Value); } catch { return(null); } }