如何使用GitLab API访问源代码文件和列表目录?

时间:2013-06-12 10:51:18

标签: git gitlab

我正在使用GitLab并按Gitlab installation instructions中所述完成设置,我现在正在尝试访问其RestFul API以执行创建/删除项目或用户(我能够成功完成此任务)等任务。 / p>

我现在必须列出master分支(或项目的任何其他分支)中的所有目录,并希望访问这些目录中列出的源代码文件(例如myproject-> master-> api,src- > somefile.java等),是否可以使用现有的Gitlab API做类似的事情?

可以调用的所有API列表都是here,我正在查看Project Snippets API并使用此API GET /projects/:id/snippets列出所有代码段,但它返回一个空数组,I我的项目中有文件但结果是空的。

我假设项目片段是指源代码文件或项目中的任何其他文件,请纠正我,如果我错了,我在这里感到困惑,因为Gitlab API的作者未能解释使用背后的术语'snippets'这个词。

如何使用API​​访问完整目录结构并获取所需文件?

1 个答案:

答案 0 :(得分:4)

  

我假设项目片段是指源代码文件或项目中的任何其他文件

不,你可以在GitLab演示项目中看到片段:diaspora snippets 它们位于单独的选项卡中,而不是“文件”选项卡 它们相当于GitHub gist

查看repository API,例如:

列出存储库树

  

获取项目中的存储库文件和目录列表。

GET /projects/:id/repository/tree

原始blob内容

  

获取文件的原始文件内容。

GET /projects/:id/repository/commits/:sha/blob

astratto mentions新API(6.x)要求附加文件路径:

GET /projects/:id/repository/blobs/:sha?filepath=:filepath