我有一个带有 gitlab 6.1.0.0 的 bitnami 虚拟机,我正在尝试从其余 API 获取特定项目的文件。
我试着做这样的事情:
http://<my-git-lab-server>/api/v3/projects/12/repository/files?private_token=<my_token>
当然 12
标记了存在的项目 id。我得到了响应 404 - 找不到页面
(顺便说一句 - gitlab 的自定义 404 页面)
我在文档中看到你需要传递参数。所以我使用 tree
来获取文件,如下所示:
http://<my-git-lab-server>/api/v3/projects/12/repository/tree?private_token=<my_token>
例如,我得到了这个文件(以及其他文件):
[... some files here ... , {"name": "test.py", "type": "blob", "mode": "100644", "id": <some-id-here>}]
然后我尝试了与之前相同的 url 并添加了 file_path
和 ref
参数,如 documentation 中所述它看起来像这样:
http://<my-git-lab-server>/api/v3/projects/12/repository/files?file_path=test.py&ref=master&private_token=<my_token>
我还尝试了 "test.py"
(带引号)。我尝试使用 master
作为 ref 因为这个文件是在 master 分支中找到的。希望这就是我应该放在那里的内容。
无论如何,仍然找不到 404。我不确定如何正确获取文件。
任务是将一些项目内容复制到新的 gitlab 服务器(以及不同版本)——如果这有任何变化的话。
最佳答案
您提到您使用的是 Gitlab v6.1。根据https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/repository_files.md的历史/api/v3/projects/{id}/repository/files
端点到达版本 6.6。看起来 /api/v3/projects/{id}/repository/tree
端点到达了 5.3 版。因此,要获得文件 API 功能,您需要升级 Gitlab。
关于git - 尝试从 GitLab API 获取文件时出现 Http 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23626610/