This is a quick primer on how to commit files to your github repository using github_api gem. Using GitHub API v3 we have fain-grained access to manipulate git objects such as blobs, trees and commits. The process is as follows:
Instantiate Github::GitData part of github_api gem with desired authorization:
git_data = Github::GitData.new :basic_auth => 'login:password'
Send any type of content binary or string up to GitHub
blob = git_data.create_blob 'user', 'repo', "content": "Content of the blob", "encoding": "utf-8"
To confirm that all is fine do a simple status code check:
puts "Created" if blob.status == '201'
Next create tree like:
tree = git_data.create_tree 'user', 'repo', 'tree' => [ { 'path': 'file_path', 'mode': '100644', 'type': 'blob', 'sha': blob.sha # reference to the blob object } ]
Again quick sanity check:
puts "Tree created" if tree.status == '201'
Finally to create commit object in the root of your repository do:
commit = git_data.create_commit 'login', 'password', 'message': 'example blob tree', 'tree': tree.sha # reference to the tree object
and confirmation
puts "Commit created" if commit.status == '201'
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4