如何使用github_api gem从存储库中检索文件?

时间:2012-08-13 13:29:42

标签: ruby git api github

大多数文档都是关于授权的,以及如何检索api提供的基本对象。

如果我想要回购中的特定文件怎么办?

喜欢,说我/ repo / blob / master / readme.md

我试过这个:

g.git_data.blobs.get("me", "repo", "master/readme.md")

但我收到404错误。

我正在使用私人仓库,并使用基本身份验证(用户名和密码)创建了对象“g”

这是我正在使用的宝石:https://github.com/peter-murach/github/

更新,这是我的方式:

g = Github.new :basic_auth => "me:password"

1 个答案:

答案 0 :(得分:2)

对我来说,它不适用于私有存储库,但是要从公共存储库中检索文件信息,代码是

g.repos.contents.get 'kulbirsaini', 'gitlist', 'web/Makefile'

g.repos.contents.get 'kulbirsaini', 'gitlist', 'README.md'

它必须是与私有存储库相关的东西。最好联系Github支持。

如何从私有存储库获取文件的摘要:

g = Github.new(:basic_auth => "username:password")
file = g.repos.contents.get("username", "private_repo_name", "repo_path_to_file_relative_to_branch")
human_readable_data = Base64.decode64(file)

repo_path_to_file_relative_to_branch的例子:

/lib/core.rb

而不是

/master/lib/core.rb