예제 #1
0
        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());
        }
예제 #2
0
        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);
            }
        }