4

我正在使用 GitLab 并按照Gitlab 安装说明中的说明完成了设置,现在我正在尝试访问其 RestFul API 以执行创建/删除项目或用户等任务(我能够成功地做到这一点)。

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

这里提到了可以调用的 API 的整个列表,我正在研究Project Snippets API并使用此 APIGET /projects/:id/snippets列出所有片段,但它返回一个空数组,我的项目中有文件,但结果为空。

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

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

4

1 回答 1

6

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

不,您可以在 GitLab 演示项目中看到代码片段:diaspora snippets
它们位于与“文件”选项卡不同的选项卡中。
它们相当于GitHub gist

查看存储库 API,例如:

列出存储库树

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

GET /projects/:id/repository/tree

原始 blob 内容

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

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

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

GET /projects/:id/repository/blobs/:sha?filepath=:filepath
于 2013-06-12T10:59:53.277 回答