← All Skills
G

Code & repos

GitHub

Read repos, manage issues, and review PRs.

GitHub is a code hosting platform for version control and collaboration, offering Git-based repository management, issue tracking, and continuous integration features

Triggers20

Things that can wake up your GitHub coworker.

  • 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.

    GITHUB_ARTIFACT_CREATED_TRIGGER
  • 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.

    GITHUB_BRANCH_CHANGED_TRIGGER
  • New Branch Created

    Triggers when a new branch is created in a GitHub repository. Detects newly created branches. Deleted branches do not fire events.

    GITHUB_BRANCH_CREATED_TRIGGER
  • 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.

    GITHUB_CHECK_RUN_STATUS_CHANGED_TRIGGER
  • 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.

    GITHUB_CHECK_SUITE_STATUS_CHANGED_TRIGGER
  • 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.

    GITHUB_CODE_SCANNING_ALERT_CREATED_TRIGGER
  • 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.

    GITHUB_COLLABORATOR_ADDED_TRIGGER
  • Commit Event

    Triggered when a new commit is pushed to a repository.

    GITHUB_COMMIT_EVENT
  • 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.

    GITHUB_DEPLOYMENT_CREATED_TRIGGER
  • 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_DEPLOYMENT_STATE_CHANGED_TRIGGER
  • 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.

    GITHUB_DEPLOYMENT_STATUS_CREATED
  • Follower Changes

    Triggers when new followers are detected on your GitHub account.

    GITHUB_FOLLOWER_EVENT
  • 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.

    GITHUB_GIT_REFERENCE_CREATED_TRIGGER
  • Issue Added Event

    Triggered when a new issue is added to the repository.

    GITHUB_ISSUE_ADDED_EVENT
  • 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.

    GITHUB_ISSUE_ASSIGNED_TO_ME_TRIGGER
  • 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_COMMENT_CHANGED_TRIGGER
  • 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.

    GITHUB_ISSUE_COMMENT_CREATED_TRIGGER
  • 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.

    GITHUB_ISSUE_CREATED_TRIGGER
  • 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.

    GITHUB_ISSUE_EVENT_OCCURRED_TRIGGER
  • 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_ISSUE_LABEL_CHANGED_TRIGGER

Actions20

Things your coworker can do in GitHub.

  • 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.

    GITHUB_ADD_A_REPOSITORY_COLLABORATOR
  • 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.

    GITHUB_ADD_ASSIGNEES_TO_AN_ISSUE
  • 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.

    GITHUB_ADD_EMAIL_ADDRESS_FOR_AUTHENTICATED_USER
  • Add labels to an issue

    Adds labels (provided in the request body) to a repository issue; labels that do not already exist are created.

    GITHUB_ADD_LABELS_TO_AN_ISSUE
  • 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.

    GITHUB_APPROVE_WORKFLOW_RUN_FOR_FORK_PULL_REQUEST
  • 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.

    GITHUB_COMMIT_MULTIPLE_FILES
  • 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.

    GITHUB_COMPARE_TWO_COMMITS
  • Create a blob

    Creates a Git blob in a repository, requiring content and encoding ('utf-8' or 'base64'). Requires write access to the repository.

    GITHUB_CREATE_A_BLOB
  • Create a commit

    Creates a new commit in a GitHub repository; the `tree` SHA and any `parents` SHAs must already exist in the repository.

    GITHUB_CREATE_A_COMMIT
  • 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.

    GITHUB_CREATE_AN_ISSUE
  • Create an issue comment

    Creates a new comment on an existing GitHub issue or pull request within the specified repository.

    GITHUB_CREATE_AN_ISSUE_COMMENT
  • 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.

    GITHUB_CREATE_AN_ORGANIZATION_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.

    GITHUB_CREATE_A_PULL_REQUEST
  • 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.

    GITHUB_CREATE_A_REFERENCE
  • 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.

    GITHUB_CREATE_A_RELEASE
  • 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.

    GITHUB_CREATE_A_TREE
  • 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.

    GITHUB_CREATE_DRAFT_ITEM_FOR_USER_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.

    GITHUB_CREATE_OR_UPDATE_FILE_CONTENTS
  • Delete a repository

    Permanently deletes the specified repository; this is a destructive, irreversible action that requires admin privileges for the repository.

    GITHUB_DELETE_A_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.

    GITHUB_FIND_PULL_REQUESTS