Skip to main content
This guide walks through installing and configuring the GitHub Actions Importer extension for the GitHub CLI. The extension helps migrate Jenkins pipelines into GitHub Actions workflows by providing planning, testing, and migration commands integrated into gh. Prerequisites
  • A Jenkins account or organization containing the pipelines you plan to migrate.
  • Permission to create a Jenkins personal API token (a Jenkins user or admin with token creation rights).
  • A GitHub account with permission to create a personal access token (classic) for the destination GitHub user or organization.
  • An environment capable of running Linux-based containers (Docker) and with the GitHub CLI installed.
Table: Required credentials and recommended scopes What the extension does
  • The GitHub Actions Importer is distributed as an extension for the GitHub CLI. Extensions add custom gh commands that guide planning, testing, and migrating Jenkins jobs into GitHub Actions workflows.
Installation
  1. Install the extension with gh:
Example output after a successful install:
Verify the extension
  • Confirm the extension is installed and view available commands:
Sample help output:
Configuration
  • Configure the extension to store the credentials and endpoints it needs to access GitHub and Jenkins:
  • The command is interactive. Select the CI provider(s) to configure (choose Jenkins) and provide the following:
    • GitHub personal access token (classic) — required to push workflows or create repositories.
    • Base URL of the GitHub instance — use https://github.com for GitHub.com or your Enterprise URL for GitHub Enterprise Server.
    • Jenkins personal API token — the token generated for the Jenkins user.
    • Jenkins username — the account that owns the Jenkins API token.
    • Base URL of the Jenkins instance — e.g., https://jenkins-url.com.
Example interactive session (secrets masked):
  • When complete, these settings are stored in your local gh configuration so subsequent gh actions-importer commands can authenticate to the configured Jenkins and GitHub instances.
Ensure your GitHub personal access token has the necessary scopes (for example, repo and any required organization permissions). For Jenkins, use an API token tied to a user with sufficient access to read the jobs and pipelines you plan to migrate.
Do not expose personal access tokens or Jenkins API tokens in logs, screenshots, or shared files. Treat these tokens like passwords and rotate them immediately if they are accidentally exposed.
Commands overview
  • After configuration, start with:
Next steps
  • Run gh actions-importer plan to analyze your Jenkins instance and generate a migration plan.
  • Audit your Jenkins jobs and configurations before migrating—review job triggers, secrets, and any environment-specific steps.
  • Test migrations using the extension’s dry-run/migrate options before applying changes to production repositories.
Links and references

Watch Video