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