我正在使用 GitLab 并按照 Gitlab installation instructions 中的说明完成设置,我现在正在尝试访问其 RestFul API 以执行创建/删除项目或用户等任务(我能够成功完成此操作)。
我现在必须列出 master 分支(或项目拥有的任何其他分支)中的所有目录,并想要访问这些目录中列出的源代码文件(例如 myproject->master->api、src->somefile .java 等),是否可以使用现有的 Gitlab API 来做类似的事情?
提到了可以调用的 API 的完整列表 here我正在调查 Project Snippets API并使用此 API GET/projects/:id/snippets
列出所有片段,但它返回一个空数组,我的项目中确实有文件,但结果为空。
我假设项目片段引用源代码文件或项目中的任何其他文件,如果我错了请纠正我,我在这里很困惑,因为 Gitlab API 的作者未能解释使用背后的术语“片段”这个词。
如何使用 API 访问完整的目录结构并获取我需要的文件?
最佳答案
I am assuming that project snippets refer to source code files or any other files within the project
不,您可以在 GitLab 演示项目中看到片段:diaspora snippets .
它们与"file"选项卡位于不同的选项卡中。
它们相当于 GitHub gist .
看看 repository API ,比如:
列出存储库树
Get a list of repository files and directories in a project.
GET /projects/:id/repository/tree
原始 blob 内容
Get the raw file contents for a file.
GET /projects/:id/repository/commits/:sha/blob
astratto mentions新 API (6.x) 要求附加文件路径:
GET /projects/:id/repository/blobs/:sha?filepath=:filepath
关于git - 如何使用 GitLab API 访问源代码文件和列出目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17063630/