使用GitLab API搜索文件名

时间:2014-08-04 21:17:08

标签: gitlab

我使用GitLab API(http://doc.gitlab.com/ce/api/)尝试搜索特定文件。我可以成功访问特定的存储库,但我希望提供一些文本并检索与文件名匹配的任何文件。如果不是这样,那么至少要获取存储库中所有内容的完整文件结构并自己进行搜索。这可能吗?

2 个答案:

答案 0 :(得分:2)

http://doc.gitlab.com/ce/api/repositories.html

我没有浏览完整的API文档,但快速破解就是列出树,你会得到Gitlab ObjectifiedHash,运行一个循环并在循环内放一个条件说该类型是'树',然后再次发送它的相应id来获取它的树,依此类推,如果它是一个blob,只需保存名称。

这样您就可以获得所有文件/文件夹名称。这是一种不好的方法,因为你会做很多api调用。完整阅读API文档。

我知道这篇文章很老了,无论如何都回答了。希望它有所帮助

答案 1 :(得分:0)

我正在使用python-gitlab模块,该模块使在回购中搜索文件变得容易 https://python-gitlab.readthedocs.io/en/stable/

获取“项目”表单模块https://python-gitlab.readthedocs.io/en/stable/gl_objects/projects.html,然后简单地使用它来读取文件

try: f =project.files.get(file_path=filepath, ref=branch) return base64.b64decode(f.content) except Exception as e: print e return ""