- Fetch a Jenkins job config (config.xml).
- Run the importer transformers to generate a workflow.
- Push the workflow into a new branch on the target repo.
- Open a pull request so you can review and merge the changes.
- GitHub CLI with the Actions Importer extension installed (gh actions-importer).
- Access to the Jenkins job URL and any Jenkins credentials required to fetch the job.
- Write access to the target GitHub repository (or a fork).
| Option | Purpose | Example / Notes |
|---|---|---|
-s, --source-url <source-url> | Jenkins job URL to migrate | --source-url "http://jenkins.example/job/my-job/" |
-o, --output-dir <output-dir> | Directory to place any output files | --output-dir tmp/migrate |
-t, --jenkins-access-token <token> | Jenkins API token (if required) | Use when Jenkins requires authentication |
--target-url <target-url> | Target GitHub repo to open the PR against | --target-url https://github.com/owner/repo |
--allow-verified-actions | Allow verified actions in generated workflows | Use to relax action restrictions |
--no-ssl-verify | Disable SSL verification for troubleshooting | Not recommended in production |
If the Jenkins job references credentials or secrets, the importer cannot create GitHub repository secrets for you. Add the required secrets to the target repository before merging the PR.
- Fetches the Jenkins job configuration (
config.xml). - Runs transformers (for example: Shell Transformer, Secret Build Wrapper Transformer) to generate Actions workflow steps.
- Checks out the target repository (default branch).
- Creates a branch (e.g.,
convert-generated-generate-ASCII-artwork-branch). - Adds the workflow file under
.github/workflows/, commits, and opens a pull request.

- Open the PR created by the importer.
- The PR body will include migration notes and may list required manual actions, such as adding secrets.
- Inspect the generated workflow file and the transformed steps to confirm they match expected behavior.
Secrets referenced in the generated workflow must be added manually to the target repository (
Settings → Secrets and variables → Actions). GitHub Actions masks secrets in logs, so secret values appear as asterisks if printed during a run.- After adding the required repository secrets, the PR should have no conflicts and can be merged.
- Merged workflows that use
workflow_dispatchappear in the repository Actions tab and can be triggered manually.

cowsay package, and prints ASCII art produced from the advice text:
- If a workflow prints a secret, GitHub Actions masks its value in the logs (you’ll see
***), so secrets remain hidden even ifechois used in a step.
- GitHub Actions secrets: https://docs.github.com/en/actions/security-guides/encrypted-secrets
- GitHub CLI: https://cli.github.com/