# GitHub (/integrations/github)





{/* MANUAL-CONTENT-START:intro */}

[GitHub](https://github.com/) hosts repositories and their pull requests, issues, and commit history. Use this integration to read repository content, automate code-review and issue workflows, and respond to GitHub events. Select an action below for its required repository identifiers, permissions, and inputs.

{/* MANUAL-CONTENT-END */}

## Use the block [#usage-instructions]

Read and update GitHub repositories, pull requests, issues, and related records. Use trigger mode to start workflows from GitHub events.

## Actions [#actions]

### GitHub PR Reader [#github-pr-reader]

Fetch PR details including diff and files changed

<ReferenceDetails>
  #### Input [#input]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `pullNumber` | number | Yes | Pull request number |
  | `apiKey` | string | Yes | GitHub API token |
  | `includeFiles` | boolean | No | Whether to fetch changed-file details from the separate files endpoint |

  #### Output [#output]

  | Parameter | Type | Description |
  | - | - | - |
  | `user` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `head` | object | Branch reference info |
  | ↳ `label` | string | Branch label (owner:branch) |
  | ↳ `ref` | string | Branch name |
  | ↳ `sha` | string | Commit SHA |
  | ↳ `repo_full_name` | string | Full name (owner/repo) of the branch's repository |
  | `base` | object | Branch reference info |
  | ↳ `label` | string | Branch label (owner:branch) |
  | ↳ `ref` | string | Branch name |
  | ↳ `sha` | string | Commit SHA |
  | ↳ `repo_full_name` | string | Full name (owner/repo) of the branch's repository |
  | `id` | number | Pull request ID |
  | `number` | number | Pull request number |
  | `title` | string | PR title |
  | `state` | string | PR state (open/closed) |
  | `html_url` | string | GitHub web URL |
  | `diff_url` | string | Raw diff URL |
  | `body` | string | PR description |
  | `merged` | boolean | Whether PR is merged |
  | `mergeable` | boolean | Whether PR is mergeable |
  | `merged_by` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `comments` | number | Number of comments |
  | `review_comments` | number | Number of review comments |
  | `commits` | number | Number of commits |
  | `additions` | number | Lines added |
  | `deletions` | number | Lines deleted |
  | `changed_files` | number | Number of changed files |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
  | `closed_at` | string | Close timestamp |
  | `merged_at` | string | Merge timestamp |
  | `files` | array | Array of changed file objects |
  | ↳ `sha` | string | Blob SHA |
  | ↳ `filename` | string | File path |
  | ↳ `status` | string | Change status (added/removed/modified/renamed/copied/changed/unchanged) |
  | ↳ `additions` | number | Lines added |
  | ↳ `deletions` | number | Lines deleted |
  | ↳ `changes` | number | Total line changes |
  | ↳ `blob_url` | string | Blob URL |
  | ↳ `raw_url` | string | Raw file URL |
  | ↳ `contents_url` | string | Contents API URL |
  | ↳ `patch` | string | Diff patch |
  | ↳ `previous_filename` | string | Previous filename (for renames) |
</ReferenceDetails>

### GitHub PR Commenter [#github-pr-commenter]

Create comments on GitHub PRs

<ReferenceDetails>
  #### Input [#input-1]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `body` | string | Yes | Comment content |
  | `pullNumber` | number | Yes | Pull request number |
  | `path` | string | No | File path for review comment |
  | `commentType` | string | No | Type of comment (pr\_comment or file\_comment) |
  | `line` | number | No | Line number for review comment |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-1]

  | Parameter | Type | Description |
  | - | - | - |
  | `user` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `id` | number | Comment ID |
  | `body` | string | Comment body |
  | `html_url` | string | GitHub web URL |
  | `path` | string | File path (if file comment) |
  | `line` | number | Line number |
  | `side` | string | Diff side |
  | `commit_id` | string | Commit ID |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
</ReferenceDetails>

### GitHub Repository Info [#github-repository-info]

Read GitHub repository metadata, including stars, forks, issues, and primary language. Requires a GitHub token with access to the repository.

<ReferenceDetails>
  #### Input [#input-2]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-2]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | number | Repository ID |
  | `name` | string | Repository name |
  | `full_name` | string | Full repository name (owner/repo) |
  | `description` | string | Repository description |
  | `html_url` | string | GitHub web URL |
  | `homepage` | string | Homepage URL |
  | `language` | string | Primary programming language |
  | `default_branch` | string | Default branch name |
  | `visibility` | string | Repository visibility (public/private) |
  | `private` | boolean | Whether the repository is private |
  | `fork` | boolean | Whether this is a fork |
  | `archived` | boolean | Whether the repository is archived |
  | `disabled` | boolean | Whether the repository is disabled |
  | `stargazers_count` | number | Number of stars |
  | `watchers_count` | number | Number of watchers |
  | `forks_count` | number | Number of forks |
  | `open_issues_count` | number | Number of open issues |
  | `topics` | array | Repository topics |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
  | `pushed_at` | string | Last push timestamp |
  | `owner` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | `license` | object | License information |
  | ↳ `key` | string | License key (e.g., mit) |
  | ↳ `name` | string | License name |
  | ↳ `spdx_id` | string | SPDX identifier |
</ReferenceDetails>

### GitHub Latest Commit [#github-latest-commit]

Retrieve the latest commit from a GitHub repository

<ReferenceDetails>
  #### Input [#input-3]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `branch` | string | No | Branch name (defaults to the repository's default branch) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-3]

  | Parameter | Type | Description |
  | - | - | - |
  | `commit` | object | Core commit data |
  | ↳ `url` | string | Commit API URL |
  | ↳ `message` | string | Commit message |
  | ↳ `comment_count` | number | Number of comments |
  | ↳ `author` | object | Git actor (author/committer) |
  | ↳ `name` | string | Name |
  | ↳ `email` | string | Email address |
  | ↳ `date` | string | Timestamp (ISO 8601) |
  | ↳ `committer` | object | Git actor (author/committer) |
  | ↳ `name` | string | Name |
  | ↳ `email` | string | Email address |
  | ↳ `date` | string | Timestamp (ISO 8601) |
  | ↳ `tree` | object | Tree object |
  | ↳ `sha` | string | Tree SHA |
  | ↳ `url` | string | Tree API URL |
  | ↳ `verification` | object | Signature verification |
  | ↳ `verified` | boolean | Whether signature is verified |
  | ↳ `reason` | string | Verification reason |
  | ↳ `signature` | string | GPG signature |
  | ↳ `payload` | string | Signed payload |
  | `author` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | `committer` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | `sha` | string | Commit SHA |
  | `html_url` | string | GitHub web URL |
</ReferenceDetails>

### GitHub Issue Comment Creator [#github-issue-comment-creator]

Create a comment on a GitHub issue

<ReferenceDetails>
  #### Input [#input-4]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `issue_number` | number | Yes | Issue number |
  | `body` | string | Yes | Comment content |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-4]

  | Parameter | Type | Description |
  | - | - | - |
  | `user` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `id` | number | Comment ID |
  | `body` | string | Comment body |
  | `html_url` | string | GitHub web URL |
  | `path` | string | File path (for file comments) |
  | `line` | number | Line number (for file comments) |
  | `side` | string | Side (LEFT/RIGHT for diff comments) |
  | `commit_id` | string | Commit SHA |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
</ReferenceDetails>

### GitHub Issue Comments Lister [#github-issue-comments-lister]

List all comments on a GitHub issue

<ReferenceDetails>
  #### Input [#input-5]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `issue_number` | number | Yes | Issue number |
  | `since` | string | No | Only show comments updated after this ISO 8601 timestamp |
  | `per_page` | number | No | Number of results per page (max 100) |
  | `page` | number | No | Page number |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-5]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of comment objects |
  | ↳ `user` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | ↳ `id` | number | Comment ID |
  | ↳ `body` | string | Comment body |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `path` | string | File path (for file comments) |
  | ↳ `line` | number | Line number (for file comments) |
  | ↳ `side` | string | Side (LEFT/RIGHT for diff comments) |
  | ↳ `commit_id` | string | Commit SHA |
  | ↳ `created_at` | string | Creation timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
  | `count` | number | Number of comments returned |
</ReferenceDetails>

### GitHub Comment Updater [#github-comment-updater]

Update an existing comment on a GitHub issue or pull request

<ReferenceDetails>
  #### Input [#input-6]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `comment_id` | number | Yes | Comment ID |
  | `body` | string | Yes | Updated comment content |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-6]

  | Parameter | Type | Description |
  | - | - | - |
  | `user` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `id` | number | Comment ID |
  | `body` | string | Comment body |
  | `html_url` | string | GitHub web URL |
  | `path` | string | File path (for file comments) |
  | `line` | number | Line number (for file comments) |
  | `side` | string | Side (LEFT/RIGHT for diff comments) |
  | `commit_id` | string | Commit SHA |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
</ReferenceDetails>

### GitHub Comment Deleter [#github-comment-deleter]

Delete a comment on a GitHub issue or pull request

<ReferenceDetails>
  #### Input [#input-7]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `comment_id` | number | Yes | Comment ID |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-7]

  | Parameter | Type | Description |
  | - | - | - |
  | `deleted` | boolean | Whether deletion was successful |
  | `comment_id` | number | Deleted comment ID |
</ReferenceDetails>

### GitHub PR Review Comments Lister [#github-pr-review-comments-lister]

List all review comments on a GitHub pull request

<ReferenceDetails>
  #### Input [#input-8]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `pullNumber` | number | Yes | Pull request number |
  | `sort` | string | No | Sort by created or updated |
  | `direction` | string | No | Sort direction (asc or desc) |
  | `since` | string | No | Only show comments updated after this ISO 8601 timestamp |
  | `per_page` | number | No | Number of results per page (max 100) |
  | `page` | number | No | Page number |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-8]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of review comment objects |
  | ↳ `user` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | ↳ `id` | number | Comment ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `body` | string | Comment body |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `path` | string | File path |
  | ↳ `position` | number | Position in diff |
  | ↳ `line` | number | Line number |
  | ↳ `side` | string | Side (LEFT/RIGHT) |
  | ↳ `commit_id` | string | Commit SHA |
  | ↳ `original_commit_id` | string | Original commit SHA |
  | ↳ `diff_hunk` | string | Diff hunk context |
  | ↳ `created_at` | string | Creation timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
  | `count` | number | Number of comments returned |
</ReferenceDetails>

### GitHub Create Pull Request [#github-create-pull-request]

Create a new pull request in a GitHub repository

<ReferenceDetails>
  #### Input [#input-9]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `title` | string | Yes | Pull request title |
  | `head` | string | Yes | The name of the branch where your changes are implemented |
  | `base` | string | Yes | The name of the branch you want the changes pulled into |
  | `body` | string | No | Pull request description (Markdown) |
  | `draft` | boolean | No | Create as draft pull request |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-9]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | number | Pull request ID |
  | `number` | number | Pull request number |
  | `title` | string | PR title |
  | `state` | string | PR state |
  | `html_url` | string | GitHub web URL |
  | `body` | string | PR description |
  | `user` | json | User who created the PR |
  | `head` | json | Head branch info |
  | `base` | json | Base branch info |
  | `draft` | boolean | Whether PR is a draft |
  | `merged` | boolean | Whether PR is merged |
  | `mergeable` | boolean | Whether PR is mergeable |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
</ReferenceDetails>

### GitHub Update Pull Request [#github-update-pull-request]

Update an existing pull request in a GitHub repository

<ReferenceDetails>
  #### Input [#input-10]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `pullNumber` | number | Yes | Pull request number |
  | `title` | string | No | New pull request title |
  | `body` | string | No | New pull request description (Markdown) |
  | `state` | string | No | New state (open or closed) |
  | `base` | string | No | New base branch name |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-10]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | number | PR ID |
  | `number` | number | PR number |
  | `title` | string | PR title |
  | `state` | string | PR state |
  | `html_url` | string | GitHub web URL |
  | `body` | string | PR description |
  | `user` | json | User who created the PR |
  | `head` | json | Head branch info |
  | `base` | json | Base branch info |
  | `draft` | boolean | Whether PR is a draft |
  | `merged` | boolean | Whether PR is merged |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
</ReferenceDetails>

### GitHub Merge Pull Request [#github-merge-pull-request]

Merge a pull request in a GitHub repository

<ReferenceDetails>
  #### Input [#input-11]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `pullNumber` | number | Yes | Pull request number |
  | `commit_title` | string | No | Title for the merge commit |
  | `commit_message` | string | No | Extra detail to append to merge commit message |
  | `merge_method` | string | No | Merge method: merge, squash, or rebase |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-11]

  | Parameter | Type | Description |
  | - | - | - |
  | `sha` | string | Merge commit SHA |
  | `merged` | boolean | Whether merge was successful |
  | `message` | string | Response message |
</ReferenceDetails>

### GitHub List Pull Requests [#github-list-pull-requests]

List pull requests in a GitHub repository

<ReferenceDetails>
  #### Input [#input-12]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `state` | string | No | Filter by state: open, closed, or all |
  | `head` | string | No | Filter by head user or branch name (format: user:ref-name or organization:ref-name) |
  | `base` | string | No | Filter by base branch name |
  | `sort` | string | No | Sort by: created, updated, popularity, or long-running |
  | `direction` | string | No | Sort direction: asc or desc |
  | `per_page` | number | No | Results per page (max 100) |
  | `page` | number | No | Page number |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-12]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of pull request objects |
  | ↳ `user` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | ↳ `head` | object | Branch reference info |
  | ↳ `label` | string | Branch label (owner:branch) |
  | ↳ `ref` | string | Branch name |
  | ↳ `sha` | string | Commit SHA |
  | ↳ `base` | object | Branch reference info |
  | ↳ `label` | string | Branch label (owner:branch) |
  | ↳ `ref` | string | Branch name |
  | ↳ `sha` | string | Commit SHA |
  | ↳ `id` | number | Pull request ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `number` | number | Pull request number |
  | ↳ `title` | string | PR title |
  | ↳ `state` | string | PR state (open/closed) |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `diff_url` | string | Diff URL |
  | ↳ `body` | string | PR description |
  | ↳ `locked` | boolean | Whether PR is locked |
  | ↳ `draft` | boolean | Whether PR is a draft |
  | ↳ `created_at` | string | Creation timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
  | ↳ `closed_at` | string | Close timestamp |
  | ↳ `merged_at` | string | Merge timestamp |
  | `count` | number | Number of PRs returned |
</ReferenceDetails>

### GitHub Get PR Files [#github-get-pr-files]

Get the list of files changed in a pull request

<ReferenceDetails>
  #### Input [#input-13]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `pullNumber` | number | Yes | Pull request number |
  | `per_page` | number | No | Results per page (max 100) |
  | `page` | number | No | Page number |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-13]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of changed file objects |
  | ↳ `sha` | string | Blob SHA |
  | ↳ `filename` | string | File path |
  | ↳ `status` | string | Change status (added/removed/modified/renamed/copied/changed/unchanged) |
  | ↳ `additions` | number | Lines added |
  | ↳ `deletions` | number | Lines deleted |
  | ↳ `changes` | number | Total line changes |
  | ↳ `blob_url` | string | Blob URL |
  | ↳ `raw_url` | string | Raw file URL |
  | ↳ `contents_url` | string | Contents API URL |
  | ↳ `patch` | string | Diff patch |
  | ↳ `previous_filename` | string | Previous filename (for renames) |
  | `count` | number | Total number of files |
</ReferenceDetails>

### GitHub Close Pull Request [#github-close-pull-request]

Close a pull request in a GitHub repository

<ReferenceDetails>
  #### Input [#input-14]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `pullNumber` | number | Yes | Pull request number |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-14]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | number | PR ID |
  | `number` | number | PR number |
  | `title` | string | PR title |
  | `state` | string | PR state (closed) |
  | `html_url` | string | GitHub web URL |
  | `body` | string | PR description |
  | `user` | json | User who created the PR |
  | `head` | json | Head branch info |
  | `base` | json | Base branch info |
  | `draft` | boolean | Whether PR is a draft |
  | `merged` | boolean | Whether PR is merged |
  | `closed_at` | string | Close timestamp |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
</ReferenceDetails>

### GitHub Request Reviewers [#github-request-reviewers]

Request reviewers for a pull request

<ReferenceDetails>
  #### Input [#input-15]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `pullNumber` | number | Yes | Pull request number |
  | `reviewers` | string | No | Comma-separated list of user logins to request reviews from (at least one of reviewers or team\_reviewers is required) |
  | `team_reviewers` | string | No | Comma-separated list of team slugs to request reviews from |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-15]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | number | PR ID |
  | `number` | number | PR number |
  | `title` | string | PR title |
  | `html_url` | string | GitHub web URL |
  | `requested_reviewers` | array | Array of requested reviewer objects |
  | `requested_teams` | array | Array of requested team objects |
</ReferenceDetails>

### GitHub Create PR Review [#github-create-pr-review]

Submit a review for a pull request. Use APPROVE, REQUEST\_CHANGES, or COMMENT. A body is required for REQUEST\_CHANGES and COMMENT reviews.

<ReferenceDetails>
  #### Input [#input-16]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `pullNumber` | number | Yes | Pull request number |
  | `event` | string | Yes | The review action to perform: APPROVE, REQUEST\_CHANGES, or COMMENT |
  | `body` | string | No | The body text of the review (required for REQUEST\_CHANGES and COMMENT) |
  | `commit_id` | string | No | The SHA of the commit that needs a review (required when posting inline comments; defaults to the most recent commit otherwise) |
  | `comments` | array | No | Optional inline comments with required path, body, line, and side fields |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-16]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | number | Review ID |
  | `user` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `body` | string | Review body text |
  | `state` | string | Review state (APPROVED/CHANGES\_REQUESTED/COMMENTED) |
  | `html_url` | string | GitHub web URL for the review |
  | `pull_request_url` | string | API URL of the reviewed pull request |
  | `commit_id` | string | SHA of the reviewed commit |
  | `submitted_at` | string | Review submission timestamp |
</ReferenceDetails>

### GitHub Get File Content [#github-get-file-content]

Get the content of a file from a GitHub repository. Supports files up to 1MB. Content is returned decoded and human-readable.

<ReferenceDetails>
  #### Input [#input-17]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `path` | string | Yes | Path to the file in the repository (e.g., "src/index.ts") |
  | `ref` | string | No | Branch name, tag, or commit SHA (defaults to repository default branch) |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-17]

  | Parameter | Type | Description |
  | - | - | - |
  | `name` | string | File name |
  | `path` | string | Full path in repository |
  | `sha` | string | Git blob SHA |
  | `size` | number | File size in bytes |
  | `type` | string | Content type (file/dir/symlink/submodule) |
  | `content` | string | Decoded file content |
  | `encoding` | string | Content encoding |
  | `html_url` | string | GitHub web URL |
  | `download_url` | string | Direct download URL |
  | `git_url` | string | Git blob API URL |
  | `_links` | json | Related links |
  | `file` | file | Downloaded file stored in execution files |
</ReferenceDetails>

### GitHub Create File [#github-create-file]

Create a new file in a GitHub repository. The file content will be automatically Base64 encoded. Supports files up to 1MB.

<ReferenceDetails>
  #### Input [#input-18]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `path` | string | Yes | Path where the file will be created (e.g., "src/newfile.ts") |
  | `message` | string | Yes | Commit message for this file creation |
  | `content` | string | Yes | File content (plain text, will be Base64 encoded automatically) |
  | `branch` | string | No | Branch to create the file in (defaults to repository default branch) |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-18]

  | Parameter | Type | Description |
  | - | - | - |
  | `content` | json | Created file content info |
  | `commit` | json | Commit information |
</ReferenceDetails>

### GitHub Update File [#github-update-file]

Update an existing file in a GitHub repository. Requires the file SHA. Content will be automatically Base64 encoded. Supports files up to 1MB.

<ReferenceDetails>
  #### Input [#input-19]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `path` | string | Yes | Path to the file to update (e.g., "src/index.ts") |
  | `message` | string | Yes | Commit message for this file update |
  | `content` | string | Yes | New file content (plain text, will be Base64 encoded automatically) |
  | `sha` | string | Yes | The blob SHA of the file being replaced (get from github\_get\_file\_content) |
  | `branch` | string | No | Branch to update the file in (defaults to repository default branch) |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-19]

  | Parameter | Type | Description |
  | - | - | - |
  | `content` | json | Updated file content info |
  | `commit` | json | Commit information |
</ReferenceDetails>

### GitHub Delete File [#github-delete-file]

Delete a file from a GitHub repository. Requires the file SHA. This operation cannot be undone through the API.

<ReferenceDetails>
  #### Input [#input-20]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `path` | string | Yes | Path to the file to delete (e.g., "src/oldfile.ts") |
  | `message` | string | Yes | Commit message for this file deletion |
  | `sha` | string | Yes | The blob SHA of the file being deleted (get from github\_get\_file\_content) |
  | `branch` | string | No | Branch to delete the file from (defaults to repository default branch) |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-20]

  | Parameter | Type | Description |
  | - | - | - |
  | `content` | json | File content info (null for delete) |
  | `commit` | json | Commit information |
</ReferenceDetails>

### GitHub Get Repository Tree [#github-get-repository-tree]

Get the contents of a directory in a GitHub repository. Returns a list of files and subdirectories. Use empty path or omit to get root directory contents.

<ReferenceDetails>
  #### Input [#input-21]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `path` | string | No | Directory path (e.g., "src/components"). Leave empty for root directory. |
  | `ref` | string | No | Branch name, tag, or commit SHA (defaults to repository default branch) |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-21]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of file/directory objects |
  | ↳ `name` | string | File or directory name |
  | ↳ `path` | string | Full path in repository |
  | ↳ `sha` | string | Git object SHA |
  | ↳ `size` | number | Size in bytes |
  | ↳ `type` | string | Type (file/dir/symlink/submodule) |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `download_url` | string | Direct download URL |
  | ↳ `git_url` | string | Git blob API URL |
  | ↳ `url` | string | API URL for this item |
  | ↳ `_links` | json | Related links |
  | `count` | number | Total number of items |
</ReferenceDetails>

### GitHub Get README [#github-get-readme]

Get the preferred README for a GitHub repository, with its content decoded to plain text.

<ReferenceDetails>
  #### Input [#input-22]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `ref` | string | No | The name of the commit/branch/tag to read the README from (defaults to the repository default branch) |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-22]

  | Parameter | Type | Description |
  | - | - | - |
  | `name` | string | README file name |
  | `path` | string | README file path |
  | `sha` | string | Blob SHA of the README |
  | `size` | number | File size in bytes |
  | `encoding` | string | Original content encoding from the API |
  | `html_url` | string | GitHub web URL for the README |
  | `download_url` | string | Raw download URL for the README |
  | `content` | string | Decoded README text content |
</ReferenceDetails>

### GitHub List Tags [#github-list-tags]

List tags for a GitHub repository. Returns tag names with their commit SHA and download URLs.

<ReferenceDetails>
  #### Input [#input-23]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `per_page` | number | No | Number of results per page (max 100) |
  | `page` | number | No | Page number of the results to fetch |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-23]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of tag objects |
  | ↳ `name` | string | Tag name |
  | ↳ `zipball_url` | string | Zipball download URL |
  | ↳ `tarball_url` | string | Tarball download URL |
  | ↳ `node_id` | string | Node ID |
  | ↳ `commit` | object | Commit the tag points to |
  | ↳ `sha` | string | Commit SHA |
  | ↳ `url` | string | Commit API URL |
  | `count` | number | Number of tags returned |
</ReferenceDetails>

### GitHub List Branches [#github-list-branches]

List all branches in a GitHub repository. Optionally filter by protected status and control pagination.

<ReferenceDetails>
  #### Input [#input-24]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `protected` | boolean | No | Filter branches by protection status |
  | `per_page` | number | No | Number of results per page (max 100, default 30) |
  | `page` | number | No | Page number for pagination (default 1) |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-24]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of branch objects |
  | ↳ `name` | string | Branch name |
  | ↳ `commit` | object | Commit reference info |
  | ↳ `sha` | string | Commit SHA |
  | ↳ `url` | string | Commit API URL |
  | ↳ `protected` | boolean | Whether branch is protected |
  | `count` | number | Number of branches returned |
</ReferenceDetails>

### GitHub Get Branch [#github-get-branch]

Get detailed information about a specific branch in a GitHub repository, including commit details and protection status.

<ReferenceDetails>
  #### Input [#input-25]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `branch` | string | Yes | Branch name |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-25]

  | Parameter | Type | Description |
  | - | - | - |
  | `commit` | object | Commit reference info |
  | ↳ `sha` | string | Commit SHA |
  | ↳ `url` | string | Commit API URL |
  | `name` | string | Branch name |
  | `protected` | boolean | Whether branch is protected |
  | `protection` | json | Protection settings object |
  | `protection_url` | string | URL to protection settings |
</ReferenceDetails>

### GitHub Create Branch [#github-create-branch]

Create a new branch in a GitHub repository by creating a git reference pointing to a specific commit SHA.

<ReferenceDetails>
  #### Input [#input-26]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `branch` | string | Yes | Name of the branch to create |
  | `sha` | string | Yes | Commit SHA to point the branch to |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-26]

  | Parameter | Type | Description |
  | - | - | - |
  | `ref` | string | Full reference name (refs/heads/branch) |
  | `node_id` | string | Git ref node ID |
  | `url` | string | API URL for the reference |
  | `object` | json | Git object with type and sha |
</ReferenceDetails>

### GitHub Delete Branch [#github-delete-branch]

Delete a branch from a GitHub repository by removing its git reference. Protected branches cannot be deleted.

<ReferenceDetails>
  #### Input [#input-27]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `branch` | string | Yes | Name of the branch to delete |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-27]

  | Parameter | Type | Description |
  | - | - | - |
  | `deleted` | boolean | Whether the branch was deleted |
  | `branch` | string | Name of the deleted branch |
</ReferenceDetails>

### GitHub Get Branch Protection [#github-get-branch-protection]

Get the branch protection rules for a specific branch, including status checks, review requirements, and restrictions.

<ReferenceDetails>
  #### Input [#input-28]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `branch` | string | Yes | Branch name |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-28]

  | Parameter | Type | Description |
  | - | - | - |
  | `url` | string | Protection settings URL |
  | `required_status_checks` | json | Status check requirements |
  | `enforce_admins` | json | Admin enforcement settings |
  | `required_pull_request_reviews` | json | PR review requirements |
  | `restrictions` | json | Push restrictions |
  | `required_linear_history` | json | Linear history requirement |
  | `allow_force_pushes` | json | Force push settings |
  | `allow_deletions` | json | Deletion settings |
  | `block_creations` | json | Creation blocking settings |
  | `required_conversation_resolution` | json | Conversation resolution requirement |
  | `required_signatures` | json | Signature requirements |
</ReferenceDetails>

### GitHub Update Branch Protection [#github-update-branch-protection]

Update branch protection rules for a specific branch, including status checks, review requirements, admin enforcement, and push restrictions.

<ReferenceDetails>
  #### Input [#input-29]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `branch` | string | Yes | Branch name |
  | `required_status_checks` | object | No | Required status check configuration. Object with strict (boolean) and contexts (string array). Omit to disable status checks — GitHub receives an explicit null. |
  | `enforce_admins` | boolean | No | Whether to enforce restrictions for administrators. Omit to disable admin enforcement — GitHub receives an explicit null. |
  | `required_pull_request_reviews` | object | No | PR review requirements. Object with optional required\_approving\_review\_count, dismiss\_stale\_reviews, require\_code\_owner\_reviews. Omit to disable review requirements — GitHub receives an explicit null. |
  | `restrictions` | object | No | Push restrictions, available only for organization-owned repositories. Object with users (string array), teams (string array) and optional apps (string array). Omit to disable push restrictions — GitHub receives an explicit null. |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-29]

  | Parameter | Type | Description |
  | - | - | - |
  | `url` | string | Protection settings URL |
  | `required_status_checks` | json | Status check requirements |
  | `enforce_admins` | json | Admin enforcement settings |
  | `required_pull_request_reviews` | json | PR review requirements |
  | `restrictions` | json | Push restrictions |
  | `required_linear_history` | json | Linear history requirement |
  | `allow_force_pushes` | json | Force push settings |
  | `allow_deletions` | json | Deletion settings |
  | `block_creations` | json | Creation blocking settings |
  | `required_conversation_resolution` | json | Conversation resolution requirement |
  | `required_signatures` | json | Signature requirements |
</ReferenceDetails>

### GitHub Create Issue [#github-create-issue]

Create a new issue in a GitHub repository

<ReferenceDetails>
  #### Input [#input-30]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `title` | string | Yes | Issue title |
  | `body` | string | No | Issue description/body |
  | `assignees` | string | No | Comma-separated list of usernames to assign to this issue |
  | `labels` | string | No | Comma-separated list of label names to add to this issue |
  | `milestone` | number | No | Milestone number to associate with this issue |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-30]

  | Parameter | Type | Description |
  | - | - | - |
  | `user` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `id` | number | Issue ID |
  | `number` | number | Issue number |
  | `title` | string | Issue title |
  | `state` | string | Issue state (open/closed) |
  | `html_url` | string | GitHub web URL |
  | `body` | string | Issue body/description |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
  | `closed_at` | string | Close timestamp |
  | `state_reason` | string | State reason (completed/not\_planned) |
  | `labels` | array | Array of label objects |
  | ↳ `id` | number | Label ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `url` | string | API URL |
  | ↳ `name` | string | Label name |
  | ↳ `description` | string | Label description |
  | ↳ `color` | string | Hex color code (without #) |
  | ↳ `default` | boolean | Whether this is a default label |
  | `assignees` | array | Array of assignee objects |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `milestone` | object | GitHub milestone object |
  | ↳ `id` | number | Milestone ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `number` | number | Milestone number |
  | ↳ `title` | string | Milestone title |
  | ↳ `description` | string | Milestone description |
  | ↳ `state` | string | State (open or closed) |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `labels_url` | string | Labels API URL |
  | ↳ `due_on` | string | Due date (ISO 8601) |
  | ↳ `open_issues` | number | Number of open issues |
  | ↳ `closed_issues` | number | Number of closed issues |
  | ↳ `created_at` | string | Creation timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
  | ↳ `closed_at` | string | Close timestamp |
</ReferenceDetails>

### GitHub Update Issue [#github-update-issue]

Update an existing issue in a GitHub repository

<ReferenceDetails>
  #### Input [#input-31]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `issue_number` | number | Yes | Issue number |
  | `title` | string | No | New issue title |
  | `body` | string | No | New issue description/body |
  | `state` | string | No | Issue state (open or closed) |
  | `labels` | array | No | Array of label names (replaces all existing labels) |
  | `assignees` | array | No | Array of usernames (replaces all existing assignees) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-31]

  | Parameter | Type | Description |
  | - | - | - |
  | `user` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `id` | number | Issue ID |
  | `number` | number | Issue number |
  | `title` | string | Issue title |
  | `state` | string | Issue state (open/closed) |
  | `html_url` | string | GitHub web URL |
  | `body` | string | Issue body/description |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
  | `closed_at` | string | Close timestamp |
  | `state_reason` | string | State reason (completed/not\_planned) |
  | `labels` | array | Array of label objects |
  | ↳ `id` | number | Label ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `url` | string | API URL |
  | ↳ `name` | string | Label name |
  | ↳ `description` | string | Label description |
  | ↳ `color` | string | Hex color code (without #) |
  | ↳ `default` | boolean | Whether this is a default label |
  | `assignees` | array | Array of assignee objects |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `milestone` | object | GitHub milestone object |
  | ↳ `id` | number | Milestone ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `number` | number | Milestone number |
  | ↳ `title` | string | Milestone title |
  | ↳ `description` | string | Milestone description |
  | ↳ `state` | string | State (open or closed) |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `labels_url` | string | Labels API URL |
  | ↳ `due_on` | string | Due date (ISO 8601) |
  | ↳ `open_issues` | number | Number of open issues |
  | ↳ `closed_issues` | number | Number of closed issues |
  | ↳ `created_at` | string | Creation timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
  | ↳ `closed_at` | string | Close timestamp |
</ReferenceDetails>

### GitHub List Issues [#github-list-issues]

List issues in a GitHub repository. Note: This includes pull requests as PRs are considered issues in GitHub

<ReferenceDetails>
  #### Input [#input-32]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `state` | string | No | Filter by state: open, closed, or all (default: open) |
  | `assignee` | string | No | Filter by assignee username |
  | `creator` | string | No | Filter by creator username |
  | `labels` | string | No | Comma-separated list of label names to filter by |
  | `sort` | string | No | Sort by: created, updated, or comments (default: created) |
  | `direction` | string | No | Sort direction: asc or desc (default: desc) |
  | `per_page` | number | No | Results per page (max 100, default: 30) |
  | `page` | number | No | Page number (default: 1) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-32]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of issue objects from GitHub API |
  | ↳ `id` | number | Label ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `url` | string | API URL |
  | ↳ `name` | string | Label name |
  | ↳ `description` | string | Label description |
  | ↳ `color` | string | Hex color code (without #) |
  | ↳ `default` | boolean | Whether this is a default label |
  | `count` | number | Number of issues returned |
</ReferenceDetails>

### GitHub Get Issue [#github-get-issue]

Get detailed information about a specific issue in a GitHub repository

<ReferenceDetails>
  #### Input [#input-33]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `issue_number` | number | Yes | Issue number |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-33]

  | Parameter | Type | Description |
  | - | - | - |
  | `user` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `id` | number | Issue ID |
  | `number` | number | Issue number |
  | `title` | string | Issue title |
  | `state` | string | Issue state (open/closed) |
  | `html_url` | string | GitHub web URL |
  | `body` | string | Issue body/description |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
  | `closed_at` | string | Close timestamp |
  | `state_reason` | string | State reason (completed/not\_planned) |
  | `labels` | array | Array of label objects |
  | ↳ `id` | number | Label ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `url` | string | API URL |
  | ↳ `name` | string | Label name |
  | ↳ `description` | string | Label description |
  | ↳ `color` | string | Hex color code (without #) |
  | ↳ `default` | boolean | Whether this is a default label |
  | `assignees` | array | Array of assignee objects |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `milestone` | object | GitHub milestone object |
  | ↳ `id` | number | Milestone ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `number` | number | Milestone number |
  | ↳ `title` | string | Milestone title |
  | ↳ `description` | string | Milestone description |
  | ↳ `state` | string | State (open or closed) |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `labels_url` | string | Labels API URL |
  | ↳ `due_on` | string | Due date (ISO 8601) |
  | ↳ `open_issues` | number | Number of open issues |
  | ↳ `closed_issues` | number | Number of closed issues |
  | ↳ `created_at` | string | Creation timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
  | ↳ `closed_at` | string | Close timestamp |
  | `closed_by` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
</ReferenceDetails>

### GitHub Close Issue [#github-close-issue]

Close an issue in a GitHub repository

<ReferenceDetails>
  #### Input [#input-34]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `issue_number` | number | Yes | Issue number |
  | `state_reason` | string | No | Reason for closing: completed or not\_planned |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-34]

  | Parameter | Type | Description |
  | - | - | - |
  | `user` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `id` | number | Issue ID |
  | `number` | number | Issue number |
  | `title` | string | Issue title |
  | `state` | string | Issue state (open/closed) |
  | `html_url` | string | GitHub web URL |
  | `body` | string | Issue body/description |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
  | `closed_at` | string | Close timestamp |
  | `state_reason` | string | Reason for closing |
  | `labels` | array | Array of label objects |
  | ↳ `id` | number | Label ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `url` | string | API URL |
  | ↳ `name` | string | Label name |
  | ↳ `description` | string | Label description |
  | ↳ `color` | string | Hex color code (without #) |
  | ↳ `default` | boolean | Whether this is a default label |
  | `assignees` | array | Array of assignee objects |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
</ReferenceDetails>

### GitHub Add Labels [#github-add-labels]

Add labels to an issue in a GitHub repository

<ReferenceDetails>
  #### Input [#input-35]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `issue_number` | number | Yes | Issue number |
  | `labels` | string | Yes | Comma-separated list of label names to add to the issue |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-35]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of label objects on the issue |
  | ↳ `id` | number | Label ID |
  | ↳ `name` | string | Label name |
  | ↳ `color` | string | Label color |
  | ↳ `description` | string | Label description |
  | `count` | number | Number of labels |
</ReferenceDetails>

### GitHub Remove Label [#github-remove-label]

Remove a label from an issue in a GitHub repository

<ReferenceDetails>
  #### Input [#input-36]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `issue_number` | number | Yes | Issue number |
  | `name` | string | Yes | Label name to remove |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-36]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Remaining labels on the issue |
  | ↳ `id` | number | Label ID |
  | ↳ `name` | string | Label name |
  | ↳ `color` | string | Label color |
  | ↳ `description` | string | Label description |
  | `count` | number | Number of remaining labels |
</ReferenceDetails>

### GitHub Add Assignees [#github-add-assignees]

Add assignees to an issue in a GitHub repository

<ReferenceDetails>
  #### Input [#input-37]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `issue_number` | number | Yes | Issue number |
  | `assignees` | string | Yes | Comma-separated list of usernames to assign to the issue |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-37]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | number | Issue ID |
  | `number` | number | Issue number |
  | `title` | string | Issue title |
  | `state` | string | Issue state |
  | `html_url` | string | GitHub web URL |
  | `body` | string | Issue body |
  | `user` | json | Issue creator |
  | `labels` | array | Array of label objects |
  | `assignees` | array | Array of assignee objects |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
</ReferenceDetails>

### GitHub Create Release [#github-create-release]

Create a new release for a GitHub repository. Specify tag name, target commit, title, description, and whether it should be a draft or prerelease.

<ReferenceDetails>
  #### Input [#input-38]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `tag_name` | string | Yes | The name of the tag for this release |
  | `target_commitish` | string | No | Specifies the commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Defaults to the repository default branch. |
  | `name` | string | No | The name of the release |
  | `body` | string | No | Text describing the contents of the release (markdown supported) |
  | `draft` | boolean | No | true to create a draft (unpublished) release, false to create a published one |
  | `prerelease` | boolean | No | true to identify the release as a prerelease, false to identify as a full release |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-38]

  | Parameter | Type | Description |
  | - | - | - |
  | `author` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `id` | number | Release ID |
  | `node_id` | string | GraphQL node ID |
  | `tag_name` | string | Git tag name |
  | `name` | string | Release name |
  | `body` | string | Release notes (markdown) |
  | `html_url` | string | GitHub web URL |
  | `tarball_url` | string | Source tarball URL |
  | `zipball_url` | string | Source zipball URL |
  | `draft` | boolean | Whether this is a draft release |
  | `prerelease` | boolean | Whether this is a prerelease |
  | `target_commitish` | string | Target branch or commit SHA |
  | `created_at` | string | Creation timestamp |
  | `published_at` | string | Publication timestamp |
  | `assets` | array | Release assets |
  | ↳ `uploader` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | ↳ `id` | number | Asset ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `name` | string | Asset filename |
  | ↳ `label` | string | Asset label |
  | ↳ `state` | string | Asset state (uploaded/open) |
  | ↳ `content_type` | string | MIME type |
  | ↳ `size` | number | File size in bytes |
  | ↳ `download_count` | number | Number of downloads |
  | ↳ `browser_download_url` | string | Direct download URL |
  | ↳ `created_at` | string | Upload timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
</ReferenceDetails>

### GitHub Update Release [#github-update-release]

Update an existing GitHub release. Modify tag name, target commit, title, description, draft status, or prerelease status.

<ReferenceDetails>
  #### Input [#input-39]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `release_id` | number | Yes | The unique identifier of the release |
  | `tag_name` | string | No | The name of the tag |
  | `target_commitish` | string | No | Specifies the commitish value for where the tag is created from |
  | `name` | string | No | The name of the release |
  | `body` | string | No | Text describing the contents of the release (markdown supported) |
  | `draft` | boolean | No | true to set as draft, false to publish |
  | `prerelease` | boolean | No | true to identify as a prerelease, false for a full release |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-39]

  | Parameter | Type | Description |
  | - | - | - |
  | `author` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `id` | number | Release ID |
  | `node_id` | string | GraphQL node ID |
  | `tag_name` | string | Git tag name |
  | `name` | string | Release name |
  | `body` | string | Release notes (markdown) |
  | `html_url` | string | GitHub web URL |
  | `tarball_url` | string | Source tarball URL |
  | `zipball_url` | string | Source zipball URL |
  | `draft` | boolean | Whether this is a draft release |
  | `prerelease` | boolean | Whether this is a prerelease |
  | `target_commitish` | string | Target branch or commit SHA |
  | `created_at` | string | Creation timestamp |
  | `published_at` | string | Publication timestamp |
  | `assets` | array | Release assets |
  | ↳ `uploader` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | ↳ `id` | number | Asset ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `name` | string | Asset filename |
  | ↳ `label` | string | Asset label |
  | ↳ `state` | string | Asset state (uploaded/open) |
  | ↳ `content_type` | string | MIME type |
  | ↳ `size` | number | File size in bytes |
  | ↳ `download_count` | number | Number of downloads |
  | ↳ `browser_download_url` | string | Direct download URL |
  | ↳ `created_at` | string | Upload timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
</ReferenceDetails>

### GitHub List Releases [#github-list-releases]

List all releases for a GitHub repository. Returns release information including tags, names, and download URLs.

<ReferenceDetails>
  #### Input [#input-40]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `per_page` | number | No | Number of results per page (max 100) |
  | `page` | number | No | Page number of the results to fetch |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-40]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of release objects |
  | ↳ `author` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | ↳ `id` | number | Release ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `tag_name` | string | Git tag name |
  | ↳ `name` | string | Release name |
  | ↳ `body` | string | Release notes (markdown) |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `tarball_url` | string | Source tarball URL |
  | ↳ `zipball_url` | string | Source zipball URL |
  | ↳ `draft` | boolean | Whether this is a draft release |
  | ↳ `prerelease` | boolean | Whether this is a prerelease |
  | ↳ `target_commitish` | string | Target branch or commit SHA |
  | ↳ `created_at` | string | Creation timestamp |
  | ↳ `published_at` | string | Publication timestamp |
  | ↳ `assets` | array | Release assets |
  | ↳ `uploader` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | ↳ `id` | number | Asset ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `name` | string | Asset filename |
  | ↳ `label` | string | Asset label |
  | ↳ `state` | string | Asset state (uploaded/open) |
  | ↳ `content_type` | string | MIME type |
  | ↳ `size` | number | File size in bytes |
  | ↳ `download_count` | number | Number of downloads |
  | ↳ `browser_download_url` | string | Direct download URL |
  | ↳ `created_at` | string | Upload timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
  | `count` | number | Number of releases returned |
</ReferenceDetails>

### GitHub Get Release [#github-get-release]

Get detailed information about a specific GitHub release by ID. Returns release metadata including assets and download URLs.

<ReferenceDetails>
  #### Input [#input-41]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `release_id` | number | Yes | The unique identifier of the release |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-41]

  | Parameter | Type | Description |
  | - | - | - |
  | `author` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `id` | number | Release ID |
  | `node_id` | string | GraphQL node ID |
  | `tag_name` | string | Git tag name |
  | `name` | string | Release name |
  | `body` | string | Release notes (markdown) |
  | `html_url` | string | GitHub web URL |
  | `tarball_url` | string | Source tarball URL |
  | `zipball_url` | string | Source zipball URL |
  | `draft` | boolean | Whether this is a draft release |
  | `prerelease` | boolean | Whether this is a prerelease |
  | `target_commitish` | string | Target branch or commit SHA |
  | `created_at` | string | Creation timestamp |
  | `published_at` | string | Publication timestamp |
  | `assets` | array | Release assets |
  | ↳ `uploader` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | ↳ `id` | number | Asset ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `name` | string | Asset filename |
  | ↳ `label` | string | Asset label |
  | ↳ `state` | string | Asset state (uploaded/open) |
  | ↳ `content_type` | string | MIME type |
  | ↳ `size` | number | File size in bytes |
  | ↳ `download_count` | number | Number of downloads |
  | ↳ `browser_download_url` | string | Direct download URL |
  | ↳ `created_at` | string | Upload timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
</ReferenceDetails>

### GitHub Get Latest Release [#github-get-latest-release]

Get the latest published, non-draft, non-prerelease release for a GitHub repository. Returns release metadata including assets and download URLs.

<ReferenceDetails>
  #### Input [#input-42]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-42]

  | Parameter | Type | Description |
  | - | - | - |
  | `author` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `id` | number | Release ID |
  | `node_id` | string | GraphQL node ID |
  | `tag_name` | string | Git tag name |
  | `name` | string | Release name |
  | `body` | string | Release notes (markdown) |
  | `html_url` | string | GitHub web URL |
  | `tarball_url` | string | Source tarball URL |
  | `zipball_url` | string | Source zipball URL |
  | `draft` | boolean | Whether this is a draft release |
  | `prerelease` | boolean | Whether this is a prerelease |
  | `target_commitish` | string | Target branch or commit SHA |
  | `created_at` | string | Creation timestamp |
  | `published_at` | string | Publication timestamp |
  | `assets` | array | Release assets |
  | ↳ `uploader` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | ↳ `id` | number | Asset ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `name` | string | Asset filename |
  | ↳ `label` | string | Asset label |
  | ↳ `state` | string | Asset state (uploaded/open) |
  | ↳ `content_type` | string | MIME type |
  | ↳ `size` | number | File size in bytes |
  | ↳ `download_count` | number | Number of downloads |
  | ↳ `browser_download_url` | string | Direct download URL |
  | ↳ `created_at` | string | Upload timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
</ReferenceDetails>

### GitHub Delete Release [#github-delete-release]

Delete a GitHub release by ID. This permanently removes the release but does not delete the associated Git tag.

<ReferenceDetails>
  #### Input [#input-43]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `release_id` | number | Yes | The unique identifier of the release to delete |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-43]

  | Parameter | Type | Description |
  | - | - | - |
  | `deleted` | boolean | Whether the release was deleted |
  | `release_id` | number | ID of the deleted release |
</ReferenceDetails>

### GitHub List Workflows [#github-list-workflows]

List all workflows in a GitHub repository. Returns workflow details including ID, name, path, state, and badge URL.

<ReferenceDetails>
  #### Input [#input-44]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `per_page` | number | No | Number of results per page (default: 30, max: 100) |
  | `page` | number | No | Page number of results to fetch (default: 1) |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-44]

  | Parameter | Type | Description |
  | - | - | - |
  | `total_count` | number | Total number of workflows |
  | `items` | array | Array of workflow objects |
  | ↳ `id` | number | Workflow ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `name` | string | Workflow name |
  | ↳ `path` | string | Path to workflow file |
  | ↳ `state` | string | Workflow state (active/disabled\_manually/disabled\_inactivity) |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `badge_url` | string | Status badge URL |
  | ↳ `url` | string | API URL |
  | ↳ `created_at` | string | Creation timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
  | ↳ `deleted_at` | string | Deletion timestamp |
</ReferenceDetails>

### GitHub Get Workflow [#github-get-workflow]

Get details of a specific GitHub Actions workflow by ID or filename. Returns workflow information including name, path, state, and badge URL.

<ReferenceDetails>
  #### Input [#input-45]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `workflow_id` | string | Yes | Workflow ID (number) or workflow filename (e.g., "main.yaml") |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-45]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | number | Workflow ID |
  | `node_id` | string | GraphQL node ID |
  | `name` | string | Workflow name |
  | `path` | string | Path to workflow file |
  | `state` | string | Workflow state (active/disabled\_manually/disabled\_inactivity) |
  | `html_url` | string | GitHub web URL |
  | `badge_url` | string | Status badge URL |
  | `url` | string | API URL |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
  | `deleted_at` | string | Deletion timestamp |
</ReferenceDetails>

### GitHub Trigger Workflow [#github-trigger-workflow]

Trigger a workflow dispatch event for a GitHub Actions workflow. The workflow must have a workflow\_dispatch trigger configured. Returns 204 No Content on success.

<ReferenceDetails>
  #### Input [#input-46]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `workflow_id` | string | Yes | Workflow ID (number) or workflow filename (e.g., "main.yaml") |
  | `ref` | string | Yes | Git reference (branch or tag name) to run the workflow on |
  | `inputs` | object | No | Input keys and values configured in the workflow file |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-46]

  | Parameter | Type | Description |
  | - | - | - |
  | `triggered` | boolean | Whether workflow was triggered |
  | `workflow_id` | string | Workflow ID or filename |
  | `ref` | string | Git reference used |
</ReferenceDetails>

### GitHub List Workflow Runs [#github-list-workflow-runs]

List workflow runs for a repository, or for a single workflow when a workflow ID or filename is given. Supports filtering by actor, branch, event, and status. Returns run details including status, conclusion, and links.

<ReferenceDetails>
  #### Input [#input-47]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `workflow_id` | string | No | The ID of the workflow. You can also pass the workflow file name as a string (e.g., ci.yml). Omit to list runs across the whole repository. |
  | `actor` | string | No | Filter by user who triggered the workflow |
  | `branch` | string | No | Filter by branch name |
  | `event` | string | No | Filter by event type (e.g., push, pull\_request, workflow\_dispatch) |
  | `status` | string | No | Filter by status (queued, in\_progress, completed, waiting, requested, pending) |
  | `per_page` | number | No | Number of results per page (default: 30, max: 100) |
  | `page` | number | No | Page number of results to fetch (default: 1) |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-47]

  | Parameter | Type | Description |
  | - | - | - |
  | `total_count` | number | Total number of workflow runs |
  | `items` | array | Array of workflow run objects |
  | ↳ `id` | number | Pull request ID |
  | ↳ `number` | number | Pull request number |
  | ↳ `url` | string | API URL |
</ReferenceDetails>

### GitHub Get Workflow Run [#github-get-workflow-run]

Get detailed information about a specific workflow run by ID. Returns status, conclusion, timing, and links to the run.

<ReferenceDetails>
  #### Input [#input-48]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `run_id` | number | Yes | Workflow run ID |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-48]

  | Parameter | Type | Description |
  | - | - | - |
  | `triggering_actor` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
  | `head_commit` | object | Head commit information |
  | ↳ `id` | string | Commit SHA |
  | ↳ `tree_id` | string | Tree SHA |
  | ↳ `message` | string | Commit message |
  | ↳ `timestamp` | string | Commit timestamp |
  | `id` | number | Workflow run ID |
  | `name` | string | Workflow name |
  | `head_branch` | string | Head branch name |
  | `head_sha` | string | Head commit SHA |
  | `run_number` | number | Run number |
  | `run_attempt` | number | Run attempt number |
  | `event` | string | Event that triggered the run |
  | `status` | string | Run status (queued/in\_progress/completed) |
  | `conclusion` | string | Run conclusion (success/failure/cancelled/etc) |
  | `workflow_id` | number | Associated workflow ID |
  | `html_url` | string | GitHub web URL |
  | `logs_url` | string | Logs download URL |
  | `jobs_url` | string | Jobs API URL |
  | `artifacts_url` | string | Artifacts API URL |
  | `run_started_at` | string | Run start timestamp |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
  | `pull_requests` | array | Associated pull requests |
  | ↳ `id` | number | Pull request ID |
  | ↳ `number` | number | Pull request number |
  | ↳ `url` | string | API URL |
  | `referenced_workflows` | array | Referenced workflows |
  | ↳ `path` | string | Path to referenced workflow |
  | ↳ `sha` | string | Commit SHA of referenced workflow |
  | ↳ `ref` | string | Git ref of referenced workflow |
</ReferenceDetails>

### GitHub Cancel Workflow Run [#github-cancel-workflow-run]

Cancel a workflow run. Returns 202 Accepted if cancellation is initiated, or 409 Conflict if the run cannot be cancelled (already completed).

<ReferenceDetails>
  #### Input [#input-49]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `run_id` | number | Yes | Workflow run ID to cancel |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-49]

  | Parameter | Type | Description |
  | - | - | - |
  | `cancelled` | boolean | Whether cancellation was initiated |
  | `run_id` | number | Workflow run ID |
</ReferenceDetails>

### GitHub Rerun Workflow [#github-rerun-workflow]

Rerun a workflow run. Optionally enable debug logging for the rerun. Returns 201 Created on success.

<ReferenceDetails>
  #### Input [#input-50]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner (user or organization) |
  | `repo` | string | Yes | Repository name |
  | `run_id` | number | Yes | Workflow run ID to rerun |
  | `enable_debug_logging` | boolean | No | Enable debug logging for the rerun (default: false) |
  | `apiKey` | string | Yes | GitHub Personal Access Token |

  #### Output [#output-50]

  | Parameter | Type | Description |
  | - | - | - |
  | `rerun_requested` | boolean | Whether rerun was requested |
  | `run_id` | number | Workflow run ID |
</ReferenceDetails>

### GitHub List Projects [#github-list-projects]

List GitHub Projects V2 for an organization or user. Returns up to 20 projects with their details including ID, title, number, URL, and status.

<ReferenceDetails>
  #### Input [#input-51]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner_type` | string | Yes | Owner type: "org" for organization or "user" for user |
  | `owner_login` | string | Yes | Organization or user login name |
  | `apiKey` | string | Yes | GitHub Personal Access Token with project read permissions |

  #### Output [#output-51]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of project objects |
  | ↳ `id` | string | Project node ID |
  | ↳ `title` | string | Project title |
  | ↳ `number` | number | Project number |
  | ↳ `url` | string | Project URL |
  | ↳ `closed` | boolean | Whether project is closed |
  | ↳ `public` | boolean | Whether project is public |
  | ↳ `shortDescription` | string | Short description |
  | `totalCount` | number | Total number of projects |
</ReferenceDetails>

### GitHub Get Project [#github-get-project]

Get detailed information about a specific GitHub Project V2 by its number. Returns project details including ID, title, description, URL, and status.

<ReferenceDetails>
  #### Input [#input-52]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner_type` | string | Yes | Owner type: "org" for organization or "user" for user |
  | `owner_login` | string | Yes | Organization or user login name |
  | `project_number` | number | Yes | Project number |
  | `apiKey` | string | Yes | GitHub Personal Access Token with project read permissions |

  #### Output [#output-52]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Project node ID |
  | `title` | string | Project title |
  | `number` | number | Project number |
  | `url` | string | Project URL |
  | `closed` | boolean | Whether project is closed |
  | `public` | boolean | Whether project is public |
  | `shortDescription` | string | Short description |
  | `readme` | string | Project readme |
  | `createdAt` | string | Creation timestamp |
  | `updatedAt` | string | Last update timestamp |
</ReferenceDetails>

### GitHub Create Project [#github-create-project]

Create a new GitHub Project V2. Requires the owner Node ID (not login name). Returns the created project with ID, title, and URL.

<ReferenceDetails>
  #### Input [#input-53]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner_id` | string | Yes | Node ID of the owning user or organization, not a project ID or login name. Retrieve the owner id through the GitHub GraphQL API. |
  | `title` | string | Yes | Project title |
  | `apiKey` | string | Yes | GitHub Personal Access Token with project write permissions |

  #### Output [#output-53]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Project node ID |
  | `title` | string | Project title |
  | `number` | number | Project number |
  | `url` | string | Project URL |
  | `closed` | boolean | Whether project is closed |
  | `public` | boolean | Whether project is public |
  | `shortDescription` | string | Short description |
</ReferenceDetails>

### GitHub Update Project [#github-update-project]

Update an existing GitHub Project V2. Can update title, description, visibility (public), or status (closed). Requires the project Node ID.

<ReferenceDetails>
  #### Input [#input-54]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `project_id` | string | Yes | Project Node ID (format: PVT\_...) |
  | `title` | string | No | New project title |
  | `shortDescription` | string | No | New project short description |
  | `project_public` | boolean | No | Set project visibility (true = public, false = private) |
  | `closed` | boolean | No | Set project status (true = closed, false = open) |
  | `apiKey` | string | Yes | GitHub Personal Access Token with project write permissions |

  #### Output [#output-54]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Project node ID |
  | `title` | string | Project title |
  | `number` | number | Project number |
  | `url` | string | Project URL |
  | `closed` | boolean | Whether project is closed |
  | `public` | boolean | Whether project is public |
  | `shortDescription` | string | Short description |
</ReferenceDetails>

### GitHub Delete Project [#github-delete-project]

Delete a GitHub Project V2. This action is permanent and cannot be undone. Requires the project Node ID.

<ReferenceDetails>
  #### Input [#input-55]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `project_id` | string | Yes | Project Node ID (format: PVT\_...) |
  | `apiKey` | string | Yes | GitHub Personal Access Token with project admin permissions |

  #### Output [#output-55]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Deleted project node ID |
  | `title` | string | Deleted project title |
  | `number` | number | Deleted project number |
  | `url` | string | Deleted project URL |
</ReferenceDetails>

### GitHub Search Code [#github-search-code]

Search for code across GitHub repositories. Use qualifiers like repo:owner/name, language:js, path:src, extension:py

<ReferenceDetails>
  #### Input [#input-56]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `q` | string | Yes | Search query with optional qualifiers (repo:, language:, path:, extension:, user:, org:) |
  | `sort` | string | No | Sort by indexed date (default: best match) |
  | `order` | string | No | Sort order: asc or desc (default: desc) |
  | `per_page` | number | No | Results per page (max 100, default: 30) |
  | `page` | number | No | Page number (default: 1) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-56]

  | Parameter | Type | Description |
  | - | - | - |
  | `total_count` | number | Total matching results |
  | `incomplete_results` | boolean | Whether results are incomplete |
  | `items` | array | Array of code matches from GitHub API |
  | ↳ `name` | string | File name |
  | ↳ `path` | string | File path |
  | ↳ `sha` | string | Blob SHA |
  | ↳ `url` | string | API URL |
  | ↳ `git_url` | string | Git blob URL |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `score` | number | Search relevance score |
  | ↳ `repository` | object | Repository containing the code |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Full name (owner/repo) |
  | ↳ `private` | boolean | Whether repository is private |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `description` | string | Repository description |
  | ↳ `fork` | boolean | Whether this is a fork |
  | ↳ `url` | string | API URL |
  | ↳ `owner` | object | Repository owner |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `text_matches` | array | Text matches showing context |
  | ↳ `object_url` | string | Object URL |
  | ↳ `object_type` | string | Object type |
  | ↳ `property` | string | Property matched |
  | ↳ `fragment` | string | Text fragment with match |
  | ↳ `matches` | array | Match indices |
  | ↳ `text` | string | Matched text |
  | ↳ `indices` | array | Start and end indices |
</ReferenceDetails>

### GitHub Search Commits [#github-search-commits]

Search for commits across GitHub. Use qualifiers like repo:owner/name, author:user, committer:user, author-date:>2023-01-01

<ReferenceDetails>
  #### Input [#input-57]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `q` | string | Yes | Search query with optional qualifiers (repo:, author:, committer:, author-date:, committer-date:, merge:true/false) |
  | `sort` | string | No | Sort by: author-date or committer-date (default: best match) |
  | `order` | string | No | Sort order: asc or desc (default: desc) |
  | `per_page` | number | No | Results per page (max 100, default: 30) |
  | `page` | number | No | Page number (default: 1) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-57]

  | Parameter | Type | Description |
  | - | - | - |
  | `total_count` | number | Total matching results |
  | `incomplete_results` | boolean | Whether results are incomplete |
  | `items` | array | Array of commit objects from GitHub API |
  | ↳ `sha` | string | Commit SHA |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `html_url` | string | Web URL |
  | ↳ `url` | string | API URL |
  | ↳ `comments_url` | string | Comments API URL |
  | ↳ `score` | number | Search relevance score |
  | ↳ `commit` | object | Core commit data |
  | ↳ `url` | string | Commit API URL |
  | ↳ `message` | string | Commit message |
  | ↳ `comment_count` | number | Number of comments |
  | ↳ `author` | object | Git author |
  | ↳ `name` | string | Author name |
  | ↳ `email` | string | Author email |
  | ↳ `date` | string | Author date (ISO 8601) |
  | ↳ `committer` | object | Git committer |
  | ↳ `name` | string | Committer name |
  | ↳ `email` | string | Committer email |
  | ↳ `date` | string | Commit date (ISO 8601) |
  | ↳ `tree` | object | Tree object |
  | ↳ `sha` | string | Tree SHA |
  | ↳ `url` | string | Tree API URL |
  | ↳ `author` | object | GitHub user (author) |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `committer` | object | GitHub user (committer) |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `repository` | object | Repository containing the commit |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Full name (owner/repo) |
  | ↳ `private` | boolean | Whether repository is private |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `description` | string | Repository description |
  | ↳ `owner` | object | Repository owner |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `parents` | array | Parent commits |
  | ↳ `sha` | string | Parent SHA |
  | ↳ `url` | string | Parent API URL |
  | ↳ `html_url` | string | Parent web URL |
</ReferenceDetails>

### GitHub Search Issues [#github-search-issues]

Search for issues and pull requests across GitHub. Use qualifiers like repo:owner/name, is:issue, is:pr, state:open, label:bug, author:user

<ReferenceDetails>
  #### Input [#input-58]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `q` | string | Yes | Search query with optional qualifiers (repo:, is:issue, is:pr, state:, label:, author:, assignee:) |
  | `sort` | string | No | Sort by: comments, reactions, created, updated, interactions (default: best match) |
  | `order` | string | No | Sort order: asc or desc (default: desc) |
  | `per_page` | number | No | Results per page (max 100, default: 30) |
  | `page` | number | No | Page number (default: 1) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-58]

  | Parameter | Type | Description |
  | - | - | - |
  | `total_count` | number | Total matching results |
  | `incomplete_results` | boolean | Whether results are incomplete |
  | `items` | array | Array of issue/PR objects from GitHub API |
  | ↳ `id` | number | Issue ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `number` | number | Issue number |
  | ↳ `title` | string | Title |
  | ↳ `state` | string | State (open or closed) |
  | ↳ `locked` | boolean | Whether issue is locked |
  | ↳ `html_url` | string | Web URL |
  | ↳ `url` | string | API URL |
  | ↳ `repository_url` | string | Repository API URL |
  | ↳ `comments_url` | string | Comments API URL |
  | ↳ `body` | string | Body text |
  | ↳ `comments` | number | Number of comments |
  | ↳ `score` | number | Search relevance score |
  | ↳ `created_at` | string | Creation timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
  | ↳ `closed_at` | string | Close timestamp |
  | ↳ `user` | object | Issue author |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `labels` | array | Issue labels |
  | ↳ `id` | number | Label ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `url` | string | API URL |
  | ↳ `name` | string | Label name |
  | ↳ `description` | string | Label description |
  | ↳ `color` | string | Hex color code |
  | ↳ `default` | boolean | Whether this is a default label |
  | ↳ `assignee` | object | Primary assignee |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `assignees` | array | All assignees |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `milestone` | object | Associated milestone |
  | ↳ `id` | number | Milestone ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `number` | number | Milestone number |
  | ↳ `title` | string | Milestone title |
  | ↳ `description` | string | Milestone description |
  | ↳ `state` | string | State (open or closed) |
  | ↳ `html_url` | string | Web URL |
  | ↳ `due_on` | string | Due date |
  | ↳ `pull_request` | object | Pull request details (if this is a PR) |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Web URL |
  | ↳ `diff_url` | string | Diff URL |
  | ↳ `patch_url` | string | Patch URL |
</ReferenceDetails>

### GitHub Search Repositories [#github-search-repositories]

Search for repositories across GitHub. Use qualifiers like language:python, stars:>1000, topic:react, user:owner, org:name

<ReferenceDetails>
  #### Input [#input-59]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `q` | string | Yes | Search query with optional qualifiers (language:, stars:, forks:, topic:, user:, org:, in:name,description,readme) |
  | `sort` | string | No | Sort by: stars, forks, help-wanted-issues, updated (default: best match) |
  | `order` | string | No | Sort order: asc or desc (default: desc) |
  | `per_page` | number | No | Results per page (max 100, default: 30) |
  | `page` | number | No | Page number (default: 1) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-59]

  | Parameter | Type | Description |
  | - | - | - |
  | `total_count` | number | Total matching results |
  | `incomplete_results` | boolean | Whether results are incomplete |
  | `items` | array | Array of repository objects from GitHub API |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Full name (owner/repo) |
  | ↳ `private` | boolean | Whether repository is private |
  | ↳ `description` | string | Repository description |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `url` | string | API URL |
  | ↳ `fork` | boolean | Whether this is a fork |
  | ↳ `created_at` | string | Creation timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
  | ↳ `pushed_at` | string | Last push timestamp |
  | ↳ `size` | number | Repository size in KB |
  | ↳ `stargazers_count` | number | Number of stars |
  | ↳ `watchers_count` | number | Number of watchers |
  | ↳ `forks_count` | number | Number of forks |
  | ↳ `open_issues_count` | number | Number of open issues |
  | ↳ `language` | string | Primary programming language |
  | ↳ `default_branch` | string | Default branch name |
  | ↳ `visibility` | string | Repository visibility |
  | ↳ `archived` | boolean | Whether repository is archived |
  | ↳ `disabled` | boolean | Whether repository is disabled |
  | ↳ `score` | number | Search relevance score |
  | ↳ `topics` | array | Repository topics |
  | ↳ `license` | object | License information |
  | ↳ `key` | string | License key (e.g., mit) |
  | ↳ `name` | string | License name |
  | ↳ `spdx_id` | string | SPDX identifier |
  | ↳ `owner` | object | Repository owner |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
</ReferenceDetails>

### GitHub Search Users [#github-search-users]

Search for users and organizations on GitHub. Use qualifiers like type:user, type:org, followers:>1000, repos:>10, location:city

<ReferenceDetails>
  #### Input [#input-60]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `q` | string | Yes | Search query with optional qualifiers (type:user/org, followers:, repos:, location:, language:, created:) |
  | `sort` | string | No | Sort by: followers, repositories, joined (default: best match) |
  | `order` | string | No | Sort order: asc or desc (default: desc) |
  | `per_page` | number | No | Results per page (max 100, default: 30) |
  | `page` | number | No | Page number (default: 1) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-60]

  | Parameter | Type | Description |
  | - | - | - |
  | `total_count` | number | Total matching results |
  | `incomplete_results` | boolean | Whether results are incomplete |
  | `items` | array | Array of user objects from GitHub API |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `login` | string | Username |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `gravatar_id` | string | Gravatar ID |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `followers_url` | string | Followers API URL |
  | ↳ `following_url` | string | Following API URL |
  | ↳ `gists_url` | string | Gists API URL |
  | ↳ `starred_url` | string | Starred API URL |
  | ↳ `repos_url` | string | Repos API URL |
  | ↳ `organizations_url` | string | Organizations API URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `score` | number | Search relevance score |
</ReferenceDetails>

### GitHub List Commits [#github-list-commits]

List commits in a repository with optional filtering by SHA, path, author, committer, or date range

<ReferenceDetails>
  #### Input [#input-61]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `sha` | string | No | SHA or branch to start listing commits from |
  | `path` | string | No | Only commits containing this file path |
  | `author` | string | No | GitHub login or email address to filter by author |
  | `committer` | string | No | GitHub login or email address to filter by committer |
  | `since` | string | No | Only commits after this date (ISO 8601 format) |
  | `until` | string | No | Only commits before this date (ISO 8601 format) |
  | `per_page` | number | No | Results per page (max 100, default: 30) |
  | `page` | number | No | Page number (default: 1) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-61]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of commit objects from GitHub API |
  | ↳ `commit` | object | Core commit data |
  | ↳ `url` | string | Commit API URL |
  | ↳ `message` | string | Commit message |
  | ↳ `comment_count` | number | Number of comments |
  | ↳ `author` | object | Git actor (author/committer) |
  | ↳ `name` | string | Name |
  | ↳ `email` | string | Email address |
  | ↳ `date` | string | Timestamp (ISO 8601) |
  | ↳ `committer` | object | Git actor (author/committer) |
  | ↳ `name` | string | Name |
  | ↳ `email` | string | Email address |
  | ↳ `date` | string | Timestamp (ISO 8601) |
  | ↳ `tree` | object | Tree object |
  | ↳ `sha` | string | Tree SHA |
  | ↳ `url` | string | Tree API URL |
  | ↳ `verification` | object | Signature verification |
  | ↳ `verified` | boolean | Whether signature is verified |
  | ↳ `reason` | string | Verification reason |
  | ↳ `signature` | string | GPG signature |
  | ↳ `payload` | string | Signed payload |
  | ↳ `author` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `committer` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `sha` | string | Commit SHA |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `url` | string | API URL |
  | ↳ `comments_url` | string | Comments API URL |
  | ↳ `parents` | array | Parent commits |
  | ↳ `sha` | string | Parent SHA |
  | ↳ `url` | string | Parent API URL |
  | ↳ `html_url` | string | Parent web URL |
  | `count` | number | Number of commits returned |
</ReferenceDetails>

### GitHub Get Commit [#github-get-commit]

Get detailed information about a specific commit including files changed and stats

<ReferenceDetails>
  #### Input [#input-62]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `ref` | string | Yes | Commit SHA, branch name, or tag name |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-62]

  | Parameter | Type | Description |
  | - | - | - |
  | `commit` | object | Core commit data |
  | ↳ `url` | string | Commit API URL |
  | ↳ `message` | string | Commit message |
  | ↳ `comment_count` | number | Number of comments |
  | ↳ `author` | object | Git actor (author/committer) |
  | ↳ `name` | string | Name |
  | ↳ `email` | string | Email address |
  | ↳ `date` | string | Timestamp (ISO 8601) |
  | ↳ `committer` | object | Git actor (author/committer) |
  | ↳ `name` | string | Name |
  | ↳ `email` | string | Email address |
  | ↳ `date` | string | Timestamp (ISO 8601) |
  | ↳ `tree` | object | Tree object |
  | ↳ `sha` | string | Tree SHA |
  | ↳ `url` | string | Tree API URL |
  | ↳ `verification` | object | Signature verification |
  | ↳ `verified` | boolean | Whether signature is verified |
  | ↳ `reason` | string | Verification reason |
  | ↳ `signature` | string | GPG signature |
  | ↳ `payload` | string | Signed payload |
  | `author` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | `committer` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | `stats` | object | Change statistics |
  | ↳ `additions` | number | Lines added |
  | ↳ `deletions` | number | Lines deleted |
  | ↳ `total` | number | Total changes |
  | `sha` | string | Commit SHA |
  | `node_id` | string | GraphQL node ID |
  | `html_url` | string | GitHub web URL |
  | `url` | string | API URL |
  | `comments_url` | string | Comments API URL |
  | `files` | array | Changed files (diff entries) |
  | ↳ `sha` | string | Blob SHA |
  | ↳ `filename` | string | File path |
  | ↳ `status` | string | Change status (added, removed, modified, renamed, copied, changed, unchanged) |
  | ↳ `additions` | number | Lines added |
  | ↳ `deletions` | number | Lines deleted |
  | ↳ `changes` | number | Total changes |
  | ↳ `blob_url` | string | Blob URL |
  | ↳ `raw_url` | string | Raw file URL |
  | ↳ `contents_url` | string | Contents API URL |
  | ↳ `patch` | string | Diff patch |
  | ↳ `previous_filename` | string | Previous filename (for renames) |
  | `parents` | array | Parent commits |
  | ↳ `sha` | string | Parent SHA |
  | ↳ `url` | string | Parent API URL |
  | ↳ `html_url` | string | Parent web URL |
</ReferenceDetails>

### GitHub Compare Commits [#github-compare-commits]

Compare two commits or branches to see the diff, commits between them, and changed files

<ReferenceDetails>
  #### Input [#input-63]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `base` | string | Yes | Base branch/tag/SHA for comparison |
  | `head` | string | Yes | Head branch/tag/SHA for comparison |
  | `per_page` | number | No | Results per page for files (max 100, default: 30) |
  | `page` | number | No | Page number for files (default: 1) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-63]

  | Parameter | Type | Description |
  | - | - | - |
  | `url` | string | API URL |
  | `html_url` | string | GitHub web URL |
  | `permalink_url` | string | Permanent link URL |
  | `diff_url` | string | Diff download URL |
  | `patch_url` | string | Patch download URL |
  | `status` | string | Comparison status (ahead, behind, identical, diverged) |
  | `ahead_by` | number | Commits head is ahead of base |
  | `behind_by` | number | Commits head is behind base |
  | `total_commits` | number | Total commits in comparison |
  | `base_commit` | object | Base commit object |
  | ↳ `commit` | object | Core commit data |
  | ↳ `url` | string | Commit API URL |
  | ↳ `message` | string | Commit message |
  | ↳ `comment_count` | number | Number of comments |
  | ↳ `author` | object | Git actor (author/committer) |
  | ↳ `name` | string | Name |
  | ↳ `email` | string | Email address |
  | ↳ `date` | string | Timestamp (ISO 8601) |
  | ↳ `committer` | object | Git actor (author/committer) |
  | ↳ `name` | string | Name |
  | ↳ `email` | string | Email address |
  | ↳ `date` | string | Timestamp (ISO 8601) |
  | ↳ `tree` | object | Tree object |
  | ↳ `sha` | string | Tree SHA |
  | ↳ `url` | string | Tree API URL |
  | ↳ `verification` | object | Signature verification |
  | ↳ `verified` | boolean | Whether signature is verified |
  | ↳ `reason` | string | Verification reason |
  | ↳ `signature` | string | GPG signature |
  | ↳ `payload` | string | Signed payload |
  | ↳ `author` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `committer` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `sha` | string | Commit SHA |
  | ↳ `html_url` | string | Web URL |
  | `merge_base_commit` | object | Merge base commit object |
  | ↳ `sha` | string | Commit SHA |
  | ↳ `html_url` | string | Web URL |
  | `commits` | array | Commits between base and head |
  | ↳ `commit` | object | Core commit data |
  | ↳ `url` | string | Commit API URL |
  | ↳ `message` | string | Commit message |
  | ↳ `comment_count` | number | Number of comments |
  | ↳ `author` | object | Git actor (author/committer) |
  | ↳ `name` | string | Name |
  | ↳ `email` | string | Email address |
  | ↳ `date` | string | Timestamp (ISO 8601) |
  | ↳ `committer` | object | Git actor (author/committer) |
  | ↳ `name` | string | Name |
  | ↳ `email` | string | Email address |
  | ↳ `date` | string | Timestamp (ISO 8601) |
  | ↳ `tree` | object | Tree object |
  | ↳ `sha` | string | Tree SHA |
  | ↳ `url` | string | Tree API URL |
  | ↳ `verification` | object | Signature verification |
  | ↳ `verified` | boolean | Whether signature is verified |
  | ↳ `reason` | string | Verification reason |
  | ↳ `signature` | string | GPG signature |
  | ↳ `payload` | string | Signed payload |
  | ↳ `author` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `committer` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `sha` | string | Commit SHA |
  | ↳ `html_url` | string | Web URL |
  | `files` | array | Changed files (diff entries) |
  | ↳ `sha` | string | Blob SHA |
  | ↳ `filename` | string | File path |
  | ↳ `status` | string | Change status (added, removed, modified, renamed, copied, changed, unchanged) |
  | ↳ `additions` | number | Lines added |
  | ↳ `deletions` | number | Lines deleted |
  | ↳ `changes` | number | Total changes |
  | ↳ `blob_url` | string | Blob URL |
  | ↳ `raw_url` | string | Raw file URL |
  | ↳ `contents_url` | string | Contents API URL |
  | ↳ `patch` | string | Diff patch |
  | ↳ `previous_filename` | string | Previous filename (for renames) |
</ReferenceDetails>

### GitHub Create Gist [#github-create-gist]

Create a new gist with one or more files

<ReferenceDetails>
  #### Input [#input-64]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `description` | string | No | Description of the gist |
  | `files` | json | Yes | JSON object with filenames as keys and content as values. Example: \{"file.txt": \{"content": "Hello"}} |
  | `public` | boolean | No | Whether the gist is public (default: false) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-64]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Gist ID |
  | `node_id` | string | GraphQL node ID |
  | `url` | string | API URL |
  | `html_url` | string | Web URL |
  | `forks_url` | string | Forks API URL |
  | `commits_url` | string | Commits API URL |
  | `git_pull_url` | string | Git pull URL |
  | `git_push_url` | string | Git push URL |
  | `description` | string | Gist description |
  | `public` | boolean | Whether gist is public |
  | `truncated` | boolean | Whether files are truncated |
  | `comments` | number | Number of comments |
  | `comments_url` | string | Comments API URL |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
  | `files` | object | Files in the gist (object with filenames as keys, each containing filename, type, language, raw\_url, size, truncated, content) |
  | `owner` | object | Gist owner |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
</ReferenceDetails>

### GitHub Get Gist [#github-get-gist]

Get a gist by ID including its file contents

<ReferenceDetails>
  #### Input [#input-65]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `gist_id` | string | Yes | The gist ID |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-65]

  | Parameter | Type | Description |
  | - | - | - |
  | `files` | object | Files in the gist (keyed by filename) |
  | `owner` | object | Gist owner |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | `id` | string | Gist ID |
  | `node_id` | string | GraphQL node ID |
  | `url` | string | API URL |
  | `html_url` | string | GitHub web URL |
  | `forks_url` | string | Forks API URL |
  | `commits_url` | string | Commits API URL |
  | `git_pull_url` | string | Git clone URL |
  | `git_push_url` | string | Git push URL |
  | `description` | string | Gist description |
  | `public` | boolean | Whether gist is public |
  | `truncated` | boolean | Whether content is truncated |
  | `comments` | number | Number of comments |
  | `comments_url` | string | Comments API URL |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
</ReferenceDetails>

### GitHub List Gists [#github-list-gists]

List gists for a user or the authenticated user

<ReferenceDetails>
  #### Input [#input-66]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `username` | string | No | GitHub username (omit for authenticated user's gists) |
  | `since` | string | No | Only gists updated after this time (ISO 8601) |
  | `per_page` | number | No | Results per page (max 100, default: 30) |
  | `page` | number | No | Page number (default: 1) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-66]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of gist objects from GitHub API |
  | ↳ `files` | object | Files in the gist (keyed by filename) |
  | ↳ `owner` | object | Gist owner |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `id` | string | Gist ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `forks_url` | string | Forks API URL |
  | ↳ `commits_url` | string | Commits API URL |
  | ↳ `git_pull_url` | string | Git clone URL |
  | ↳ `git_push_url` | string | Git push URL |
  | ↳ `description` | string | Gist description |
  | ↳ `public` | boolean | Whether gist is public |
  | ↳ `truncated` | boolean | Whether content is truncated |
  | ↳ `comments` | number | Number of comments |
  | ↳ `comments_url` | string | Comments API URL |
  | ↳ `created_at` | string | Creation timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
  | `count` | number | Number of gists returned |
</ReferenceDetails>

### GitHub Update Gist [#github-update-gist]

Update a gist description or files. To delete a file, set its value to null in files object

<ReferenceDetails>
  #### Input [#input-67]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `gist_id` | string | Yes | The gist ID to update |
  | `description` | string | No | New description for the gist |
  | `files` | json | No | JSON object with filenames as keys. Set to null to delete, or provide content to update/add |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-67]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | Gist ID |
  | `node_id` | string | GraphQL node ID |
  | `url` | string | API URL |
  | `html_url` | string | Web URL |
  | `forks_url` | string | Forks API URL |
  | `commits_url` | string | Commits API URL |
  | `git_pull_url` | string | Git pull URL |
  | `git_push_url` | string | Git push URL |
  | `description` | string | Gist description |
  | `public` | boolean | Whether gist is public |
  | `truncated` | boolean | Whether files are truncated |
  | `comments` | number | Number of comments |
  | `comments_url` | string | Comments API URL |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
  | `files` | object | Files in the gist (object with filenames as keys, each containing filename, type, language, raw\_url, size, truncated, content) |
  | `owner` | object | Gist owner |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
</ReferenceDetails>

### GitHub Delete Gist [#github-delete-gist]

Delete a gist by ID

<ReferenceDetails>
  #### Input [#input-68]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `gist_id` | string | Yes | The gist ID to delete |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-68]

  | Parameter | Type | Description |
  | - | - | - |
  | `deleted` | boolean | Whether deletion succeeded |
  | `gist_id` | string | The deleted gist ID |
</ReferenceDetails>

### GitHub Fork Gist [#github-fork-gist]

Fork a gist to create your own copy

<ReferenceDetails>
  #### Input [#input-69]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `gist_id` | string | Yes | The gist ID to fork |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-69]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | string | New gist ID |
  | `html_url` | string | Web URL |
  | `description` | string | Description |
  | `public` | boolean | Is public |
  | `created_at` | string | Creation date |
  | `owner` | object | Owner info |
  | `files` | object | Files |
</ReferenceDetails>

### GitHub Star Gist [#github-star-gist]

Star a gist

<ReferenceDetails>
  #### Input [#input-70]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `gist_id` | string | Yes | The gist ID to star |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-70]

  | Parameter | Type | Description |
  | - | - | - |
  | `starred` | boolean | Whether starring succeeded |
  | `gist_id` | string | The gist ID |
</ReferenceDetails>

### GitHub Unstar Gist [#github-unstar-gist]

Unstar a gist

<ReferenceDetails>
  #### Input [#input-71]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `gist_id` | string | Yes | The gist ID to unstar |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-71]

  | Parameter | Type | Description |
  | - | - | - |
  | `unstarred` | boolean | Whether unstarring succeeded |
  | `gist_id` | string | The gist ID |
</ReferenceDetails>

### GitHub Fork Repository [#github-fork-repository]

Fork a repository to your account or an organization

<ReferenceDetails>
  #### Input [#input-72]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner to fork from |
  | `repo` | string | Yes | Repository name to fork |
  | `organization` | string | No | Organization to fork into (omit to fork to your account) |
  | `name` | string | No | Custom name for the forked repository |
  | `default_branch_only` | boolean | No | Only fork the default branch (default: false) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-72]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | number | Repository ID |
  | `node_id` | string | GraphQL node ID |
  | `name` | string | Repository name |
  | `full_name` | string | Full name (owner/repo) |
  | `private` | boolean | Whether repository is private |
  | `description` | string | Repository description |
  | `html_url` | string | GitHub web URL |
  | `url` | string | API URL |
  | `clone_url` | string | HTTPS clone URL |
  | `ssh_url` | string | SSH clone URL |
  | `git_url` | string | Git protocol URL |
  | `default_branch` | string | Default branch name |
  | `fork` | boolean | Whether this is a fork |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
  | `pushed_at` | string | Last push timestamp |
  | `owner` | object | Fork owner |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | `parent` | object | Parent repository (source of the fork) |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | `source` | object | Source repository (ultimate origin) |
  | ↳ `id` | number | Repository ID |
  | ↳ `full_name` | string | Full name |
  | ↳ `html_url` | string | Web URL |
</ReferenceDetails>

### GitHub List Forks [#github-list-forks]

List forks of a repository

<ReferenceDetails>
  #### Input [#input-73]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `sort` | string | No | Sort by: newest, oldest, stargazers, watchers (default: newest) |
  | `per_page` | number | No | Results per page (max 100, default: 30) |
  | `page` | number | No | Page number (default: 1) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-73]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of fork repository objects from GitHub API |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Full name (owner/repo) |
  | ↳ `private` | boolean | Whether repository is private |
  | ↳ `description` | string | Repository description |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `url` | string | API URL |
  | ↳ `fork` | boolean | Whether this is a fork |
  | ↳ `created_at` | string | Creation timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
  | ↳ `pushed_at` | string | Last push timestamp |
  | ↳ `size` | number | Repository size in KB |
  | ↳ `stargazers_count` | number | Number of stars |
  | ↳ `watchers_count` | number | Number of watchers |
  | ↳ `forks_count` | number | Number of forks |
  | ↳ `open_issues_count` | number | Number of open issues |
  | ↳ `language` | string | Primary programming language |
  | ↳ `default_branch` | string | Default branch name |
  | ↳ `visibility` | string | Repository visibility |
  | ↳ `archived` | boolean | Whether repository is archived |
  | ↳ `disabled` | boolean | Whether repository is disabled |
  | ↳ `owner` | object | Fork owner |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | `count` | number | Number of forks returned |
</ReferenceDetails>

### GitHub Create Milestone [#github-create-milestone]

Create a milestone in a repository

<ReferenceDetails>
  #### Input [#input-74]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `title` | string | Yes | Milestone title |
  | `state` | string | No | State: open or closed (default: open) |
  | `description` | string | No | Milestone description |
  | `due_on` | string | No | Due date (ISO 8601 format, e.g., 2024-12-31T23:59:59Z) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-74]

  | Parameter | Type | Description |
  | - | - | - |
  | `creator` | object | Milestone creator |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | `id` | number | Milestone ID |
  | `node_id` | string | GraphQL node ID |
  | `number` | number | Milestone number |
  | `title` | string | Milestone title |
  | `description` | string | Milestone description |
  | `state` | string | State (open or closed) |
  | `url` | string | API URL |
  | `html_url` | string | GitHub web URL |
  | `labels_url` | string | Labels API URL |
  | `due_on` | string | Due date (ISO 8601) |
  | `open_issues` | number | Number of open issues |
  | `closed_issues` | number | Number of closed issues |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
  | `closed_at` | string | Close timestamp |
</ReferenceDetails>

### GitHub Get Milestone [#github-get-milestone]

Get a specific milestone by number

<ReferenceDetails>
  #### Input [#input-75]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `milestone_number` | number | Yes | Milestone number |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-75]

  | Parameter | Type | Description |
  | - | - | - |
  | `creator` | object | Milestone creator |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | `id` | number | Milestone ID |
  | `node_id` | string | GraphQL node ID |
  | `number` | number | Milestone number |
  | `title` | string | Milestone title |
  | `description` | string | Milestone description |
  | `state` | string | State (open or closed) |
  | `url` | string | API URL |
  | `html_url` | string | GitHub web URL |
  | `labels_url` | string | Labels API URL |
  | `due_on` | string | Due date (ISO 8601) |
  | `open_issues` | number | Number of open issues |
  | `closed_issues` | number | Number of closed issues |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
  | `closed_at` | string | Close timestamp |
</ReferenceDetails>

### GitHub List Milestones [#github-list-milestones]

List milestones in a repository

<ReferenceDetails>
  #### Input [#input-76]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `state` | string | No | Filter by state: open, closed, all (default: open) |
  | `sort` | string | No | Sort by: due\_on or completeness (default: due\_on) |
  | `direction` | string | No | Sort direction: asc or desc (default: asc) |
  | `per_page` | number | No | Results per page (max 100, default: 30) |
  | `page` | number | No | Page number (default: 1) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-76]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of milestone objects from GitHub API |
  | ↳ `creator` | object | Milestone creator |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `id` | number | Milestone ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `number` | number | Milestone number |
  | ↳ `title` | string | Milestone title |
  | ↳ `description` | string | Milestone description |
  | ↳ `state` | string | State (open or closed) |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | GitHub web URL |
  | ↳ `labels_url` | string | Labels API URL |
  | ↳ `due_on` | string | Due date (ISO 8601) |
  | ↳ `open_issues` | number | Number of open issues |
  | ↳ `closed_issues` | number | Number of closed issues |
  | ↳ `created_at` | string | Creation timestamp |
  | ↳ `updated_at` | string | Last update timestamp |
  | ↳ `closed_at` | string | Close timestamp |
  | `count` | number | Number of milestones returned |
</ReferenceDetails>

### GitHub Update Milestone [#github-update-milestone]

Update a milestone in a repository

<ReferenceDetails>
  #### Input [#input-77]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `milestone_number` | number | Yes | Milestone number to update |
  | `title` | string | No | New milestone title |
  | `state` | string | No | New state: open or closed |
  | `description` | string | No | New description |
  | `due_on` | string | No | New due date (ISO 8601 format) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-77]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | number | Milestone ID |
  | `node_id` | string | GraphQL node ID |
  | `number` | number | Milestone number |
  | `title` | string | Milestone title |
  | `description` | string | Milestone description |
  | `state` | string | State (open or closed) |
  | `url` | string | API URL |
  | `html_url` | string | GitHub web URL |
  | `labels_url` | string | Labels API URL |
  | `due_on` | string | Due date (ISO 8601) |
  | `open_issues` | number | Number of open issues |
  | `closed_issues` | number | Number of closed issues |
  | `created_at` | string | Creation timestamp |
  | `updated_at` | string | Last update timestamp |
  | `closed_at` | string | Close timestamp |
  | `creator` | object | Milestone creator |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
</ReferenceDetails>

### GitHub Delete Milestone [#github-delete-milestone]

Delete a milestone from a repository

<ReferenceDetails>
  #### Input [#input-78]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `milestone_number` | number | Yes | Milestone number to delete |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-78]

  | Parameter | Type | Description |
  | - | - | - |
  | `deleted` | boolean | Whether deletion succeeded |
  | `milestone_number` | number | The deleted milestone number |
</ReferenceDetails>

### GitHub Create Issue Reaction [#github-create-issue-reaction]

Add a reaction to an issue

<ReferenceDetails>
  #### Input [#input-79]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `issue_number` | number | Yes | Issue number |
  | `content` | string | Yes | Reaction type: +1 (thumbs up), -1 (thumbs down), laugh, confused, heart, hooray, rocket, eyes |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-79]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | number | Reaction ID |
  | `node_id` | string | GraphQL node ID |
  | `content` | string | Reaction type (+1, -1, laugh, confused, heart, hooray, rocket, eyes) |
  | `created_at` | string | Creation timestamp |
  | `user` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
</ReferenceDetails>

### GitHub Delete Issue Reaction [#github-delete-issue-reaction]

Remove a reaction from an issue

<ReferenceDetails>
  #### Input [#input-80]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `issue_number` | number | Yes | Issue number |
  | `reaction_id` | number | Yes | Reaction ID to delete |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-80]

  | Parameter | Type | Description |
  | - | - | - |
  | `deleted` | boolean | Whether deletion succeeded |
  | `reaction_id` | number | The deleted reaction ID |
</ReferenceDetails>

### GitHub Create Comment Reaction [#github-create-comment-reaction]

Add a reaction to an issue comment

<ReferenceDetails>
  #### Input [#input-81]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `comment_id` | number | Yes | Comment ID |
  | `content` | string | Yes | Reaction type: +1 (thumbs up), -1 (thumbs down), laugh, confused, heart, hooray, rocket, eyes |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-81]

  | Parameter | Type | Description |
  | - | - | - |
  | `id` | number | Reaction ID |
  | `node_id` | string | GraphQL node ID |
  | `content` | string | Reaction type (+1, -1, laugh, confused, heart, hooray, rocket, eyes) |
  | `created_at` | string | Creation timestamp |
  | `user` | object | GitHub user object |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `type` | string | Account type (User or Organization) |
</ReferenceDetails>

### GitHub Delete Comment Reaction [#github-delete-comment-reaction]

Remove a reaction from an issue comment

<ReferenceDetails>
  #### Input [#input-82]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `comment_id` | number | Yes | Comment ID |
  | `reaction_id` | number | Yes | Reaction ID to delete |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-82]

  | Parameter | Type | Description |
  | - | - | - |
  | `deleted` | boolean | Whether deletion succeeded |
  | `reaction_id` | number | The deleted reaction ID |
</ReferenceDetails>

### GitHub Star Repository [#github-star-repository]

Star a repository

<ReferenceDetails>
  #### Input [#input-83]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-83]

  | Parameter | Type | Description |
  | - | - | - |
  | `starred` | boolean | Whether starring succeeded |
  | `owner` | string | Repository owner |
  | `repo` | string | Repository name |
</ReferenceDetails>

### GitHub Unstar Repository [#github-unstar-repository]

Remove star from a repository

<ReferenceDetails>
  #### Input [#input-84]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-84]

  | Parameter | Type | Description |
  | - | - | - |
  | `unstarred` | boolean | Whether unstarring succeeded |
  | `owner` | string | Repository owner |
  | `repo` | string | Repository name |
</ReferenceDetails>

### GitHub Check Star [#github-check-star]

Check if you have starred a repository

<ReferenceDetails>
  #### Input [#input-85]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-85]

  | Parameter | Type | Description |
  | - | - | - |
  | `starred` | boolean | Whether you have starred the repo |
  | `owner` | string | Repository owner |
  | `repo` | string | Repository name |
</ReferenceDetails>

### GitHub List Stargazers [#github-list-stargazers]

List users who have starred a repository

<ReferenceDetails>
  #### Input [#input-86]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `per_page` | number | No | Results per page (max 100, default: 30) |
  | `page` | number | No | Page number (default: 1) |
  | `apiKey` | string | Yes | GitHub API token |

  #### Output [#output-86]

  | Parameter | Type | Description |
  | - | - | - |
  | `items` | array | Array of user objects from GitHub API |
  | ↳ `login` | string | GitHub username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | GraphQL node ID |
  | ↳ `avatar_url` | string | Avatar image URL |
  | ↳ `url` | string | API URL |
  | ↳ `html_url` | string | Profile page URL |
  | ↳ `type` | string | User or Organization |
  | ↳ `site_admin` | boolean | GitHub staff indicator |
  | ↳ `gravatar_id` | string | Gravatar ID |
  | ↳ `followers_url` | string | Followers API URL |
  | ↳ `following_url` | string | Following API URL |
  | ↳ `gists_url` | string | Gists API URL |
  | ↳ `starred_url` | string | Starred API URL |
  | ↳ `repos_url` | string | Repos API URL |
  | `count` | number | Number of stargazers returned |
</ReferenceDetails>

### GitHub List Review Threads [#github-list-review-threads]

List one page of a pull request's review threads with their comments, plus the newest submitted review.

<ReferenceDetails>
  #### Input [#input-87]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `owner` | string | Yes | Repository owner |
  | `repo` | string | Yes | Repository name |
  | `pullNumber` | number | Yes | Pull request number |
  | `threadsPerPage` | number | No | Review threads to fetch in this page (1-100) |
  | `commentsPerThread` | number | No | Comments to fetch per thread (1-100) |
  | `cursor` | string | No | Cursor from a previous page (endCursor) to continue from |
  | `apiKey` | string | Yes | GitHub API token with pull request read access |

  #### Output [#output-87]

  | Parameter | Type | Description |
  | - | - | - |
  | `threads` | array | Review threads in this page |
  | ↳ `id` | string | Review thread node ID |
  | ↳ `isResolved` | boolean | Whether the thread is resolved |
  | ↳ `path` | string | Repository-relative file path |
  | ↳ `line` | number | Line the thread is anchored to |
  | ↳ `commentsTotalCount` | number | Total comments on the thread; exceeds the fetched count when the thread was truncated |
  | ↳ `comments` | array | Fetched comments, oldest first |
  | ↳ `body` | string | Comment body |
  | ↳ `authorAssociation` | string | Author's association with the repository (OWNER, MEMBER, ...) |
  | ↳ `authorLogin` | string | Author login |
  | ↳ `authorType` | string | Author GraphQL type (User, Bot, Organization) |
  | `totalCount` | number | Total review threads on the pull request |
  | `hasNextPage` | boolean | Whether more thread pages remain |
  | `endCursor` | string | Cursor to pass as `cursor` for the next page |
  | `latestReview` | object | Newest submitted review on the pull request |
  | ↳ `state` | string | Review state |
  | ↳ `submittedAt` | string | Submission timestamp |
  | ↳ `authorLogin` | string | Reviewer login |
  | ↳ `authorType` | string | Reviewer GraphQL type (User, Bot) |
</ReferenceDetails>

## Triggers [#triggers]

A trigger starts a workflow when a supported event occurs in this service.

### GitHub Actions Workflow Run [#github-actions-workflow-run]

Trigger workflow when a GitHub Actions workflow run is requested, in progress, or completed

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
  | `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
  | `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |

  #### Output [#output-88]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_type` | string | GitHub event type from X-GitHub-Event header (e.g., workflow\_run) |
  | `action` | string | Action performed (requested, in\_progress, completed) |
  | `workflow_run` | object | |
  | ↳ `id` | number | Workflow run ID |
  | ↳ `node_id` | string | Workflow run node ID |
  | ↳ `name` | string | Workflow name |
  | ↳ `workflow_id` | number | Workflow ID |
  | ↳ `run_number` | number | Run number for this workflow |
  | ↳ `run_attempt` | number | Attempt number for this run |
  | ↳ `event` | string | Event that triggered the workflow (push, pull\_request, etc.) |
  | ↳ `status` | string | Current status (queued, in\_progress, completed) |
  | ↳ `conclusion` | string | Conclusion (success, failure, cancelled, skipped, timed\_out, action\_required) |
  | ↳ `head_branch` | string | Branch name |
  | ↳ `head_sha` | string | Commit SHA that triggered the workflow |
  | ↳ `path` | string | Path to the workflow file |
  | ↳ `display_title` | string | Display title for the run |
  | ↳ `run_started_at` | string | Timestamp when the run started |
  | ↳ `created_at` | string | Workflow run creation timestamp |
  | ↳ `updated_at` | string | Workflow run last update timestamp |
  | ↳ `html_url` | string | Workflow run HTML URL |
  | ↳ `check_suite_id` | number | Associated check suite ID |
  | ↳ `check_suite_node_id` | string | Associated check suite node ID |
  | ↳ `url` | string | Workflow run API URL |
  | ↳ `actor` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `triggering_actor` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `repository` | object | |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | Repository node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Repository full name |
  | ↳ `private` | boolean | Whether repository is private |
  | ↳ `head_repository` | object | |
  | ↳ `id` | number | Head repository ID |
  | ↳ `node_id` | string | Head repository node ID |
  | ↳ `name` | string | Head repository name |
  | ↳ `full_name` | string | Head repository full name |
  | ↳ `private` | boolean | Whether repository is private |
  | ↳ `head_commit` | object | |
  | ↳ `id` | string | Commit SHA |
  | ↳ `tree_id` | string | Tree ID |
  | ↳ `message` | string | Commit message |
  | ↳ `timestamp` | string | Commit timestamp |
  | ↳ `author` | object | |
  | ↳ `name` | string | Author name |
  | ↳ `email` | string | Author email |
  | ↳ `committer` | object | |
  | ↳ `name` | string | Committer name |
  | ↳ `email` | string | Committer email |
  | ↳ `pull_requests` | array | Array of associated pull requests |
  | ↳ `referenced_workflows` | array | Array of referenced workflow runs |
  | `workflow` | object | |
  | ↳ `id` | number | Workflow ID |
  | ↳ `node_id` | string | Workflow node ID |
  | ↳ `name` | string | Workflow name |
  | ↳ `path` | string | Path to workflow file |
  | ↳ `state` | string | Workflow state (active, deleted, disabled\_fork, etc.) |
  | ↳ `created_at` | string | Workflow creation timestamp |
  | ↳ `updated_at` | string | Workflow last update timestamp |
  | ↳ `url` | string | Workflow API URL |
  | ↳ `html_url` | string | Workflow HTML URL |
  | ↳ `badge_url` | string | Workflow badge URL |
  | `repository` | object | |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | Repository node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Repository full name (owner/repo) |
  | ↳ `private` | boolean | Whether the repository is private |
  | ↳ `html_url` | string | Repository HTML URL |
  | ↳ `repo_description` | string | Repository description |
  | ↳ `owner` | object | |
  | ↳ `login` | string | Owner username |
  | ↳ `id` | number | Owner ID |
  | ↳ `node_id` | string | Owner node ID |
  | ↳ `avatar_url` | string | Owner avatar URL |
  | ↳ `html_url` | string | Owner profile URL |
  | ↳ `owner_type` | string | Owner type (User, Organization) |
  | `sender` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
</ReferenceDetails>

### GitHub Issue Closed [#github-issue-closed]

Trigger workflow when an issue is closed in a GitHub repository

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-1]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
  | `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
  | `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |

  #### Output [#output-89]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_type` | string | GitHub event type from X-GitHub-Event header (e.g., issues, pull\_request, push) |
  | `action` | string | Action performed (opened, closed, reopened, edited, etc.) |
  | `issue` | object | |
  | ↳ `id` | number | Issue ID |
  | ↳ `node_id` | string | Issue node ID |
  | ↳ `number` | number | Issue number |
  | ↳ `title` | string | Issue title |
  | ↳ `body` | string | Issue body/description |
  | ↳ `state` | string | Issue state (open, closed) |
  | ↳ `state_reason` | string | Reason for state (completed, not\_planned, reopened) |
  | ↳ `html_url` | string | Issue HTML URL |
  | ↳ `user` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `labels` | array | Array of label objects |
  | ↳ `assignees` | array | Array of assigned users |
  | ↳ `milestone` | object | Milestone object if assigned |
  | ↳ `created_at` | string | Issue creation timestamp |
  | ↳ `updated_at` | string | Issue last update timestamp |
  | ↳ `closed_at` | string | Issue closed timestamp |
  | `repository` | object | |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | Repository node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Repository full name (owner/repo) |
  | ↳ `private` | boolean | Whether the repository is private |
  | ↳ `html_url` | string | Repository HTML URL |
  | ↳ `repo_description` | string | Repository description |
  | ↳ `fork` | boolean | Whether the repository is a fork |
  | ↳ `url` | string | Repository API URL |
  | ↳ `homepage` | string | Repository homepage URL |
  | ↳ `size` | number | Repository size in KB |
  | ↳ `stargazers_count` | number | Number of stars |
  | ↳ `watchers_count` | number | Number of watchers |
  | ↳ `language` | string | Primary programming language |
  | ↳ `forks_count` | number | Number of forks |
  | ↳ `open_issues_count` | number | Number of open issues |
  | ↳ `default_branch` | string | Default branch name |
  | ↳ `owner` | object | |
  | ↳ `login` | string | Owner username |
  | ↳ `id` | number | Owner ID |
  | ↳ `avatar_url` | string | Owner avatar URL |
  | ↳ `html_url` | string | Owner profile URL |
  | ↳ `owner_type` | string | Owner type (User, Organization) |
  | `sender` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
</ReferenceDetails>

### GitHub Issue Comment [#github-issue-comment]

Trigger workflow when a comment is added to an issue (not pull requests)

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-2]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
  | `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
  | `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |

  #### Output [#output-90]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_type` | string | GitHub event type from X-GitHub-Event header (e.g., issue\_comment) |
  | `action` | string | Action performed (created, edited, deleted) |
  | `issue` | object | |
  | ↳ `number` | number | Issue number |
  | ↳ `title` | string | Issue title |
  | ↳ `state` | string | Issue state (open, closed) |
  | ↳ `html_url` | string | Issue HTML URL |
  | ↳ `user` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | `comment` | object | |
  | ↳ `id` | number | Comment ID |
  | ↳ `node_id` | string | Comment node ID |
  | ↳ `body` | string | Comment text |
  | ↳ `html_url` | string | Comment HTML URL |
  | ↳ `user` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `created_at` | string | Comment creation timestamp |
  | ↳ `updated_at` | string | Comment last update timestamp |
  | `repository` | object | |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | Repository node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Repository full name (owner/repo) |
  | ↳ `private` | boolean | Whether the repository is private |
  | ↳ `html_url` | string | Repository HTML URL |
  | ↳ `repo_description` | string | Repository description |
  | ↳ `fork` | boolean | Whether the repository is a fork |
  | ↳ `url` | string | Repository API URL |
  | ↳ `homepage` | string | Repository homepage URL |
  | ↳ `size` | number | Repository size in KB |
  | ↳ `stargazers_count` | number | Number of stars |
  | ↳ `watchers_count` | number | Number of watchers |
  | ↳ `language` | string | Primary programming language |
  | ↳ `forks_count` | number | Number of forks |
  | ↳ `open_issues_count` | number | Number of open issues |
  | ↳ `default_branch` | string | Default branch name |
  | ↳ `owner` | object | |
  | ↳ `login` | string | Owner username |
  | ↳ `id` | number | Owner ID |
  | ↳ `avatar_url` | string | Owner avatar URL |
  | ↳ `html_url` | string | Owner profile URL |
  | ↳ `owner_type` | string | Owner type (User, Organization) |
  | `sender` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
</ReferenceDetails>

### GitHub Issue Opened [#github-issue-opened]

Trigger workflow when a new issue is opened in a GitHub repository

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-3]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
  | `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
  | `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |

  #### Output [#output-91]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_type` | string | GitHub event type from X-GitHub-Event header (e.g., issues, pull\_request, push) |
  | `action` | string | Action performed (opened, closed, reopened, edited, etc.) |
  | `issue` | object | |
  | ↳ `id` | number | Issue ID |
  | ↳ `node_id` | string | Issue node ID |
  | ↳ `number` | number | Issue number |
  | ↳ `title` | string | Issue title |
  | ↳ `body` | string | Issue body/description |
  | ↳ `state` | string | Issue state (open, closed) |
  | ↳ `state_reason` | string | Reason for state (completed, not\_planned, reopened) |
  | ↳ `html_url` | string | Issue HTML URL |
  | ↳ `user` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `labels` | array | Array of label objects |
  | ↳ `assignees` | array | Array of assigned users |
  | ↳ `milestone` | object | Milestone object if assigned |
  | ↳ `created_at` | string | Issue creation timestamp |
  | ↳ `updated_at` | string | Issue last update timestamp |
  | ↳ `closed_at` | string | Issue closed timestamp |
  | `repository` | object | |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | Repository node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Repository full name (owner/repo) |
  | ↳ `private` | boolean | Whether the repository is private |
  | ↳ `html_url` | string | Repository HTML URL |
  | ↳ `repo_description` | string | Repository description |
  | ↳ `fork` | boolean | Whether the repository is a fork |
  | ↳ `url` | string | Repository API URL |
  | ↳ `homepage` | string | Repository homepage URL |
  | ↳ `size` | number | Repository size in KB |
  | ↳ `stargazers_count` | number | Number of stars |
  | ↳ `watchers_count` | number | Number of watchers |
  | ↳ `language` | string | Primary programming language |
  | ↳ `forks_count` | number | Number of forks |
  | ↳ `open_issues_count` | number | Number of open issues |
  | ↳ `default_branch` | string | Default branch name |
  | ↳ `owner` | object | |
  | ↳ `login` | string | Owner username |
  | ↳ `id` | number | Owner ID |
  | ↳ `avatar_url` | string | Owner avatar URL |
  | ↳ `html_url` | string | Owner profile URL |
  | ↳ `owner_type` | string | Owner type (User, Organization) |
  | `sender` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
</ReferenceDetails>

### GitHub PR Closed [#github-pr-closed]

Trigger workflow when a pull request is closed without being merged (e.g., abandoned) in a GitHub repository

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-4]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
  | `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
  | `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |

  #### Output [#output-92]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_type` | string | GitHub event type from X-GitHub-Event header (e.g., pull\_request) |
  | `action` | string | Action performed (opened, closed, synchronize, reopened, edited, etc.) |
  | `number` | number | Pull request number |
  | `pull_request` | object | |
  | ↳ `id` | number | Pull request ID |
  | ↳ `node_id` | string | Pull request node ID |
  | ↳ `number` | number | Pull request number |
  | ↳ `title` | string | Pull request title |
  | ↳ `body` | string | Pull request description |
  | ↳ `state` | string | Pull request state (open, closed) |
  | ↳ `merged` | boolean | Whether the PR was merged |
  | ↳ `merged_at` | string | Timestamp when PR was merged |
  | ↳ `merged_by` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `draft` | boolean | Whether the PR is a draft |
  | ↳ `html_url` | string | Pull request HTML URL |
  | ↳ `diff_url` | string | Pull request diff URL |
  | ↳ `patch_url` | string | Pull request patch URL |
  | ↳ `user` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `head` | object | |
  | ↳ `ref` | string | Source branch name |
  | ↳ `sha` | string | Source branch commit SHA |
  | ↳ `repo` | object | |
  | ↳ `name` | string | Source repository name |
  | ↳ `full_name` | string | Source repository full name |
  | ↳ `base` | object | |
  | ↳ `ref` | string | Target branch name |
  | ↳ `sha` | string | Target branch commit SHA |
  | ↳ `repo` | object | |
  | ↳ `name` | string | Target repository name |
  | ↳ `full_name` | string | Target repository full name |
  | ↳ `additions` | number | Number of lines added |
  | ↳ `deletions` | number | Number of lines deleted |
  | ↳ `changed_files` | number | Number of files changed |
  | ↳ `labels` | array | Array of label objects |
  | ↳ `assignees` | array | Array of assigned users |
  | ↳ `requested_reviewers` | array | Array of requested reviewers |
  | ↳ `created_at` | string | Pull request creation timestamp |
  | ↳ `updated_at` | string | Pull request last update timestamp |
  | ↳ `closed_at` | string | Pull request closed timestamp |
  | `repository` | object | |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | Repository node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Repository full name (owner/repo) |
  | ↳ `private` | boolean | Whether the repository is private |
  | ↳ `html_url` | string | Repository HTML URL |
  | ↳ `repo_description` | string | Repository description |
  | ↳ `fork` | boolean | Whether the repository is a fork |
  | ↳ `url` | string | Repository API URL |
  | ↳ `homepage` | string | Repository homepage URL |
  | ↳ `size` | number | Repository size in KB |
  | ↳ `stargazers_count` | number | Number of stars |
  | ↳ `watchers_count` | number | Number of watchers |
  | ↳ `language` | string | Primary programming language |
  | ↳ `forks_count` | number | Number of forks |
  | ↳ `open_issues_count` | number | Number of open issues |
  | ↳ `default_branch` | string | Default branch name |
  | ↳ `owner` | object | |
  | ↳ `login` | string | Owner username |
  | ↳ `id` | number | Owner ID |
  | ↳ `avatar_url` | string | Owner avatar URL |
  | ↳ `html_url` | string | Owner profile URL |
  | `sender` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
</ReferenceDetails>

### GitHub PR Comment [#github-pr-comment]

Trigger workflow when a comment is added to a pull request in a GitHub repository

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-5]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
  | `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
  | `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |

  #### Output [#output-93]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_type` | string | GitHub event type from X-GitHub-Event header (e.g., issue\_comment) |
  | `action` | string | Action performed (created, edited, deleted) |
  | `issue` | object | |
  | ↳ `id` | number | Issue ID |
  | ↳ `node_id` | string | Issue node ID |
  | ↳ `number` | number | Issue/PR number |
  | ↳ `title` | string | Issue/PR title |
  | ↳ `body` | string | Issue/PR description |
  | ↳ `state` | string | Issue/PR state (open, closed) |
  | ↳ `html_url` | string | Issue/PR HTML URL |
  | ↳ `user` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `labels` | array | Array of label objects |
  | ↳ `assignees` | array | Array of assigned users |
  | ↳ `pull_request` | object | |
  | ↳ `url` | string | Pull request API URL (present only for PR comments) |
  | ↳ `html_url` | string | Pull request HTML URL |
  | ↳ `diff_url` | string | Pull request diff URL |
  | ↳ `patch_url` | string | Pull request patch URL |
  | ↳ `created_at` | string | Issue/PR creation timestamp |
  | ↳ `updated_at` | string | Issue/PR last update timestamp |
  | `comment` | object | |
  | ↳ `id` | number | Comment ID |
  | ↳ `node_id` | string | Comment node ID |
  | ↳ `url` | string | Comment API URL |
  | ↳ `html_url` | string | Comment HTML URL |
  | ↳ `body` | string | Comment text |
  | ↳ `user` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `created_at` | string | Comment creation timestamp |
  | ↳ `updated_at` | string | Comment last update timestamp |
  | `repository` | object | |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | Repository node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Repository full name (owner/repo) |
  | ↳ `private` | boolean | Whether the repository is private |
  | ↳ `html_url` | string | Repository HTML URL |
  | ↳ `repo_description` | string | Repository description |
  | ↳ `owner` | object | |
  | ↳ `login` | string | Owner username |
  | ↳ `id` | number | Owner ID |
  | ↳ `node_id` | string | Owner node ID |
  | ↳ `avatar_url` | string | Owner avatar URL |
  | ↳ `html_url` | string | Owner profile URL |
  | ↳ `owner_type` | string | Owner type (User, Organization) |
  | `sender` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
</ReferenceDetails>

### GitHub PR Merged [#github-pr-merged]

Trigger workflow when a pull request is successfully merged in a GitHub repository

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-6]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
  | `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
  | `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |

  #### Output [#output-94]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_type` | string | GitHub event type from X-GitHub-Event header (e.g., pull\_request) |
  | `action` | string | Action performed (opened, closed, synchronize, reopened, edited, etc.) |
  | `number` | number | Pull request number |
  | `pull_request` | object | |
  | ↳ `id` | number | Pull request ID |
  | ↳ `node_id` | string | Pull request node ID |
  | ↳ `number` | number | Pull request number |
  | ↳ `title` | string | Pull request title |
  | ↳ `body` | string | Pull request description |
  | ↳ `state` | string | Pull request state (open, closed) |
  | ↳ `merged` | boolean | Whether the PR was merged |
  | ↳ `merged_at` | string | Timestamp when PR was merged |
  | ↳ `merged_by` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `draft` | boolean | Whether the PR is a draft |
  | ↳ `html_url` | string | Pull request HTML URL |
  | ↳ `diff_url` | string | Pull request diff URL |
  | ↳ `patch_url` | string | Pull request patch URL |
  | ↳ `user` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `head` | object | |
  | ↳ `ref` | string | Source branch name |
  | ↳ `sha` | string | Source branch commit SHA |
  | ↳ `repo` | object | |
  | ↳ `name` | string | Source repository name |
  | ↳ `full_name` | string | Source repository full name |
  | ↳ `base` | object | |
  | ↳ `ref` | string | Target branch name |
  | ↳ `sha` | string | Target branch commit SHA |
  | ↳ `repo` | object | |
  | ↳ `name` | string | Target repository name |
  | ↳ `full_name` | string | Target repository full name |
  | ↳ `additions` | number | Number of lines added |
  | ↳ `deletions` | number | Number of lines deleted |
  | ↳ `changed_files` | number | Number of files changed |
  | ↳ `labels` | array | Array of label objects |
  | ↳ `assignees` | array | Array of assigned users |
  | ↳ `requested_reviewers` | array | Array of requested reviewers |
  | ↳ `created_at` | string | Pull request creation timestamp |
  | ↳ `updated_at` | string | Pull request last update timestamp |
  | ↳ `closed_at` | string | Pull request closed timestamp |
  | `repository` | object | |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | Repository node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Repository full name (owner/repo) |
  | ↳ `private` | boolean | Whether the repository is private |
  | ↳ `html_url` | string | Repository HTML URL |
  | ↳ `repo_description` | string | Repository description |
  | ↳ `fork` | boolean | Whether the repository is a fork |
  | ↳ `url` | string | Repository API URL |
  | ↳ `homepage` | string | Repository homepage URL |
  | ↳ `size` | number | Repository size in KB |
  | ↳ `stargazers_count` | number | Number of stars |
  | ↳ `watchers_count` | number | Number of watchers |
  | ↳ `language` | string | Primary programming language |
  | ↳ `forks_count` | number | Number of forks |
  | ↳ `open_issues_count` | number | Number of open issues |
  | ↳ `default_branch` | string | Default branch name |
  | ↳ `owner` | object | |
  | ↳ `login` | string | Owner username |
  | ↳ `id` | number | Owner ID |
  | ↳ `avatar_url` | string | Owner avatar URL |
  | ↳ `html_url` | string | Owner profile URL |
  | `sender` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
</ReferenceDetails>

### GitHub PR Opened [#github-pr-opened]

Trigger workflow when a new pull request is opened in a GitHub repository

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-7]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
  | `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
  | `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |

  #### Output [#output-95]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_type` | string | GitHub event type from X-GitHub-Event header (e.g., pull\_request) |
  | `action` | string | Action performed (opened, closed, synchronize, reopened, edited, etc.) |
  | `number` | number | Pull request number |
  | `pull_request` | object | |
  | ↳ `id` | number | Pull request ID |
  | ↳ `node_id` | string | Pull request node ID |
  | ↳ `number` | number | Pull request number |
  | ↳ `title` | string | Pull request title |
  | ↳ `body` | string | Pull request description |
  | ↳ `state` | string | Pull request state (open, closed) |
  | ↳ `merged` | boolean | Whether the PR was merged |
  | ↳ `merged_at` | string | Timestamp when PR was merged |
  | ↳ `merged_by` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `draft` | boolean | Whether the PR is a draft |
  | ↳ `html_url` | string | Pull request HTML URL |
  | ↳ `diff_url` | string | Pull request diff URL |
  | ↳ `patch_url` | string | Pull request patch URL |
  | ↳ `user` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `head` | object | |
  | ↳ `ref` | string | Source branch name |
  | ↳ `sha` | string | Source branch commit SHA |
  | ↳ `repo` | object | |
  | ↳ `name` | string | Source repository name |
  | ↳ `full_name` | string | Source repository full name |
  | ↳ `base` | object | |
  | ↳ `ref` | string | Target branch name |
  | ↳ `sha` | string | Target branch commit SHA |
  | ↳ `repo` | object | |
  | ↳ `name` | string | Target repository name |
  | ↳ `full_name` | string | Target repository full name |
  | ↳ `additions` | number | Number of lines added |
  | ↳ `deletions` | number | Number of lines deleted |
  | ↳ `changed_files` | number | Number of files changed |
  | ↳ `labels` | array | Array of label objects |
  | ↳ `assignees` | array | Array of assigned users |
  | ↳ `requested_reviewers` | array | Array of requested reviewers |
  | ↳ `created_at` | string | Pull request creation timestamp |
  | ↳ `updated_at` | string | Pull request last update timestamp |
  | ↳ `closed_at` | string | Pull request closed timestamp |
  | `repository` | object | |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | Repository node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Repository full name (owner/repo) |
  | ↳ `private` | boolean | Whether the repository is private |
  | ↳ `html_url` | string | Repository HTML URL |
  | ↳ `repo_description` | string | Repository description |
  | ↳ `fork` | boolean | Whether the repository is a fork |
  | ↳ `url` | string | Repository API URL |
  | ↳ `homepage` | string | Repository homepage URL |
  | ↳ `size` | number | Repository size in KB |
  | ↳ `stargazers_count` | number | Number of stars |
  | ↳ `watchers_count` | number | Number of watchers |
  | ↳ `language` | string | Primary programming language |
  | ↳ `forks_count` | number | Number of forks |
  | ↳ `open_issues_count` | number | Number of open issues |
  | ↳ `default_branch` | string | Default branch name |
  | ↳ `owner` | object | |
  | ↳ `login` | string | Owner username |
  | ↳ `id` | number | Owner ID |
  | ↳ `avatar_url` | string | Owner avatar URL |
  | ↳ `html_url` | string | Owner profile URL |
  | ↳ `owner_type` | string | Owner type (User, Organization) |
  | `sender` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
</ReferenceDetails>

### GitHub PR Reviewed [#github-pr-reviewed]

Trigger workflow when a pull request review is submitted, edited, or dismissed in a GitHub repository

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-8]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
  | `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
  | `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |

  #### Output [#output-96]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_type` | string | GitHub event type from X-GitHub-Event header (e.g., pull\_request\_review) |
  | `action` | string | Action performed (submitted, edited, dismissed) |
  | `review` | object | |
  | ↳ `id` | number | Review ID |
  | ↳ `node_id` | string | Review node ID |
  | ↳ `user` | object | |
  | ↳ `login` | string | Reviewer username |
  | ↳ `id` | number | Reviewer user ID |
  | ↳ `node_id` | string | Reviewer node ID |
  | ↳ `avatar_url` | string | Reviewer avatar URL |
  | ↳ `html_url` | string | Reviewer profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `body` | string | Review comment text |
  | ↳ `state` | string | Review state (approved, changes\_requested, commented, dismissed) |
  | ↳ `html_url` | string | Review HTML URL |
  | ↳ `submitted_at` | string | Review submission timestamp |
  | ↳ `commit_id` | string | Commit SHA that was reviewed |
  | ↳ `author_association` | string | Author association (OWNER, MEMBER, COLLABORATOR, CONTRIBUTOR, etc.) |
  | `pull_request` | object | |
  | ↳ `id` | number | Pull request ID |
  | ↳ `node_id` | string | Pull request node ID |
  | ↳ `number` | number | Pull request number |
  | ↳ `title` | string | Pull request title |
  | ↳ `body` | string | Pull request description |
  | ↳ `state` | string | Pull request state (open, closed) |
  | ↳ `merged` | boolean | Whether the PR was merged |
  | ↳ `draft` | boolean | Whether the PR is a draft |
  | ↳ `html_url` | string | Pull request HTML URL |
  | ↳ `diff_url` | string | Pull request diff URL |
  | ↳ `patch_url` | string | Pull request patch URL |
  | ↳ `user` | object | |
  | ↳ `login` | string | PR author username |
  | ↳ `id` | number | PR author user ID |
  | ↳ `node_id` | string | PR author node ID |
  | ↳ `avatar_url` | string | PR author avatar URL |
  | ↳ `html_url` | string | PR author profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `head` | object | |
  | ↳ `ref` | string | Source branch name |
  | ↳ `sha` | string | Source branch commit SHA |
  | ↳ `repo` | object | |
  | ↳ `name` | string | Source repository name |
  | ↳ `full_name` | string | Source repository full name |
  | ↳ `base` | object | |
  | ↳ `ref` | string | Target branch name |
  | ↳ `sha` | string | Target branch commit SHA |
  | ↳ `repo` | object | |
  | ↳ `name` | string | Target repository name |
  | ↳ `full_name` | string | Target repository full name |
  | ↳ `created_at` | string | Pull request creation timestamp |
  | ↳ `updated_at` | string | Pull request last update timestamp |
  | `repository` | object | |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | Repository node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Repository full name (owner/repo) |
  | ↳ `private` | boolean | Whether the repository is private |
  | ↳ `html_url` | string | Repository HTML URL |
  | ↳ `repo_description` | string | Repository description |
  | ↳ `owner` | object | |
  | ↳ `login` | string | Owner username |
  | ↳ `id` | number | Owner ID |
  | ↳ `node_id` | string | Owner node ID |
  | ↳ `avatar_url` | string | Owner avatar URL |
  | ↳ `html_url` | string | Owner profile URL |
  | ↳ `owner_type` | string | Owner type (User, Organization) |
  | `sender` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
</ReferenceDetails>

### GitHub Push [#github-push]

Trigger workflow when code is pushed to a repository

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-9]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
  | `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
  | `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |

  #### Output [#output-97]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_type` | string | GitHub event type from X-GitHub-Event header (e.g., push) |
  | `branch` | string | Branch name derived from ref (e.g., main from refs/heads/main) |
  | `ref` | string | Git reference that was pushed (e.g., refs/heads/main) |
  | `before` | string | SHA of the commit before the push |
  | `after` | string | SHA of the commit after the push |
  | `created` | boolean | Whether this push created a new branch or tag |
  | `deleted` | boolean | Whether this push deleted a branch or tag |
  | `forced` | boolean | Whether this was a force push |
  | `base_ref` | string | Base reference for the push |
  | `compare` | string | URL to compare the changes |
  | `commits` | array | Array of commit objects included in this push |
  | `head_commit` | object | |
  | ↳ `id` | string | Commit SHA of the most recent commit |
  | ↳ `tree_id` | string | Git tree SHA |
  | ↳ `distinct` | boolean | Whether this commit is distinct |
  | ↳ `message` | string | Commit message |
  | ↳ `timestamp` | string | Commit timestamp |
  | ↳ `url` | string | Commit URL |
  | ↳ `author` | object | |
  | ↳ `name` | string | Author name |
  | ↳ `email` | string | Author email |
  | ↳ `username` | string | Author GitHub username |
  | ↳ `committer` | object | |
  | ↳ `name` | string | Committer name |
  | ↳ `email` | string | Committer email |
  | ↳ `username` | string | Committer GitHub username |
  | ↳ `added` | array | Array of file paths added in this commit |
  | ↳ `removed` | array | Array of file paths removed in this commit |
  | ↳ `modified` | array | Array of file paths modified in this commit |
  | `pusher` | object | |
  | ↳ `name` | string | Pusher name |
  | ↳ `email` | string | Pusher email |
  | `repository` | object | |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | Repository node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Repository full name (owner/repo) |
  | ↳ `private` | boolean | Whether the repository is private |
  | ↳ `html_url` | string | Repository HTML URL |
  | ↳ `repo_description` | string | Repository description |
  | ↳ `fork` | boolean | Whether the repository is a fork |
  | ↳ `url` | string | Repository API URL |
  | ↳ `homepage` | string | Repository homepage URL |
  | ↳ `size` | number | Repository size in KB |
  | ↳ `stargazers_count` | number | Number of stars |
  | ↳ `watchers_count` | number | Number of watchers |
  | ↳ `language` | string | Primary programming language |
  | ↳ `forks_count` | number | Number of forks |
  | ↳ `open_issues_count` | number | Number of open issues |
  | ↳ `default_branch` | string | Default branch name |
  | ↳ `owner` | object | |
  | ↳ `login` | string | Owner username |
  | ↳ `id` | number | Owner ID |
  | ↳ `node_id` | string | Owner node ID |
  | ↳ `avatar_url` | string | Owner avatar URL |
  | ↳ `html_url` | string | Owner profile URL |
  | ↳ `owner_type` | string | Owner type (User, Organization) |
  | `sender` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
</ReferenceDetails>

### GitHub Release Published [#github-release-published]

Trigger workflow when a new release is published in a GitHub repository

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-10]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
  | `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
  | `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |

  #### Output [#output-98]

  | Parameter | Type | Description |
  | - | - | - |
  | `event_type` | string | GitHub event type from X-GitHub-Event header (e.g., release) |
  | `action` | string | Action performed (published, unpublished, created, edited, deleted, prereleased, released) |
  | `release` | object | |
  | ↳ `id` | number | Release ID |
  | ↳ `node_id` | string | Release node ID |
  | ↳ `tag_name` | string | Git tag name for the release |
  | ↳ `target_commitish` | string | Target branch or commit SHA |
  | ↳ `name` | string | Release name/title |
  | ↳ `body` | string | Release description/notes in markdown format |
  | ↳ `draft` | boolean | Whether the release is a draft |
  | ↳ `prerelease` | boolean | Whether the release is a pre-release |
  | ↳ `created_at` | string | Release creation timestamp |
  | ↳ `published_at` | string | Release publication timestamp |
  | ↳ `url` | string | Release API URL |
  | ↳ `html_url` | string | Release HTML URL |
  | ↳ `assets_url` | string | Release assets API URL |
  | ↳ `upload_url` | string | URL for uploading release assets |
  | ↳ `tarball_url` | string | Source code tarball download URL |
  | ↳ `zipball_url` | string | Source code zipball download URL |
  | ↳ `discussion_url` | string | Discussion URL if available |
  | ↳ `author` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `gravatar_id` | string | Gravatar ID |
  | ↳ `url` | string | User API URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `followers_url` | string | Followers API URL |
  | ↳ `following_url` | string | Following API URL |
  | ↳ `gists_url` | string | Gists API URL |
  | ↳ `starred_url` | string | Starred repositories API URL |
  | ↳ `subscriptions_url` | string | Subscriptions API URL |
  | ↳ `organizations_url` | string | Organizations API URL |
  | ↳ `repos_url` | string | Repositories API URL |
  | ↳ `events_url` | string | Events API URL |
  | ↳ `received_events_url` | string | Received events API URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `site_admin` | boolean | Whether user is a site administrator |
  | ↳ `assets` | array | Array of release asset objects with download URLs |
  | `repository` | object | |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | Repository node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Repository full name (owner/repo) |
  | ↳ `private` | boolean | Whether the repository is private |
  | ↳ `html_url` | string | Repository HTML URL |
  | ↳ `repo_description` | string | Repository description |
  | ↳ `fork` | boolean | Whether the repository is a fork |
  | ↳ `url` | string | Repository API URL |
  | ↳ `archive_url` | string | Archive API URL |
  | ↳ `assignees_url` | string | Assignees API URL |
  | ↳ `blobs_url` | string | Blobs API URL |
  | ↳ `branches_url` | string | Branches API URL |
  | ↳ `collaborators_url` | string | Collaborators API URL |
  | ↳ `comments_url` | string | Comments API URL |
  | ↳ `commits_url` | string | Commits API URL |
  | ↳ `compare_url` | string | Compare API URL |
  | ↳ `contents_url` | string | Contents API URL |
  | ↳ `contributors_url` | string | Contributors API URL |
  | ↳ `deployments_url` | string | Deployments API URL |
  | ↳ `downloads_url` | string | Downloads API URL |
  | ↳ `events_url` | string | Events API URL |
  | ↳ `forks_url` | string | Forks API URL |
  | ↳ `git_commits_url` | string | Git commits API URL |
  | ↳ `git_refs_url` | string | Git refs API URL |
  | ↳ `git_tags_url` | string | Git tags API URL |
  | ↳ `hooks_url` | string | Hooks API URL |
  | ↳ `issue_comment_url` | string | Issue comment API URL |
  | ↳ `issue_events_url` | string | Issue events API URL |
  | ↳ `issues_url` | string | Issues API URL |
  | ↳ `keys_url` | string | Keys API URL |
  | ↳ `labels_url` | string | Labels API URL |
  | ↳ `languages_url` | string | Languages API URL |
  | ↳ `merges_url` | string | Merges API URL |
  | ↳ `milestones_url` | string | Milestones API URL |
  | ↳ `notifications_url` | string | Notifications API URL |
  | ↳ `pulls_url` | string | Pull requests API URL |
  | ↳ `releases_url` | string | Releases API URL |
  | ↳ `stargazers_url` | string | Stargazers API URL |
  | ↳ `statuses_url` | string | Statuses API URL |
  | ↳ `subscribers_url` | string | Subscribers API URL |
  | ↳ `subscription_url` | string | Subscription API URL |
  | ↳ `tags_url` | string | Tags API URL |
  | ↳ `teams_url` | string | Teams API URL |
  | ↳ `trees_url` | string | Trees API URL |
  | ↳ `homepage` | string | Repository homepage URL |
  | ↳ `size` | number | Repository size in KB |
  | ↳ `stargazers_count` | number | Number of stars |
  | ↳ `watchers_count` | number | Number of watchers |
  | ↳ `language` | string | Primary programming language |
  | ↳ `has_issues` | boolean | Whether issues are enabled |
  | ↳ `has_projects` | boolean | Whether projects are enabled |
  | ↳ `has_downloads` | boolean | Whether downloads are enabled |
  | ↳ `has_wiki` | boolean | Whether wiki is enabled |
  | ↳ `has_pages` | boolean | Whether GitHub Pages is enabled |
  | ↳ `forks_count` | number | Number of forks |
  | ↳ `mirror_url` | string | Mirror URL if repository is a mirror |
  | ↳ `archived` | boolean | Whether the repository is archived |
  | ↳ `disabled` | boolean | Whether the repository is disabled |
  | ↳ `open_issues_count` | number | Number of open issues |
  | ↳ `license` | object | |
  | ↳ `key` | string | License key |
  | ↳ `name` | string | License name |
  | ↳ `spdx_id` | string | SPDX license identifier |
  | ↳ `url` | string | License API URL |
  | ↳ `node_id` | string | License node ID |
  | ↳ `allow_forking` | boolean | Whether forking is allowed |
  | ↳ `is_template` | boolean | Whether repository is a template |
  | ↳ `topics` | array | Array of repository topics |
  | ↳ `visibility` | string | Repository visibility (public, private, internal) |
  | ↳ `forks` | number | Number of forks |
  | ↳ `open_issues` | number | Number of open issues |
  | ↳ `watchers` | number | Number of watchers |
  | ↳ `default_branch` | string | Default branch name |
  | ↳ `created_at` | string | Repository creation timestamp |
  | ↳ `updated_at` | string | Repository last update timestamp |
  | ↳ `pushed_at` | string | Repository last push timestamp |
  | ↳ `owner` | object | |
  | ↳ `login` | string | Owner username |
  | ↳ `id` | number | Owner ID |
  | ↳ `node_id` | string | Owner node ID |
  | ↳ `avatar_url` | string | Owner avatar URL |
  | ↳ `gravatar_id` | string | Owner gravatar ID |
  | ↳ `url` | string | Owner API URL |
  | ↳ `html_url` | string | Owner profile URL |
  | ↳ `followers_url` | string | Followers API URL |
  | ↳ `following_url` | string | Following API URL |
  | ↳ `gists_url` | string | Gists API URL |
  | ↳ `starred_url` | string | Starred repositories API URL |
  | ↳ `subscriptions_url` | string | Subscriptions API URL |
  | ↳ `organizations_url` | string | Organizations API URL |
  | ↳ `repos_url` | string | Repositories API URL |
  | ↳ `events_url` | string | Events API URL |
  | ↳ `received_events_url` | string | Received events API URL |
  | ↳ `owner_type` | string | Owner type (User, Organization) |
  | ↳ `site_admin` | boolean | Whether owner is a site administrator |
  | `sender` | object | |
  | ↳ `login` | string | Username |
  | ↳ `id` | number | User ID |
  | ↳ `node_id` | string | User node ID |
  | ↳ `avatar_url` | string | Avatar URL |
  | ↳ `gravatar_id` | string | Gravatar ID |
  | ↳ `url` | string | User API URL |
  | ↳ `html_url` | string | Profile URL |
  | ↳ `followers_url` | string | Followers API URL |
  | ↳ `following_url` | string | Following API URL |
  | ↳ `gists_url` | string | Gists API URL |
  | ↳ `starred_url` | string | Starred repositories API URL |
  | ↳ `subscriptions_url` | string | Subscriptions API URL |
  | ↳ `organizations_url` | string | Organizations API URL |
  | ↳ `repos_url` | string | Repositories API URL |
  | ↳ `events_url` | string | Events API URL |
  | ↳ `received_events_url` | string | Received events API URL |
  | ↳ `user_type` | string | User type (User, Bot, Organization) |
  | ↳ `site_admin` | boolean | Whether user is a site administrator |
</ReferenceDetails>

### GitHub Webhook [#github-webhook]

Trigger workflow from GitHub events like push, pull requests, issues, and more

<ReferenceDetails label="Configuration and outputs">
  #### Configuration [#configuration-11]

  | Parameter | Type | Required | Description |
  | - | - | - | - |
  | `contentType` | string | Yes | Format GitHub will use when sending the webhook payload. |
  | `webhookSecret` | string | No | Validates that webhook deliveries originate from GitHub. |
  | `sslVerification` | string | Yes | GitHub verifies SSL certificates when delivering webhooks. |

  #### Output [#output-99]

  | Parameter | Type | Description |
  | - | - | - |
  | `ref` | string | Git reference (e.g., refs/heads/fix/telegram-wh) |
  | `before` | string | SHA of the commit before the push |
  | `after` | string | SHA of the commit after the push |
  | `created` | boolean | Whether the push created the reference |
  | `deleted` | boolean | Whether the push deleted the reference |
  | `forced` | boolean | Whether the push was forced |
  | `base_ref` | string | Base reference for the push |
  | `compare` | string | URL to compare the changes |
  | `repository` | object | |
  | ↳ `id` | number | Repository ID |
  | ↳ `node_id` | string | Repository node ID |
  | ↳ `name` | string | Repository name |
  | ↳ `full_name` | string | Repository full name (owner/repo) |
  | ↳ `private` | boolean | Whether the repository is private |
  | ↳ `html_url` | string | Repository HTML URL |
  | ↳ `fork` | boolean | Whether the repository is a fork |
  | ↳ `url` | string | Repository API URL |
  | ↳ `created_at` | number | Repository creation timestamp |
  | ↳ `updated_at` | string | Repository last updated time |
  | ↳ `pushed_at` | number | Repository last push timestamp |
  | ↳ `git_url` | string | Repository git URL |
  | ↳ `ssh_url` | string | Repository SSH URL |
  | ↳ `clone_url` | string | Repository clone URL |
  | ↳ `homepage` | string | Repository homepage URL |
  | ↳ `size` | number | Repository size |
  | ↳ `stargazers_count` | number | Number of stars |
  | ↳ `watchers_count` | number | Number of watchers |
  | ↳ `language` | string | Primary programming language |
  | ↳ `forks_count` | number | Number of forks |
  | ↳ `archived` | boolean | Whether the repository is archived |
  | ↳ `disabled` | boolean | Whether the repository is disabled |
  | ↳ `open_issues_count` | number | Number of open issues |
  | ↳ `topics` | array | Repository topics |
  | ↳ `visibility` | string | Repository visibility (public, private) |
  | ↳ `forks` | number | Number of forks |
  | ↳ `open_issues` | number | Number of open issues |
  | ↳ `watchers` | number | Number of watchers |
  | ↳ `default_branch` | string | Default branch name |
  | ↳ `stargazers` | number | Number of stargazers |
  | ↳ `master_branch` | string | Master branch name |
  | ↳ `owner` | object | |
  | ↳ `name` | string | Owner name |
  | ↳ `email` | string | Owner email |
  | ↳ `login` | string | Owner username |
  | ↳ `id` | number | Owner ID |
  | ↳ `node_id` | string | Owner node ID |
  | ↳ `avatar_url` | string | Owner avatar URL |
  | ↳ `gravatar_id` | string | Owner gravatar ID |
  | ↳ `url` | string | Owner API URL |
  | ↳ `html_url` | string | Owner profile URL |
  | ↳ `user_view_type` | string | User view type |
  | ↳ `site_admin` | boolean | Whether the owner is a site admin |
  | ↳ `license` | object | Repository license information |
  | ↳ `key` | string | License key (e.g., apache-2.0) |
  | ↳ `name` | string | License name |
  | ↳ `spdx_id` | string | SPDX license identifier |
  | ↳ `url` | string | License URL |
  | ↳ `node_id` | string | License node ID |
  | `pusher` | object | Information about who pushed the changes |
  | ↳ `name` | string | Pusher name |
  | ↳ `email` | string | Pusher email |
  | `sender` | object | |
  | ↳ `login` | string | Sender username |
  | ↳ `id` | number | Sender ID |
  | ↳ `node_id` | string | Sender node ID |
  | ↳ `avatar_url` | string | Sender avatar URL |
  | ↳ `gravatar_id` | string | Sender gravatar ID |
  | ↳ `url` | string | Sender API URL |
  | ↳ `html_url` | string | Sender profile URL |
  | ↳ `user_view_type` | string | User view type |
  | ↳ `site_admin` | boolean | Whether the sender is a site admin |
  | `commits` | array | Array of commit objects |
  | `head_commit` | object | Head commit object |
  | ↳ `id` | string | Commit SHA |
  | ↳ `tree_id` | string | Tree SHA |
  | ↳ `distinct` | boolean | Whether the commit is distinct |
  | ↳ `message` | string | Commit message |
  | ↳ `timestamp` | string | Commit timestamp |
  | ↳ `url` | string | Commit URL |
  | ↳ `author` | object | Commit author |
  | ↳ `name` | string | Author name |
  | ↳ `email` | string | Author email |
  | ↳ `committer` | object | Commit committer |
  | ↳ `name` | string | Committer name |
  | ↳ `email` | string | Committer email |
  | ↳ `added` | array | Array of added files |
  | ↳ `removed` | array | Array of removed files |
  | ↳ `modified` | array | Array of modified files |
  | `event_type` | string | Type of GitHub event (e.g., push, pull\_request, issues) |
  | `action` | string | The action that was performed (e.g., opened, closed, synchronize) |
  | `branch` | string | Branch name extracted from ref |
</ReferenceDetails>
