我正在使用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访问完整目录结构并获取所需文件?
答案 0 :(得分:4)
我假设项目片段是指源代码文件或项目中的任何其他文件
不,你可以在GitLab演示项目中看到片段:diaspora snippets 它们位于单独的选项卡中,而不是“文件”选项卡 它们相当于GitHub gist。
查看repository API,例如:
获取项目中的存储库文件和目录列表。
GET /projects/:id/repository/tree
获取文件的原始文件内容。
GET /projects/:id/repository/commits/:sha/blob
astratto mentions新API(6.x)要求附加文件路径:
GET /projects/:id/repository/blobs/:sha?filepath=:filepath