1

我正在使用 .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 页面的列表,以便能够枚举和检索页面的正确名称。


编辑

这是请求的屏幕截图:

发布-Übersicht

这是使用的网址:

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"/>

4

1 回答 1

1

您可以使用该方法获取 wikis 元数据GetAllWikisAsyc,在结果中您将获得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();
    }
};
于 2019-10-17T09:08:55.610 回答