如何使用Azure Dev Ops Service rest API以编程方式列出Wiki页面

时间:2019-07-17 15:22:57

标签: c# azure-devops

我正在尝试使用Azure Dev Ops rest API从我的azure dev ops站点上的Wiki检索所有Wiki页面。虽然我可以通过以下方式检索主要Wiki: https://dev.azure.com/ {项目名称} / _ apis / wiki / wikis / {wiki标识符} /

如果我这样添加/ pages: https://dev.azure.com/ {项目名称} / _ apis / wiki / wikis / {wiki标识符} /页面

就像在文档上说的那样,我得到一个404页面未找到错误。我还有更多需要的字段吗?我当前传递的唯一标头是我的PAT。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用此api:

Get  https://dev.azure.com/{org name}/{project name}/_apis/wiki/wikis/{wikiIdentifier}/pages?path=/&recursionLevel=OneLevel&api-version=5.1

注意:如果要列出所有维基页面,则需要在URL中指定recursionLevel的值。这是关键字,用于指定子页面检索的递归级别。

有关此递归级别的更多详细信息:

enter image description here

您也可以参考此文档:Get page as JSON with recursion level了解更多示例。

此外,对于以编程方式列出具有REST API的Wiki页面,这里有一个示例,可以使用powershell执行该示例以供您参考:

$uri = "https://dev.azure.com/{org name}/{project name}/_apis/wiki/wikis/{wikiIdentifier}/pages?path=/&recursionLevel=OneLevel&api-version=5.1"
$connectionToken="{Your PAT token}"
$base64AuthInfo = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))
$projects = Invoke-RestMethod -Uri $uri -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method GET
Write-Host "Pipeline = $($projects| ConvertTo-Json -Depth 100)"