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

问题描述 投票:0回答:1

我们正试图找到一种方法,在特定的提交中使用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引用标签(commit)testtag1

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

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

bitbucket bitbucket-api
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.