【问题标题】:Use Azure Devops Git Api to view UML file in browser使用 Azure Devops Git Api 在浏览器中查看 UML 文件
【发布时间】:2020-12-15 08:49:06
【问题描述】:

在我们的团队中,我们遵循 docs-as-code 方法,并在我们的 git 存储库中有一些 plantUML 文件,该存储库由 azure devops 服务器托管(即在本地)。现在我们想将 UML 图作为超链接提供给另一个网站。这个想法是,如果用户使用 chrome 浏览,并安装了 plantUML 查看器扩展,他们可以通过单击链接在浏览器中查看图表。

我们使用 REST API 与 git 存储库进行交互,如下所示:

https://tfs.contoso.com/tfs/DefaultCollection/foo/_apis/git/repositories/bar/Items?path=%2Fdocs%2Fdiagram%2FContainerDiagram.uml&versionDescriptor%5BversionOptions%5D=0&versionDescriptor%5BversionType%5D=0&versionDescriptor%5Bversion%5D=develop&download=false&resolveLfs=true&api-version=5.0-preview.1

这里当然 tfs.contoso.com 替换为我们的天蓝色 devops 服务器主机,foo 替换为团队项目的 ID 或名称,bar 替换为存储库的 ID 或名称。

很遗憾,Chrome 会下载文件,而不是在浏览器中显示。我的猜测是,虽然安装了扩展,但没有机会呈现内容。如何实现内容显示而不是下载?

【问题讨论】:

    标签: azure-devops-rest-api plantuml azure-devops-server


    【解决方案1】:

    使用 Azure Devops Git Api 在浏览器中查看 UML 文件

    如果我使用与您相同的 REST API Items - Get,我将得到相同的结果“Chrome 下载文件而不是在浏览器中显示它”。

    要解决此问题,请尝试使用 REST API Source Providers - Get File Contents:

    GET https://dev.azure.com/{organization}/{project}/_apis/sourceProviders/{providerName}/filecontents?&repository={repository}&commitOrBranch={commitOrBranch}&path={path}&api-version=5.0-preview.1
    

    注意:

    • 跳过serviceEndpointId。
    • 为providerName。简而言之,您可以使用TfsGit。您可以从 list of source providers 获取此值。

    您可以参考this answer 了解更多详情。

    我的测试结果:

    【讨论】:

    • 这个答案完全符合要求。我试过了,它有效。非常感谢。
    猜你喜欢
    • 2012-04-10
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 2015-11-11
    • 2018-10-04
    • 2022-08-10
    相关资源
    最近更新 更多