我正在使用GitLab并按照Gitlab安装说明中的说明完成了设置,现在尝试访问其RestFul API以执行诸如创建/删除项目或用户的任务(我能够成功完成此任务)。
我现在必须列出master分支(或项目具有的任何其他分支)中的所有目录,并想访问这些目录中列出的源代码文件(例如,myproject-> master-> api,src-> somefile.java等) ),是否可以使用现有的Gitlab的API做类似的事情?
这里提到了可以调用的API的整个列表,我正在研究Project Snippets API,并使用该API GET /projects/:id/snippets列出了所有代码段,但它返回了一个空数组,我的项目中确实有文件,但结果为空。
我假设项目摘要引用的是源代码文件或项目中的任何其他文件,如果我写错了,请纠正我。由于Gitlab API的作者未能解释使用“片段”。
如何使用API访问完整的目录结构并获取所需的文件?
我假设项目摘要引用了源代码文件或项目中的任何其他文件
不,您可以在GitLab演示项目中看到摘要:diaspora snippets。
它们位于与“文件”选项卡不同的选项卡中。
它们相当于GitHub gist。
看一下存储库API,例如:
获取项目中存储库文件和目录的列表。
GET /projects/:id/repository/tree
Run Code Online (Sandbox Code Playgroud)
获取文件的原始文件内容。
GET /projects/:id/repository/commits/:sha/blob
Run Code Online (Sandbox Code Playgroud)
astratto 提到新的API(6.x)要求附加一个文件路径:
GET /projects/:id/repository/blobs/:sha?filepath=:filepath
Run Code Online (Sandbox Code Playgroud)