CLI to run a custom script on one or multiple repositories
Usage: octoherd run -S path/to/script.js [options] Options: --help Show help [boolean] -S, --octoherd-script Path to *.js script. Must be an ES Module. [string] [required] -T, --octoherd-token Requires the "public_repo" scope for public repositories, "rep o" scope for private repositories. Creates an OAuth token if n ot set. [string] -R, --octoherd-repos One or multiple repositories in the form of 'repo-owner/repo-n ame'. 'repo-owner/*' will find all repositories for one owner. '*' will find all repositories the user has access to. Will p rompt for repositories if not set. [array] --octoherd-cache Cache responses for debugging. Creates a ./cache folder if fla g is set. Override by passing custom path [string] --octoherd-debug Show debug logs [boolean] [default: false] --octoherd-bypass-confirms Bypass prompts to confirm mutating requests [boolean] [default: false] --version Show version number [boolean] Examples: octoherd run -S path/to/script.js Minimal usage
In our example, Gregor manages to updates the branch protection rules for multiple repositories using one script.
git clone https://github.com/octoherd/scripts.git npx @octoherd/cli \ --octoherd-token 0123456789012345678901234567890123456789 \ scripts/sync-branch-protections/script.js \ "octoherd/*"\ --template "octoherd/cli"
If you have ideas for scripts that would help you manage common tasks across GitHub repositories that you would like to automate, considering dropping them in the octoherd/scripts issues.