Integrate with GitHub to manage repositories, issues, pull requests, and collaborate on code projects.
Use GitHub as a trigger to kick off a workflow, or use it as an action to do something automatically in your workflow.
Triggers when GitHub events occur (push, pull request, issues, etc.). Real-time webhook notifications.
Create a new GitHub repository for the authenticated user with comprehensive settings including visibility, features, and merge options
Lists public repositories for the specified user with pagination and sorting options
Lists repositories for the specified organization with pagination and sorting options
Creates a new repository in the specified organization with comprehensive settings
Get detailed information about a specific repository including metadata, permissions, and settings
Update an existing GitHub repository settings including name, description, visibility, and feature toggles
Permanently delete a GitHub repository. This action requires admin access and cannot be undone. Use with extreme caution.
Lists a detailed history of changes to a repository, such as pushes, merges, force pushes, and branch changes, and associates these changes with commits and users.
Shows whether Dependabot security updates are bled, disabled or paused for a repository. Requires admin read access to the repository.
Lists contributors to the specified repository and sorts them by the number of commits per contributor in descending order. GitHub identifies contributors by author email address.
Lists tags for the specified repository. Tags are ordered by creation date in descending order.
Lists the teams that have access to the specified repository and that are also visible to the authenticated user. For public repositories, only teams that explicitly added the repository are listed.
Get all topics associated with a repository. Topics help categorize and organize repositories.
Get the contents of a file or directory in a repository. Supports custom media types for different response formats.
Lists the workflows in a repository. Requires Actions read permissions for private repositories.
Get a specific workflow by ID or filename. Requires Actions read permissions for private repositories.
Disable a workflow and set its state to disabled_manually. Requires Actions write permissions.
Manually trigger a GitHub Actions workflow run. You can replace workflow_id with the workflow file name.
Enable a workflow and set its state to active. You can replace workflow_id with the workflow file name.
Gets a specific job in a workflow run. Anyone with read access to the repository can use this endpoint.
Lists jobs for a specific workflow run attempt. Anyone with read access to the repository can use this endpoint.
Lists jobs for a workflow run. Anyone with read access to the repository can use this endpoint.
Re-run a job and its dependent jobs in a workflow run. Requires Actions write permissions.
Lists all workflow runs for a repository. You can use parameters to narrow the list of results. Anyone with read access to the repository can use this endpoint.
Gets a specific workflow run. Anyone with read access to the repository can use this endpoint.
Gets the review history for a workflow run. Anyone with read access to the repository can use this endpoint.
Gets a specific workflow run attempt. Anyone with read access to the repository can use this endpoint.
Cancels a workflow run using its id. Requires write access to the repository.
Get the preferred README for a repository in various formats (JSON, raw, HTML).
Lists all public repositories in the order that they were created. Pagination is powered exclusively by the since parameter.
Lists repositories that the authenticated user has explicit permission (:read, :write, or :admin) to access. Includes owned repositories, collaborations, and organization memberships. Note: Cannot use "type" parameter together with "visibility" or "affiliation" parameters due to GitHub API constraints.
Get information about the authenticated user. Requires user scope for private profile information.
Update the authenticated user's profile information. Requires "Profile" user permissions (write).
Lists all users, in the order that they signed up on GitHub. This list includes personal user accounts and organization accounts.
Get publicly available information about a GitHub user. Authentication provides access to private profile information.
Returns the contents of the repository's license file, if one is detected. Supports custom media types for raw and HTML content.
List issues assigned to the authenticated user across all visible repositories including owned repositories, member repositories, and organization repositories. Note: GitHub's REST API considers every pull request an issue.
List issues across owned and member repositories assigned to the authenticated user. GitHub's REST API considers every pull request an issue, but not every issue is a pull request. You can identify pull requests by the pull_request key.
List issues in an organization assigned to the authenticated user. Note: GitHub's REST API considers every pull request an issue, but not every issue is a pull request.
List issues in a repository with filtering and sorting options. Returns both issues and pull requests as GitHub's REST API considers every pull request an issue.
Create an issue in a repository. Requires pull access to the repository. Supports custom media types for different response formats.
Get a specific issue from a repository by its number. Can identify pull requests by the pull_request key. Supports custom media types for different response formats.
Update an issue in a repository. Issue owners and users with push access or Triage role can edit an issue. Supports custom media types for different response formats.
Lock an issue or pull request conversation. Users with push access can lock conversations. Note: If you choose not to pass any parameters, Content-Length will be set to zero.
Unlock an issue or pull request conversation. Users with push access can unlock conversations that were previously locked.
List releases for a repository. This returns published releases and draft releases (for users with push access). Does not include regular Git tags that have not been associated with a release.
Create a release for a repository. Users with push access to the repository can create a release. This endpoint triggers notifications and may result in secondary rate limiting if used too frequently.
Generate a name and body describing a release. The body content will be markdown formatted and contain information like the changes since last release and users who contributed. The generated release notes are not saved anywhere.
View the latest published full release for the repository. The latest release is the most recent non-prerelease, non-draft release, sorted by the created_at attribute. Authentication is optional for public repositories.
Get a published release with the specified tag name. This endpoint returns information about a specific release identified by its tag. Authentication is optional for public repositories.
Get a published release with the specified release ID. This endpoint returns information about a specific release and includes an upload_url key for uploading release assets. Authentication is optional for public repositories.
Update a published release. Users with push access to the repository can edit a release. This action requires authentication and write permissions to the repository contents.
Delete a published release. Users with push access to the repository can delete a release. This action requires authentication and write permissions to the repository contents. This action cannot be undone.
Lists all reviews for a specified pull request. The list of reviews returns in chronological order. Authentication is optional for public repositories but required for private repositories.
Creates a review on a specified pull request. You can approve, request changes, comment, or create a pending review. This action requires authentication and write permissions to pull requests.
Retrieves a pull request review by its ID. Returns detailed information about the review including the reviewer, state, body, and submission details. Authentication is optional for public repositories.
Updates the contents of a specified review summary comment. Only the review body can be updated. This action requires authentication and write permissions to pull requests.
Deletes a pull request review that has not been submitted. Only pending reviews can be deleted - submitted reviews cannot be deleted. This action requires authentication and write permissions to pull requests.
Lists comments for a specific pull request review. This endpoint supports custom media types for different response formats including raw markdown, text-only, HTML rendered, and full representations. Authentication is optional for public repositories.
Submits a pending review for a pull request. Only reviews in PENDING state can be submitted. Once submitted, reviews cannot be edited or deleted. The review action can be APPROVE, REQUEST_CHANGES (requires body), or COMMENT. Authentication and write permissions to pull requests are required. Use "Get Pull Request Review" first to verify the review state.
Lists pull requests in a specified repository. Supports filtering by state, head/base branches, sorting options, and pagination. This endpoint supports custom media types for different response formats. Authentication is optional for public repositories.
Creates a new pull request in a repository. You must provide either a title or an issue number to convert. To create a pull request, you must have write access to the head or source branch. For organization-owned repositories, you must be a member of the organization. This endpoint supports custom media types and triggers notifications.
Lists details of a pull request by providing its number. Supports custom media types including diff and patch formats. The mergeable attribute indicates if the PR can be automatically merged. Authentication is optional for public repositories.
Update an existing pull request in a GitHub repository. You can modify the title, body, state (open/closed), base branch, and maintainer permissions. Authentication is required and you must have write access to the repository.
Lists commits on a pull request. Returns a maximum of 250 commits per pull request. For pull requests with more than 250 commits, use the List commits endpoint instead. Authentication is optional for public repositories.
Lists the files in a specified pull request. Returns up to 3000 files with 30 files per page by default. Shows file changes including additions, deletions, and modifications. Authentication is optional for public repositories.
Checks if a pull request has been merged into the base branch. Returns different status codes to indicate merge status: 204 if merged, 404 if not merged. The response body is empty. Authentication is optional for public repositories.
Merge a pull request using the specified merge method. Requires contents write and pull requests write permissions.
Create a new file or replace an existing file in a repository. Requires contents write permissions.
Delete a file from a repository. Requires contents write permissions.