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