{"id":27266,"library":"pulumi-github","title":"Pulumi GitHub Provider","description":"Pulumi provider for managing GitHub resources (repositories, teams, webhooks, actions, etc.). Currently at v6.13.0, requires Python >=3.9. Updates follow terraform-provider-github releases, with frequent patch releases.","status":"active","version":"6.13.0","language":"python","source_language":"en","source_url":"https://github.com/pulumi/pulumi-github","tags":["pulumi","github","infrastructure-as-code","provider"],"install":[{"cmd":"pip install pulumi-github","lang":"bash","label":"PyPI"},{"cmd":"pulumi config set github:token <YOUR_GITHUB_TOKEN>","lang":"bash","label":"Configure token"}],"dependencies":[{"reason":"Required: Pulumi SDK to deploy resources.","package":"pulumi","optional":false}],"imports":[{"note":"Direct import from pulumi_github is preferred.","wrong":"import pulumi_github\n# then Repository is accessed via pulumi_github.Repository","symbol":"Repository","correct":"from pulumi_github import Repository"},{"note":"","wrong":"","symbol":"Team","correct":"from pulumi_github import Team"},{"note":"","wrong":"","symbol":"ActionsSecret","correct":"from pulumi_github import ActionsSecret"}],"quickstart":{"code":"import pulumi\nfrom pulumi_github import Repository\n\n# Set config: pulumi config set github:token <token>\nrepo = Repository(\"my-repo\",\n    name=\"my-repo\",\n    description=\"Created with Pulumi\",\n    visibility=\"public\",\n    has_issues=True,\n)\n\npulumi.export(\"repo_url\", repo.html_url)\n","lang":"python","description":"Create a public GitHub repository with Pulumi."},"warnings":[{"fix":"Always set `name=` property to the desired repo name.","message":"Resource name (first argument) is the Pulumi logical name, not the GitHub repo name. The `name` property defines the actual GitHub repo name.","severity":"gotcha","affected_versions":"all"},{"fix":"Check the provider changelog for migration steps; use `pulumi preview` before upgrade.","message":"Upgrading from Pulumi GitHub <6.0.0 requires schema changes; resources like `GithubRepository` renamed to `Repository`. See bridge upgrade guide.","severity":"breaking","affected_versions":"<6.0.0 -> >=6.0.0"},{"fix":"Set `GITHUB_TOKEN` env var or use `pulumi config set github:token <token>`.","message":"GitHub token must be configured via `pulumi config set github:token` or environment variable `GITHUB_TOKEN`. Missing token leads to auth errors.","severity":"gotcha","affected_versions":"all"},{"fix":"Use the new namespaced resources (e.g., `ActionsSecret`).","message":"Some older resources (e.g., `GithubActionsSecret`) may be deprecated in favour of `ActionsSecret`. Check the provider docs.","severity":"deprecated","affected_versions":">=6.0.0"},{"fix":"Run `pulumi refresh` periodically to sync state.","message":"The provider relies on the Terraform bridge; some Terraform behaviours (e.g., state drift detection) may differ from native Pulumi providers.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Set GITHUB_TOKEN environment variable or run `pulumi config set github:token <YOUR_TOKEN>`.","cause":"GitHub token not set or invalid.","error":"pulumi-github: error: 401 Bad credentials"},{"fix":"Use correct import: `from pulumi_github import Repository`. For older releases, see docs for the exact resource name.","cause":"Misnamed import or older version where resource names differed (e.g., `GithubRepository`).","error":"ImportError: cannot import name 'Repository' from 'pulumi_github'"},{"fix":"Ensure the repo name is unique in your GitHub account/org and the token has repo scope.","cause":"Repository name collision or insufficient permissions.","error":"pulumi-github: error: 404 Not Found: repository not found"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}