GitHub
Developer tools OAuth, or a personal access tokenOpen issues, review pull requests and read repository state from any Windmill script, flow or app.
What you can do with GitHub
Complete, deployable projects built around GitHub — the fastest way to get something real running.
Set up in 2 steps
Connect from the Resources page
Open Resources, click Add a resource/API and pick github from the OAuth APIs list. Click Connect, allow access in the window that opens, then name the resource and save it. Windmill asks GitHub for the repo and workflow scopes.
Run your first script
Fork any script below and run it against one of your repositories.
Scripts
Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.
Notify of new Github repo stars
List newly added issues
Get Repository
Create Issue
Get Repo Star Count
Get Repo Content
Dispatch Workflow Run
Get a user
GitHub native trigger template script
Get repository content
Create Branch
Follow a user
Update a release
Get GitHub Actions permissions for a repository
Get a release by tag name
Create or update a repository secret
Get a public SSH key for the authenticated user
List runner applications for a repository
Unstar a repository for the authenticated user
Unblock a user
Create a team
Set interaction restrictions for a repository
Download an organization migration archive
List gists for the authenticated user
Redeliver a delivery for an app webhook
Merge a pull request
Get a job for a workflow run
Delete access restrictions
Get a webhook configuration for a repository
List public repositories
Flows
Multi-step workflows that already wire GitHub to something else.
Trigger flows from GitHub
GitHub is not only a destination. These inbound paths are supported today.
Repository webhooks
Point a repository webhook at a flow's webhook URL and every push starts a run.
Pull request events
Subscribe to pull_request to run checks or gate a deploy.
Resource type
github — the shape of the credential every script on this page expects.
| Field | Type | Required | What it is |
|---|---|---|---|
| token | string | Yes |
All resource types
Questions
OAuth or a personal access token?
OAuth is one click and the token it stores does not expire. Reach for a personal access token when you script the setup, when you want a token scoped to fewer repositories, or when your instance has no OAuth client configured.
Classic or fine-grained token?
Either works. Fine-grained tokens are scoped per repository and expire.
There is no Connect button on my instance
Self-hosted instances need an OAuth client configured once by an admin before the tile appears. Until then, use the token.