我正在使用.NET客户端API访问我们的Azure DevOps服务器。
如何检索Wiki页面列表,以便可以编辑其内容并存储更改?
using (WikiHttpClient client = new WikiHttpClient(App.ProjectUrl, new VssCredentials()))
{
using (Stream s = await client.GetPageTextAsync(ConfigurationManager.AppSettings["RepositoryContext"], ConfigurationManager.AppSettings["WikiPageName"]))
using (StreamReader sr = new StreamReader(s))
{
string text = sr.ReadToEnd();
}
}
我似乎无法找到正确的WikiPageName
,因此我需要该项目所有Wiki页面的列表,以便能够枚举和检索页面的正确名称。
这是要求的屏幕截图:
以下是使用的网址:
http://tfs.***.***.loc:8080/tfs/***Collection/******Manager-Plus/_wiki/wikis/******Manager-Plus.wiki?wikiVersion=GBwikiMaster&pagePath=%2FDM%252DRelease%C3%BCbersicht&pageId=6
这是我正在使用的值:
<add key="WikiPageName" value="DM-Releaseübersicht"/>
答案 0 :(得分:1)
您可以使用方法GetAllWikisAsyc
获取Wiki元数据,结果将获得wikiIdentifier
以在方法GetPageTestAsync
中使用。但是您将需要页面路径,当前您无法使用API来获取路径,您应该手动检查它(即Wiki页面标题)并将其放在方法中:
var wikis = client.GetAllWikisAsync("Project").Result.
using (Stream S = client.GetPageTextAsync("Project", wikis[0].Id, path: "Test").Result)
{
using (StreamReader sr = new StreamReader(s))
{
string text = sr.ReadToEnd();
}
};