GitHub tools
Look up the GitHub tools, selectors, permissions, inputs, and outputs available to tool steps and agent steps.
This reference lists the shipped GitHub tool catalog. See the GitHub overview for authentication and setup.
Choose GitHub tools
A tool step must choose one operation, such as issue_write.update.
An agent integration can select a whole family, such as issue_write, or one
operation in that family.
Tool catalog
The permission fields in this catalog are advisory provider requirements. Backend GitHub agent tools use the full access granted to the GitHub App installation, and GitHub determines whether the requested operation is permitted. Shipfox still checks the caller, selected tool and method, write access, inputs, and declared repository target.
Authorized create_commit calls can write files under .github/workflows/. Those
writes reach GitHub, which returns success or denial based on the installation's
grants and repository rules. They do not use a separate workflow-file switch.
The generated catalog also states each operation's repository classification:
- Declared targets: Shipfox can check repository coordinates from the tool input against the integration connection's repository-access mode.
- Integration connection: The input does not identify a complete repository target that Shipfox can check locally.
An indirect target note identifies a GitHub-side effect that can reach beyond the declared target. See GitHub repository access for the boundary and its limits.
Issues
issue_readGet information about a specific issue in a GitHub repository.
issues:readRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
methodstringRequiredThe read operation to perform on a single issue
Possible values: get, get_comments, get_sub_issues, get_parent, get_labels
issue_numberintegerRequiredThe number of the issue
pageintegerPage number for pagination
Minimum 1.
per_pageintegerResults per page for pagination
Minimum 1. Maximum 100.
Methods
issue_read.getGet information about a specific issue.
issues:readRepository: Declared targets.
No additional required input.
Get comments on a specific issue.
issues:readRepository: Declared targets.
No additional required input.
Get sub-issues for a specific issue.
issues:readRepository: Declared targets.
No additional required input.
Get the parent issue for a specific issue.
issues:readRepository: Declared targets.
No additional required input.
Get labels assigned to a specific issue.
issues:readRepository: Declared targets.
No additional required input.
Returns
This tool returns the provider response without declared fields.
list_issue_typesList the issue types available to a GitHub repository. Issue types are defined by the owning organization, so the result also describes the organization.
issues:readRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
Returns
issue_typesarray of objectRequiredlist_issuesList issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter.
issues:readRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
statestringFilter by state
Possible values: OPEN, CLOSED
labelsarray of stringorderBystringOrder issues by field
Possible values: CREATED_AT, UPDATED_AT, COMMENTS
directionstringOrder direction
Possible values: ASC, DESC
sincestringFilter by date (ISO 8601 timestamp)
afterstringPagination cursor
firstintegerNumber of issues to return
Minimum 1. Maximum 100.
Returns
issuesarray of objectRequiredsearch_issuesSearch for issues in GitHub repositories using issues search syntax already scoped to is:issue. Provide owner and repo together for a repository-scoped search; omit both for a connection-scoped search. Do not include unquoted repo:, org:, or user: qualifiers; quoted occurrences are treated as literal text.
issues:readRepository: Declared targets with owner and repo. Selected mode requires both. Without them, all mode uses the integration connection.
Indirect target: The free-form query may match results in repositories other than the declared target.
Parameters
querystringRequiredSearch query using GitHub issues search syntax. Do not include unquoted repo:, org:, or user: qualifiers; quoted occurrences are treated as literal text.
ownerstringConditionalOptional repository owner. Provide together with repo, or omit both for a connection-scoped search.
repostringConditionalOptional repository name. Provide together with owner, or omit both for a connection-scoped search.
sortstringSort field
Possible values: comments, reactions, reactions-+1, reactions--1, reactions-smile, reactions-thinking_face, reactions-heart, reactions-tada, interactions, created, updated
orderstringSort order
Possible values: asc, desc
pageintegerPage number for pagination
Minimum 1.
per_pageintegerResults per page for pagination
Minimum 1. Maximum 100.
Returns
issuesarray of objectRequiredadd_issue_commentAdd a comment and/or reaction to a specific issue or issue comment in a GitHub repository. Use this tool with pull requests as well, but only if the user is not asking specifically to add or react to review comments. At least one of body or reaction is required.
issues:write, pull_requests:writeRepository: Declared targets.
Parameters
At least one of these input combinations is required: issue_number and body; issue_number and reaction; comment_id and reaction.
ownerstringRequiredRepository owner
repostringRequiredRepository name
issue_numberintegerConditionalIssue or pull request number to comment on or react to
comment_idintegerConditionalThe numeric ID of the issue or pull request comment to react to
bodystringConditionalComment content. Required unless reaction is provided
reactionstringConditionalEmoji reaction to add. Required unless body is provided
Possible values: +1, -1, laugh, confused, heart, hooray, rocket, eyes
Returns
This tool returns the provider response without declared fields.
update_issue_commentReplace the body of an issue or pull request conversation comment that this GitHub app wrote. Use it to keep one status comment up to date instead of posting a new one. Comments written by anyone else are rejected.
issues:write, pull_requests:writeRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
comment_idintegerRequiredThe numeric ID of the issue or pull request comment to edit
bodystringRequiredNew comment content. Replaces the existing body
Returns
This tool returns the provider response without declared fields.
issue_writeCreate a new or update an existing issue in a GitHub repository.
issues:writeRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
methodstringRequiredWrite operation to perform on a single issue
Possible values: create, update
issue_numberintegerIssue number to update
titlestringIssue title
bodystringIssue body content
assigneesarray of stringlabelsarray of stringmilestoneintegerMilestone number
issue_typestringType of this issue
statestringNew state
Possible values: open, closed
state_reasonstringReason for the state change
Possible values: completed, not_planned, duplicate
duplicate_ofintegerIssue number that this issue is a duplicate of
Methods
issue_write.createCreate a new issue.
issues:writeRepository: Declared targets.
No additional required input.
issue_write.updateUpdate an existing issue.
issues:writeRepository: Declared targets.
No additional required input.
Returns
This tool returns the provider response without declared fields.
sub_issue_writeAdd, remove, or reprioritize a sub-issue under a parent issue in a GitHub repository.
issues:writeRepository: Declared targets.
Indirect target: The opaque child and ordering IDs may refer to another repository in the GitHub installation.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
methodstringRequiredThe action to perform on a single sub-issue
Possible values: add, remove, reprioritize
issue_numberintegerRequiredThe number of the parent issue
sub_issue_idintegerRequiredThe ID of the sub-issue
replace_parentbooleanReplace the sub-issue's current parent issue
after_idintegerThe ID of the sub-issue to be prioritized after
before_idintegerThe ID of the sub-issue to be prioritized before
Methods
sub_issue_write.addAdd a sub-issue to a parent issue.
issues:writeRepository: Declared targets.
Indirect target: The opaque child and ordering IDs may refer to another repository in the GitHub installation.
No additional required input.
Remove a sub-issue from a parent issue.
issues:writeRepository: Declared targets.
Indirect target: The opaque child and ordering IDs may refer to another repository in the GitHub installation.
No additional required input.
Reprioritize a sub-issue under its parent issue.
issues:writeRepository: Declared targets.
Indirect target: The opaque child and ordering IDs may refer to another repository in the GitHub installation.
No additional required input.
Returns
This tool returns the provider response without declared fields.
Pull requests
Get information on a specific pull request in a GitHub repository.
pull_requests:read, contents:read, statuses:read, checks:readRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
methodstringRequiredAction to specify what pull request data needs to be retrieved from GitHub
Possible values: get, get_diff, get_status, get_files, get_commits, get_review_comments, get_review_threads, get_reviews, get_comments, get_check_runs
pull_numberintegerRequiredPull request number
refstringConditionalGit reference to inspect. Required for get_status and get_check_runs
cursorstringCursor for review comment pagination
pageintegerPage number for pagination
Minimum 1.
per_pageintegerResults per page for pagination
Minimum 1. Maximum 100.
Methods
Get information about a specific pull request.
pull_requests:readRepository: Declared targets.
No additional required input.
Get the diff for a specific pull request.
contents:readRepository: Declared targets.
No additional required input.
Get status information for a specific pull request.
statuses:readRepository: Declared targets.
Required input: ref
Get files changed in a specific pull request.
pull_requests:readRepository: Declared targets.
No additional required input.
Get commits in a specific pull request.
pull_requests:readRepository: Declared targets.
No additional required input.
Get review comments for a specific pull request.
pull_requests:readRepository: Declared targets.
No additional required input.
Get review threads, their resolution and outdated state, and comments for a specific pull request.
pull_requests:readRepository: Declared targets.
No additional required input.
Get reviews for a specific pull request.
pull_requests:readRepository: Declared targets.
No additional required input.
Get conversation comments for a specific pull request.
pull_requests:readOrissues:readRepository: Declared targets.
No additional required input.
Get check runs for the head commit of a pull request.
checks:readRepository: Declared targets.
Required input: ref
Returns
This tool returns the provider response without declared fields.
List pull requests in a GitHub repository. If the user specifies an author, then do not use this tool and use the search_pull_requests tool instead.
pull_requests:readRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
statestringFilter by state
Possible values: open, closed, all
headstringFilter by head user/org and branch
basestringFilter by base branch
sortstringSort by
Possible values: created, updated, popularity, long-running
directionstringSort direction
Possible values: asc, desc
pageintegerPage number for pagination
Minimum 1.
per_pageintegerResults per page for pagination
Minimum 1. Maximum 100.
Returns
pull_requestsarray of objectRequiredSearch for pull requests in GitHub repositories using issues search syntax already scoped to is:pr. Provide owner and repo together for a repository-scoped search; omit both for a connection-scoped search. Do not include unquoted repo:, org:, or user: qualifiers; quoted occurrences are treated as literal text.
pull_requests:readRepository: Declared targets with owner and repo. Selected mode requires both. Without them, all mode uses the integration connection.
Indirect target: The free-form query may match results in repositories other than the declared target.
Parameters
querystringRequiredSearch query using GitHub pull request search syntax. Do not include unquoted repo:, org:, or user: qualifiers; quoted occurrences are treated as literal text.
ownerstringConditionalOptional repository owner. Provide together with repo, or omit both for a connection-scoped search.
repostringConditionalOptional repository name. Provide together with owner, or omit both for a connection-scoped search.
sortstringSort field
Possible values: comments, reactions, reactions-+1, reactions--1, reactions-smile, reactions-thinking_face, reactions-heart, reactions-tada, interactions, created, updated
orderstringSort order
Possible values: asc, desc
pageintegerPage number for pagination
Minimum 1.
per_pageintegerResults per page for pagination
Minimum 1. Maximum 100.
Returns
pull_requestsarray of objectRequiredcreate_pull_requestCreate a new pull request in a GitHub repository. Reviewers, labels, assignees, and the milestone are applied after the pull request is created. When one of them fails, the call still succeeds and the result lists the failure under warnings, because the pull request already exists and a retry would open a duplicate. On failure, the error reason is one of: pull-request-exists, no-commits-between, branch-not-found, permission-denied, unprocessable.
pull_requests:writeRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
titlestringRequiredPR title
bodystringPR description
headstringRequiredBranch containing changes
basestringRequiredBranch to merge into
draftbooleanCreate as draft PR
maintainer_can_modifybooleanAllow maintainer edits
reviewersarray of stringlabelsarray of stringassigneesarray of stringmilestoneintegerNumber of the milestone to set
Minimum 1.
Returns
pull_requestobjectRequiredCreated GitHub pull request
warningsarray of stringupdate_pull_requestUpdate an existing pull request in a GitHub repository. add_labels and add_assignees add to what the pull request already has and remove nothing. milestone sets the milestone. draft true converts an open pull request to a draft, and draft false marks it ready for review. These and reviewers are applied after the update itself. When one of them fails, the call still succeeds and the result lists the failure under warnings. On failure, the error reason is one of: permission-denied, unprocessable.
pull_requests:writeRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
pull_numberintegerRequiredPull request number to update
titlestringNew title
bodystringNew description
statestringNew state
Possible values: open, closed
basestringNew base branch name
maintainer_can_modifybooleanAllow maintainer edits
reviewersarray of stringadd_labelsarray of stringadd_assigneesarray of stringmilestoneintegerNumber of the milestone to set
Minimum 1.
draftbooleanConvert to a draft (true) or mark ready for review (false)
Returns
pull_requestobjectRequiredUpdated GitHub pull request
warningsarray of stringAdd a reply and/or reaction to an existing pull request comment. This can create a new comment linked as a reply to the specified comment, add an emoji reaction to the specified comment, or do both. At least one of body or reaction is required.
pull_requests:writeRepository: Declared targets.
Parameters
At least one of these input combinations is required: pull_number and body; reaction.
ownerstringRequiredRepository owner
repostringRequiredRepository name
pull_numberintegerConditionalPull request number. Required when body is provided
comment_idintegerRequiredThe numeric ID of the pull request review comment to reply or react to
bodystringConditionalThe text of the reply
reactionstringConditionalEmoji reaction to add
Possible values: +1, -1, laugh, confused, heart, hooray, rocket, eyes
Returns
This tool returns the provider response without declared fields.
merge_pull_requestMerge a pull request in a GitHub repository.
pull_requests:write, contents:writeSensitiveRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
pull_numberintegerRequiredPull request number
commit_titlestringTitle for merge commit
commit_messagestringExtra detail for merge commit
merge_methodstringMerge method
Possible values: merge, squash, rebase
Returns
mergeobjectRequiredMerge result
Update the branch of a pull request with the latest changes from the base branch.
pull_requests:write, contents:writeRepository: Declared targets.
Indirect target: GitHub can also update the pull request head branch, which may belong to another repository.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
pull_numberintegerRequiredPull request number
expected_head_shastringThe expected SHA of the pull request's HEAD ref
Returns
This tool returns the provider response without declared fields.
Enable or disable auto-merge on a pull request. enable makes GitHub merge the pull request once its required reviews and checks pass. When nothing blocks the merge, GitHub does not accept auto-merge, so enable merges the pull request right away: pull_request.merged is then true and auto_merge is null. enable also succeeds on a pull request that is already merged, so it is safe to retry. The repository must allow auto-merge. disable cancels a pending auto-merge and succeeds when none is enabled.
pull_requests:write, contents:writeSensitiveRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
methodstringRequiredThe auto-merge operation to perform
Possible values: enable, disable
pull_numberintegerRequiredPull request number
merge_methodstringMerge method (default merge). Only used by enable
Possible values: merge, squash, rebase
commit_titlestringTitle for the merge commit. Only used by enable
commit_messagestringExtra detail for the merge commit. Only used by enable
Methods
Merge a pull request once its requirements are met, or right away when nothing blocks it.
pull_requests:write, contents:writeSensitiveRepository: Declared targets.
No additional required input.
Cancel auto-merge on a pull request.
pull_requests:writeRepository: Declared targets.
No additional required input.
Returns
pull_requestobjectRequiredShow 5 attributesHide 5 attributes
numberintegerRequiredPull request number
urlstringRequiredPull request URL
statestringRequiredPull request state
Possible values: open, closed, merged
mergedbooleanRequiredWhether the pull request is merged
merge_commit_oidstring | nullRequiredThe oid of the merge commit, or null when not merged
auto_mergeobject | nullRequiredThe pending auto-merge, or null when none is enabled
Show 2 attributesHide 2 attributes
merge_methodstringRequiredMerge method GitHub will use
Possible values: merge, squash, rebase
enabled_atstring | nullRequiredWhen auto-merge was enabled
Stage, submit, or delete a pull request review. create opens a pending review, add_comment_to_pending_review attaches inline comments to it, and submit_pending publishes it with its summary.
pull_requests:writeRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
methodstringRequiredThe write operation to perform on pull request review
Possible values: create, submit_pending, delete_pending
pull_numberintegerRequiredPull request number
bodystringReview summary text. Required by submit_pending unless event is APPROVE; not accepted by delete_pending
eventstringReview action. Required by submit_pending; not accepted by create or delete_pending
Possible values: APPROVE, REQUEST_CHANGES, COMMENT
commit_idstringSHA of the commit to review. Only accepted by create
Methods
Create a pending pull request review.
pull_requests:writeRepository: Declared targets.
No additional required input.
Submit the latest pending pull request review.
pull_requests:writeRepository: Declared targets.
No additional required input.
Delete the latest pending pull request review.
pull_requests:writeRepository: Declared targets.
No additional required input.
Returns
This tool returns the provider response without declared fields.
Resolve a pull request review thread by opaque node ID. This operation is connection-scoped because the node ID does not declare a repository.
pull_requests:writeRepository: Integration connection.
Indirect target: The review thread node may belong to any repository reachable by the GitHub installation.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
methodstringRequiredThe write operation to perform on a pull request review thread
Possible values: resolve
thread_idstringRequiredThe node ID of the review thread
Methods
Resolve a pull request review thread.
pull_requests:writeRepository: Integration connection.
Indirect target: The review thread node may belong to any repository reachable by the GitHub installation.
No additional required input.
Returns
This tool returns the provider response without declared fields.
Add a review comment to the requester's latest pending pull request review. The comment remains part of that pending review until it is submitted; a pending review needs to already exist to call this.
pull_requests:writeRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
pull_numberintegerRequiredPull request number
pathstringRequiredThe relative path to the file that necessitates a comment
bodystringRequiredThe text of the review comment
subject_typestringThe level at which the comment is targeted. LINE (default) requires line and side; FILE accepts no position fields
Possible values: LINE, FILE
lineintegerThe line of the blob in the pull request diff. Required for LINE
sidestringThe side of the diff to comment on. Required for LINE
Possible values: LEFT, RIGHT
start_lineintegerThe first line of a multi-line comment range. Must be lower than line and paired with start_side
start_sidestringThe starting side of a multi-line comment range. Paired with start_line
Possible values: LEFT, RIGHT
Returns
This tool returns the provider response without declared fields.
Checks
check_run_writeCreate or update a check run for a commit in a GitHub repository.
checks:writeRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
methodstringRequiredThe check-run operation to perform
Possible values: create, update
check_run_idintegerConditionalThe positive numeric ID of the check run to update
Minimum 1.
namestringConditionalStable display name for the check
head_shastringConditionalFull, non-zero 40- or 64-character hexadecimal commit object ID
details_urlstringAbsolute HTTP or HTTPS link with more details
external_idstringCaller-owned correlation key
statusstringCheck-run lifecycle status
Possible values: queued, in_progress, completed
started_atstringRFC 3339 timestamp when the check started; leap seconds are accepted only when the normalized UTC instant is 23:59:60 on June 30 or December 31
conclusionstringFinal check-run conclusion
Possible values: action_required, cancelled, failure, neutral, success, skipped, timed_out
completed_atstringRFC 3339 timestamp when the check completed; leap seconds are accepted only when the normalized UTC instant is 23:59:60 on June 30 or December 31
outputobjectShow 3 attributesHide 3 attributes
titlestringRequiredCheck output title
summarystringRequiredCheck output summary in GitHub Markdown
textstringOptional check output text in GitHub Markdown
Methods
Create a check run for a commit in a GitHub repository.
checks:writeRepository: Declared targets.
Required input: name, head_sha
Update an existing check run in a GitHub repository.
checks:writeRepository: Declared targets.
Required input: check_run_id
Returns
check_runobjectRequiredShow 10 attributesHide 10 attributes
idintegerRequiredPositive numeric check-run ID
Minimum 1.
namestringRequiredCheck-run display name
head_shastringRequiredNon-zero 40- or 64-character hexadecimal commit object ID
external_idstring | nullRequiredCaller-owned correlation key
details_urlstring | nullRequiredAbsolute HTTP or HTTPS details link
html_urlstringRequiredGitHub check-run URL
statusstringRequiredGitHub check-run lifecycle status
Possible values: queued, in_progress, completed, waiting, requested, pending
conclusionstring | nullRequiredGitHub check-run conclusion
Possible values: action_required, cancelled, failure, neutral, success, skipped, timed_out, stale, null
started_atstring | nullRequiredRFC 3339 start timestamp; leap seconds are accepted only when the normalized UTC instant is 23:59:60 on June 30 or December 31
completed_atstring | nullRequiredRFC 3339 completion timestamp; leap seconds are accepted only when the normalized UTC instant is 23:59:60 on June 30 or December 31
Repository
create_commitCreate a commit on a branch of a GitHub repository from a list of tree entries, with file modes, symbolic links, and submodules. The commit is signed by GitHub on behalf of the Shipfox bot (shipfox-ai[bot]) and shows the Verified badge. Entries are applied on top of the tree of parent_oid, which becomes the commit's only parent and must be a commit GitHub already has. Each entry names a path and exactly one of: contents (inline text), oid (a blob from create_blob, an existing blob, or a submodule commit), or delete. A rename is a delete of the old path plus an entry for the new path. A symbolic link uses mode 120000 with the link target as contents. The branch is created when it does not exist. Otherwise it must fast-forward to the new commit: if it moved, the commit is rejected with a stale-head error and the call should be retried from the new head. With force, the branch is reset to the new commit whatever it pointed at. Set expected_head_oid to the head you saw to guard either move: the call fails with a stale-head error when the branch points elsewhere or does not exist. GitHub offers no atomic compare for a ref update, so a push that lands between that check and the update is not detected, and a forced move overwrites it. Branch protection rules are the only barrier to writing the default branch. On failure, the error reason is one of: stale-head, protected-branch, permission-denied, unprocessable.
contents:writeRepository: Declared targets.
Parameters
repositorystringRequiredRepository in owner/name format. Must be a repository the connection can access.
branchstringRequiredThe name of the branch to move, without any refs/ prefix
parent_oidstringRequiredThe commit oid (40 or 64 hexadecimal characters) the new commit is built on
messagestringRequiredCommit message. The first line is the headline.
entriesarray of objectRequiredShow 5 attributesHide 5 attributes
pathstringRequiredRepository-relative file path
modestringGit file mode: 100644 file (default), 100755 executable, 120000 symbolic link, 160000 submodule
Possible values: 100644, 100755, 120000, 160000
contentsstringInline text contents, or the target of a symbolic link
oidstringThe oid of a blob, or of the commit a submodule points at
deletebooleanRemove the path from the tree
expected_head_oidstringThe commit oid the branch is expected to point at before it moves. Checked just before the update.
forcebooleanReset the branch to the new commit instead of requiring a fast-forward (default false)
Returns
commitobjectRequiredShow 3 attributesHide 3 attributes
oidstringRequiredThe oid of the created commit
urlstringRequiredThe URL of the created commit
verifiedbooleanRequiredWhether GitHub signed the commit
branchstringRequiredThe branch that now points at the commit
create_branchCreate a branch in a GitHub repository pointing at a commit. Provide `from` as a 40- or 64-character commit oid (for example, the checkout commit of a step) or as an existing branch name, which the server resolves to its current head at call time. An existing branch is reused when it already points at the requested commit, and rejected otherwise. Creating a branch fires GitHub push-event workflows from the new ref, so only branch from commits you intend to activate. On failure, the error reason is one of: branch-exists, branch-not-found, protected-branch, permission-denied, unprocessable.
contents:writeRepository: Declared targets.
Parameters
repositorystringRequiredThe repository in owner/name form
branchstringRequiredThe name of the branch to create, without any refs/ prefix
fromstringRequiredThe 40- or 64-character commit oid or existing branch name the new branch points at
Returns
branchstringRequiredThe name of the created branch
oidstringRequiredThe commit oid the created branch points at
urlstringRequiredThe API URL of the created git ref
create_blobUpload the contents of one file to a GitHub repository as a Git blob and return its oid. The blob is not part of any commit until create_commit references it. Use it for binary files and for files too large to send inline; text is sent as utf8 and binary contents as base64. One file may hold up to 40 MiB.
contents:writeRepository: Declared targets.
Parameters
repositorystringRequiredRepository in owner/name format. Must be a repository the connection can access.
contentsstringRequiredFile contents
encodingstringContents encoding (default utf8)
Possible values: utf8, base64
Returns
oidstringRequiredThe oid of the created blob
delete_branchDelete a branch of a GitHub repository. A branch that is already gone is a success with existed false, so the call is safe to retry. The repository's default branch is refused. Set expected_head_oid to delete the branch only while it points at that commit: the call fails with a stale-head error when it points elsewhere. GitHub offers no atomic compare for a ref deletion, so a push that lands between that check and the deletion is lost. Deleting the head branch of an open pull request closes the pull request. On failure, the error reason is one of: stale-head, protected-branch, permission-denied, unprocessable.
contents:writeRepository: Declared targets.
Parameters
repositorystringRequiredRepository in owner/name format. Must be a repository the connection can access.
branchstringRequiredThe name of the branch to delete, without any refs/ prefix
expected_head_oidstringThe commit oid the branch is expected to point at. Checked just before the deletion.
Returns
branchstringRequiredThe name of the branch
existedbooleanRequiredWhether the branch existed and was deleted by this call
oidstring | nullRequiredThe commit oid the branch pointed at, or null when it was gone
get_repositoryGet a GitHub repository: its full name, its default branch, and bot_login, the GitHub login of the Shipfox bot on this connection. Commits made by create_commit carry that login as their author, so compare it with the author login of a commit to tell bot commits from others.
contents:readRepository: Declared targets.
Parameters
repositorystringRequiredRepository in owner/name format. Must be a repository the connection can access.
Returns
full_namestringRequiredRepository in owner/name format
default_branchstringRequiredThe name of the default branch
privatebooleanRequiredWhether the repository is private
urlstringThe URL of the repository
bot_loginstringRequiredThe GitHub login of the Shipfox bot, for example shipfox-ai[bot]
get_branchGet the head of a branch in a GitHub repository. A branch that does not exist is a success with exists false, so it can be told apart from a failed call.
contents:readRepository: Declared targets.
Parameters
repositorystringRequiredRepository in owner/name format. Must be a repository the connection can access.
branchstringRequiredThe name of the branch, without any refs/ prefix
Returns
branchstringRequiredThe name of the branch
existsbooleanRequiredWhether the branch exists
oidstring | nullRequiredThe commit oid the branch points at, or null when missing
protectedbooleanRequiredWhether branch protection applies to the branch
get_commitGet one commit of a GitHub repository by oid, branch, or tag: its parents, message, author, committer, and whether GitHub verified its signature. The author and committer login is the GitHub account matching the commit email, or null when no account matches.
contents:readRepository: Declared targets.
Parameters
repositorystringRequiredRepository in owner/name format. Must be a repository the connection can access.
refstringRequiredA commit oid, branch name, or tag name
Returns
commitobjectRequiredShow 7 attributesHide 7 attributes
oidstringRequiredThe oid of the commit
urlstringThe URL of the commit
messagestringRequiredThe commit message
parentsarray of stringRequiredauthorobjectRequiredShow 4 attributesHide 4 attributes
loginstring | nullRequiredGitHub login of the matching account, or null
namestring | nullRequiredName recorded in the commit
emailstring | nullRequiredEmail recorded in the commit
datestring | nullRequiredRFC 3339 timestamp recorded in the commit
committerobjectRequiredShow 4 attributesHide 4 attributes
loginstring | nullRequiredGitHub login of the matching account, or null
namestring | nullRequiredName recorded in the commit
emailstring | nullRequiredEmail recorded in the commit
datestring | nullRequiredRFC 3339 timestamp recorded in the commit
verifiedbooleanRequiredWhether GitHub verified the commit signature
compare_commitsList the commits a head has on top of a base in a GitHub repository, oldest first, with how far the head is ahead and behind and the merge base. Base and head are commit oids, branch names, or tag names. A page holds up to 100 commits: when truncated is true, call again with the next page.
contents:readRepository: Declared targets.
Parameters
repositorystringRequiredRepository in owner/name format. Must be a repository the connection can access.
basestringRequiredThe commit oid, branch, or tag to compare from
headstringRequiredThe commit oid, branch, or tag to compare to
pageintegerPage of commits to return (default 1)
Minimum 1.
Returns
statusstringRequiredHow the head relates to the base
Possible values: ahead, behind, identical, diverged
ahead_byintegerRequiredCommits the head has that the base lacks
behind_byintegerRequiredCommits the base has that the head lacks
merge_base_oidstring | nullRequiredThe oid of the merge base commit
total_commitsintegerRequiredCommits between the base and the head, on every page
commitsarray of objectRequiredShow 7 attributesHide 7 attributes
oidstringRequiredThe oid of the commit
urlstringThe URL of the commit
messagestringRequiredThe commit message
parentsarray of stringRequiredauthorobjectRequiredShow 4 attributesHide 4 attributes
loginstring | nullRequiredGitHub login of the matching account, or null
namestring | nullRequiredName recorded in the commit
emailstring | nullRequiredEmail recorded in the commit
datestring | nullRequiredRFC 3339 timestamp recorded in the commit
committerobjectRequiredShow 4 attributesHide 4 attributes
loginstring | nullRequiredGitHub login of the matching account, or null
namestring | nullRequiredName recorded in the commit
emailstring | nullRequiredEmail recorded in the commit
datestring | nullRequiredRFC 3339 timestamp recorded in the commit
verifiedbooleanRequiredWhether GitHub verified the commit signature
truncatedbooleanRequiredWhether later pages hold more commits
Actions
actions_listTools for listing GitHub Actions resources. Use this tool to list workflows in a repository, or list workflow runs, jobs, and artifacts for a specific workflow or workflow run.
actions:readRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
methodstringRequiredThe action to perform
Possible values: list_workflows, list_workflow_runs, list_workflow_jobs, list_workflow_run_artifacts
resource_idstringThe unique identifier of the resource
workflow_runs_filterobjectFilters for workflow runs
workflow_jobs_filterobjectFilters for workflow jobs
pageintegerPage number for pagination
Minimum 1.
per_pageintegerResults per page for pagination
Minimum 1. Maximum 100.
Methods
List workflows in a repository.
actions:readRepository: Declared targets.
No additional required input.
List workflow runs in a repository or for a workflow.
actions:readRepository: Declared targets.
No additional required input.
List jobs for a workflow run.
actions:readRepository: Declared targets.
No additional required input.
List artifacts for a workflow run.
actions:readRepository: Declared targets.
No additional required input.
Returns
This tool returns the provider response without declared fields.
actions_getGet details about specific GitHub Actions resources. Use this tool to get details about individual workflows, workflow runs, jobs, and artifacts by their unique IDs.
actions:readRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
methodstringRequiredThe method to execute
Possible values: get_workflow, get_workflow_run, get_workflow_job, download_workflow_run_artifact, get_workflow_run_usage, get_workflow_run_logs_url
resource_idstringRequiredThe unique identifier of the resource
Methods
Get details for a workflow.
actions:readRepository: Declared targets.
No additional required input.
Get details for a workflow run.
actions:readRepository: Declared targets.
No additional required input.
Get details for a workflow job.
actions:readRepository: Declared targets.
No additional required input.
Download a workflow run artifact.
actions:readRepository: Declared targets.
No additional required input.
Get workflow run usage.
actions:readRepository: Declared targets.
No additional required input.
Get a workflow run logs download URL.
actions:readRepository: Declared targets.
No additional required input.
Returns
This tool returns the provider response without declared fields.
actions_run_triggerTrigger GitHub Actions workflow operations, including running, re-running, cancelling workflow runs, and deleting workflow run logs.
actions:writeSensitiveRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
methodstringRequiredThe method to execute
Possible values: run_workflow, rerun_workflow_run, rerun_failed_jobs, cancel_workflow_run, delete_workflow_run_logs
workflow_idstringConditionalThe workflow ID or workflow file name. Required for run_workflow
refstringConditionalThe git reference for the workflow. Required for run_workflow
inputsobjectInputs the workflow accepts. Only used for run_workflow
run_idintegerConditionalThe ID of the workflow run. Required for all methods except run_workflow
Methods
Trigger a workflow_dispatch run. Returns the workflow_run_id, run_url, and html_url of the run it started.
actions:writeSensitiveRepository: Declared targets.
Required input: workflow_id, ref
Rerun a workflow run.
actions:writeRepository: Declared targets.
Required input: run_id
Rerun failed jobs in a workflow run.
actions:writeRepository: Declared targets.
Required input: run_id
Cancel a workflow run.
actions:writeRepository: Declared targets.
Required input: run_id
Delete logs for a workflow run.
actions:writeSensitiveRepository: Declared targets.
Required input: run_id
Returns
This tool returns the provider response without declared fields.
get_job_logsGet logs for GitHub Actions workflow jobs. Use this tool to retrieve logs for a specific job or all failed jobs in a workflow run. For single job logs, provide job_id. For all failed jobs in a run, provide run_id with failed_only=true.
actions:readRepository: Declared targets.
Parameters
ownerstringRequiredRepository owner
repostringRequiredRepository name
job_idnumberThe unique identifier of the workflow job. Required when getting logs for a single job.
run_idnumberThe unique identifier of the workflow run. Required when failed_only is true to get logs for all failed jobs in the run.
failed_onlybooleanWhen true, gets logs for all failed jobs in the workflow run specified by run_id. Requires run_id to be provided.
return_contentbooleanReturns actual log content instead of URLs
tail_linesnumberNumber of lines to return from the end of the log
Default 500.
Returns
This tool returns the provider response without declared fields.