Octoherd allows you to run a script against multiple repositories in parallel.
A script is a JavaScript function that receives
- A pre-authenticated
octokit
instance - A repository object
- An options object with script-specific options
Source code for the hello world Octoherd script
/**
* The "Hello, World!" of all Octoherd Scripts!
*
* @param {import('@octoherd/cli').Octokit} octokit
* @param {import('@octoherd/cli').Repository} repository
* @param {object} options
* @param {string} [options.greetingName] name to be greeted
*/
export async function script(octokit, repository, { greetingName = "World" }) {
octokit.log.info("Hello, %s! From %s", greetingName, repository.full_name);
}
Run the hello world script with
npx @octoherd/script-hello-world \
--octoherd-token 0123456789012345678901234567890123456789 \
"octoherd/*"
For existing scripts, check out repositories with the octoherd-script
label.
To create your own script, run
npm init octoherd-script
and follow the instructions. See octoherd/create-octoherd-script for more information.
It's a great time to get involved, look out for "pull request welcome" issues.