Documentation Index
Fetch the complete documentation index at: https://docs.celesto.ai/llms.txt
Use this file to discover all available pages before exploring further.
GitHubTool provides methods to interact with GitHub repositories through the GitHub API using PyGithub.
Installation
Install the GitHub dependency:
pip install agentor[github]
Constructor
GitHub personal access token or OAuth token for authentication
Optional API key for MCP server usage
Methods
get_issue
Get details of a GitHub issue.
Repository name in format owner/repo
Returns: String with issue title, body, and state
create_issue
Create a new issue in a repository.
Repository name in format owner/repo
Returns: URL of the created issue
create_pr
Create a pull request.
Repository name in format owner/repo
Base branch name (default: “main”)
Returns: URL of the created pull request
Usage
With Agentor agent
import os
from agentor import Agentor
from agentor.tools import GitHubTool
github_tool = GitHubTool(
access_token=os.getenv("GITHUB_TOKEN")
)
agent = Agentor(
name="GitHub Assistant",
model="gpt-4o-mini",
tools=[github_tool]
)
result = agent.run("Get issue #42 from owner/repo")
print(result)
Creating issues
from agentor.tools import GitHubTool
github = GitHubTool(access_token="ghp_xxx")
# Create an issue
result = github.create_issue(
repo_name="CelestoAI/agentor",
title="Feature request: Add XYZ",
body="Please add support for XYZ feature"
)
print(result) # Issue created: https://github.com/...
Creating pull requests
# Create a PR from feature branch to main
result = github.create_pr(
repo_name="CelestoAI/agentor",
title="Add new feature",
head="feature-branch",
base="main",
body="This PR adds a new feature..."
)
print(result) # PR created: https://github.com/...
Error handling
The tool returns error messages as strings when operations fail:
# Invalid repository
result = github.get_issue("nonexistent/repo", 1)
print(result) # GitHub Error: Not Found
# Invalid token
result = github.create_issue("owner/repo", "Test")
print(result) # GitHub Error: Bad credentials
Source reference
src/agentor/tools/github.py:13