0

我正在编写 azure devops 扩展并想要获取发布列表。

我正在使用具有方法的“ReleaseManagement/Core/RestClient”中的 RestClient getReleases()

它具有 continuationToken 作为参数,但我没有找到任何示例如何从响应标头中获取该令牌。

问题:获取第一批后如何获取下 50 个版本的延续令牌?

4

2 回答 2

0

SDK 没有 api 来获得带有延续令牌的结果。您需要调用release List api 并解析响应标头以获取延续令牌。

于 2018-10-03T08:55:17.630 回答
0

continuationToken 在第一次调用 API 后的响应标头中:

x-ms-continuationtoken: xxxx

您可以使用 rest api 来检索标头信息。这是一个示例供您参考:

using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;

namespace GetReleases
{
    class Program
    {
        public static void Main()
        {
            Task t = GetReleases();
            Task.WaitAll(new Task[] { t });
        }
        private static async Task GetReleases()
        {
            try
            {
                var username = "xxxxx";
                var password = "******";

                using (var client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Accept.Add(
                        new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));

                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic",
                        Convert.ToBase64String(
                            System.Text.ASCIIEncoding.ASCII.GetBytes(
                                string.Format("{0}:{1}", username, password))));

                    using (HttpResponseMessage response = client.GetAsync(
                                "https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases?api-version=4.1-preview.6").Result)
                    {
                        response.EnsureSuccessStatusCode();
                        string responseBody = await response.Content.ReadAsStringAsync();
                        Console.WriteLine(responseBody);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
    }
}
于 2018-09-17T08:20:08.867 回答