> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tracecat.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GitHub MCP

> Reference for the Tracecat GitHub MCP integration: registered actions, required secrets, expected inputs, and example workflow usage.

## Cancel workflow run

Action ID: `tools.github.cancel_workflow_run`

Cancel workflow run. Calls POST /repos/\{owner}/\{repo}/actions/runs/\{run\_id}/cancel directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="run_id" type="integer" required>
  GitHub API path value for run\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Compare commits

Action ID: `tools.github.compare_commits`

Compare commits. Calls GET /repos/\{owner}/\{repo}/compare/\{basehead} directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="basehead" type="string" required>
  GitHub API path value for basehead.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

## Create issue

Action ID: `tools.github.create_issue`

Create issue. Calls POST /repos/\{owner}/\{repo}/issues directly. Accepted OAuth scopes: repo (default; omit only for public repository data). For bug reports, pass type: Bug where issue types are supported and labels: \[bug] as the caller-controlled fallback; labels, assignees, milestone, and issue\_field\_values are passed through unchanged.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation. Body fields documented for POST /repos/\{owner}/\{repo}/issues: title (required), body, assignee, milestone, labels, assignees, issue\_field\_values, type.

  Default: `null`.
</ParamField>

## Create issue comment

Action ID: `tools.github.create_issue_comment`

Create issue comment. Calls POST /repos/\{owner}/\{repo}/issues/\{issue\_number}/comments directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="body" type="string" required>
  The contents of the comment.
</ParamField>

<ParamField path="issue_number" type="integer" required>
  GitHub API path value for issue\_number.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Create or update repository content

Action ID: `tools.github.create_or_update_repository_content`

Create or update repository content. Calls PUT /repos/\{owner}/\{repo}/contents/\{path} directly. Accepted OAuth scopes: repo (default; omit only for public repository data); workflow when modifying .github/workflows.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="path" type="string" required>
  Nested repository content path.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body. Documented fields: content (required), message (required), author, branch, committer, sha.

  Default: `null`.
</ParamField>

## Create pull request

Action ID: `tools.github.create_pull_request`

Create pull request. Calls POST /repos/\{owner}/\{repo}/pulls directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation. Body fields documented for POST /repos/\{owner}/\{repo}/pulls: title, head (required), head\_repo, base (required), body, maintainer\_can\_modify, draft, issue.

  Default: `null`.
</ParamField>

## Create pull request review

Action ID: `tools.github.create_pull_request_review`

Create pull request review. Calls POST /repos/\{owner}/\{repo}/pulls/\{pull\_number}/reviews directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="pull_number" type="integer" required>
  GitHub API path value for pull\_number.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation. Body fields documented for POST /repos/\{owner}/\{repo}/pulls/\{pull\_number}/reviews: commit\_id, body, event, comments.

  Default: `null`.
</ParamField>

## Create pull request review comment

Action ID: `tools.github.create_pull_request_review_comment`

Create pull request review comment. Calls POST /repos/\{owner}/\{repo}/pulls/\{pull\_number}/comments directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="pull_number" type="integer" required>
  GitHub API path value for pull\_number.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation. Body fields documented for POST /repos/\{owner}/\{repo}/pulls/\{pull\_number}/comments: body (required), commit\_id (required), path (required), position, side, line, start\_line, start\_side, in\_reply\_to, subject\_type.

  Default: `null`.
</ParamField>

## Create repository security advisory

Action ID: `tools.github.create_repository_security_advisory`

Create repository security advisory. Calls POST /repos/\{owner}/\{repo}/security-advisories directly. Accepted OAuth scope: repo (default).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body. Documented fields: description (required), summary (required), vulnerabilities (required), credits, cve\_id, cvss\_vector\_string, cwe\_ids, severity, start\_private\_fork.

  Default: `null`.
</ParamField>

## Create security advisory fork

Action ID: `tools.github.create_security_advisory_fork`

Create security advisory fork. Calls POST /repos/\{owner}/\{repo}/security-advisories/\{ghsa\_id}/forks directly. Accepted OAuth scope: repo (default).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="ghsa_id" type="string" required>
  GitHub API path value for ghsa\_id.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Disable private vulnerability reporting

Action ID: `tools.github.disable_private_vulnerability_reporting`

Disable private vulnerability reporting. Calls DELETE /repos/\{owner}/\{repo}/private-vulnerability-reporting directly. Accepted OAuth scope: repo (default).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Disable vulnerability alerts

Action ID: `tools.github.disable_vulnerability_alerts`

Disable vulnerability alerts. Calls DELETE /repos/\{owner}/\{repo}/vulnerability-alerts directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Dispatch workflow

Action ID: `tools.github.dispatch_workflow`

Dispatch workflow. Calls POST /repos/\{owner}/\{repo}/actions/workflows/\{workflow\_id}/dispatches directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="workflow_id" type="string | integer" required>
  GitHub API path value for workflow\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation. Body fields documented for POST /repos/\{owner}/\{repo}/actions/workflows/\{workflow\_id}/dispatches: ref (required), inputs, return\_run\_details.

  Default: `null`.
</ParamField>

## Download workflow job logs

Action ID: `tools.github.download_workflow_job_logs`

Download workflow job logs. Calls GET /repos/\{owner}/\{repo}/actions/jobs/\{job\_id}/logs directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="job_id" type="integer" required>
  GitHub API path value for job\_id.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Enable private vulnerability reporting

Action ID: `tools.github.enable_private_vulnerability_reporting`

Enable private vulnerability reporting. Calls PUT /repos/\{owner}/\{repo}/private-vulnerability-reporting directly. Accepted OAuth scope: repo (default).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Enable vulnerability alerts

Action ID: `tools.github.enable_vulnerability_alerts`

Enable vulnerability alerts. Calls PUT /repos/\{owner}/\{repo}/vulnerability-alerts directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get branch protection

Action ID: `tools.github.get_branch_protection`

Get branch protection. Calls GET /repos/\{owner}/\{repo}/branches/\{branch}/protection directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="branch" type="string" required>
  GitHub API path value for branch.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get code scanning alert

Action ID: `tools.github.get_code_scanning_alert`

Get code scanning alert. Calls GET /repos/\{owner}/\{repo}/code-scanning/alerts/\{alert\_number} directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="alert_number" type="integer" required>
  GitHub API path value for alert\_number.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get code scanning default setup

Action ID: `tools.github.get_code_scanning_default_setup`

Get code scanning default setup. Calls GET /repos/\{owner}/\{repo}/code-scanning/default-setup directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get commit

Action ID: `tools.github.get_commit`

Get commit. Calls GET /repos/\{owner}/\{repo}/commits/\{ref} directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="ref" type="string" required>
  GitHub API path value for ref.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

## Get dependabot alert

Action ID: `tools.github.get_dependabot_alert`

Get dependabot alert. Calls GET /repos/\{owner}/\{repo}/dependabot/alerts/\{alert\_number} directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="alert_number" type="integer" required>
  GitHub API path value for alert\_number.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get gist

Action ID: `tools.github.get_gist`

Get gist. Calls GET /gists/\{gist\_id} directly. Accepted OAuth scopes: gist (required only for secret or authenticated-user gists; omit for public gists).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="gist_id" type="string" required>
  GitHub API path value for gist\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get global security advisory

Action ID: `tools.github.get_global_security_advisory`

Get global security advisory. Calls GET /advisories/\{ghsa\_id} directly. Accepted OAuth scope: repo (default).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="ghsa_id" type="string" required>
  GitHub API path value for ghsa\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get issue

Action ID: `tools.github.get_issue`

Get issue. Calls GET /repos/\{owner}/\{repo}/issues/\{issue\_number} directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="issue_number" type="integer" required>
  GitHub API path value for issue\_number.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get organization audit log

Action ID: `tools.github.get_organization_audit_log`

Get organization audit log. Calls GET /orgs/\{org}/audit-log directly. Accepted OAuth scopes: read:audit\_log.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="org" type="string" required>
  GitHub API path value for org.
</ParamField>

<ParamField path="after" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for events after this cursor.

  Default: `null`.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="before" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for events before this cursor.

  Default: `null`.
</ParamField>

<ParamField path="include" type="string | null">
  The event types to include: web - returns web (non-Git) events. git - returns Git events. all - returns both web and Git events. The default is web.

  Default: `null`.
</ParamField>

<ParamField path="order" type="string | null">
  The order of audit log events. To list newest events first, specify desc. To list oldest events first, specify asc. The default is desc.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

<ParamField path="phrase" type="string | null">
  A search phrase.

  Default: `null`.
</ParamField>

## Get private vulnerability reporting

Action ID: `tools.github.get_private_vulnerability_reporting`

Get private vulnerability reporting. Calls GET /repos/\{owner}/\{repo}/private-vulnerability-reporting directly. Accepted OAuth scope: repo (default).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get pull request

Action ID: `tools.github.get_pull_request`

Get pull request. Calls GET /repos/\{owner}/\{repo}/pulls/\{pull\_number} directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="pull_number" type="integer" required>
  GitHub API path value for pull\_number.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get pull request merge state

Action ID: `tools.github.get_pull_request_merge_state`

Get pull request merge state. Calls GET /repos/\{owner}/\{repo}/pulls/\{pull\_number}/merge directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="pull_number" type="integer" required>
  GitHub API path value for pull\_number.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get repository

Action ID: `tools.github.get_repository`

Get repository. Calls GET /repos/\{owner}/\{repo} directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get repository collaborator permission

Action ID: `tools.github.get_repository_collaborator_permission`

Get repository collaborator permission. Calls GET /repos/\{owner}/\{repo}/collaborators/\{username}/permission directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="username" type="string" required>
  GitHub API path value for username.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get repository content

Action ID: `tools.github.get_repository_content`

Get repository content. Calls GET /repos/\{owner}/\{repo}/contents/\{path} directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="path" type="string" required>
  Nested repository content path.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="ref" type="string | null">
  The name of the commit/branch/tag. Default: the repository’s default branch.

  Default: `null`.
</ParamField>

## Get repository sbom

Action ID: `tools.github.get_repository_sbom`

Get repository sbom. Calls GET /repos/\{owner}/\{repo}/dependency-graph/sbom directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get repository security advisory

Action ID: `tools.github.get_repo_security_advisory`

Get repository security advisory. Calls GET /repos/\{owner}/\{repo}/security-advisories/\{ghsa\_id} directly. Accepted OAuth scope: repo (default).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="ghsa_id" type="string" required>
  GitHub API path value for ghsa\_id.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get secret scanning alert

Action ID: `tools.github.get_secret_scanning_alert`

Get secret scanning alert. Calls GET /repos/\{owner}/\{repo}/secret-scanning/alerts/\{alert\_number} directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="alert_number" type="integer" required>
  GitHub API path value for alert\_number.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="hide_secret" type="boolean | null">
  A boolean value representing whether or not to hide literal secrets in the results. Default: `false`.

  Default: `null`.
</ParamField>

## Get vulnerability alert status

Action ID: `tools.github.get_vulnerability_alert_status`

Get vulnerability alert status. Calls GET /repos/\{owner}/\{repo}/vulnerability-alerts directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Get workflow run

Action ID: `tools.github.get_workflow_run`

Get workflow run. Calls GET /repos/\{owner}/\{repo}/actions/runs/\{run\_id} directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="run_id" type="integer" required>
  GitHub API path value for run\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="exclude_pull_requests" type="boolean | null">
  If `true` pull requests are omitted from the response (empty array).

  Default: `null`.
</ParamField>

## GitHub MCP

Action ID: `tools.github.mcp`

Use AI to interact with GitHub.

Reference: [https://docs.github.com/en/copilot](https://docs.github.com/en/copilot)

### Secrets

Required secrets:

* `github_mcp_oauth`: OAuth token `GITHUB_MCP_USER_TOKEN`.

Optional secrets:

* `anthropic`: optional values `ANTHROPIC_API_KEY`.
* `openai`: optional values `OPENAI_API_KEY`.
* `gemini`: optional values `GEMINI_API_KEY`.
* `mistral`: optional values `MISTRAL_API_KEY`.
* `amazon_bedrock`: optional values `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_REGION`, `AWS_ROLE_ARN`, `AWS_ROLE_SESSION_NAME`, `AWS_SESSION_TOKEN`, `AWS_BEARER_TOKEN_BEDROCK`, `AWS_MODEL_ID`, `AWS_INFERENCE_PROFILE_ID`.
* `custom-model-provider`: optional values `CUSTOM_MODEL_PROVIDER_API_KEY`, `CUSTOM_MODEL_PROVIDER_MODEL_NAME`, `CUSTOM_MODEL_PROVIDER_BASE_URL`.
* `azure_openai`: optional values `AZURE_API_BASE`, `AZURE_API_VERSION`, `AZURE_DEPLOYMENT_NAME`, `AZURE_API_KEY`, `AZURE_AD_TOKEN`, `AZURE_TENANT_ID`, `AZURE_CLIENT_ID`, `AZURE_CLIENT_SECRET`.
* `azure_ai`: optional values `AZURE_API_BASE`, `AZURE_API_KEY`, `AZURE_AD_TOKEN`, `AZURE_TENANT_ID`, `AZURE_CLIENT_ID`, `AZURE_CLIENT_SECRET`, `AZURE_API_VERSION`, `AZURE_AI_MODEL_NAME`.
* `litellm`: required values `LITELLM_BASE_URL`.

### Input fields

<ParamField path="instructions" type="string" required>
  Instructions for the agent.
</ParamField>

<ParamField path="user_prompt" type="string" required>
  User prompt to the agent.
</ParamField>

<ParamField path="model" type="ModelSelection | null">
  Model to use. Pick from the list of models enabled for this workspace. Provide this field, or both deprecated `model_name` and `model_provider`.

  Default: `null`.
</ParamField>

<ParamField path="model_name" type="string | null">
  Deprecated. Use `model` instead. If `model` is omitted, set this together with `model_provider`.

  Default: `null`.
</ParamField>

<ParamField path="model_provider" type="string | null">
  Deprecated. Use `model` instead. If `model` is omitted, set this together with `model_name`.

  Default: `null`.
</ParamField>

## List code scanning alert instances

Action ID: `tools.github.list_code_scanning_alert_instances`

List code scanning alert instances. Calls GET /repos/\{owner}/\{repo}/code-scanning/alerts/\{alert\_number}/instances directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="alert_number" type="integer" required>
  GitHub API path value for alert\_number.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch. Default: `1`.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100). Default: `30`.

  Default: `null`.
</ParamField>

<ParamField path="pr" type="integer | null">
  The number of the pull request for the results you want to list.

  Default: `null`.
</ParamField>

<ParamField path="ref" type="string | null">
  The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/&lt;branch name>` or simply `&lt;branch name>`. To reference a pull request use `refs/pull/&lt;number>/merge`.

  Default: `null`.
</ParamField>

## List commits

Action ID: `tools.github.list_commits`

List commits. Calls GET /repos/\{owner}/\{repo}/commits directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="author" type="string | null">
  GitHub username or email address to use to filter by commit author.

  Default: `null`.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="committer" type="string | null">
  GitHub username or email address to use to filter by commit committer.

  Default: `null`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="path" type="string | null">
  Only commits containing this file path will be returned.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

<ParamField path="sha" type="string | null">
  SHA or branch to start listing commits from. Default: the repository’s default branch (usually main).

  Default: `null`.
</ParamField>

<ParamField path="since" type="string | null">
  Only show results that were last updated after the given time. This is a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned.

  Default: `null`.
</ParamField>

<ParamField path="until" type="string | null">
  Only commits before this date will be returned. This is a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ. Due to limitations of Git, timestamps must be between 1970-01-01 and 2099-12-31 (inclusive) or unexpected results may be returned.

  Default: `null`.
</ParamField>

## List gist commits

Action ID: `tools.github.list_gist_commits`

List gist commits. Calls GET /gists/\{gist\_id}/commits directly. Accepted OAuth scopes: gist (required only for secret or authenticated-user gists; omit for public gists).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="gist_id" type="string" required>
  GitHub API path value for gist\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

## List global security advisories

Action ID: `tools.github.list_global_security_advisories`

List global security advisories. Calls GET /advisories directly. Accepted OAuth scope: repo (default).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="affects" type="string | null">
  If specified, only return advisories that affect any of `package` or `package@version`. A maximum of 1000 packages can be specified. If the query parameter causes the URL to exceed the maximum URL length supported by your client, you must specify fewer packages. Example: `affects=package1,package2@1.0.0,package3@2.0.0` or `affects[]=package1&amp;affects[]=package2@1.0.0`

  Default: `null`.
</ParamField>

<ParamField path="after" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for results after this cursor.

  Default: `null`.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="before" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for results before this cursor.

  Default: `null`.
</ParamField>

<ParamField path="cve_id" type="string | null">
  If specified, only advisories with this CVE (Common Vulnerabilities and Exposures) identifier will be returned.

  Default: `null`.
</ParamField>

<ParamField path="cwes" type="string | null">
  If specified, only advisories with these Common Weakness Enumerations (CWEs) will be returned. Example: `cwes=79,284,22` or `cwes[]=79&amp;cwes[]=284&amp;cwes[]=22`

  Default: `null`.
</ParamField>

<ParamField path="direction" type="string | null">
  The direction to sort the results by. Default: `desc`. Can be one of: `asc`, `desc`.

  Default: `null`.
</ParamField>

<ParamField path="ecosystem" type="string | null">
  If specified, only advisories for these ecosystems will be returned. Can be one of: `rubygems`, `npm`, `pip`, `maven`, `nuget`, `composer`, `go`, `rust`, `erlang`, `actions`, `pub`, `other`, `swift`.

  Default: `null`.
</ParamField>

<ParamField path="epss_percentage" type="string | null">
  If specified, only return advisories that have an EPSS percentage score that matches the provided value. The EPSS percentage represents the likelihood of a CVE being exploited.

  Default: `null`.
</ParamField>

<ParamField path="epss_percentile" type="string | null">
  If specified, only return advisories that have an EPSS percentile score that matches the provided value. The EPSS percentile represents the relative rank of the CVE's likelihood of being exploited compared to other CVEs.

  Default: `null`.
</ParamField>

<ParamField path="ghsa_id" type="string | null">
  If specified, only advisories with this GHSA (GitHub Security Advisory) identifier will be returned.

  Default: `null`.
</ParamField>

<ParamField path="is_withdrawn" type="boolean | null">
  Whether to only return advisories that have been withdrawn.

  Default: `null`.
</ParamField>

<ParamField path="modified" type="string | null">
  If specified, only show advisories that were updated or published on a date or date range.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100). Default: `30`.

  Default: `null`.
</ParamField>

<ParamField path="published" type="string | null">
  If specified, only return advisories that were published on a date or date range.

  Default: `null`.
</ParamField>

<ParamField path="severity" type="string | null">
  If specified, only advisories with these severities will be returned. Can be one of: `unknown`, `low`, `medium`, `high`, `critical`.

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  The property to sort the results by. Default: `published`. Can be one of: `updated`, `published`, `epss_percentage`, `epss_percentile`.

  Default: `null`.
</ParamField>

<ParamField path="type" type="string | null">
  If specified, only advisories of this type will be returned. By default, a request with no other parameters defined will only return reviewed advisories that are not malware. Default: `reviewed`. Can be one of: `reviewed`, `malware`, `unreviewed`.

  Default: `null`.
</ParamField>

<ParamField path="updated" type="string | null">
  If specified, only return advisories that were updated on a date or date range.

  Default: `null`.
</ParamField>

## List issue comments

Action ID: `tools.github.list_issue_comments`

List issue comments. Calls GET /repos/\{owner}/\{repo}/issues/\{issue\_number}/comments directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="issue_number" type="integer" required>
  GitHub API path value for issue\_number.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

<ParamField path="since" type="string | null">
  Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.

  Default: `null`.
</ParamField>

## List organization code scanning alerts

Action ID: `tools.github.list_org_code_scanning_alerts`

List organization code scanning alerts. Calls GET /orgs/\{org}/code-scanning/alerts directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="org" type="string" required>
  GitHub API path value for org.
</ParamField>

<ParamField path="after" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for results after this cursor.

  Default: `null`.
</ParamField>

<ParamField path="assignees" type="string | null">
  Filter alerts by assignees. Provide a comma-separated list of user handles (e.g., `octocat` or `octocat,hubot`). Use `*` to list alerts with at least one assignee or `none` to list alerts with no assignees.

  Default: `null`.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="before" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for results before this cursor.

  Default: `null`.
</ParamField>

<ParamField path="direction" type="string | null">
  The direction to sort the results by. Default: `desc`. Can be one of: `asc`, `desc`.

  Default: `null`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch. Default: `1`.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100). Default: `30`.

  Default: `null`.
</ParamField>

<ParamField path="severity" type="string | null">
  If specified, only code scanning alerts with this severity will be returned. Can be one of: `critical`, `high`, `medium`, `low`, `warning`, `note`, `error`.

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  The property by which to sort the results. Default: `created`. Can be one of: `created`, `updated`.

  Default: `null`.
</ParamField>

<ParamField path="state" type="string | null">
  If specified, only code scanning alerts with this state will be returned. Can be one of: `open`, `closed`, `dismissed`, `fixed`.

  Default: `null`.
</ParamField>

<ParamField path="tool_guid" type="string | null">
  The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both.

  Default: `null`.
</ParamField>

<ParamField path="tool_name" type="string | null">
  The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both.

  Default: `null`.
</ParamField>

## List organization dependabot alerts

Action ID: `tools.github.list_org_dependabot_alerts`

List organization dependabot alerts. Calls GET /orgs/\{org}/dependabot/alerts directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="org" type="string" required>
  GitHub API path value for org.
</ParamField>

<ParamField path="after" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for results after this cursor.

  Default: `null`.
</ParamField>

<ParamField path="artifact_registry" type="string | null">
  A comma-separated list of Artifact Registry name strings. If specified, only alerts for repositories with storage records matching these registries will be returned. Can be: `jfrog-artifactory`

  Default: `null`.
</ParamField>

<ParamField path="artifact_registry_url" type="string | null">
  A comma-separated list of artifact registry URLs. If specified, only alerts for repositories with storage records matching these URLs will be returned.

  Default: `null`.
</ParamField>

<ParamField path="assignee" type="string | null">
  Filter alerts by assignees. Provide a comma-separated list of user handles (e.g., `octocat` or `octocat,hubot`) to return alerts assigned to any of the specified users. Use `*` to list alerts with at least one assignee or `none` to list alerts with no assignees.

  Default: `null`.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="before" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for results before this cursor.

  Default: `null`.
</ParamField>

<ParamField path="classification" type="string | null">
  A comma-separated list of vulnerability classifications. If specified, only alerts for vulnerabilities with these classifications will be returned. Can be: `malware`, `general`

  Default: `null`.
</ParamField>

<ParamField path="direction" type="string | null">
  The direction to sort the results by. Default: `desc`. Can be one of: `asc`, `desc`.

  Default: `null`.
</ParamField>

<ParamField path="ecosystem" type="string | null">
  A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust`

  Default: `null`.
</ParamField>

<ParamField path="epss_percentage" type="string | null">
  CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: - An exact number (`n`) - Comparators such as `>n`, `&lt;n`, `>=n`, `&lt;=n` - A range like `n..n`, where `n` is a number from 0.0 to 1.0 Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned.

  Default: `null`.
</ParamField>

<ParamField path="has" type="array[string] | null">
  Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. Multiple `has` filters can be passed to filter for alerts that have all of the values.

  Default: `null`.
</ParamField>

<ParamField path="package" type="string | null">
  A comma-separated list of package names. If specified, only alerts for these packages will be returned.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100). Default: `30`.

  Default: `null`.
</ParamField>

<ParamField path="relationship" type="string | null">
  A comma-separated list of relationships of the vulnerable dependency to your project. If specified, only alerts with these relationships will be returned. We are rolling out support for dependency relationship across ecosystems. This value will be "unknown" for all dependencies in unsupported ecosystems.

  Default: `null`.
</ParamField>

<ParamField path="runtime_risk" type="string | null">
  A comma-separated list of runtime risk strings. If specified, only alerts for repositories with deployment records matching these risks will be returned. Can be: `critical-resource`, `internet-exposed`, `sensitive-data`, `lateral-movement`

  Default: `null`.
</ParamField>

<ParamField path="scope" type="string | null">
  The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. Can be one of: `development`, `runtime`.

  Default: `null`.
</ParamField>

<ParamField path="severity" type="string | null">
  A comma-separated list of severities. If specified, only alerts with these severities will be returned. Can be: `low`, `medium`, `high`, `critical`

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  The property by which to sort the results. `created` means when the alert was created. `updated` means when the alert's state last changed. `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. Default: `created`.

  Default: `null`.
</ParamField>

<ParamField path="state" type="string | null">
  A comma-separated list of states. If specified, only alerts with these states will be returned. Can be: `auto_dismissed`, `dismissed`, `fixed`, `open`

  Default: `null`.
</ParamField>

## List organization secret scanning alerts

Action ID: `tools.github.list_org_secret_scanning_alerts`

List organization secret scanning alerts. Calls GET /orgs/\{org}/secret-scanning/alerts directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="org" type="string" required>
  GitHub API path value for org.
</ParamField>

<ParamField path="after" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string.

  Default: `null`.
</ParamField>

<ParamField path="assignee" type="string | null">
  Filters alerts by assignee. Use `*` to get all assigned alerts, `none` to get all unassigned alerts, or a GitHub username to get alerts assigned to a specific user.

  Default: `null`.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="before" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string.

  Default: `null`.
</ParamField>

<ParamField path="direction" type="string | null">
  The direction to sort the results by. Default: `desc`. Can be one of: `asc`, `desc`.

  Default: `null`.
</ParamField>

<ParamField path="exclude_providers" type="string | null">
  A comma-separated list of provider slugs to exclude from the results. Provider slugs use lowercase with underscores (e.g., `github_secret_scanning`, `clojars`). You can find the provider slug in the `provider_slug` field of each alert. Cannot be combined with the `providers` parameter.

  Default: `null`.
</ParamField>

<ParamField path="exclude_secret_types" type="string | null">
  A comma-separated list of secret types to exclude from the results. All default secret patterns are returned except those matching the specified types. Cannot be combined with the `secret_type` parameter. See "Supported secret scanning patterns" for a complete list of secret types.

  Default: `null`.
</ParamField>

<ParamField path="hide_secret" type="boolean | null">
  A boolean value representing whether or not to hide literal secrets in the results. Default: `false`.

  Default: `null`.
</ParamField>

<ParamField path="included_metadata" type="string | null">
  A comma-separated list of metadata fields to filter alerts by. Only alerts that have all of the specified metadata fields attached will be returned. Possible values are: `owner-email`, `owner-id`, `owner-name`, `secret-id`, `secret-name`, `secret-issued-date`, `secret-expiration-date`, `organization-name`, `organization-id`, `last-used-date`, and `has-organization-access`.

  Default: `null`.
</ParamField>

<ParamField path="is_bypassed" type="boolean | null">
  A boolean value (`true` or `false`) indicating whether to filter alerts by their push protection bypass status. When set to `true`, only alerts that were created because a push protection rule was bypassed will be returned. When set to `false`, only alerts that were not caused by a push protection bypass will be returned.

  Default: `null`.
</ParamField>

<ParamField path="is_multi_repo" type="boolean | null">
  A boolean value representing whether or not to filter alerts by the multi-repo tag being present. Default: `false`.

  Default: `null`.
</ParamField>

<ParamField path="is_publicly_leaked" type="boolean | null">
  A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. Default: `false`.

  Default: `null`.
</ParamField>

<ParamField path="owner_email_hash" type="string | null">
  Filters alerts to only those whose attached `owner_email` metadata field matches the provided value. The value must be the lowercase hex-encoded SHA-256 hash of the email address to match (for example, the SHA-256 of `user@example.com`). Only alerts that have an `owner_email` metadata value whose SHA-256 hash equals this parameter are returned.

  Default: `null`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch. Default: `1`.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100). Default: `30`.

  Default: `null`.
</ParamField>

<ParamField path="providers" type="string | null">
  A comma-separated list of provider slugs to filter by. Provider slugs use lowercase with underscores (e.g., `github_secret_scanning`, `clojars`). You can find the provider slug in the `provider_slug` field of each alert. Cannot be combined with the `exclude_providers` parameter.

  Default: `null`.
</ParamField>

<ParamField path="resolution" type="string | null">
  A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`.

  Default: `null`.
</ParamField>

<ParamField path="secret_type" type="string | null">
  A comma-separated list of secret types to return. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "Supported secret scanning patterns" for a complete list of secret types.

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. Default: `created`.

  Default: `null`.
</ParamField>

<ParamField path="state" type="string | null">
  Set to `open` or `resolved` to only list secret scanning alerts in a specific state.

  Default: `null`.
</ParamField>

<ParamField path="validity" type="string | null">
  A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`.

  Default: `null`.
</ParamField>

## List organization security advisories

Action ID: `tools.github.list_organization_security_advisories`

List organization security advisories. Calls GET /orgs/\{org}/security-advisories directly. Accepted OAuth scope: repo (default).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="org" type="string" required>
  GitHub API path value for org.
</ParamField>

<ParamField path="after" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for results after this cursor.

  Default: `null`.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="before" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for results before this cursor.

  Default: `null`.
</ParamField>

<ParamField path="direction" type="string | null">
  The direction to sort the results by. Default: `desc`. Can be one of: `asc`, `desc`.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of advisories to return per page. Default: `30`.

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  The property to sort the results by. Default: `created`. Can be one of: `created`, `updated`, `published`.

  Default: `null`.
</ParamField>

<ParamField path="state" type="string | null">
  Filter by the state of the repository advisories. Only advisories of this state will be returned. Can be one of: `triage`, `draft`, `published`, `closed`.

  Default: `null`.
</ParamField>

## List pull request files

Action ID: `tools.github.list_pull_request_files`

List pull request files. Calls GET /repos/\{owner}/\{repo}/pulls/\{pull\_number}/files directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="pull_number" type="integer" required>
  GitHub API path value for pull\_number.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

## List pull request review comments

Action ID: `tools.github.list_pull_request_review_comments`

List pull request review comments. Calls GET /repos/\{owner}/\{repo}/pulls/\{pull\_number}/comments directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="pull_number" type="integer" required>
  GitHub API path value for pull\_number.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="direction" type="string | null">
  The direction to sort results. Ignored without `sort` parameter. Can be one of: `asc`, `desc`.

  Default: `null`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

<ParamField path="since" type="string | null">
  Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  The property to sort the results by. Can be one of: `created`, `updated`.

  Default: `null`.
</ParamField>

## List pull requests

Action ID: `tools.github.list_pull_requests`

List pull requests. Calls GET /repos/\{owner}/\{repo}/pulls directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base" type="string | null">
  Filter pulls by base branch name. Example: `gh-pages`.

  Default: `null`.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="direction" type="string | null">
  The direction of the sort. Default: `desc` when sort is `created` or sort is not specified, otherwise `asc`. Can be one of: `asc`, `desc`.

  Default: `null`.
</ParamField>

<ParamField path="head" type="string | null">
  Filter pulls by head user or head organization and branch name in the format of `user:ref-name` or `organization:ref-name`. For example: `github:new-script-format` or `octocat:test-branch`.

  Default: `null`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  What to sort results by. `popularity` will sort by the number of comments. `long-running` will sort by date created and will limit the results to pull requests that have been open for more than a month and have had activity within the past month. Can be one of: `created`, `updated`, `popularity`, `long-running`.

  Default: `null`.
</ParamField>

<ParamField path="state" type="string | null">
  Either `open`, `closed`, or `all` to filter by state. Can be one of: `open`, `closed`, `all`.

  Default: `null`.
</ParamField>

## List repository code scanning alerts

Action ID: `tools.github.list_repo_code_scanning_alerts`

List repository code scanning alerts. Calls GET /repos/\{owner}/\{repo}/code-scanning/alerts directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="after" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for results after this cursor.

  Default: `null`.
</ParamField>

<ParamField path="assignees" type="string | null">
  Filter alerts by assignees. Provide a comma-separated list of user handles (e.g., `octocat` or `octocat,hubot`). Use `*` to list alerts with at least one assignee or `none` to list alerts with no assignees.

  Default: `null`.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="before" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for results before this cursor.

  Default: `null`.
</ParamField>

<ParamField path="direction" type="string | null">
  The direction to sort the results by. Default: `desc`. Can be one of: `asc`, `desc`.

  Default: `null`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch. Default: `1`.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100). Default: `30`.

  Default: `null`.
</ParamField>

<ParamField path="pr" type="integer | null">
  The number of the pull request for the results you want to list.

  Default: `null`.
</ParamField>

<ParamField path="ref" type="string | null">
  The Git reference for the results you want to list. The `ref` for a branch can be formatted either as `refs/heads/&lt;branch name>` or simply `&lt;branch name>`. To reference a pull request use `refs/pull/&lt;number>/merge`.

  Default: `null`.
</ParamField>

<ParamField path="severity" type="string | null">
  If specified, only code scanning alerts with this severity will be returned. Can be one of: `critical`, `high`, `medium`, `low`, `warning`, `note`, `error`.

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  The property by which to sort the results. Default: `created`. Can be one of: `created`, `updated`.

  Default: `null`.
</ParamField>

<ParamField path="state" type="string | null">
  If specified, only code scanning alerts with this state will be returned. Can be one of: `open`, `closed`, `dismissed`, `fixed`.

  Default: `null`.
</ParamField>

<ParamField path="tool_guid" type="string | null">
  The GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either `tool_guid` or `tool_name`, but not both.

  Default: `null`.
</ParamField>

<ParamField path="tool_name" type="string | null">
  The name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either `tool_name` or `tool_guid`, but not both.

  Default: `null`.
</ParamField>

## List repository dependabot alerts

Action ID: `tools.github.list_repo_dependabot_alerts`

List repository dependabot alerts. Calls GET /repos/\{owner}/\{repo}/dependabot/alerts directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="after" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for results after this cursor.

  Default: `null`.
</ParamField>

<ParamField path="assignee" type="string | null">
  Filter alerts by assignees. Provide a comma-separated list of user handles (e.g., `octocat` or `octocat,hubot`) to return alerts assigned to any of the specified users. Use `*` to list alerts with at least one assignee or `none` to list alerts with no assignees.

  Default: `null`.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="before" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for results before this cursor.

  Default: `null`.
</ParamField>

<ParamField path="classification" type="string | null">
  A comma-separated list of vulnerability classifications. If specified, only alerts for vulnerabilities with these classifications will be returned. Can be: `malware`, `general`

  Default: `null`.
</ParamField>

<ParamField path="direction" type="string | null">
  The direction to sort the results by. Default: `desc`. Can be one of: `asc`, `desc`.

  Default: `null`.
</ParamField>

<ParamField path="ecosystem" type="string | null">
  A comma-separated list of ecosystems. If specified, only alerts for these ecosystems will be returned. Can be: `composer`, `go`, `maven`, `npm`, `nuget`, `pip`, `pub`, `rubygems`, `rust`

  Default: `null`.
</ParamField>

<ParamField path="epss_percentage" type="string | null">
  CVE Exploit Prediction Scoring System (EPSS) percentage. Can be specified as: - An exact number (`n`) - Comparators such as `>n`, `&lt;n`, `>=n`, `&lt;=n` - A range like `n..n`, where `n` is a number from 0.0 to 1.0 Filters the list of alerts based on EPSS percentages. If specified, only alerts with the provided EPSS percentages will be returned.

  Default: `null`.
</ParamField>

<ParamField path="has" type="array[string] | null">
  Filters the list of alerts based on whether the alert has the given value. If specified, only alerts meeting this criterion will be returned. Multiple `has` filters can be passed to filter for alerts that have all of the values. Currently, only `patch` is supported.

  Default: `null`.
</ParamField>

<ParamField path="manifest" type="string | null">
  A comma-separated list of full manifest paths. If specified, only alerts for these manifests will be returned.

  Default: `null`.
</ParamField>

<ParamField path="package" type="string | null">
  A comma-separated list of package names. If specified, only alerts for these packages will be returned.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100). Default: `30`.

  Default: `null`.
</ParamField>

<ParamField path="relationship" type="string | null">
  A comma-separated list of relationships of the vulnerable dependency to your project. If specified, only alerts with these relationships will be returned. We are rolling out support for dependency relationship across ecosystems. This value will be "unknown" for all dependencies in unsupported ecosystems.

  Default: `null`.
</ParamField>

<ParamField path="scope" type="string | null">
  The scope of the vulnerable dependency. If specified, only alerts with this scope will be returned. Can be one of: `development`, `runtime`.

  Default: `null`.
</ParamField>

<ParamField path="severity" type="string | null">
  A comma-separated list of severities. If specified, only alerts with these severities will be returned. Can be: `low`, `medium`, `high`, `critical`

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  The property by which to sort the results. `created` means when the alert was created. `updated` means when the alert's state last changed. `epss_percentage` sorts alerts by the Exploit Prediction Scoring System (EPSS) percentage. Default: `created`.

  Default: `null`.
</ParamField>

<ParamField path="state" type="string | null">
  A comma-separated list of states. If specified, only alerts with these states will be returned. Can be: `auto_dismissed`, `dismissed`, `fixed`, `open`

  Default: `null`.
</ParamField>

## List repository issues

Action ID: `tools.github.list_repository_issues`

List repository issues. Calls GET /repos/\{owner}/\{repo}/issues directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="assignee" type="string | null">
  Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned to any user.

  Default: `null`.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="creator" type="string | null">
  The user that created the issue.

  Default: `null`.
</ParamField>

<ParamField path="direction" type="string | null">
  The direction to sort the results by. Can be one of: `asc`, `desc`.

  Default: `null`.
</ParamField>

<ParamField path="issue_field_values" type="string | null">
  A comma-separated list of issue field filters in `field_slug:value` format. Only issues matching all specified field values are returned. Requires issue fields to be enabled for the repository. Issue fields are not available for user-owned repositories, and field availability for organization-owned public repositories depends on the organization's visibility settings. For example, `priority:Urgent,severity:High` filters issues where the `priority` field is `Urgent` AND the `severity` field is `High`.

  Default: `null`.
</ParamField>

<ParamField path="labels" type="string | null">
  A list of comma separated label names. Example: `bug,ui,@high`

  Default: `null`.
</ParamField>

<ParamField path="mentioned" type="string | null">
  A user that's mentioned in the issue.

  Default: `null`.
</ParamField>

<ParamField path="milestone" type="integer | string | null">
  If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*` is passed, issues with any milestone are accepted. If the string `none` is passed, issues without milestones are returned.

  Default: `null`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

<ParamField path="since" type="string | null">
  Only show results that were last updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  What to sort results by. Can be one of: `created`, `updated`, `comments`.

  Default: `null`.
</ParamField>

<ParamField path="state" type="string | null">
  Indicates the state of the issues to return. Can be one of: `open`, `closed`, `all`.

  Default: `null`.
</ParamField>

<ParamField path="type" type="string | null">
  Can be the name of an issue type. If the string `*` is passed, issues with any type are accepted. If the string `none` is passed, issues without type are returned.

  Default: `null`.
</ParamField>

## List repository secret scanning alerts

Action ID: `tools.github.list_repo_secret_scanning_alerts`

List repository secret scanning alerts. Calls GET /repos/\{owner}/\{repo}/secret-scanning/alerts directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="after" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for events after this cursor. To receive an initial cursor on your first request, include an empty "after" query string.

  Default: `null`.
</ParamField>

<ParamField path="assignee" type="string | null">
  Filters alerts by assignee. Use `*` to get all assigned alerts, `none` to get all unassigned alerts, or a GitHub username to get alerts assigned to a specific user.

  Default: `null`.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="before" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for events before this cursor. To receive an initial cursor on your first request, include an empty "before" query string.

  Default: `null`.
</ParamField>

<ParamField path="direction" type="string | null">
  The direction to sort the results by. Default: `desc`. Can be one of: `asc`, `desc`.

  Default: `null`.
</ParamField>

<ParamField path="exclude_providers" type="string | null">
  A comma-separated list of provider slugs to exclude from the results. Provider slugs use lowercase with underscores (e.g., `github_secret_scanning`, `clojars`). You can find the provider slug in the `provider_slug` field of each alert. Cannot be combined with the `providers` parameter.

  Default: `null`.
</ParamField>

<ParamField path="exclude_secret_types" type="string | null">
  A comma-separated list of secret types to exclude from the results. All default secret patterns are returned except those matching the specified types. Cannot be combined with the `secret_type` parameter. See "Supported secret scanning patterns" for a complete list of secret types.

  Default: `null`.
</ParamField>

<ParamField path="hide_secret" type="boolean | null">
  A boolean value representing whether or not to hide literal secrets in the results. Default: `false`.

  Default: `null`.
</ParamField>

<ParamField path="included_metadata" type="string | null">
  A comma-separated list of metadata fields to filter alerts by. Only alerts that have all of the specified metadata fields attached will be returned. Possible values are: `owner-email`, `owner-id`, `owner-name`, `secret-id`, `secret-name`, `secret-issued-date`, `secret-expiration-date`, `organization-name`, `organization-id`, `last-used-date`, and `has-organization-access`.

  Default: `null`.
</ParamField>

<ParamField path="is_bypassed" type="boolean | null">
  A boolean value (`true` or `false`) indicating whether to filter alerts by their push protection bypass status. When set to `true`, only alerts that were created because a push protection rule was bypassed will be returned. When set to `false`, only alerts that were not caused by a push protection bypass will be returned.

  Default: `null`.
</ParamField>

<ParamField path="is_multi_repo" type="boolean | null">
  A boolean value representing whether or not to filter alerts by the multi-repo tag being present. Default: `false`.

  Default: `null`.
</ParamField>

<ParamField path="is_publicly_leaked" type="boolean | null">
  A boolean value representing whether or not to filter alerts by the publicly-leaked tag being present. Default: `false`.

  Default: `null`.
</ParamField>

<ParamField path="owner_email_hash" type="string | null">
  Filters alerts to only those whose attached `owner_email` metadata field matches the provided value. The value must be the lowercase hex-encoded SHA-256 hash of the email address to match (for example, the SHA-256 of `user@example.com`). Only alerts that have an `owner_email` metadata value whose SHA-256 hash equals this parameter are returned.

  Default: `null`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch. Default: `1`.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100). Default: `30`.

  Default: `null`.
</ParamField>

<ParamField path="providers" type="string | null">
  A comma-separated list of provider slugs to filter by. Provider slugs use lowercase with underscores (e.g., `github_secret_scanning`, `clojars`). You can find the provider slug in the `provider_slug` field of each alert. Cannot be combined with the `exclude_providers` parameter.

  Default: `null`.
</ParamField>

<ParamField path="resolution" type="string | null">
  A comma-separated list of resolutions. Only secret scanning alerts with one of these resolutions are listed. Valid resolutions are `false_positive`, `wont_fix`, `revoked`, `pattern_edited`, `pattern_deleted` or `used_in_tests`.

  Default: `null`.
</ParamField>

<ParamField path="secret_type" type="string | null">
  A comma-separated list of secret types to return. All default secret patterns are returned. To return generic patterns, pass the token name(s) in the parameter. See "Supported secret scanning patterns" for a complete list of secret types.

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  The property to sort the results by. `created` means when the alert was created. `updated` means when the alert was updated or resolved. Default: `created`.

  Default: `null`.
</ParamField>

<ParamField path="state" type="string | null">
  Set to `open` or `resolved` to only list secret scanning alerts in a specific state.

  Default: `null`.
</ParamField>

<ParamField path="validity" type="string | null">
  A comma-separated list of validities that, when present, will return alerts that match the validities in this list. Valid options are `active`, `inactive`, and `unknown`.

  Default: `null`.
</ParamField>

## List repository security advisories

Action ID: `tools.github.list_repo_security_advisories`

List repository security advisories. Calls GET /repos/\{owner}/\{repo}/security-advisories directly. Accepted OAuth scope: repo (default).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="after" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for results after this cursor.

  Default: `null`.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="before" type="string | null">
  A cursor, as given in the Link header. If specified, the query only searches for results before this cursor.

  Default: `null`.
</ParamField>

<ParamField path="direction" type="string | null">
  The direction to sort the results by. Default: `desc`. Can be one of: `asc`, `desc`.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of advisories to return per page. Default: `30`.

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  The property to sort the results by. Default: `created`. Can be one of: `created`, `updated`, `published`.

  Default: `null`.
</ParamField>

<ParamField path="state" type="string | null">
  Filter by state of the repository advisories. Only advisories of this state will be returned. Can be one of: `triage`, `draft`, `published`, `closed`.

  Default: `null`.
</ParamField>

## List repository workflow runs

Action ID: `tools.github.list_repository_workflow_runs`

List repository workflow runs. Calls GET /repos/\{owner}/\{repo}/actions/runs directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="actor" type="string | null">
  Returns someone's workflow runs. Use the login for the user who created the `push` associated with the check suite or workflow run.

  Default: `null`.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="branch" type="string | null">
  Returns workflow runs associated with a branch. Use the name of the branch of the `push`.

  Default: `null`.
</ParamField>

<ParamField path="check_suite_id" type="integer | null">
  Returns workflow runs with the `check_suite_id` that you specify.

  Default: `null`.
</ParamField>

<ParamField path="created" type="string | null">
  Returns workflow runs created within the given date-time range. For more information on the syntax, see "[Understanding the search syntax](https://docs.github.com/search-github/getting-started-with-searching-on-github/understanding-the-search-syntax#query-for-dates)."

  Default: `null`.
</ParamField>

<ParamField path="event" type="string | null">
  Returns workflow run triggered by the event you specify. For example, `push`, `pull_request` or `issue`. For more information, see "[Events that trigger workflows](https://docs.github.com/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows)."

  Default: `null`.
</ParamField>

<ParamField path="exclude_pull_requests" type="boolean | null">
  If `true` pull requests are omitted from the response (empty array).

  Default: `null`.
</ParamField>

<ParamField path="head_sha" type="string | null">
  Only returns workflow runs that are associated with the specified `head_sha`.

  Default: `null`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

<ParamField path="status" type="string | null">
  Returns workflow runs with the check run `status` or `conclusion` that you specify. For example, a conclusion can be `success` or a status can be `in_progress`. Only GitHub Actions can set a status of `waiting`, `pending`, or `requested`. Can be one of: `completed`, `action_required`, `cancelled`, `failure`, `neutral`, `skipped`, `stale`, `success`, `timed_out`, `in_progress`, `queued`, `requested`, `waiting`, `pending`.

  Default: `null`.
</ParamField>

## List repository workflows

Action ID: `tools.github.list_repository_workflows`

List repository workflows. Calls GET /repos/\{owner}/\{repo}/actions/workflows directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

## List secret scanning alert locations

Action ID: `tools.github.list_secret_scanning_alert_locations`

List secret scanning alert locations. Calls GET /repos/\{owner}/\{repo}/secret-scanning/alerts/\{alert\_number}/locations directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="alert_number" type="integer" required>
  GitHub API path value for alert\_number.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch. Default: `1`.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100). Default: `30`.

  Default: `null`.
</ParamField>

## List workflow run jobs

Action ID: `tools.github.list_workflow_run_jobs`

List workflow run jobs. Calls GET /repos/\{owner}/\{repo}/actions/runs/\{run\_id}/jobs directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="run_id" type="integer" required>
  GitHub API path value for run\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="filter" type="string | null">
  Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run. Can be one of: `latest`, `all`.

  Default: `null`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

## Merge pull request

Action ID: `tools.github.merge_pull_request`

Merge pull request. Calls PUT /repos/\{owner}/\{repo}/pulls/\{pull\_number}/merge directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="pull_number" type="integer" required>
  GitHub API path value for pull\_number.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation. Body fields documented for PUT /repos/\{owner}/\{repo}/pulls/\{pull\_number}/merge: commit\_title, commit\_message, sha, merge\_method.

  Default: `null`.
</ParamField>

## Request security advisory cve

Action ID: `tools.github.request_security_advisory_cve`

Request security advisory cve. Calls POST /repos/\{owner}/\{repo}/security-advisories/\{ghsa\_id}/cve directly. Accepted OAuth scope: repo (default).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="ghsa_id" type="string" required>
  GitHub API path value for ghsa\_id.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

## Rerun failed workflow jobs

Action ID: `tools.github.rerun_failed_workflow_jobs`

Rerun failed workflow jobs. Calls POST /repos/\{owner}/\{repo}/actions/runs/\{run\_id}/rerun-failed-jobs directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="run_id" type="integer" required>
  GitHub API path value for run\_id.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation. Body fields documented for POST /repos/\{owner}/\{repo}/actions/runs/\{run\_id}/rerun-failed-jobs: enable\_debug\_logging.

  Default: `null`.
</ParamField>

## Search code

Action ID: `tools.github.search_code`

Search code. Calls GET /search/code directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="q" type="string" required>
  The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. See Searching code for a detailed list of qualifiers.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="order" type="string | null">
  This field is closing down. Determines whether the first search result returned is the highest number of matches (desc) or lowest number of matches (asc). This parameter is ignored unless you provide sort.

  Default: `null`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  This field is closing down. Sorts the results of your query. Can only be indexed, which indicates how recently a file has been indexed by the GitHub search infrastructure. Default: best match

  Default: `null`.
</ParamField>

## Search commits

Action ID: `tools.github.search_commits`

Search commits. Calls GET /search/commits directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="q" type="string" required>
  The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. See Searching commits for a detailed list of qualifiers.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="order" type="string | null">
  Determines whether the first search result returned is the highest number of matches (desc) or lowest number of matches (asc). This parameter is ignored unless you provide sort.

  Default: `null`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  Sorts the results of your query by author-date or committer-date. Default: best match

  Default: `null`.
</ParamField>

## Search issues

Action ID: `tools.github.search_issues`

Search issues. Calls GET /search/issues directly. Accepted OAuth scopes: repo (default; omit only for public repository data). Pass advanced\_search in params when GitHub requires it.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="q" type="string" required>
  The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. See Searching issues and pull requests for a detailed list of qualifiers.
</ParamField>

<ParamField path="advanced_search" type="string | null">
  Set to true to use advanced search.

  Default: `null`.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="order" type="string | null">
  Determines whether the first search result returned is the highest number of matches (desc) or lowest number of matches (asc). This parameter is ignored unless you provide sort.

  Default: `null`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

<ParamField path="search_type" type="string | null">
  The type of search to perform on issues. When not specified, the default is lexical search. semantic performs a pure semantic (vector) search using embedding-based understanding. hybrid combines semantic search with lexical search for best results. Semantic and hybrid search require authentication and are rate limited to 10 requests per minute. Only applies to issue searches (/search/issues).

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  Sorts the results of your query by the number of comments, reactions, reactions-+1, reactions--1, reactions-smile, reactions-thinking\_face, reactions-heart, reactions-tada, or interactions. You can also sort results by how recently the items were created or updated, Default: best match

  Default: `null`.
</ParamField>

## Search repositories

Action ID: `tools.github.search_repositories`

Search repositories. Calls GET /search/repositories directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="q" type="string" required>
  The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. See Searching for repositories for a detailed list of qualifiers.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="order" type="string | null">
  Determines whether the first search result returned is the highest number of matches (desc) or lowest number of matches (asc). This parameter is ignored unless you provide sort.

  Default: `null`.
</ParamField>

<ParamField path="page" type="integer | null">
  The page number of the results to fetch.

  Default: `null`.
</ParamField>

<ParamField path="per_page" type="integer | null">
  The number of results per page (max 100).

  Default: `null`.
</ParamField>

<ParamField path="sort" type="string | null">
  Sorts the results of your query by number of stars, forks, or help-wanted-issues or how recently the items were updated. Default: best match

  Default: `null`.
</ParamField>

## Submit private vulnerability report

Action ID: `tools.github.submit_private_vulnerability_report`

Submit private vulnerability report. Calls POST /repos/\{owner}/\{repo}/security-advisories/reports directly. Accepted OAuth scope: repo (default). The payload is GitHub's native private report body and may include summary, description, severity, vulnerabilities, and CVE information; it is never converted into a public Issue.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body. Documented fields: description (required), summary (required), cvss\_vector\_string, cwe\_ids, severity, start\_private\_fork, vulnerabilities.

  Default: `null`.
</ParamField>

## Update branch protection

Action ID: `tools.github.update_branch_protection`

Update branch protection. Calls PUT /repos/\{owner}/\{repo}/branches/\{branch}/protection directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="branch" type="string" required>
  GitHub API path value for branch.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body. Documented fields: allow\_deletions, allow\_force\_pushes, allow\_fork\_syncing, block\_creations, enforce\_admins, lock\_branch, required\_conversation\_resolution, required\_linear\_history, required\_pull\_request\_reviews, required\_status\_checks, restrictions.

  Default: `null`.
</ParamField>

## Update code scanning alert

Action ID: `tools.github.update_code_scanning_alert`

Update code scanning alert. Calls PATCH /repos/\{owner}/\{repo}/code-scanning/alerts/\{alert\_number} directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="alert_number" type="integer" required>
  GitHub API path value for alert\_number.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body. Documented fields: assignees, create\_request, dismissed\_comment, dismissed\_reason, state.

  Default: `null`.
</ParamField>

## Update code scanning default setup

Action ID: `tools.github.update_code_scanning_default_setup`

Update code scanning default setup. Calls PATCH /repos/\{owner}/\{repo}/code-scanning/default-setup directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body. Documented fields: languages, query\_suite, runner\_label, runner\_type, state, threat\_model.

  Default: `null`.
</ParamField>

## Update dependabot alert

Action ID: `tools.github.update_dependabot_alert`

Update dependabot alert. Calls PATCH /repos/\{owner}/\{repo}/dependabot/alerts/\{alert\_number} directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="alert_number" type="integer" required>
  GitHub API path value for alert\_number.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body. Documented fields: agent\_assignment, assignees, dismissed\_comment, dismissed\_reason, state.

  Default: `null`.
</ParamField>

## Update issue

Action ID: `tools.github.update_issue`

Update issue. Calls PATCH /repos/\{owner}/\{repo}/issues/\{issue\_number} directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="issue_number" type="integer" required>
  GitHub API path value for issue\_number.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation. Body fields documented for PATCH /repos/\{owner}/\{repo}/issues/\{issue\_number}: title, body, assignee, state, state\_reason, duplicate\_issue\_id, milestone, labels, assignees, issue\_field\_values, type.

  Default: `null`.
</ParamField>

## Update pull request

Action ID: `tools.github.update_pull_request`

Update pull request. Calls PATCH /repos/\{owner}/\{repo}/pulls/\{pull\_number} directly. Accepted OAuth scopes: repo (default; omit only for public repository data).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="pull_number" type="integer" required>
  GitHub API path value for pull\_number.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body passed through without validation. Body fields documented for PATCH /repos/\{owner}/\{repo}/pulls/\{pull\_number}: title, body, state, base, maintainer\_can\_modify.

  Default: `null`.
</ParamField>

## Update repository security advisory

Action ID: `tools.github.update_repo_security_advisory`

Update repository security advisory. Calls PATCH /repos/\{owner}/\{repo}/security-advisories/\{ghsa\_id} directly. Accepted OAuth scope: repo (default).

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="ghsa_id" type="string" required>
  GitHub API path value for ghsa\_id.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body. Documented fields: collaborating\_teams, collaborating\_users, credits, cve\_id, cvss\_vector\_string, cwe\_ids, description, severity, state, summary, vulnerabilities.

  Default: `null`.
</ParamField>

## Update secret scanning alert

Action ID: `tools.github.update_secret_scanning_alert`

Update secret scanning alert. Calls PATCH /repos/\{owner}/\{repo}/secret-scanning/alerts/\{alert\_number} directly. Accepted OAuth scopes: security\_events plus repo for private repository access.

Reference: [https://docs.github.com/en/rest](https://docs.github.com/en/rest)

### Secrets

Required secrets:

* `github_oauth`: OAuth token `GITHUB_USER_TOKEN`.

### Input fields

<ParamField path="alert_number" type="integer" required>
  GitHub API path value for alert\_number.
</ParamField>

<ParamField path="owner" type="string" required>
  GitHub API path value for owner.
</ParamField>

<ParamField path="repo" type="string" required>
  GitHub API path value for repo.
</ParamField>

<ParamField path="base_url" type="string">
  GitHub.com REST API base URL.

  Default: `"https://api.github.com"`.
</ParamField>

<ParamField path="payload" type="object | null">
  API-native request body. Documented fields: assignee, resolution, resolution\_comment, state, validity.

  Default: `null`.
</ParamField>
