GitHub
Procedures and concepts for the GitHub integration.
Overview
GitHub is the world's leading platform for version control and collaborative software development. This integration enables automated repository management, issue tracking, pull request operations, and code deployment workflows. Streamline your development processes and enhance team collaboration on code projects.
Prerequisites
1. Required Books
The following Book(s) need to be added to your agent so it can learn and understand the automation procedures defined within them:
GitHub
How to Add the Book(s)
Go to Books → All Books.
Search for the name of the book and click on it.
Click on Install or Add Connection to add the book to your agent.
If adding a connection, you'll be prompted for connectivity details.
Connectivity
This section outlines the available methods for connecting to the Book, along with the required configuration details for each.
Connect using API Key
Connect to the GitHub API using an API key.
API Key
The API key to be used for connecting
sensitive
Procedures
to compare (commits) in a repository source
Compare two refs (branches, tags, or commit SHAs) in a GitHub repository.
Returns the comparison status, commit counts, and the list of files that differ between the two refs.
Input Concepts
repository source
The source of the repository. It is a combination of the owner and the repository name, separated by a forward slash. For example, 'torvalds/linux'.
conceptual or text
Yes
(no default)
base
The base ref to compare (branch, tag, or SHA).
text
Yes
(no default)
head
The head ref to compare (branch, tag, or SHA).
text
Yes
(no default)
Output Concepts
A comparison with status, ahead_by, behind_by, total_commits, files, and html_url.
github comparison
Examples
Compare two branches
to create a (pull request) in a repository source
Create a pull request for a specified GitHub repository.
Input Concepts
repository source
The source of the repository. It is a combination of the owner and the repository name, separated by a forward slash. For example, 'torvalds/linux'.
conceptual or text
Yes
(no default)
The details required to create a pull request. It includes the title, head, base, and body.
github pull request
Yes
(no default)
Output Concepts
Examples
Create a pull request from a repository
to create an (issue) in a repository source
Create an issue for a specified GitHub repository.
Input Concepts
repository source
The source of the repository. It is a combination of the owner and the repository name, separated by a forward slash. For example, 'torvalds/linux'.
conceptual or text
Yes
(no default)
The details required to create an issue. It includes the title, and can contain body.
github issue
Yes
(no default)
Output Concepts
Examples
Create an issue from a repository
to get the (commit files) from a repository source
Get the files changed in a specific commit.
Returns the list of files modified, added, or removed in the specified commit, including the unified diff patch for each file.
Input Concepts
repository source
The source of the repository. It is a combination of the owner and the repository name, separated by a forward slash. For example, 'torvalds/linux'.
conceptual or text
Yes
(no default)
sha
The commit SHA.
text
Yes
(no default)
Output Concepts
A list of file diffs with filename, status, additions, deletions, changes, and patch.
github file diff
Examples
Get the files changed in a commit
to get the (commits) from a repository source
Get the commits from a GitHub repository.
Input Concepts
repository source
The source of the repository. It is a combination of the owner and the repository name, separated by a forward slash. For example, 'torvalds/linux'.
conceptual or text
Yes
(no default)
branch
The branch to fetch commits from. Defaults to 'main'.
text
No
main
Output Concepts
Examples
Retrieve the list of commits from the main branch of a repository
Retrieve the list of commits from a specific branch of a repository
Retrieve the list of commits that were committed in the specified time period
to get the (file contents) from a repository source
Get file or directory contents from a GitHub repository.
For files, returns the decoded text content along with metadata. Files larger than 1 MB may not include content. For directories, returns a list of entries with metadata but no content.
Input Concepts
repository source
The source of the repository. It is a combination of the owner and the repository name, separated by a forward slash. For example, 'torvalds/linux'.
conceptual or text
Yes
(no default)
path
The file or directory path within the repository.
text
Yes
(no default)
ref
The branch, tag, or commit SHA to read from. Defaults to the repository default branch.
text
No
(no default)
Output Concepts
A list of file content entries with name, path, sha, size, type, and optionally decoded content.
github file content
Examples
Retrieve the contents of a file from a repository
Retrieve the contents of a directory from a specific branch
to get the (issues) from a repository source
Get the issues from a GitHub repository.
Input Concepts
repository source
The source of the repository. It is a combination of the owner and the repository name, separated by a forward slash. For example, 'torvalds/linux'.
conceptual or text
Yes
(no default)
state
The state of the issues to fetch. Defaults to 'open'.
noun
No
open
Output Concepts
Examples
Retrieve the list of issues from a repository
Retrieve the list of closed issues from a repository
to get the (pull request files) from a repository source
Get the files changed in a pull request.
Returns the list of files modified, added, or removed in the specified pull request, including the unified diff patch for each file.
Input Concepts
repository source
The source of the repository. It is a combination of the owner and the repository name, separated by a forward slash. For example, 'torvalds/linux'.
conceptual or text
Yes
(no default)
number
The pull request number.
number
Yes
(no default)
Output Concepts
A list of file diffs with filename, status, additions, deletions, changes, and patch.
github file diff
Examples
Get the files changed in a pull request
Get the next page of files changed in a pull request
to get the (pull request) from a repository source
Get a pull request from a GitHub repository.
Input Concepts
repository source
The source of the repository. It is a combination of the owner and the repository name, separated by a forward slash. For example, 'torvalds/linux'.
conceptual or text
Yes
(no default)
number
The number of the pull request to fetch.
number
Yes
(no default)
Output Concepts
Examples
Retrieve the list of open pull requests from a repository
to get the (pull requests) from a repository source
Get the pull requests from a GitHub repository.
Input Concepts
repository source
The source of the repository. It is a combination of the owner and the repository name, separated by a forward slash. For example, 'torvalds/linux'.
conceptual or text
Yes
(no default)
state
The state of the pull requests to fetch. Defaults to 'open'.
noun
No
open
sort
The sort criteria for pull requests. One of 'created', 'updated', 'popularity', or 'long-running'. When omitted the API defaults to 'created'.
noun
No
(no default)
direction
The sort direction, either 'asc' or 'desc'. When omitted the API default depends on sort: 'desc' for 'created' (or no sort), 'asc' for 'updated', 'popularity', and 'long-running'.
noun
No
(no default)
Output Concepts
A list of pull requests with details such as title, description, and URL.
github pull request
Examples
Retrieve the list of pull requests from a repository
Retrieve the list of open pull requests from a repository
Retrieve the most recently updated closed pull requests
Retrieve at most 10 recently updated pull requests
to get the (repositories) from a source organization
Get the repositories from a GitHub organization.
Input Concepts
source organization
The source organization to fetch repositories from.
conceptual or text
Yes
(no default)
Output Concepts
A list of repositories with details such as repository name, description, and URL.
github repository
Examples
Retrieve the list of repositories from an organization
to get the (team) from a source organization
Get a team from a GitHub organization.
Input Concepts
source organization
The source organization to fetch team from.
conceptual or text
Yes
(no default)
slug
The slug of the team to fetch.
text
Yes
(no default)
Output Concepts
Examples
Retrieve the team from an organization
to get the (teams) from a source organization
Get the teams from a GitHub organization.
Input Concepts
source organization
The source organization to fetch teams from.
conceptual or text
Yes
(no default)
Output Concepts
Examples
Retrieve the list of teams from an organization
to get the (user) from a name
Get a user from GitHub.
Input Concepts
name
The name of the user to fetch.
conceptual or text
Yes
(no default)
Output Concepts
Examples
Retrieve the details of a user
to request reviewers for a (pull request)
Request reviewers for a pull request in a specified GitHub repository.
Input Concepts
repository source
The source of the repository. It is a combination of the owner and the repository name, separated by a forward slash. For example, 'torvalds/linux'.
text
Yes
(no default)
user names
The list of reviewers to request.
text
Yes
(no default)
team names
The list of team reviewers to request. Defaults to None.
text
No
(no default)
Output Concepts
Examples
Request reviewers for a pull request to request reviewers for a github pull request the user names are "ignacio-kognitos", "other-user" the team names are "kognitos-team"
to search (code) in a repository source
Search code in a GitHub repository.
Searches for code matching the given query within the specified repository. Note that the GitHub code search API has a rate limit of 10 requests per minute.
Input Concepts
repository source
The source of the repository. It is a combination of the owner and the repository name, separated by a forward slash. For example, 'torvalds/linux'.
conceptual or text
Yes
(no default)
query
The search keywords to look for in the code.
text
Yes
(no default)
path
Optional path filter to restrict search to a directory.
text
No
(no default)
extension
Optional file extension filter (e.g. 'py', 'js').
text
No
(no default)
Output Concepts
A list of code search results with file name, path, SHA, URL, repository, and score.
github code search result
Examples
Search for code in a repository
Search for Python files containing a specific term
to update a (pull request) in a repository source
Update a pull request for a specified GitHub repository.
Input Concepts
repository source
The source of the repository. It is a combination of the owner and the repository name, separated by a forward slash. For example, 'torvalds/linux'.
conceptual or text
Yes
(no default)
The details required to update a pull request. It includes the pull request number and can contain title, body, and state.
github pull request
Yes
(no default)
Output Concepts
Examples
Update a pull request from a repository
to update an (issue) in a repository source
Update an issue for a specified GitHub repository.
Input Concepts
repository source
The source of the repository. It is a combination of the owner and the repository name, separated by a forward slash. For example, 'torvalds/linux'.
conceptual or text
Yes
(no default)
The details required to update an issue. It includes the issue number and can contain title, body, and state.
github issue
Yes
(no default)
Output Concepts
Examples
Update an issue from a repository
Concepts
Github comparison
GitHub Comparison Wrapper class.
status
The comparison status (ahead, behind, diverged, identical).
text
ahead_by
The number of commits ahead.
number
behind_by
The number of commits behind.
number
total_commits
The total number of commits.
number
html_url
The HTML URL of the comparison.
optional[text]
The list of file diffs in the comparison. Empty when the refs are identical.
optional[list of github file diff]
Github file diff
GitHub File Diff Wrapper class.
filename
The name of the changed file.
text
status
The status of the change (added, removed, modified, renamed, copied, changed, unchanged).
text
additions
The number of lines added.
number
deletions
The number of lines deleted.
number
changes
The total number of lines changed.
number
patch
The unified diff patch (None for binary files).
optional[text]
previous_filename
The previous filename (only for renames).
optional[text]
sha
The SHA of the file.
optional[text]
Github issue
GitHub Issue Wrapper class.
number
The number of the issue. Optional since is None in case of creating an issue.
optional[number]
title
The title of the issue. Optional since can be None in case of editing an issue.
optional[text]
body
The body of the issue. Optional since can be None in case of editing an issue.
optional[text]
state
The state of the issue. Optional since is None in case of creating an issue.
optional[text]
The labels of the issue. Optional since can be None in case of editing an issue.
optional[list of github label]
The user of the issue. Optional since is None in case of creating an issue.
optional[github user]
Github label
GitHub Label Wrapper class.
color
The color of the label.
text
description
The description of the label.
optional[text]
name
The name of the label.
text
url
The URL of the label.
text
Github user
GitHub User Wrapper class.
login
The login of the user.
optional[text]
id
The ID of the user.
optional[number]
type
The type of the user.
optional[text]
Github pull request
GitHub Pull Request Wrapper class.
number
The number of the pull request. Optional since is None in case of creating a pull request.
optional[number]
head
The head of the pull request. Optional since can be None in case of editing a pull request.
optional[github pull request part? or text]
title
The title of the pull request. Optional since can be None in case of editing a pull request.
optional[text]
base
The base of the pull request. Optional since can be None in case of editing a pull request.
optional[github pull request part? or text]
body
The body of the pull request. Optional since can be None in case of editing a pull request.
optional[text]
state
The state of the pull request. Optional since is None in case of creating a pull request.
optional[text]
author
The login username of the pull request author.
optional[text]
updated_at
The timestamp when the pull request was last updated.
optional[text]
merged_at
The timestamp when the pull request was merged, if applicable.
optional[text]
merged
Whether the pull request has been merged.
optional[boolean]
url
The API URL of the pull request.
optional[text]
html_url
The HTML URL of the pull request.
optional[text]
labels
The list of label names on the pull request.
optional[list of text]
Github commit
GitHub Commit Wrapper class.
Github git commit
GitHub Git Commit Wrapper class.
Github commit stats
GitHub Commit Stats Wrapper class.
total
The total number of commits.
number
deletions
The number of deletions.
number
additions
The number of additions.
number
Github file content
GitHub File Content Wrapper class.
name
The name of the file or directory.
text
path
The path of the file or directory.
text
sha
The SHA of the content.
text
size
The size of the content in bytes.
number
type
The type of the content (file, dir, symlink, submodule).
text
content
The decoded text content (files only).
optional[text]
encoding
The encoding of the content.
optional[text]
html_url
The HTML URL of the content.
optional[text]
download_url
The download URL of the content.
optional[text]
Github repository
GitHub Repository Wrapper class.
branches_url
The branches URL.
text
commits_url
The commits URL.
text
description
The description of the repository.
text
git_commits_url
The git commits URL.
text
git_tags_url
The git tags URL.
text
git_url
The git URL.
text
name
The name of the repository.
text
Github team
GitHub Team Wrapper class.
id
The ID of the team.
number
url
The URL of the team.
text
name
The name of the team.
text
slug
The slug of the team.
text
description
The description of the team.
text
privacy
The privacy of the team.
text
permission
The permission of the team.
text
members_url
The members URL of the team.
optional[text]
repositories_url
The repositories URL of the team.
text
Github code search result
GitHub Code Search Result Wrapper class.
name
The name of the file.
text
path
The path of the file.
text
sha
The SHA of the file.
text
html_url
The HTML URL of the file.
optional[text]
repository
The full name of the repository (e.g. owner/repo).
optional[text]
score
The relevance score of the search result.
optional[number]
Last updated
Was this helpful?

