Automate Batch File Uploads to GitHub Repositories
Streamline repository updates by automating multiple file uploads in seconds, dramatically reducing manual effort for batch content deployment.
The native GitHub n8n node limits you to single-file uploads, hindering efficient bulk repository updates. This workflow bypasses that limitation, using the GitHub REST API to automate simultaneous uploads of multiple files to your repositories.

Documentation
Automate Multiple File Uploads to GitHub
This n8n workflow provides a robust solution for uploading multiple files to a GitHub repository using the GitHub REST API. It overcomes the limitation of native n8n GitHub nodes, which typically handle only single-file uploads, making it ideal for continuous deployment or bulk content updates.
Key Features
- Effortlessly upload multiple files in a single automated transaction.
- Directly interact with the GitHub API for precise control over repository content.
- Customizable file paths, content, and commit messages for flexible deployment.
- Supports any text-based file type or content that can be represented as a string.
How It Works
This workflow orchestrates a series of GitHub REST API calls to perform a multi-file upload. It first retrieves the latest commit and base tree SHAs to establish the repository's current state. Next, it constructs a new tree containing all the specified files and their content. This new tree is then used to create a new commit, referencing the previous commit as its parent. Finally, the branch reference is updated to point to this new commit, effectively pushing all changes to your repository.