Use Github with AI Agents

A platform for version control and collaboration, allowing you to work together on projects from anywhere.
🔗 Connect and Use Github
1. 🔑 Connect your Github account
2. ✅ Select an action
3. 🚀 Go live with the agent
What do you want to do?
Actions
meta
security-advisories
apps
classroom
codes-of-conduct
emojis
dependabot
secret-scanning
activity
gists
gitignore
issues
licenses
markdown
orgs
actions
oidc
code-scanning
codespaces
copilot
packages
interactions
migrations
projects
repos
billing
teams
reactions
rate-limit
checks
dependency-graph
git
pulls
search
users
Main

API actions for Github for AI assitants/agents

Language
JS
PYTHON

Repos

Request A Github Pages Build

Request site builds from the latest revision on the default branch without extra commits. Useful for diagnosing build issues. Limited to one concurrent build per repository and requester; addi
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_REQUEST_A_GITHUB_PAGES_BUILD])

Get Latest Pages Build

Gets information about the single most recent build of a GitHub Pages site. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_LATEST_PAGES_BUILD])

Get Github Pages Build

Gets information about a GitHub Pages build. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_GITHUB_PAGES_BUILD])

Create A Github Pages Deployment

Create a GitHub Pages deployment for a repository. The authenticated user must have write permission to the repository.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_A_GITHUB_PAGES_DEPLOYMENT])

Get The Status Of A Github Pages Deployment

Gets the current status of a GitHub Pages deployment. The authenticated user must have read permission for the GitHub Pages site.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_THE_STATUS_OF_A_GITHUB_PAGES_DEPLOYMENT])

Cancel A Github Pages Deployment

Cancels a GitHub Pages deployment. The authenticated user must have write permissions for the GitHub Pages site.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CANCEL_A_GITHUB_PAGES_DEPLOYMENT])

Get A Dns Health Check For Github Pages

This endpoint verifies the DNS `CNAME` record for GitHub Pages, initially responding with `202 Accepted` and then `200 OK`. Access is restricted to users with the right permissions, needing `r
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_DNS_HEALTH_CHECK_FOR_GITHUB_PAGES])

Check Private Vulnerability Reporting Status

This text describes a function that checks if private vulnerability reporting is enabled in a repository, with a link to GitHub's documentation for evaluating repository security settings.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CHECK_PRIVATE_VULNERABILITY_REPORTING_STATUS])

Enable Private Vulnerability Reporting For A Repository

This feature allows secure vulnerability reporting for repositories by users with admin access. For details, visit the GitHub guide on private vulnerability reporting.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_ENABLE_PRIVATE_VULNERABILITY_REPORTING_FOR_A_REPOSITORY])

Disable Private Vulnerability Reporting For A Repository

Disabling private vulnerability reporting requires admin access to the repository. For more info, refer to the GitHub guide on privately reporting security issues.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DISABLE_PRIVATE_VULNERABILITY_REPORTING_FOR_A_REPOSITORY])

Get All Custom Property Values For A Repository

Gets all custom property values that are set for a repository. Users with read access to the repository can use this endpoint.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_ALL_CUSTOM_PROPERTY_VALUES_FOR_A_REPOSITORY])

Create Or Update Custom Property Values For A Repository

This API endpoint allows repository admins and users with specific permissions to create or update repository custom property values; setting a value to `null` removes that property.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_OR_UPDATE_CUSTOM_PROPERTY_VALUES_FOR_A_REPOSITORY])

Projects

List Repository Projects

Lists the projects in a repository. Returns a `404 Not Found` status if projects are disabled in the repository. If you do not have sufficient privileges to perform this action, a `401 Unautho
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REPOSITORY_PROJECTS])

Create A Repository Project

This text outlines the process of creating a repository project board. It notes that a `410 Gone` status appears if projects are disabled or if there are no classic projects. A lack of privile
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_A_REPOSITORY_PROJECT])

Pulls

List Pull Requests

Draft pull requests are available across various GitHub plans. The endpoint supports custom media types like raw, text, HTML, diff, and patch representations. For more details, refer to GitHub
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_PULL_REQUESTS])

Pulls List

Draft pull requests are available across various GitHub plans. The endpoint supports custom media types like raw, text, HTML, diff, and patch representations. For more details, refer to GitHub
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_PULLS_LIST])

Create A Pull Request

Draft pull requests on GitHub support various plans, need write access or organization membership to modify, may trigger notifications, are rate-limited, and allow custom media types for markd
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_A_PULL_REQUEST])

Pulls Create

Draft pull requests on GitHub support various plans, need write access or organization membership to modify, may trigger notifications, are rate-limited, and allow custom media types for markd
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_PULLS_CREATE])

List Review Comments In A Repository

This endpoint lists all pull request review comments in a repository, sorted by ID. It supports custom media types for different content formats: raw markdown, text, HTML, or all formats. For
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REVIEW_COMMENTS_IN_A_REPOSITORY])

Get A Review Comment For A Pull Request

This endpoint details review comments, supporting media types for raw markdown, text, HTML representations, and all combined. For more, see GitHub's documentation on media types.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_REVIEW_COMMENT_FOR_A_PULL_REQUEST])

Update A Review Comment For A Pull Request

This endpoint edits review comments, supporting various media types for different markdown representations: raw, text only, HTML, and a full version including all formats. For more, see GitHub
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_UPDATE_A_REVIEW_COMMENT_FOR_A_PULL_REQUEST])

Delete A Review Comment For A Pull Request

Deletes a review comment.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_A_REVIEW_COMMENT_FOR_A_PULL_REQUEST])

Get A Pull Request

GitHub supports draft pull requests in various plans, including Free, Pro, Team, and Enterprise. It tests mergeability without branch changes, using `mergeable` and `merge_commit_sha` attribut
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_PULL_REQUEST])

Pulls Get

GitHub supports draft pull requests in various plans, including Free, Pro, Team, and Enterprise. It tests mergeability without branch changes, using `mergeable` and `merge_commit_sha` attribut
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_PULLS_GET])

Update A Pull Request

Draft pull requires write access and is available for both public and private repos on various GitHub plans. GitHub also supports custom media formats for markdown content responses.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_UPDATE_A_PULL_REQUEST])

List Review Comments On A Pull Request

Endpoint lists pull request review comments in ascending order by ID, supporting custom media types for raw, text-only, HTML rendered, and full representations of markdown body. More info on m
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REVIEW_COMMENTS_ON_A_PULL_REQUEST])

Create A Review Comment For A Pull Request

To comment on a pull request diff, use parameters `line`, `side`, `start_line`, and `start_side`. Avoid using the deprecated `position`. Triggering notifications, beware of rate limits. Suppor
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_A_REVIEW_COMMENT_FOR_A_PULL_REQUEST])

Pulls Create Review Comment

To comment on a pull request diff, use parameters `line`, `side`, `start_line`, and `start_side`. Avoid using the deprecated `position`. Triggering notifications, beware of rate limits. Suppor
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_PULLS_CREATE_REVIEW_COMMENT])

Create A Reply For A Review Comment

Use this endpoint to respond to primary comments on pull requests, enabling notifications. Avoid quick, multiple replies to bypass rate limits. Supports various content formats; refer to GitHu
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_A_REPLY_FOR_A_REVIEW_COMMENT])

List Commits On A Pull Request

For pull requests with over 250 commits, use the "List commits" endpoint for a complete list. Supports custom media types like raw, text, HTML markdown, and diff. See GitHub docs for more on m
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_COMMITS_ON_A_PULL_REQUEST])

List Pull Requests Files

Lists files in a pull request, up to 3000 files with 30 per page by default. Supports custom media types for different representations of the markdown body (raw, text, HTML, full). Maximum res
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_PULL_REQUESTS_FILES])

Check If A Pull Request Has Been Merged

Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CHECK_IF_A_PULL_REQUEST_HAS_BEEN_MERGED])

Pulls Check If Merged

Checks if a pull request has been merged into the base branch. The HTTP status of the response indicates whether or not the pull request has been merged; the response body is empty.<<DEPRECATE
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_PULLS_CHECK_IF_MERGED])

Merge A Pull Request

This API endpoint merges a pull request, triggers notifications, and may face secondary rate limiting if used too rapidly. For details, refer to GitHub's rate limits and REST API best practice
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_MERGE_A_PULL_REQUEST])

Get All Requested Reviewers For A Pull Request

This text outlines how to get reviewers for a pull request. Requested reviewers are listed until they submit a review, after which their reviews can be found via the "List reviews for a pull r
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_ALL_REQUESTED_REVIEWERS_FOR_A_PULL_REQUEST])

Request Reviewers For A Pull Request

This endpoint requests pull request reviews from users/teams, triggering notifications. Fast usage may cause rate limiting. See GitHub's API rate limits and usage best practices for more infor
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_REQUEST_REVIEWERS_FOR_A_PULL_REQUEST])

Remove Requested Reviewers From A Pull Request

Removes review requests from a pull request for a given set of users and/or teams.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_REMOVE_REQUESTED_REVIEWERS_FROM_A_PULL_REQUEST])

List Reviews For A Pull Request

This endpoint lists reviews for a pull request chronologically, supporting different media types for varying representations of the markdown body, including raw, text, HTML, or all.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REVIEWS_FOR_A_PULL_REQUEST])

Create A Review For A Pull Request

This API endpoint enables creation of pull request reviews and notifications. Rapid usage may cause rate limiting. Use `PENDING` for draft reviews. Calculate diff position for comments. Suppor
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_A_REVIEW_FOR_A_PULL_REQUEST])

Pulls Create Review

This API endpoint enables creation of pull request reviews and notifications. Rapid usage may cause rate limiting. Use `PENDING` for draft reviews. Calculate diff position for comments. Suppor
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_PULLS_CREATE_REVIEW])

Get A Review For A Pull Request

API endpoint retrieves pull request reviews by ID, supporting custom media types for different formats (raw, text, HTML, full) of the review's markdown body. See GitHub's "Media types" for det
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_REVIEW_FOR_A_PULL_REQUEST])

Update A Review For A Pull Request

This API endpoint updates review summary comments and supports custom media types for different representations: raw markdown, text-only, HTML, and full (includes all formats). See GitHub docs
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_UPDATE_A_REVIEW_FOR_A_PULL_REQUEST])

Delete A Pending Review For A Pull Request

Deletes unsubmitted pull request reviews. Submitted ones can't be deleted. Supports custom media types for different data formats in the response. See GitHub docs for more on media types.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_A_PENDING_REVIEW_FOR_A_PULL_REQUEST])

List Comments For A Pull Request Review

This endpoint lists comments for a pull request review, supporting custom media types for raw markdown, text-only, HTML, or full representation (raw, text, and HTML) of the comment body.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_COMMENTS_FOR_A_PULL_REQUEST_REVIEW])

Dismiss A Review For A Pull Request

To dismiss a pull request review on a protected branch, you must be an admin or authorized. The endpoint supports multiple media types for returning different formats of the review body.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DISMISS_A_REVIEW_FOR_A_PULL_REQUEST])

Submit A Review For A Pull Request

Submits a review for a pull request with options for custom media types including raw markdown, text only, HTML rendered, and full representations. See docs for detailed info on creating revie
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_SUBMIT_A_REVIEW_FOR_A_PULL_REQUEST])

Reactions

List Reactions For A Pull Request Review Comment

List the reactions to a [pull request review comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request).
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REACTIONS_FOR_A_PULL_REQUEST_REVIEW_COMMENT])

Create Reaction For A Pull Request Review Comment

Create a reaction to a pull request review comment as described in the GitHub documentation. A successful reaction will return an HTTP `200` status, indicating the reaction type was added.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_REACTION_FOR_A_PULL_REQUEST_REVIEW_COMMENT])

Delete A Pull Request Comment Reaction

This route allows deleting a reaction from a pull request review comment by specifying `repository_id`, `comment_id`, and `reaction_id`.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_A_PULL_REQUEST_COMMENT_REACTION])

Codespaces

Create A Codespace From A Pull Request

Creates a codespace owned by the authenticated user for the specified pull request. OAuth app tokens and personal access tokens (classic) need the `codespace` scope to use this endpoint.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_A_CODESPACE_FROM_A_PULL_REQUEST])

Frequently asked questions

What is Composio.dev?

Composio.dev is a platform for building AI applications, designed to make the process of developing AI solutions super easy and fun! It provides a comprehensive set of tools and libraries that simplify the process of developing AI solutions, allowing you to focus on the creative aspects of your project without getting bogged down by the technical details.

How does Composio.dev support Github?

Composio.dev seamlessly integrates with Github, allowing you to leverage its capabilities within the Composio.dev platform. You can utilize Github to call functions across various platforms, including Google, GitHub, and others, making it a breeze to incorporate different services into your AI applications. Additionally, it supports user authentication via OAuth2 and can work in conjunction with other popular frameworks like LangChain and CrewAI, giving you the flexibility to build truly innovative AI solutions.

What models can I use with Github?

With Github, you have access to a wide range of state-of-the-art language models, including GPT-4o (OpenAI), GPT-3.5 (OpenAI), GPT-4 (OpenAI), Claude (Anthropic), PaLM (Google), LLaMA and LLaMA 2 (Meta), Gemini, and many others. This flexibility allows you to choose the model that best suits your specific use case, whether you're building a chatbot, a content creation tool, or any other AI-powered application. You can experiment with different models and find the one that delivers the best performance for your project.

How can I integrate Github into my project?

Composio.dev provides a seamless integration for Github, making it super easy to incorporate this powerful framework into your projects. You can leverage the Composio.dev API to call functions from Github, allowing you to tap into its capabilities with just a few lines of code. The SDK is available in Python, JavaScript, and TypeScript, so you can work with your preferred programming language and integrate Github into your projects seamlessly.

What is the pricing for Github?

Github is completely free to use, with a generous free tier that allows up to 1000 requests per month. This makes it accessible for developers and organizations of all sizes to explore and experiment with this powerful tool without any upfront costs. Whether you're a student working on a personal project or a startup building the next big thing, you can get started with Github without worrying about breaking the bank.

What kind of authentication is supported for Github?

Github supports OAuth2 authentication, ensuring secure and authorized access to its functionalities. You can leverage the Composio.dev API to handle authentication and call functions from Github seamlessly. The SDK is available in Python, JavaScript, and TypeScript for your convenience, making it easy to integrate authentication into your projects and keep your users' data safe and secure.

Can I add Github to my project?

Absolutely! You can easily incorporate Github into your project by utilizing the Composio.dev API. This API allows you to call functions from Github, enabling you to leverage its capabilities within your application. The SDK is available in Python, JavaScript, and TypeScript to facilitate integration, so you can work with the language you're most comfortable with and add Github to your project with ease.

What is the accuracy of Github?

Github is designed to provide highly accurate and reliable results, ensuring that your AI applications perform at their best. The integration with Composio.dev ensures precise function calls, enabling you to build robust and powerful AI applications with confidence. Github's comprehensive framework and the ability to leverage state-of-the-art models ensure reliable and accurate outcomes for your AI development needs, whether you're working on a chatbot, a content creation tool, or any other AI-powered project.

What are some common use cases for Github?

Github can be used for a wide range of AI applications, making it a versatile tool for developers and creators alike. Some common use cases include natural language processing, text generation, question answering, sentiment analysis, and more. It's particularly useful for building chatbots, virtual assistants, content creation tools, and other AI-powered applications that can help you automate tasks, engage with users, and create compelling content. Whether you're working on a personal project or building a product for your startup, Github can help you bring your ideas to life.

How does Github handle data privacy and security?

Data privacy and security are crucial considerations when working with AI systems, and Github takes these issues seriously. It follows industry best practices and adheres to strict data protection regulations, ensuring that your data is kept safe and secure. Github provides robust security measures, such as encryption and access controls, to ensure the confidentiality and integrity of your data. You can rest assured that your sensitive information is protected when using Github for your AI development needs.
+ Integrate seamlessly with your agentic frameworks
Composio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and SizesComposio Works with All Shapes and Sizes
Building for AI across continents🧪