Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

AcmeSoftwareLLC/github-downloader

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace
Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📥 GitHub Downloader Action

Easily download files from any public or private GitHub repository in your GitHub Actions workflows! 🚀


✨ Features

  • 🔒 Supports private repositories via Personal Access Token (PAT) or GITHUB_TOKEN
  • 📂 Download multiple files or folders in one step
  • 🏷️ Specify branch, tag, or commit SHA for precise control
  • 🗂️ Map source files to custom destination paths using JSON
  • 📝 Generates a workflow summary table for all downloaded files
  • 🛠️ Simple setup and configuration
  • 🧩 Integrates seamlessly with other actions
  • 🖼️ Visual summary in workflow logs

📦 Quick Start

Add the action to your workflow YAML:

jobs:
	download-files:
		runs-on: ubuntu-latest
		steps:
			- name: Checkout
				uses: actions/checkout@v4
			- name: Download files from repo
				uses: AcmeSoftwareLLC/github-downloader@v2
				with:
					token: ${{ secrets.GITHUB_TOKEN }}
					owner: AcmeSoftwareLLC
					repo: example-repo
					ref: develop
					mappings: |
						{
							"src/config.json": "config/config.json",
							"docs/manual.pdf": "documentation/manual.pdf"
						}
					output-directory: "downloads"

⚙️ Input Parameters

Name Required Description
token GitHub Personal Access Token or GITHUB_TOKEN
owner GitHub repository owner (e.g., octocat)
repo Repository name (e.g., Hello-World)
ref Branch, tag, or commit SHA (default: main)
mappings JSON object mapping source files to destination paths
output-directory Directory to save files (default: current directory)

Example mappings:

{
	"README.md": "docs/README.md",
	"src/utils.ts": "lib/utils.ts",
}

📤 Output Parameters

Name Description
files JSON array of all downloaded file paths (for use in later steps)

🐞 Troubleshooting

  • Ensure your PAT or GITHUB_TOKEN has access to the target repository (repo/read permissions).
  • Check that your mappings JSON is valid and paths exist in the source repo.
  • Review workflow logs for error messages and summary table.
  • If files are missing, verify the branch/tag/commit and file paths.

❓ FAQ

Q: Can I download from private repositories? A: Yes! Use a PAT or GITHUB_TOKEN with access to the target repo.

Q: Can I download folders? A: No, only individual files are supported.

Q: What happens if a file doesn't exist? A: The action will fail and report the missing file in the summary.

Q: Can I use this in composite actions? A: Yes, it works in any workflow step.


🤝 Contributing

Pull requests and issues are welcome! Please review the LICENSE before contributing.


📚 Resources


📝 License

MIT © AcmeSoftwareLLC

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.