我正在编写 azure devops 扩展并想要获取发布列表。
我正在使用具有方法的“ReleaseManagement/Core/RestClient”中的 RestClient getReleases()
。
它具有 continuationToken 作为参数,但我没有找到任何示例如何从响应标头中获取该令牌。
问题:获取第一批后如何获取下 50 个版本的延续令牌?
我正在编写 azure devops 扩展并想要获取发布列表。
我正在使用具有方法的“ReleaseManagement/Core/RestClient”中的 RestClient getReleases()
。
它具有 continuationToken 作为参数,但我没有找到任何示例如何从响应标头中获取该令牌。
问题:获取第一批后如何获取下 50 个版本的延续令牌?
SDK 没有 api 来获得带有延续令牌的结果。您需要调用release List api 并解析响应标头以获取延续令牌。
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());
}
}
}
}