Git commit and push by using GitHub API.
No depended on Git binary.
Install with npm:
npm install git-commit-push-via-github-api
const fs = require("fs");
const { gitCommitPush } = require("git-commit-push-via-github-api");
process.on("unhandledRejection", console.dir);
if (!process.env.GITHUB_API_TOKEN) {
throw new Error("GITHUB_API_TOKEN=xxx node example.js");
}
gitCommitPush({
// commit to https://github.com/azu/commit-to-github-test
owner: "azu",
repo: "commit-to-github-test",
// commit files
files: [
{ path: "README.md", content: fs.readFileSync(__dirname + "/README.md", "utf-8") },
{ path: "dir/input.txt", content: fs.readFileSync(__dirname + "/dir/input.txt", "utf-8") },
// Pass binary as Buffer
{ path: "next-item.mp3", content: fs.readFileSync(__dirname + "/next-item.mp3") },
{ path: "image.png", content: fs.readFileSync(__dirname + "/image.png") }
],
fullyQualifiedRef: "heads/master",
forceUpdate: false, // optional default = false
commitMessage: "HELLO"
})
.then(res => {
console.log("success", res);
})
.catch(err => {
console.error(err);
});
- Ramshackle-Jamathon/commit-to-github: make commits to github without git, perfect for AWS lambda
- wuzhizhe/uploadFileToGithub
See Releases page.
Install devDependencies and Run npm test
:
GITHUB_API_TOKEN=xxx npm run test
Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
MIT © azu