# GitHub integration

> Code hosting and collaboration platform for repositories, issues, pull requests, and CI/CD workflows.

- Authentication: oauth2

## Tools (54)

- **Add Labels to an Issue**: Adds one or more labels to an issue or pull request without removing existing labels.
- **Add Repository Collaborator**: Adds a user as a collaborator to a repository, sending them an invitation notification.
- **Cancel a Workflow Run**: Cancels a queued or in-progress workflow run.
- **Create a Branch**: Creates a new branch by creating a git reference pointing to a commit SHA.
- **Create a File**: Creates a new file in a repository with Base64-encoded content.
- **Create a Label**: Creates a new label in a repository with a name, color, and optional description.
- **Create an Issue**: Creates a new issue in a repository. Triggers notifications.
- **Create an Issue Comment**: Creates a comment on an issue or pull request. Triggers notifications.
- **Create a Pull Request**: Creates a new pull request to merge changes from a head branch into a base branch.
- **Create a Pull Request Review**: Creates a review on a pull request with optional inline comments, approval, or change requests.
- **Create a Release**: Creates a release for a repository, optionally auto-generating release notes.
- **Delete a Branch**: Deletes a branch by deleting its git reference.
- **Delete a File**: Deletes a file from a repository by providing its blob SHA.
- **Delete a Release**: Deletes a release by its ID. Does not delete the associated tag.
- **Disable a Workflow**: Disables a workflow and sets its state to disabled_manually.
- **Dispatch a Workflow**: Manually triggers a workflow run on a specified branch with optional input parameters.
- **Dispatch a Workflow and Wait**: Dispatches a workflow and polls for the workflow run to complete, returning the final result.
- **Enable a Workflow**: Enables a workflow and sets its state to active.
- **Get a File**: Gets the contents of a file from a repository, returned as Base64-encoded content.
- **Get an Issue**: Gets a single issue by its number, including labels, assignees, and state.
- **Get a Pull Request**: Gets a single pull request by its number, including merge status and diff statistics.
- **Get a Pull Request Review**: Retrieves a specific pull request review by its ID.
- **Get a Release**: Gets a release by its ID, including assets and release notes.
- **Get a Repository**: Returns detailed information about a repository including stats, permissions, and settings.
- **Get a Workflow**: Gets a specific workflow by its ID or filename.
- **Get a Workflow Run**: Gets a specific workflow run by its ID, including status, conclusion, and timing.
- **Get Latest Release**: Returns the latest published full release (not draft or prerelease) for a repository.
- **Get Release by Tag**: Gets a release by its associated tag name.
- **Get Repository Community Profile**: Returns community profile metrics including health score and presence of key community files.
- **Get Repository License**: Returns the contents of a repository's license file, if one is detected.
- **Get Workflow Usage**: Gets billable minutes used by a specific workflow during the current billing cycle (deprecated).
- **List Authenticated User Issues**: Lists issues across owned and member repositories assigned to the authenticated user.
- **List Branches**: Lists all branches in a repository with optional filtering by protection status.
- **List Files in a Directory**: Lists files and subdirectories in a repository directory.
- **List Organization Repositories**: Lists repositories for an organization with filtering by type and sort options.
- **List Popular Paths**: Returns the top 10 popular content paths for a repository over the last 14 days.
- **List Pull Request Reviews**: Lists all reviews for a pull request in chronological order.
- **List Pull Requests**: Lists pull requests in a repository with filtering by state, head, base, and sort options.
- **List Referrers**: Returns the top 10 referral sources for a repository over the last 14 days.
- **List Releases**: Lists releases for a repository, excluding regular git tags without an associated release.
- **List Repository Issues**: Lists issues in a repository with filtering by state, labels, assignee, and more.
- **List User Repositories**: Lists public repositories for a specified GitHub user.
- **List Workflow Runs**: Lists workflow runs for a repository with filtering by actor, branch, event, and status.
- **List Workflows**: Lists all workflows in a repository.
- **Lock an Issue**: Locks an issue's conversation so only collaborators can comment.
- **Merge a Pull Request**: Merges a pull request using merge, squash, or rebase strategy.
- **Search Code**: Searches for code across GitHub repositories using query qualifiers.
- **Search Issues and Pull Requests**: Searches for issues and pull requests across GitHub using query qualifiers.
- **Search Repositories**: Searches for repositories across GitHub using query qualifiers.
- **Update a File**: Updates an existing file in a repository by providing its current blob SHA and new Base64-encoded content.
- **Update an Issue**: Updates an existing issue's title, body, state, labels, assignees, or milestone.
- **Update a Pull Request**: Updates a pull request's title, body, state, or base branch.
- **Update a Pull Request Review**: Updates the body text of a pull request review summary comment.
- **Update a Release**: Edits an existing release's tag, name, body, draft, or prerelease status.

## Triggers (14)

- **New Issue in GitHub**: Triggers when a new issue is created in the chosen repository
- **New Pull Request in GitHub**: Triggers when a new pull request is opened in the chosen repository
- **New Issue Comment in GitHub**: Triggers when a new comment is posted on an issue or pull request in the chosen repository
- **New Pull Request Review Comment in GitHub**: Triggers when a new review comment (line comment) is posted on a pull request
- **New Pull Request Review in GitHub**: Triggers when a reviewer submits a review on a pull request (approved, changes requested, or commented)
- **New Release in GitHub**: Triggers when a new release is created in the chosen repository
- **New Commit in GitHub**: Triggers when a new commit is pushed to the chosen repository (defaults to the default branch)
- **New Repository in GitHub**: Triggers when a new repository becomes accessible to your account (created, joined, or transferred)
- **New Notification in GitHub**: Triggers when you receive a notification (mention, review request, assignment, etc.)
- **New Milestone in GitHub**: Triggers when a new milestone is created in the chosen repository
- **New Commit Comment in GitHub**: Triggers when a new comment is posted on a commit
- **New Workflow Run in GitHub**: Triggers when a new GitHub Actions workflow run starts
- **New Issue Assigned to Me on GitHub**: Triggers when an issue is assigned to the authenticated user
- **Pull Request Review Requested from Me on GitHub**: Triggers when a pull request requests a review from the authenticated user

## Related prompts

- [Did the last Heroku deploy cause this Sentry error?](https://www.generalinput.com/prompts/did-the-last-heroku-deploy-cause-this-sentry-error.md)
- [Turn Heroku deploys into a readable Slack changelog](https://www.generalinput.com/prompts/turn-heroku-deploys-into-a-readable-slack-changelog.md)
- [Spin up a Fly.io preview environment for every pull request](https://www.generalinput.com/prompts/spin-up-a-flyio-preview-environment-for-every-pull-request.md)
- [Run your dbt Cloud production job on every merge to main](https://www.generalinput.com/prompts/run-your-dbt-cloud-production-job-on-every-merge-to-main.md)
- [Ship a Lambda version and post release notes to Slack](https://www.generalinput.com/prompts/ship-a-lambda-version-and-post-release-notes-to-slack.md)
- [Mark every GitHub release on your Amplitude charts](https://www.generalinput.com/prompts/mark-every-github-release-on-your-amplitude-charts.md)
- [Announce new GitHub releases in Discord](https://www.generalinput.com/prompts/announce-new-github-releases-in-discord.md)
- [Turn GitHub releases into Guru knowledge updates for Support and Sales](https://www.generalinput.com/prompts/turn-github-releases-into-guru-knowledge-updates-for-support-and-sales.md)
- [Open a docs follow-up when a PR merges with the needs-docs label](https://www.generalinput.com/prompts/open-a-docs-follow-up-when-a-pr-merges-with-the-needs-docs-label.md)
- [Daily Telegram digest of arXiv papers with working code](https://www.generalinput.com/prompts/daily-telegram-digest-of-arxiv-papers-with-working-code.md)
- [Weekly engineering retrospective from Linear and GitHub](https://www.generalinput.com/prompts/weekly-engineering-retrospective-from-linear-and-github.md)
- [Turn merged GitHub PRs into a plain English changelog](https://www.generalinput.com/prompts/turn-merged-github-prs-into-a-plain-english-changelog.md)

Connect GitHub in General Input: https://www.generalinput.com/apps/github