New to Kestra?
Use blueprints to kickstart your first workflows.
Search GitHub by query and fan one GitHub Actions workflow out across every matching repository with Kestra, with bounded concurrency and a Slack rollout summary.
Roll a single GitHub Actions workflow out across a whole fleet of repositories in one run. This blueprint searches GitHub for the repositories that match a query (for example an organization plus a shared topic), loops over every match, dispatches the same workflow_dispatch workflow in each one, and posts a rollout summary to Slack. It solves the multi-repo automation problem: when you maintain dozens of repositories that share a CI workflow, security scan, or dependency-update job, you no longer have to click through each one or script the GitHub API by hand. You declare the search, the workflow, and the branch, and Kestra handles the fan-out, the parallelism, and the reporting.
find_repositories (io.kestra.plugin.github.repositories.Search) runs your search_query against the GitHub Search API with fetchType: FETCH, returning every matching repository as rows.dispatch_each (io.kestra.plugin.core.flow.ForEach) iterates over outputs.find_repositories.rows with a concurrencyLimit of 4, so repositories are dispatched a few at a time rather than all at once.dispatch (io.kestra.plugin.github.actions.RunWorkflow) calls the GitHub Actions REST dispatch endpoint for each taskrun.value.full_name, triggering workflow_id on the chosen ref.notify (io.kestra.plugin.slack.notifications.SlackIncomingWebhook) sends a message reporting how many repositories were dispatched, using outputs.find_repositories.size.weekly_rollout schedule trigger (io.kestra.plugin.core.trigger.Schedule, cron 0 9 * * 1) can run the rollout every Monday morning. It ships disabled so you opt in deliberately.concurrencyLimit to stay within API rate limits.GitHub Actions can schedule a workflow inside one repository, but it cannot natively search for a set of repositories and fan a dispatch out across all of them with bounded concurrency, retries, and a single audit trail. Kestra adds event and schedule triggers, automatic retries on transient API failures, full execution lineage across every dispatched repo, and a declarative YAML definition you can version and review. The whole rollout becomes one observable execution instead of a pile of ad hoc API calls.
GITHUB_TOKEN: a token allowed to search repositories and dispatch GitHub Actions workflows in the target repositories.SLACK_WEBHOOK_URL: a Slack incoming webhook URL for the rollout summary.A workflow_dispatch-enabled workflow must be present on the chosen ref in every matching repository.
GITHUB_TOKEN and SLACK_WEBHOOK_URL as secrets in your Kestra namespace.search_query (for example org:my-org topic:kestra-managed).workflow_id and ref you want to roll out.weekly_rollout or add an event trigger to dispatch on a webhook.