使用Bitbucket REST API在特定提交时下载文件

时间:2018-03-06 05:12:40

标签: bitbucket bitbucket-api

我们正在尝试使用特定提交的REST API从Bitbucket项目中下载单个文件。目前,我们可以在特定分支下载文件:

https://stash.domain.com:8443/rest/api/1.0/projects/our_project/src/main/java/com/SomeFile.java?at=refs%2Fheads%2Fmaster

请注意,URL的末尾在解码时包含查询参数at=refs/heads/master,该参数引用master分支。这也适用于特定标签:

https://stash.domain.com:8443/rest/api/1.0/projects/our_project/src/main/java/com/SomeFile.java?at=refs%2Ftags%2Ftesttag1

此处查询参数at=refs/tags/testtag1引用标记(提交)testtag1

但是由于我们的实现的性质,我们希望通过Bitbucket REST API直接引用提交SHA-1哈希。这可能吗?

显然,一个丑陋的解决方法是只为每个提交添加一个标记。但这可能会使存储库膨胀,而且感觉就像是一次不必要的破解。

1 个答案:

答案 0 :(得分:0)

this SO question的帮助下,我发现其中一个答案让我知道正确的语法。使用此:

<URL>?at=commit_hash

例如:

https://stash.domain.com:8443/rest/api/1.0/projects/our_project/src/main/java/com/SomeFile.java?at=bed2dda5

以下是使用Bitbucket REST API的三种主要端点类型表:

query parameter   | role
---------------------------------------------
refs/heads/master | specify master branch
refs/tags/someTag | specify 'someTag' tag
at=bed2dda5       | specify commit #bed2dda5