将Github API与rest客户端一起使用以创建文件

时间:2014-12-13 02:15:55

标签: ruby rest github-api rest-client

我正在尝试使用Github API在回购中创建文件。

这个CURL命令完全符合我的要求:

curl -X PUT -H 'Authorization: token <TOKEN>' -d '{"path": "test.txt", "message": "Test Commit", "committer": {"name": "Kevin Clark", "email": "kevin@kevinclark.ca"}, "content": "bXkgbmV3IGZpbGUgY29udGVudHM="}' https://api.github.com/repos/vernalkick/kevinclark/contents/test.txt

我需要做同样的请求,但在ruby中使用rest_client,但这会返回404:

require 'rest_client'

params = {
  :path => "test.txt",
  :message => "Test Commit",
  :committer => {
    :name => "Kevin Clark",
    :email => "kevin@kevinclark.ca"
  },
  :content => "bXkgbmV3IGZpbGUgY29udGVudHM=",
  :access_token => <TOKEN>
}

RestClient.put "https://api.github.com/repos/vernalkick/kevinclark/contents/test.txt", :params => params

Github的文档:https://developer.github.com/v3/repos/contents/

1 个答案:

答案 0 :(得分:4)

所以我终于找到了解决问题的方法!

我需要创建一个json字符串,而不是只传递哈希。

RestClient.put "https://api.github.com/repos/vernalkick/kevinclark/contents/test.txt", :params => JSON.generate(params)