azure - 您可以使用 DevOps 工件查询检索 Azure DevOps Wiki 吗?

标签 azure rest azure-devops

我一直在尝试检索链接到工作项的 Wiki URL,并且我已经能够检索工作项和 Wiki 页面之间的链接。但是,链接返回是 VSTFS 工件链接。是否可以使用提供的查询检索真实的 URL at this page of REST documentation ,或者这仅适用于检索工作项?目前,我在尝试使用类似于下面的 TFS 链接时收到 TF400898 错误。

vstfs:///Wiki/WikiPage/{vstfs identification string}

编辑:当前功能

def getWikiURL(azureToken, parsedTFS):
  # parsedTFS[0] == Project ID, parsedTFS[1] == Wiki Repo ID, parsedTFS[2] == [page1, page2, page3]

   reqURL = "https://dev.azure.com/{Organization}/" + str(parsedTFS[0]) + "/_apis/_wiki/wikis/" + str(parsedTFS[1]) + "/pages/"

for pageDef in parsedTFS[2]:
  reqURL = reqURL + "/" + pageDef

authorization = str(b64.b64encode(bytes(':'+azureToken, 'ascii')), 'ascii)

headers = {
   'Accept': 'application/json',
   'Authorization' : 'Basic '+authorization
}

r = requests.get(url=reqURL, headers=headers)

strR = r.content.decode("utf-8-sig")
print(strR)

print(strR) 将 b'' 写入控制台

最佳答案

使用此 Rest API:Work Items - Get Work Item ,我们可以通过 request url 获取该工作项的相关 wiki url:

Get https://dev.azure.com/{organization}/{project}/_apis/wit/workitems/{id}?$expand=Relations&api-version=6.0 

从响应正文中,我们可以发现 ArtifactLink 的 url 如下所示:

url": "vstfs:///Wiki/WikiPage/7e8XXXXXX3c79%2Ff2bb2XXXXXXe7431d5a61%2Fwiki1".

然后使用这个 Rest API:Artifact Uri Query - Query将工作项链接到此 wiki 页面。

要检索 VSTFS 工件链接的真实 URL,请按照以下步骤操作。请注意,使用 PostMan 来获取结果。并使用PAT authorization具有完全访问权限。

  1. 经过研究,我发现实际上 VSTFS 工件链接的格式如下:
vstfs:///Wiki/WikiPage/{project id}%2F{wiki repository id}%2F{wiki page name}
  • 使用此请求网址:
  • Get https://dev.azure.com/{organization}/{project}/_apis/wiki/wikis/{wiki repository id}/pages//{wiki page name}
    

    它的响应会告诉您 wiki 页面的 ID。

    如果您使用嵌套页面(即{父页面}/{子页面}),则请求网址如下:

    Get https://dev.azure.com/{organization}/{project}/_apis/wiki/wikis/{wiki repository id}/pages//{parent page}/{sub page}
    
  • 最后,wiki 页面的真实 URL 如下所示:
  • https://dev.azure.com/{organization}/{project}/_wiki/wikis/{wiki repository id}/{wiki page id}/{wiki page name}
    

    同样,如果您使用嵌套页面(即{父页面}/{子页面}),则网址如下:

    https://dev.azure.com/{organization}/{project}/_wiki/wikis/{wiki repository id}/{wiki page id}/{sub page}
    

    关于azure - 您可以使用 DevOps 工件查询检索 Azure DevOps Wiki 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65619600/

    相关文章:

    azure - 如何在azure中重新启动应用程序网关

    c# - 无法加载文件或程序集 FSharp.Core,版本=4.0.0.0 Azure Web 角色

    c# - $filter 上关于 "invalid expression"的 Azure 搜索错误是什么?

    python - Restplus API应用程序对象不可调用?

    当我使用 terraform 时,Azure 函数应用程序显示警告,例如“您的应用程序已固定到不受支持的 dotnet 版本”

    azure - 使用启动任务安装 sqlxml windows azure

    node.js - 在线托管 REST Composer 服务器?

    java - 使用 Jersey 在 Java RESTful Web 服务中生成 JSON 和 XML 响应

    c# - .NET 4.7 xunit 测试项目在引用 .NET Standard 1.6 项目时无法构建

    c# - Azure DevOps Pipeline 构建失败,因为它可以创建文件夹来写入 XML 文档文件