GitHub
Code hosting platform for repositories, issues, pull requests, commits, branches, and releases.
Supports repository work across branches, issues, comments, gists, collaborators, cards, and repository events.
Use GitHub with Snow
Snow is a personal AI assistant that builds real apps for you, and they can put GitHub to work.
Related integrations
What Snow can do with GitHub
These are the GitHub actions available to the apps you build with Snow. Connecting an account does not make Snow run these on its own.
- Add a repository collaborator
Adds a GitHub user as a repository collaborator, or updates their permission if already a collaborator; `permission` applies to organization-owned repositories (personal ones default to 'push' and ignore this field), and an invitation may be created or permissions updated directly.
- Add assignees to an issue
Adds assignees to a GitHub issue. This action only adds users - it does not remove existing assignees. Changes are silently ignored if the authenticated user lacks push access to the repository.
- Add email for auth user
Adds one or more email addresses (which will be initially unverified) to the authenticated user's GitHub account; use this to associate new emails, noting an email verified for another account will error, while an existing email for the current user is accepted.
- Add labels to an issue
Adds labels (provided in the request body) to a repository issue; labels that do not already exist are created.
- Approve a workflow run for a fork pull request
Approves a workflow run from a forked repository's pull request; call this when such a run requires manual approval due to workflow configuration.
- Commit Multiple Files
Tool to atomically create, update, or delete multiple files in a GitHub repository as a single commit. Uses Git Data APIs to avoid SHA mismatch conflicts that occur with the Contents API when multiple files are modified in parallel. Use when you need to make multi-file changes reliably. BRANCH CREATION: When committing to a new branch (e.g., 'fix/my-fix' or 'feature/new-feature'), you MUST provide 'base_branch' (typically 'main' or 'master') to create the branch from. If the branch already exists, base_branch is not needed. This action handles race conditions automatically: if the branch is updated by another commit between fetching the HEAD and updating the reference (resulting in a 422 'not a fast forward' error), the action will retry by refetching the HEAD and rebasing changes. Use max_retries to control this behavior.
- Compare two commits
Compares two commit points (commits, branches, tags, or SHAs) within a repository or across forks, using `BASE...HEAD` or `OWNER:REF...OWNER:REF` format for the `basehead` parameter.
- Create a blob
Creates a Git blob in a repository, requiring content and encoding ('utf-8' or 'base64'). Requires write access to the repository.
- Create a commit
Creates a new commit in a GitHub repository; the `tree` SHA and any `parents` SHAs must already exist in the repository.
- Create a pull request
Creates a pull request in a GitHub repository, requiring existing `base` and `head` branches; `title` or `issue` must be provided.
- Create a reference
Creates a NEW Git reference (branch or tag) in a repository. IMPORTANT: This action ONLY creates NEW references - if the reference already exists, it will fail with a 422 'Reference already exists' error. To update an existing reference, use the 'Update a reference' (GITHUB_UPDATE_A_REFERENCE) action instead. The repository must not be empty prior to this operation.
- Create a release
Creates a release in a GitHub repository for a specified tag; the tag must be unique for published releases, and if a `discussion_category_name` is given, it must already exist.
- Create a tree
Creates a new Git tree object in a repository, defining file/directory structure by specifying tree entries, optionally building on a `base_tree` SHA; all provided SHAs must be valid.
- Create an issue
Creates a new issue in a GitHub repository, requiring the repository to exist and have issues enabled; specific fields like assignees, milestone, or labels may require push access.
- Create an issue comment
Creates a new comment on an existing GitHub issue or pull request within the specified repository.
- Create an organization repository
Creates a new repository within a specified GitHub organization, with options for detailed configuration including visibility, features, merge strategies, initial commit, and templates.
- Create draft item for user project
Creates a draft issue item in a user-owned GitHub ProjectsV2. Use when you need to add a new draft item to track ideas or tasks in a user's project.
- Create or update file contents
Creates a new file or updates an existing file in a GitHub repository; SHA can be provided to validate file updates, automatically fetched if not provided.
- Delete a repository
Permanently deletes the specified repository; this is a destructive, irreversible action that requires admin privileges for the repository.
- Find Pull Requests
Primary tool to find and search pull requests. Supports filtering by repository, author, state, labels, and merge status, and returns structured PR data for reliable use in workflows. GitHub search results are capped at ~1000 total items; narrow filters when totals approach this limit. `created_since`/`updated_since` filter on creation/update timestamps, not `merged_at`; apply merge-date filtering client-side.
- Find Repositories
AI-optimized repository search with smart filtering by language, stars, topics, and ownership. Builds intelligent search queries and returns clean, actionable repository data. Check `incomplete_results` in the response — when true, results are non-exhaustive. Search endpoints are rate-limited to ~30 requests/minute (vs. 5000/hour for general REST); apply backoff on 403/429. Total results are capped at ~1000 per query regardless of pagination.
- Get a pull request
Retrieves a specific pull request from a GitHub repository using its owner, repository name, and pull request number.
- Get a reference
Retrieves a specific Git reference (e.g., a branch, tag, or fully qualified like 'heads/main') from a GitHub repository. The reference must exist in the repository; use 'list_matching_references' first if unsure what references are available.
- Get repository content
Retrieves a file's Base64 encoded content or lists a directory's contents from a GitHub repository.
- List branches
Lists branches for an existing GitHub repository, with an option to filter by protection status.
- List check runs for a git ref
List GitHub check runs for a commit SHA, branch, or tag to assess CI status and conclusions. Use when you need reliable CI pass/fail signals beyond commit metadata.
- List deployments
Lists deployments for a specified repository; repository must exist.
- List notifications for authenticated user
Tool to list notification threads for the authenticated user with efficient polling support. Use when you need to fetch the user's GitHub notification inbox with filters like unread/participating/since. Returns notification threads plus polling headers (Last-Modified, ETag, X-Poll-Interval) for efficient polling. IMPORTANT: This endpoint requires a Personal Access Token (classic) with 'notifications' or 'repo' scope. It does NOT work with GitHub App tokens or fine-grained personal access tokens. If the token type is incompatible, a clear error message will be returned.
- List organizations for a user
Lists public organizations for a specified GitHub user; the `username` must be a valid GitHub handle.
- List organizations for the authenticated user
Lists organizations the authenticated GitHub user is a member of, returning details for each organization.
- List pull requests
Lists pull requests for a GitHub repository. REQUIRES 'owner' AND 'repo' parameters - both are MANDATORY and must be provided in every call. Does NOT support filtering by assignee or date range - use GITHUB_FIND_PULL_REQUESTS instead for searching PRs by assignee, author, or across multiple repositories.
- List pull requests files
Lists all files (including additions, modifications, and removals) associated with a specific pull request in a GitHub repository.
- List repositories for the authenticated user
Lists repositories for the authenticated user; using 'type' with 'visibility' or 'affiliation' API parameters (not in this model) can cause a 422 error.
- List repositories starred by the authenticated user
Lists repositories the authenticated user has starred, optionally sorted and paginated, including star creation timestamps via 'application/vnd.github.star+json' media type.
- List repository contributors
Lists contributors to a specified repository, sorted by number of contributions in descending order; the repository must exist and be accessible.
- List repository files and directories
Browse and list all files/directories in a GitHub repository. Efficiently retrieves the complete repository structure in a single API call when used with recursive mode. Perfect for analyzing codebase structure, finding specific files, or getting an overview of repository contents without cloning.
- List repository issues
Lists issues (including pull requests) from a GitHub repository. Requires BOTH 'owner' AND 'repo' parameters (e.g., owner='octocat', repo='Hello-World' for github.com/octocat/Hello-World).
- List repository workflows
Lists all GitHub Actions workflows for a specified repository, which must exist and be accessible.
- List secret scanning alerts for a repository
List secret scanning alerts for a GitHub repository using first-party detections. Use this to retrieve detected secrets with filtering by state, type, resolution, and validity. Supports optional hiding of secret literals for security.
- List stargazers
Lists users who have starred the specified GitHub repository, which must exist.
- Star a specified repository (requires owner and repo)
Stars a specified repository (identified by owner and repo name) for the authenticated user; this action is idempotent and succeeds even if the repository is already starred. Requires explicit repository identification via owner and repo parameters.
- Update a reference
Updates an existing Git reference (e.g., a branch or tag) to point to a specific commit SHA. By default, only allows fast-forward updates (where the new commit is a descendant of the current one). Set `force=true` to allow non-fast-forward updates that rewrite history. IMPORTANT: The reference must already exist - use 'Create a reference' action to create new refs.
- Abort Repository Migration
Tool to abort a repository migration that is queued or in progress. Use when you need to cancel an ongoing migration operation.
- Add field to user project
Tool to add a custom field to a user-owned GitHub Projects V2 project. Use when you need to add fields like status, priority, or custom data to organize project items.
- Add item to user project
Tool to add an issue or pull request to a user-owned GitHub project. Use when you need to add existing repository items to a project board.
- Add reviewers to a specific pull request
Adds reviewers to a specific pull request identified by owner, repo, and pull_number. This is NOT a search action - it operates on an already-known PR number. Requires `owner`, `repo`, `pull_number`, and at least one of `reviewers` or `team_reviewers`.
- Add status check contexts
Adds status check contexts to a protected branch's required status checks. This action appends new status check contexts to the existing list of required status checks for a protected branch. The branch must already have branch protection enabled with status checks configured. Note: The 'contexts' parameter is deprecated by GitHub in favor of 'checks' array. For new implementations, consider using update_status_check_protection with the 'checks' parameter instead.
- Add sub-issue to an issue
Tool to add a sub-issue to a parent GitHub issue using GraphQL. Use when you need to establish a parent-child relationship between issues. Requires the 'sub_issues' GraphQL feature to be enabled.
- Cancel a workflow run
Cancels a workflow run in a GitHub repository if it is in a cancellable state (e.g., 'in_progress' or 'queued'). Returns 202 Accepted on success.
- Cancel sponsorship
Tool to cancel an active GitHub sponsorship using GraphQL. Use when you need to terminate a sponsorship relationship between a sponsor and a sponsorable entity. Either sponsor ID/login and sponsorable ID/login must be provided.
- Change User Status
Tool to update your status on GitHub. Use when you need to set or clear your GitHub profile status with an emoji, message, and availability indicator.
- Check if a user is a repository collaborator
Checks if a user is a collaborator on a specified GitHub repository, returning a 204 status if they are, or a 404 status if they are not or if the repository/user does not exist.
- Check public organization membership
Tool to check if a user is a public member of an organization. Use when you need to verify public organization membership status.
- Clear Project V2 Item Field Value
Tool to clear the value of a field for an item in a GitHub Project V2. Use when you need to remove or reset a field value (text, number, date, assignees, labels, single-select, iteration, or milestone fields).
- Create a check run
Creates a new check run for a specific commit in a repository, used by external services to report status, detailed feedback, annotations, and images directly within the GitHub UI. NOTE: This endpoint requires GitHub App authentication - OAuth tokens and personal access tokens cannot create check runs.
- Create a check suite
Creates a new check suite for a specific commit (`head_sha`) in an original repository (not a fork). IMPORTANT: This endpoint requires a GitHub App installation access token - OAuth tokens and classic personal access tokens cannot use this endpoint. GitHub dispatches a `check_suite` webhook event with the `requested` action upon success.
- Create a codespace for the authenticated user
Creates a GitHub Codespace for the authenticated user, requiring a JSON request body with either `repository_id` (integer) or a `pull_request` object (containing `pull_request_number` (integer) and `repository_id` (integer)). This action allows users to set up a development environment quickly by creating a codespace from a specified repository or pull request.
- Create a codespace from a pull request
Creates a GitHub Codespace for an open pull request in a Codespaces-enabled repository, with options to customize its configuration.
- Create a codespace in a repository
Creates a GitHub Codespace for the authenticated user in a specified repository, which must be accessible and use a valid `devcontainer.json` if `devcontainer_path` is specified.
- Create a commit comment
Creates a comment on a specific commit, or on a specific line if `path` and `position` are provided.
- Create a deployment
Creates a GitHub deployment for an existing repository, targeting a specific ref (branch, tag, or SHA) that must also exist within the repository.
- Create a fork
Creates a fork of an accessible repository, optionally into a specific organization, with a new name, or copying only the default branch.
- Create a label
Creates a new label in a specified GitHub repository, provided the repository exists and the user has write permissions.
- Create a reply for a review comment
Posts a reply to a specific review comment on a GitHub pull request, requiring the repository, pull request, and original comment to exist, and a non-empty reply body.
- Create a repository for the authenticated user
Creates a new repository for the authenticated user, optionally within an organization if `team_id` is specified.
- Create a repository webhook
Creates a webhook for a specified repository; requires admin permissions on the repository.
- Create a review comment for a pull request
Creates a review comment on a pull request's diff, targeting a specific line, range of lines, an entire file, or replying to an existing comment.
- Create a review for a pull request
Creates a pull request review, allowing approval, change requests, or comments; `body` is required if `event` is `REQUEST_CHANGES` or `COMMENT`, and omitting `event` makes the review `PENDING`.
- Create a team
Creates a new team in an organization, optionally with maintainers, repositories, specific privacy, notification settings, or a parent team; if `parent_team_id` is given, `privacy` must be 'closed'.
- Create a workflow dispatch event
Manually triggers a GitHub Actions workflow identified by `workflow_id` at a given `ref`, if the workflow is configured to accept `workflow_dispatch` events.
- Create inference chat completions
Tool to create chat completions using GitHub Models inference API. Use when you need to generate AI-powered text responses using models like GPT-4, Claude, or Llama through GitHub's inference endpoint.
- Create inference embeddings
Tool to create inference embeddings using GitHub's AI models. Use when you need to convert text into vector representations for similarity search, clustering, or other ML tasks.
- Create issue type
Create a new issue type for a GitHub organization. Requires the authenticated user to be an organization administrator. OAuth tokens need admin:org scope.
- Create or update a repository secret
Creates or updates a GitHub Actions secret within a specific repository; use `encrypted_value` and `key_id` to set or change its value.
- Create or update an environment secret
Creates or updates an environment secret with an `encrypted_value` that was encrypted using the public key identified by `key_id` for the specified environment.
- Create or Update GitHub Pages Site
Tool to enable or update GitHub Pages configuration for a repository. Use when setting up GitHub Pages for static site deployment or modifying Pages settings like custom domains and HTTPS enforcement.
- Create reaction for a pull request review comment
Adds a specified reaction to a pull request review comment within a GitHub repository.
- Create Sponsors Tier
Tool to create a new payment tier for your GitHub Sponsors profile using GraphQL. Use when you need to add a new sponsorship tier with a specific monthly price and description. The amount is specified in dollars and will be converted to cents automatically.
- Create sponsorship
Tool to start a new GitHub sponsorship or reactivate a past sponsorship using GraphQL. Use when you need to sponsor a maintainer through GitHub Sponsors with a specified amount and privacy level.
- Create user list
Tool to create a new user list on GitHub. Use when you need to organize and group GitHub users for easier tracking and management.
- Create view for user project
Tool to create a new view in a user-owned GitHub project (Projects V2). Use when you need to add a customized view with specific layout, filters, and visible fields to organize project items. Note: This action works with GitHub Projects V2. The view can be configured with different layouts (table, board, roadmap) and optional filters. The visible_fields parameter is not applicable to roadmap layouts.
- Delete a commit comment
Deletes a specific commit comment, identified by its `comment_id`, from the specified repository; the comment must exist.
- Delete a deployment
Permanently deletes a specified *inactive* deployment from a repository.
- Delete a gist
Permanently deletes an existing GitHub gist, specified by its `gist_id`; this action is destructive and cannot be undone.
- Delete a label
Permanently removes an existing label from a repository.
- Delete a milestone
Deletes the specified milestone if it exists; this operation is idempotent, typically returning a 404 if the milestone is not found or already deleted.
- Delete a project
Deletes the specified GitHub project (Projects V2) using the GraphQL API. Note: This action uses GitHub's Projects V2 GraphQL API. The legacy Projects (classic) REST API was sunset on April 1, 2025 and is no longer available. The project is permanently deleted and cannot be recovered. The user must have admin permissions for the project to delete it.
- Delete a reference
Deletes a Git reference from a repository; 'ref' must be fully qualified (e.g., 'refs/heads/branch' or 'refs/tags/tag').
- Delete a release
Permanently deletes a specific release, its assets, and potentially its associated Git tag from a repository.
- Delete a repository secret
Deletes a named GitHub Actions secret from a specified repository; this operation is destructive and idempotent, and requires the repository to exist.
- Delete a repository variable
Deletes a named variable (e.g., for GitHub Actions workflows) from a repository; the repository and the variable must already exist.
- Delete a repository webhook
Deletes a specific webhook from a repository.
- Delete a review comment for a pull request
Deletes a specific pull request review comment.
- Delete a team
Deletes a team (and any child teams) from an organization.
- Delete a workflow run
Deletes a specific workflow run from a repository.
- Delete an artifact
Deletes a GitHub artifact by its ID within a repository, typically resulting in an empty response (HTTP 204 No Content) on success.
- Delete package version
Tool to delete a package version using GitHub GraphQL API. Use when you need to remove a specific version of a package by its global node ID.
- Delete project item for user
Tool to delete a project item for a user in GitHub Projects V2. Use when you need to remove an item from a user's project. Requires the project item's GraphQL node ID (starts with 'PVTI_'). Uses the GitHub GraphQL API deleteProjectV2Item mutation.
- Delete User List
Tool to delete a GitHub user list using GraphQL. Use when you need to remove a user list from a GitHub account.
- Dismiss a review for a pull request
Dismisses an APPROVED or CHANGES_REQUESTED review on a pull request with a mandatory explanatory message. IMPORTANT: Only reviews in APPROVED or CHANGES_REQUESTED state can be dismissed. Reviews in COMMENTED, PENDING, or already DISMISSED state will return a 422 error. To dismiss a review on a protected branch, you must be a repository admin or be authorized to dismiss pull request reviews.
- Download a repository archive ZIP
Downloads a repository's source code as a ZIP archive for a specific Git reference (branch, tag, or commit SHA). IMPORTANT SIZE LIMITATION: This action may fail with 'payload too large' errors for large repositories due to platform size restrictions. If you encounter size limit issues, consider these alternatives: - Use GITHUB_GET_REPOSITORY_CONTENT to fetch specific files or directories (also lists directory contents) - Clone the repository using git if you need the full codebase Best suited for: small to medium repositories, downloading specific tagged releases, or quick code inspection.
- Download job logs for a workflow run
Downloads logs for a specific job in a GitHub Actions workflow run, contingent on the repository's existence and the job ID being valid and having produced logs.
- Download workflow run attempt logs
Downloads a ZIP archive of logs for a specific workflow run attempt. Returns a downloadable ZIP file containing logs for all jobs and steps in the workflow run.
- Download workflow run logs
Downloads logs for a specific GitHub Actions workflow run as a ZIP archive containing log files for each job in the workflow.
- Export an SBOM for a repository
Exports the software bill of materials (SBOM) in SPDX JSON format for a repository, if its dependency graph is enabled and it has at least one commit.
- Fetch GraphQL Node
Tool to fetch any GitHub object by its global node ID. Use when you have a node_id and need to retrieve the corresponding object details.
- Follow Organization (GraphQL)
Tool to follow a GitHub organization using GraphQL. Use when you need to make the authenticated user follow an organization.
- Follow User (GraphQL)
Tool to follow a GitHub user using GraphQL. Use when you need to make the authenticated user follow another user.
- Generate release notes content for a release
Generates Markdown release notes content (listing changes, pull requests, and contributors) for a GitHub repository release, customizable via tags and a configuration file.
- Get a blob
Retrieves the raw, typically Base64-encoded, content of a file (blob) from a GitHub repository using its SHA hash, if the repository and blob SHA exist.
- Get a branch
Retrieves detailed information for a specified branch within a GitHub repository.
- Get a check run
Retrieves detailed information for a specific check run within a GitHub repository.
- Get a check suite
Retrieves a specific check suite (a collection of check runs) by its ID from a repository accessible to the authenticated user.
- Get a code scanning alert
Retrieves a specific code scanning alert, which identifies potential code vulnerabilities or errors, by its number from the specified GitHub repository.
- Get a commit
Retrieves a specific commit from a repository by its owner, name, and a valid commit reference (SHA, branch, or tag), supporting pagination for large diffs.
- Get a commit comment
Retrieves the full details of a specific commit comment in a GitHub repository, using its unique identifier.
- Get a deployment
Gets a specific deployment by ID from a repository, provided the repository and deployment ID exist.
- Get a deployment status
Retrieves a specific deployment status by its ID for a given deployment within a GitHub repository.
- Get a discussion
Fetches a specific discussion by its number from a team within an organization. This is a read-only action that retrieves discussion details including title, body, author information, comment count, and reactions. The authenticated user must be a member of the organization to access team discussions.
- Get a discussion comment
Fetches a specific comment from a team discussion within a specific organization.
- Get a gist
Fetches a specific GitHub gist by its `gist_id`, returning comprehensive details if the gist exists.
- Get a global security advisory
Retrieve a global GitHub security advisory by its GHSA identifier. Use this to get detailed information about vulnerabilities including severity, affected packages, CVSS scores, and references.
- Get a label
Retrieves a specific label by its name from a specified GitHub repository.
- Get a milestone
Retrieves detailed information for a specific milestone within a GitHub repository by its number.
- Get a project
Retrieves detailed information for a specific GitHub project (V2) using its project number and owner. Note: This action uses GitHub's Projects V2 REST API. The legacy Projects (classic) REST API was sunset on April 1, 2025. The project is identified by its number (visible in the project URL) and owner (either a username or organization name). If no owner is specified, the authenticated user is assumed.
- Get a release
Gets a specific release from a GitHub repository, provided the repository is accessible and the release exists.
- Get a repository
Retrieves detailed information about an existing and accessible GitHub repository.
- Get a repository public key
Gets a repository's public key for encrypting secrets to be used in GitHub Actions, if the repository exists and is accessible.
- Get a repository variable
Gets a specific GitHub Actions variable by name from an accessible repository.
- Get a repository webhook
Returns the configuration of an existing webhook for a given repository.
- Get a review for a pull request
Retrieves a specific review for a pull request using its owner, repository, pull request number, and review ID.
- Get a tag
Retrieves detailed information for a specific Git tag object from a GitHub repository, using the SHA of the tag object itself.
- Get a user
Retrieves the public profile information for an existing GitHub user, specified by their username.
- Get a webhook configuration for a repository
Returns the configuration for an existing webhook on the specified repository.
- Get a workflow
Retrieves detailed information for a specific GitHub Actions workflow in a repository, identified by either its numeric ID or its filename.
- Get a workflow run
Gets a specific workflow run by its ID from a GitHub repository.
- Get a workflow run attempt
Retrieves detailed information for a specific attempt of a workflow run in a GitHub repository, including its status, conclusion, and timings.
- Get an artifact
Gets a specific artifact for a repository by `artifact_id`. This action retrieves the details of a specific artifact from a GitHub repository using the artifact's unique identifier. It allows users to access information about artifacts stored in the repository.
- Get an environment public key
Retrieves the public key for a specified GitHub repository environment, used to encrypt secrets for GitHub Actions.
- Get an environment variable
Retrieves a specific environment variable from a GitHub Actions environment by repository owner, repository name, environment name, and variable name.
- Get an issue
Retrieves detailed information about a specific issue in a repository using the owner, repository name, and issue number.
- Get an issue comment
Action to get an issue comment.
- Get billing premium request usage
Tool to get billing premium request usage report for a GitHub user. Use when you need to retrieve usage data for premium features like Copilot or AI models.
- Get billing usage report for user
Retrieves the billing usage report for a specified GitHub user. Use when you need to analyze billing costs and usage patterns.
- Get billing usage summary for user
Tool to retrieve billing usage summary for a GitHub user account. Use when tracking usage costs, monitoring billing details, or generating usage reports for a specific user. Note: This endpoint only returns data for the past 24 months and is currently in public preview.
- Get branch protection
Retrieves branch protection settings for a specific, existing, and accessible branch in a GitHub repository; protection feature availability varies by GitHub product plan.
- Get catalog models
Tool to retrieve the list of AI models available in the GitHub Models catalog. Use when you need to discover available models, their capabilities, token limits, and supported modalities.
- Get Code of Conduct (GraphQL)
Tool to look up a code of conduct by its key using GitHub's GraphQL API. Use when you need to fetch code of conduct details as part of a GraphQL workflow.
- Get commit statuses
List all statuses for a commit reference (SHA, branch, or tag) in reverse chronological order. Use when you need to check CI/CD status results from various systems for a specific commit.
- Get Enterprise Member Invitation
Tool to look up a pending enterprise unaffiliated member invitation by invitee and enterprise. Use when you need to check the status of a specific invitation.
- Get github pages build
Retrieves detailed information about a specific GitHub Pages build for a repository, which must have GitHub Pages enabled.
- Get GraphQL rate limit
Tool to retrieve the authenticated client's GitHub GraphQL API rate limit information. Use when you need to check remaining quota, current usage, or reset time for GraphQL requests.
- Get License (GraphQL)
Tool to look up an open source license by its SPDX ID using GitHub's GraphQL API. Use when you need to fetch license details for compliance tracking or repository setup.
- Get organization audit log
Tool to retrieve an organization's audit log events for security and compliance investigations. Use when tracking organizational changes, security audits, or compliance monitoring. Requires organization owner permissions and read:audit_log scope.
- Get organization project item
Tool to get an item from an organization-owned GitHub Projects V2 project. Use when you need to retrieve details about a specific project item including its content, fields, timestamps, and creator information.
- Get page views
Retrieves page view statistics for a repository over the last 14 days, including total views, unique visitors, and a daily or weekly breakdown.
- Get pending deployments for a workflow run
Retrieves pending deployment environments for a specific workflow run that are awaiting approval due to protection rules.
- Get Raw Repository Content
Tool to fetch raw file content from a GitHub repository. Returns raw bytes in whatever format the file uses (JSON, CSV, binary, etc.) — parsing and validation are the caller's responsibility. Ensure owner, repo, ref, and path are consistent when combining with other GitHub tools to avoid mismatched-ref errors.
- Get repository attestations
Tool to retrieve attestations by subject digest from a GitHub repository. Use when you need to verify or check attestations for a specific artifact identified by its SHA256 digest.
- Get repository clones
Retrieves the total number of clones and a breakdown of clone activity (daily or weekly) for a specified repository over the preceding 14 days.
- Get Repository Owner
Tool to lookup a repository owner (User or Organization) by login using GitHub's GraphQL API. Use when you need to determine whether a login is a user or organization and retrieve basic profile information.
- Get repository permissions for a user
Retrieves a specific user's permission level ('admin', 'write', 'read', or 'none') for a given repository, where 'maintain' role is reported as 'write' and 'triage' as 'read'.
- Get repository security advisory
Tool to retrieve a repository security advisory using its GHSA identifier. Use when you need detailed information about a specific security vulnerability.
- Get Repository via GraphQL
Tool to lookup a repository by owner and name using GitHub's GraphQL API. Use when you need comprehensive repository information.
- Get rules for a branch
Retrieves all active rules for a specific branch in a GitHub repository, excluding rules in 'evaluate' or 'disabled' status.
- Get status checks protection
Retrieves the status check protection settings for a specific branch in a GitHub repository, if status check protection is enabled for it.
- Get team membership for a user
Retrieves a user's role and membership status within a specific team in an organization. Returns membership details including role ('member' or 'maintainer') and state ('active' or 'pending'). If the user is not a member of the team, returns is_member=False with a descriptive message. Requires the authenticated user to be an organization member with visibility into the team.
- Get the authenticated user
Gets the profile information for the currently authenticated GitHub user, including potentially private details based on user settings.
- Get the latest release
Fetches the latest official (non-prerelease, non-draft) release for a GitHub repository; requires at least one such published release.
- Get the license for a repository
Retrieves the license file and its details for a repository, optionally from a specific Git reference (branch, tag, or commit SHA).
- Get top referral paths
Fetches the top 10 most viewed content paths for a repository from the last 14 days.
- Get top referral sources
Fetches the top 10 websites that referred traffic to a repository within the last 14 days.
- Get user attestations by subject digest
Tool to get attestations by subject digest for a GitHub user. Use when you need to retrieve attestation data for a specific artifact or resource identified by its subject digest.
- Get user by ID
Retrieves a GitHub user's profile information by their unique numeric account ID. Use when you know the user's numeric ID rather than their username.
- Get user project item
Tool to get an item from a user-owned project in GitHub Projects V2. Use when you need to retrieve details about a specific item (issue, pull request, or draft issue) in a user's project board.
- Get user's projects v2
Tool to list GitHub Projects v2 for a specified user. Use when you need to retrieve all projects owned by a user with pagination support.
- Get Viewer via GraphQL
Tool to retrieve the authenticated user's profile information via GitHub GraphQL. Use when working with GraphQL queries or need viewer details in GraphQL format.
- Get workflow run usage
Gets the billable time, in milliseconds, for a specific workflow run, detailing time spent on various operating systems.
- Get workflow usage
Gets the billable time (in milliseconds, broken down by runner OS) for a specific workflow within a repository for the current billing cycle.
- GitHub GraphQL Search
Tool to perform GitHub GraphQL searches across issues, pull requests, repositories, users, and discussions. Returns up to 1,000 results with cursor-based pagination. Use when you need structured search results with specific fields.
- List artifacts for a repository
Lists GitHub Actions workflow artifacts for a specified repository, which must exist.
- List assignees
Lists users who can be assigned to issues in a repository, typically those with push access.
- List attestation repositories
Tool to list attestation repositories for an organization. Use when you need to discover which repositories in an organization have attestations. Attestations provide verifiable metadata about software artifacts.
- List code scanning alerts for a repository
Lists code scanning alerts for a repository, optionally filtering by tool (which must have produced scan results for the repository), Git reference, state, or severity.
- List Codes of Conduct (GraphQL)
Tool to fetch all available codes of conduct using GitHub's GraphQL API. Use when you need to retrieve the complete list of codes of conduct that can be applied to repositories.
- List comment changes across organization
Tool to list issue and PR comment changes across an organization's repositories efficiently. Use when monitoring comment activity without per-PR/per-issue polling. Filters organization events to return only comment-related events (IssueCommentEvent, PullRequestReviewCommentEvent, CommitCommentEvent). Note: Events are limited to the past 30 days and up to 300 events per timeline. Use ETag header for efficient polling to avoid rate limits.
- List comments for a pull request review
Lists all comments for a specific review on a GitHub pull request.
- List commit comments
Retrieves all comments for a specific commit in a GitHub repository, supporting pagination.
- List commits
Lists commits for a GitHub repository. Requires 'owner' (username/org) and 'repo' (repository name) parameters. Optionally filter by SHA/branch, path, author, committer, or date range.
- List commits on a pull request
Lists commits for a pull request; requires the repository and pull request to exist and be accessible, and supports pagination.
- List environment secrets
Lists the names and metadata (not values) of secrets for a specified, existing environment within an existing GitHub repository.
- List environment variables
Lists all environment variables, which are plaintext key-value pairs for GitHub Actions workflows, for a specified environment within a GitHub repository.
- List forks
Lists forks for a specified repository, which must exist, with options for sorting and pagination.
- List global security advisories
Lists GitHub's global security advisories, filterable by various attributes including ID, type, ecosystem, severity, and dates.
- List GPG keys for a user
Tool to list GPG keys for a GitHub user. Use when you need to fetch the public GPG keys associated with a specific GitHub user account.
- List issue comments
Lists comments for a specified issue in a GitHub repository.
- List issue comments for a repository
Lists issue comments, including those on pull requests, for an accessible repository.
- List issue dependencies blocked by
Tool to list dependencies an issue is blocked by. Use when you need to retrieve all issues that are blocking a specific issue from being closed or completed.
- List issue dependencies blocking
Tool to list dependencies an issue is blocking. Use when you need to see which issues are blocked by a specific issue.
- List issue types
List all issue types configured for a GitHub organization. Requires read:org scope for OAuth tokens.
- List items for user project view
Tool to list items for a user's GitHub Projects (v2) view. Use when you need to retrieve items from a specific view of a user's project. Supports pagination and field filtering.
- List jobs for a workflow run
Lists jobs for a specific workflow run in a GitHub repository.
- List labels for a repository
Retrieves all labels for a specified, existing GitHub repository.
- List labels for an issue
Lists all labels for a specified issue in a GitHub repository.
- List Licenses (GraphQL)
Tool to fetch all known open source licenses using GitHub's GraphQL API. Use when you need to retrieve the complete list of licenses that can be applied to repositories.
- List marketplace subscriptions for authenticated user
Tool to list GitHub Marketplace subscriptions for the authenticated user. Use when you need to retrieve active marketplace app subscriptions including billing details, plan information, and trial status. Returns subscription information with account, plan, billing cycle, and pricing details.
- List organization memberships for authenticated user
List organization memberships for authenticated user
- List organization project view items
Tool to list items for an organization project view. Use when you need to retrieve all items from a specific view within a GitHub organization's Projects V2 project. Returns a list of project items with their content, metadata, and field values.
- List project fields for user
Tool to list all fields in a GitHub Projects V2 project for a specific user. Use when you need to see available fields in a project.
- List project items for user
Tool to list items for a user-owned GitHub project. Use when you need to retrieve all items (issues, pull requests, draft issues) from a specific project belonging to a user.
- List pull requests associated with a commit
Lists pull requests for a commit; returns merged PRs that introduced the commit if on the default branch, or open PRs including the commit if on other branches.
- List releases
Retrieves a list of all releases (published, draft, and prerelease) for a specified repository.
- List repo codespaces for authenticated user
Lists Codespaces the authenticated user can access within a specified, existing repository.
- List repositories for a user
Lists public repositories for a specified GitHub user, who must have an existing account.
- List repository collaborators
Lists collaborators for a specified repository, provided it exists and is accessible to the authenticated user.
- List repository events
Lists chronological events (e.g., code pushes, issue activities, PR actions, forks) for a specified, existing GitHub repository.
- List repository invitations
Retrieves all pending (unaccepted or undeclined) collaboration invitations for a specified GitHub repository.
- List repository secrets
Lists metadata for all secrets in a GitHub repository, excluding their encrypted values.
- List repository security advisories
Tool to list security advisories for a repository. Use when you need to retrieve security advisories published for a specific repository, optionally filtered by state.
- List repository tags
Lists tags for a specified GitHub repository.
- List repository variables
Lists plain text key-value variables for GitHub Actions workflows within a specific, accessible repository.
- List repository webhooks
Retrieves a list of webhooks for a repository, which must exist and be accessible.
- List review comments in a repository
Lists all review comments on all pull requests within a specified repository.
- List review comments on a pull request
Lists all review comments on a specific pull request within a GitHub repository.
- List reviews for a pull request
Lists submitted reviews chronologically for a specific pull request within a GitHub repository.
- List security advisories (GraphQL)
Tool to list GitHub Security Advisories using the GraphQL API. Use when you need to query security vulnerabilities and malware advisories from the GitHub Advisory Database with advanced filtering and pagination options.
- List security vulnerabilities
Query software vulnerabilities documented by GitHub Security Advisories using GraphQL. Use this to find security issues in packages across ecosystems like npm, pip, maven, etc.
- List Sponsorable Users and Organizations
Tool to list users and organizations who can be sponsored via GitHub Sponsors. Use when you need to discover sponsorable entities with optional filtering by dependency ecosystem.
- List sub-issues for an issue
Tool to list sub-issues for a specific GitHub issue. Use when you need to retrieve all sub-issues associated with a parent issue, supporting pagination for large hierarchies.
- List team members
Lists members of a specific team within an organization, including members of child teams.
- List team projects
Lists GitHub projects accessible to a specific team within an organization.
- List team repositories
Lists repositories accessible to a specific team within a GitHub organization. Returns a list of repositories that the specified team has access to, including the team's permission level (admin, maintain, push, triage, pull) for each repository. Requires read:org scope and membership in the organization to access team data.
- List workflow run artifacts
Lists artifacts (e.g., build outputs, test results) for a specific workflow run in a GitHub repository.
- List workflow runs for a repository
Lists workflow runs for a repository, allowing filtering by actor, branch, event, status, creation date, check suite ID, or head SHA; the repository must exist and be accessible.
- Look Up Topic by Name
Tool to look up a GitHub topic by name using GraphQL. Use when you need to find information about a specific GitHub topic including its popularity (stargazer count) and related topics.
- Lookup Enterprise Administrator Invitation
Tool to look up a pending enterprise administrator invitation by invitee, enterprise, and role. Use when you need to check if a specific user has a pending invitation to become an enterprise administrator.
- Lookup GitHub Resource
Tool to lookup a GitHub resource by its URL. Use when you need to identify or retrieve information about a GitHub resource from its URL.
- Lookup nodes by IDs
Tool to lookup GitHub nodes by their global node IDs. Use when you need to retrieve multiple objects by their IDs in a single batch query.
- Lookup Organization (GraphQL)
Tool to lookup a GitHub organization by login using GraphQL. Use when you need organization information via GraphQL API.
- Merge a branch
Merges a head branch or commit SHA into a base branch in a repository; fails if there are merge conflicts requiring manual resolution.
- Merge a pull request
Merges an open and mergeable pull request in a repository. A 405 error can occur for multiple reasons: (1) The PR is still in draft mode - convert it to ready-for-review first using GITHUB_UPDATE_A_PULL_REQUEST. (2) Branch protection rules are not satisfied - check for required approving reviews, status checks, or other repository rules that must be met before merging. (3) The base branch has been modified since the PR was last synced - update the PR branch first using GITHUB_UPDATE_A_PULL_REQUEST_BRANCH.
- Ping a repository webhook
Pings an existing webhook on a repository to test its configuration and reachability by GitHub.
- Publish Sponsors Tier (GraphQL)
Tool to publish a draft GitHub Sponsors tier using GraphQL. Use when you need to make a draft sponsors tier visible to potential sponsors. The tier must already exist in draft status.
- Redeliver a delivery for a repository webhook
Redelivers a specific, previously made webhook delivery (`delivery_id`) for a repository's webhook (`hook_id`).
- Remove a label from an issue
Removes a label currently applied to a specific issue in a repository.
- Remove a repository collaborator
Removes a collaborator from a specified GitHub repository, provided the repository exists and the user is an existing collaborator.
- Remove all labels from an issue
Removes all labels from a specified issue in a GitHub repository; this operation is idempotent.
- Remove status check contexts
Removes specified status check contexts from a protected branch's required status checks. This action removes the specified status check contexts from the existing list of required status checks for a protected branch. The branch must already have branch protection enabled with status checks configured. Note: The 'contexts' parameter is deprecated by GitHub in favor of 'checks' array. For new implementations, consider using update_status_check_protection with the 'checks' parameter instead.
- Remove status check protection
Removes status check protection from a branch, disabling required status checks for merging pull requests; will only have an effect if status check protection is currently configured on the branch.
- Render Markdown (Raw Mode)
Tool to render raw Markdown text to HTML using GitHub's markdown API. Use when you need to convert plain Markdown content to HTML without GitHub-specific features like issue references or @mentions.
- Replace all repository topics
Replaces all topics of a repository.
- Rerun a workflow
Re-runs a specific GitHub Actions workflow run identified by its owner, repository, and run ID, optionally enabling debug logging.
- Rerun failed jobs from a workflow run
Re-runs all failed jobs and their dependent jobs from a specified workflow run if the run contains previously failed jobs.
- Retire Sponsors Tier
Tool to retire a published payment tier from your GitHub Sponsors profile using GraphQL. Use when you need to prevent a tier from being used for new sponsorships. Existing sponsors at this tier remain unaffected.
- Run GraphQL Query
Tool to run an arbitrary GitHub GraphQL v4 query or mutation. Use when fetching multiple datasets in one batch. Cost-based rate limit: ~5,000 points/hour; keep field selections narrow, avoid deep nesting, and include rateLimit in responses to monitor quota. Responses are nested under data.data (e.g., data.data.repository.vulnerabilityAlerts); always inspect the errors array even on HTTP 200, as partial failures embed there. Paginate by looping on pageInfo.hasNextPage and advancing with pageInfo.endCursor. Search results cap at ~1,000 items per query; split by label, date range, or repository for full coverage. Use ProjectV2 nodes, not Classic Projects (deprecated). Parallel mutations (e.g., addProjectV2ItemById) can trigger transient conflicts; use sequential execution.
- Run GraphQL Relay Query
Tool to run a GitHub GraphQL relay query. The relay field is a workaround for re-exposing the root query object. Use when you need to access root query fields through the relay context.
- Search code
Searches code file contents and paths on the default branch of GitHub repositories using a query string; searches only files under 384KB, returns max 1000 results by best match, and is optimized for precision.
- Search code (all pages)
Tool to search code across multiple pages using GitHub's code search API. Use when single-page searches may miss matches and you need a full or capped result set. GitHub caps results at ~1,000 total items regardless of pagination; results for broad queries may be silently truncated. Only the default branch is indexed, and very large files may be excluded — treat results as potentially partial. Rate limit: ~30 requests/minute; honor `Retry-After` on 403/429 responses.
- Search commits by author across repos
Searches commits across GitHub using the Search API (e.g., by author/email/org/date range) without per-repo scanning. Use when you need to find commits by author, committer email, organization, or date ranges across multiple repositories. This avoids the need to list commits per repository and prevents 409 errors on empty repos.
- Search issues and pull requests
Searches GitHub for issues and pull requests. Supports keywords, qualifiers (repo:, org:, user:, state:, label:, author:, assignee:, mentions:, etc.), and type filters (is:issue, is:pr). Type filters cannot be used alone - they must be combined with at least one keyword or other qualifier. All other qualifiers work independently. The @me shorthand (e.g., assignee:@me, mentions:@me) is automatically resolved to your username. Logical operators (AND, OR, NOT) are supported but limited to a maximum of 5 operators total per query.
- Search repositories
Searches GitHub repositories using a flexible query (keywords, qualifiers) with sorting, ordering, and pagination. IMPORTANT: The 'q' parameter (search query) is REQUIRED and must always be provided.
- Search users
Searches for users on GitHub by criteria like username, email, location, followers, or repository associations, using a flexible query string `q`.
- Set labels for an issue
Replaces all existing labels on a GitHub issue with a new set of labels.
- Set status check contexts
Replaces required status check contexts for a protected branch, requiring admin permissions; an empty `contexts` array removes all checks.
- Set User Interaction Limit (GraphQL)
Tool to set interaction limits on a user's public repositories using GraphQL. Use when you need to temporarily restrict who can comment, open issues, or create pull requests. Limits apply to the authenticated user or a specified user.
- Submit a review for a pull request
Finalizes a pending pull request review (identified by `review_id`) with a required `event` (APPROVE, REQUEST_CHANGES, COMMENT) and an optional `body`.
- Sync a fork branch with the upstream repository
Synchronizes a branch in a forked GitHub repository with its upstream counterpart, assuming the repository is a fork, the branch exists, an upstream is configured, and the merge is conflict-free.
- Unfollow organization
Tool to unfollow a GitHub organization using GraphQL. Use when you need to stop following a specific organization on GitHub.
- Unfollow user
Tool to unfollow a GitHub user using GraphQL. Use when you need to stop following a specific user on GitHub.
- Update a code scanning alert
Updates a specific code scanning alert in a GitHub repository, primarily to change its state (e.g., 'open' or 'dismissed').
- Update a discussion
Updates the title and/or body of a specific team discussion within an organization.
- Update a discussion comment
Updates the body of a comment in a team's discussion within an organization.
- Update a label
Updates an existing label's name, color, or description within a specified repository.
- Update a milestone
Updates a milestone in a repository, identified by `owner`, `repo`, and `milestone_number`, by allowing modification of its `title`, `state`, `description`, or `due_on`; at least one of these four attributes must be provided to perform an update.
- Update a project
Updates an existing GitHub project (V2) attributes like title, description, visibility, and state. Note: This action uses GitHub's Projects V2 GraphQL API. The legacy Projects (classic) REST API was sunset on April 1, 2025. The project is identified by its number (visible in the project URL) and owner (either a username or organization name). If no owner is specified, the authenticated user is assumed. At least one field to update must be provided.
- Update a pull request
Updates an existing pull request, allowing changes to attributes like title, body, state, base branch, and maintainer modification settings.
- Update a pull request branch
Updates an open pull request's head branch by merging the latest changes from its base branch, if mergeable and repository merging is enabled; operates asynchronously.
- Update a release
Updates an existing release in a GitHub repository, allowing modification of its attributes; if linking a discussion, the `discussion_category_name` must refer to an existing category in the repository.
- Update a repository
Updates settings for an existing GitHub repository, such as name, description, visibility, merge strategies, and security configurations.
- Update a repository variable
Updates the name and/or value of an existing GitHub Actions variable in a repository.
- Update a repository webhook
Updates the URL, content type, secret, SSL verification, events, or active status for an existing repository webhook, specified by `owner`, `repo`, and `hook_id`.
- Update a review comment for a pull request
Updates the body of an existing review comment on a pull request.
- Update a team
Updates a team's settings (e.g., name, description, privacy, parent team) within a GitHub organization, identified by its slug and organization name.
- Update a webhook configuration for a repository
Updates the configuration (e.g., payload URL, content type, secret, SSL verification) for an existing webhook in a specified repository.
- Update an environment variable
Updates an existing environment variable's name and/or value in a specific GitHub repository environment; requires providing either a new name or a new value.
- Update an issue
Updates an existing GitHub issue's title, body, state, milestone, labels, or assignees; `state_reason` is only processed if `state` also changes, and use `null` or `
- Update an issue comment
Updates an existing comment on an issue or pull request within a specified repository. You can only update comments that the authenticated user has permission to edit. The comment_id can be obtained from the list_issue_comments or get_an_issue_comment actions.
- Update branch protection
Updates the protection settings for an existing branch in a repository, which must not contain wildcard characters.
- Update issue type
Update an existing issue type for a GitHub organization. Requires the authenticated user to be an organization administrator. OAuth tokens need admin:org scope.
- Update Project V2 Item for User
Tool to update a field value for an item in a user's GitHub ProjectV2. Use when you need to modify a field value of an existing project item.
- Update status check protection
Updates required status checks for a branch, optionally requiring it to be up-to-date before merging.
- Update Subscription
Tool to update notification subscription state for issues, pull requests, or discussions. Use when you need to subscribe, unsubscribe, or ignore notifications for a specific GitHub item.
- Update User List
Tool to update an existing GitHub user list. Use when you need to modify the name, description, or privacy settings of a user list.
- Update user lists for item
Tool to update which of the viewer's lists an item belongs to on GitHub. Use when you need to add an item (repository, issue, pull request, etc.) to specific user lists or move it between lists.
- Upload a release asset
Tool to upload a binary asset to an existing GitHub release. Use when you need to attach files like installers or backups to a release programmatically.
Triggers
These are the trigger events currently available for GitHub.
- Branch Changed
Triggers when a GitHub branch changes. Monitors a specific branch for: - New commits pushed (head commit SHA changes) - Protection status toggled (branch becomes protected or unprotected) - Protection settings changed, including: required status checks and their enforcement level, admin enforcement, required pull request reviews (dismiss stale reviews, code owner reviews, approving review count, last push approval), required linear history, force push allowance, deletion allowance, conversation resolution, branch locking, and fork syncing.
- Check Run Status / Conclusion Changed
Triggers when a specific GitHub check run changes its status or conclusion. Monitors a single check run for changes to: status (queued, in_progress, completed, etc.), conclusion (success, failure, neutral, cancelled, skipped, timed_out, action_required), started_at, and completed_at.
- Check Suite Status / Conclusion Changed
Triggers when a GitHub check suite changes its status or conclusion for a given ref. Monitors all check suites associated with a git reference (branch, tag, or commit SHA) for changes to status (queued, in_progress, completed, etc.) and conclusion (success, failure, neutral, cancelled, skipped, timed_out, action_required, startup_failure, stale). Optionally filters by GitHub App ID.
- Commit Event
Triggered when a new commit is pushed to a repository.
- Follower Changes
Triggers when new followers are detected on your GitHub account.
- GitHub Deployment State Changed
Triggers when a specific GitHub deployment's fields change. Monitors the following aspects of a single deployment: - ``environment`` -- the target environment name - ``original_environment`` -- the original environment name before normalization - ``description`` -- the human-readable deployment description - ``task`` -- the deployment task name - ``sha`` -- the commit SHA being deployed - ``ref`` -- the branch, tag, or SHA reference being deployed - ``updated_at`` -- the last-updated timestamp - ``transient_environment`` -- whether the environment is temporary - ``production_environment`` -- whether this is a production deployment When any of these fields change, an event is emitted containing the full current deployment details and a list of which fields changed.
- GitHub Issue Comment Changed
Triggers when a specific GitHub issue comment changes. Monitors the following fields for changes: - ``body`` -- the text content of the comment (detects edits) - ``updated_at`` -- the last-updated timestamp - ``reactions_*`` -- all individual reaction counts (thumbs up/down, laugh, confused, heart, hooray, eyes, rocket) and the total count When a change is detected, the payload includes the full current comment data plus a ``changed_fields`` list indicating exactly which fields were modified.
- GitHub Issue Labels Changed
Triggers when the labels on a specific GitHub issue change. Fires whenever a label is added to, removed from, or has its metadata (color, description) modified on the monitored issue. The payload includes: - ``current_labels`` -- the full set of labels currently on the issue - ``added_labels`` -- labels that were newly added - ``removed_label_names`` -- names of labels that were removed - ``changed_label_names`` -- labels whose metadata changed without being added or removed
- GitHub Pull Request Reviewers Changed
Triggers when the list of requested reviewers (users or teams) for a pull request changes — for example when a reviewer is added, removed, or re-requested. The payload includes the full current reviewer list (users and teams with details), which reviewers were added, which were removed, and the previous reviewer list for reference.
- GitHub Release State Changed
Triggers when a specific GitHub release (identified by tag name) changes. Monitors the release title, body/notes, draft flag, prerelease flag, published timestamp, target branch/commit, and the set of attached assets. The payload includes the full current release details, a list of which fields changed, and the previous values for comparison.
- GitHub Repository README Changed
Triggers when the README file in a specific repository directory changes. Monitors the README in a configurable directory and branch/tag/commit. The payload includes the current README metadata (filename, path, SHA, size, URLs), the previous and current git blob SHAs, and a list of which tracked fields changed.
- GitHub Workflow Run State Changed
Triggers when a GitHub Actions workflow run's status or conclusion changes. Monitors a single workflow run and fires an event whenever it transitions between states (e.g., queued to in_progress, or in_progress to completed) or when its conclusion is set (e.g., success, failure, cancelled).
- Issue Added Event
Triggered when a new issue is added to the repository.
- Issue State / Properties Changed
Triggers when a specific GitHub issue changes any of its tracked properties. Monitored properties: state (open/closed), state_reason, title, body, assignees, labels, milestone, lock status, active_lock_reason, comment count, and closed_at timestamp. When a change is detected, the payload includes the full current issue details, the list of changed field names, and their previous values.
- Issue Updated
Triggers when an existing issue is updated in a GitHub repository. Monitors issues for any changes such as title edits, body edits, label changes, assignee changes, state transitions (opening, closing, reopening), milestone updates, and comment additions. Only pre-existing issues that receive updates are emitted; newly created issues are excluded. Pull requests are also excluded -- only true issues fire events.
- Label Added Event
Triggered when a new label is added to a pull request.
- New Artifact Added to Workflow Run
Triggers when a new artifact is uploaded to a specific GitHub Actions workflow run. Monitors a single workflow run for newly added artifacts such as build outputs, test results, or coverage reports. Each new artifact detected fires a separate event.
- New Branch Created
Triggers when a new branch is created in a GitHub repository. Detects newly created branches. Deleted branches do not fire events.
- New Code Scanning Alert Created
Triggers when a new code scanning alert is created in a repository. Fires an event for each newly created code scanning alert detected in the configured repository. Alerts can be filtered by Git reference, scanning tool, state, and severity. The payload includes the alert number, rule details, tool information, state, severity, and the location of the most recent instance.
- New Commit Added to Pull Request
Triggers when a new commit is pushed to a specific pull request. Monitors all commits on the specified pull request and emits an event for each newly added commit. This covers force-pushes and additional commits pushed to the PR's head branch.
- New Deployment Created
Triggers when a new deployment is created in a GitHub repository. Fires an event for each newly created deployment detected in the configured repository. Deployments can optionally be filtered by target environment. The payload includes the deployment ID, commit SHA, ref, task, environment, creator details, and timestamps.
- New Deployment Status Created
Triggers when a new deployment status is created for a specific deployment. Fires an event for each newly created deployment status on the monitored deployment. Deployment statuses represent state transitions such as pending, in_progress, success, failure, error, inactive, and queued. The payload includes the status state, creator, environment, description, timestamps, and relevant URLs.
- New Git Reference Created
Triggers when a new Git reference (branch or tag) matching a specified prefix is created in a repository. Fires an event for each newly created branch or tag whose name matches the configured prefix. Use ``ref_prefix`` to control what is monitored: - ``heads/`` to watch all branches - ``heads/feature/`` to watch only feature branches - ``tags/`` to watch all tags - ``tags/v`` to watch tags starting with 'v' The payload includes the full reference name, node ID, the SHA and type of the Git object the reference points to, and the reference API URL.
- New GitHub Actions Workflow Added
Triggers when a new GitHub Actions workflow is added to a repository. Monitors a repository's GitHub Actions workflows and fires an event for each newly added workflow. The payload includes the workflow's name, file path, state, creation and update timestamps, and URLs for the API, web interface, and status badge.
- New GitHub Issue Comment
Triggers when a new comment is added to a specific GitHub issue. Only genuinely new comments are emitted; edits to existing comments do not produce duplicate events. The payload includes the comment ID, text body, author details, timestamps, and direct links to the comment on GitHub.
- New GitHub Release Asset Added
Triggers when a new asset is added to a specific GitHub release. Monitors a single release (identified by release ID) for newly uploaded assets such as binaries, archives, or checksum files. One event is emitted per new asset, containing full asset metadata.
- New Issue Assigned to Me
Triggers when a new issue is assigned to the authenticated user. Fires an event for each GitHub issue that is newly assigned to the authenticated user. Pull requests are automatically excluded -- only true issues are emitted. Issues can optionally be filtered by labels and state. The payload includes the issue number, title, body, state, labels, assignees, creator, repository details, and timestamps.
- New Issue Created
Triggers when a new issue is created in a GitHub repository. Pull requests are automatically excluded -- only true issues produce events. Results can be filtered by labels, assignee, creator, and mentioned user. The payload includes the issue number, title, body, state, labels, assignees, comment count, creator details, timestamps, and direct links to the issue on GitHub.
- New Issue Event
Triggers when a new issue event occurs in a GitHub repository. Covers all issue timeline events such as issues being closed, reopened, assigned, unassigned, labeled, unlabeled, milestoned, demilestoned, renamed, locked, or unlocked. Events can optionally be filtered by type. The payload includes the event type, timestamp, the actor who triggered the event, the affected issue details, and any associated commit references.
- New Pull Request Created
Triggers when a new pull request is created in GitHub, matching the optional configured filters. Emits an event for each newly created pull request. Supports filtering by repository, owner/organisation, author, assignee, label, state, base branch, head branch, and draft status.
- New Pull Request Review Comment
Triggers when a new inline review comment is added to a specific GitHub pull request. Monitors all review comments across all reviews on the specified pull request and emits an event for each newly created comment. Edits to existing comments do not fire new events.
- New Repository Collaborator Added
Triggers when a new collaborator is added to a GitHub repository. Monitors the full list of collaborators on a repository and fires an event for each newly added collaborator. The payload includes the collaborator's GitHub username, account ID, profile URL, avatar URL, permission flags (pull, triage, push, maintain, admin), and assigned role name.
- New Repository Tag Created
Triggers when a new tag is created in a GitHub repository. Monitors the repository's tags and fires an event for each newly created tag. The payload includes the tag name, the commit SHA and URL it points to, and archive download URLs.
- New Secret Scanning Alert Detected
Triggers when a new secret scanning alert is detected in a GitHub repository. Monitors open secret scanning alerts and fires an event for each newly detected alert. Supports filtering by secret type (e.g., personal access tokens, AWS keys) and by token validity status (active, inactive, unknown). The payload includes the alert number, secret type, validity status, resolution state, timestamps, URLs, and flags for push protection bypass, public exposure, and multi-repo detection.
- New Stargazer Added
Triggers when a new user stars a GitHub repository. Emits an event for each new stargazer detected on the monitored repository.
- New Workflow Artifact Created
Triggers when a new workflow artifact is created in a GitHub repository. Monitors for newly created GitHub Actions workflow artifacts. Optionally filters by artifact name to restrict monitoring to specific artifacts.
- New Workflow Job Added
Triggers when a new job appears in a specific GitHub Actions workflow run. This is useful for detecting matrix-expanded jobs that are added after the initial workflow run creation, or any other scenario where jobs are dynamically added to an existing run.
- New Workflow Run Created
Triggers when a new workflow run is created in a GitHub repository. Monitors the repository for any new workflow runs and fires an event for each one. Optional filters allow narrowing to a specific branch, actor, or event type.
- Pull Request Event
Triggered when a pull request is opened, closed, or synchronized.
- Pull Request Review Submitted
Triggers when a new review is submitted for a GitHub pull request. Emits an event for each newly submitted review on the monitored pull request, covering all review types: APPROVED, CHANGES_REQUESTED, COMMENTED, and DISMISSED.
- Pull Request State / Properties Changed
Triggers when a specific GitHub pull request changes any of these tracked properties: state (open/closed), title, body, draft status, lock status, merge status, assignees, labels, requested reviewers, or milestone. The payload includes the full current PR details, the list of changed field names, and their previous values.
- Pull Request Updated
Triggers when an existing pull request is updated in a GitHub repository. Updates include title edits, description changes, label changes, assignee changes, reviewer requests, draft status changes, base branch changes, being closed, merged, or reopened. Only pre-existing PRs that receive an update will fire the trigger; newly created PRs are excluded. Supports optional filters: state, base branch, head branch, author, label, and draft status.
- Repository Content Changed
Triggers when the content of a file or directory in a GitHub repository changes. Monitors a specified path within a repository on a given branch or tag. For a single file, fires ``content_changed`` when the file is modified. For a directory, fires ``content_changed``, ``content_added``, or ``content_removed`` for modified, new, or deleted entries respectively. content.
- Repository Notification Received
Triggers when a new or newly updated notification thread appears for a specific GitHub repository. Monitors notifications for issues, pull requests, commits, releases, check suites, security alerts, and other repository activity. Supports filtering by read/unread status and by direct participation. Requires a Personal Access Token (classic) with the ``notifications``
- Star Added Event
Triggered when a new star is added to the repository.
- Workflow Job State Changed
Triggers when the status, conclusion, timestamps, runner assignment, or step details of a specific GitHub Actions workflow job change between polls. The payload includes the full current job state, a list of which fields changed, and the previous status/conclusion values for easy comparison.
Ready to put GitHub to work?
Sign up free, build an app by chatting, and connect GitHub in minutes. No credit card required.