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

Orgs

Update A Custom Organization Role

Updates an existing custom org role, affecting all assignees. Requires administrator status or specific permissions. OAuth and personal access tokens need `admin:org` scope for access. More de
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_UPDATE_A_CUSTOM_ORGANIZATION_ROLE])

Delete A Custom Organization Role

Deletes a custom org role, requiring the user to be an org admin or have specific permissions. OAuth tokens need `admin:org` scope. More info at GitHub docs on managing access with roles.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_A_CUSTOM_ORGANIZATION_ROLE])

List Teams That Are Assigned To An Organization Role

This text details an API endpoint for listing teams by organization role, requiring admin status and `admin:org` scope for access. For details on roles, visit the provided GitHub link.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_TEAMS_THAT_ARE_ASSIGNED_TO_AN_ORGANIZATION_ROLE])

List Users That Are Assigned To An Organization Role

This text describes an API endpoint for listing organization members by role, requiring administrator access and the `admin:org` scope for OAuth or classic tokens. More details on roles are av
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_USERS_THAT_ARE_ASSIGNED_TO_AN_ORGANIZATION_ROLE])

List Outside Collaborators For An Organization

List all users who are outside collaborators of an organization.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_OUTSIDE_COLLABORATORS_FOR_AN_ORGANIZATION])

Convert An Organization Member To Outside Collaborator

Converting an organization member to an outside collaborator restricts access to only those repositories allowed by current team membership, removing them from the organization. This action ma
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CONVERT_AN_ORGANIZATION_MEMBER_TO_OUTSIDE_COLLABORATOR])

Remove Outside Collaborator From An Organization

Removing a user from this list will remove them from all the organization's repositories.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_REMOVE_OUTSIDE_COLLABORATOR_FROM_AN_ORGANIZATION])

List Org Resources With Personal Tokens

Lists requests from organization members to access organization resources with a fine-grained personal access token. Only GitHub Apps can use this endpoint.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_ORG_RESOURCES_WITH_PERSONAL_TOKENS])

Review Resource Requests With Fine Grained Tokens

Approves or denies multiple pending requests to access organization resources via a fine-grained personal access token. Only GitHub Apps can use this endpoint.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_REVIEW_RESOURCE_REQUESTS_WITH_FINE_GRAINED_TOKENS])

Review Access With Personal Token

Approves or denies a pending request to access organization resources via a fine-grained personal access token. Only GitHub Apps can use this endpoint.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_REVIEW_ACCESS_WITH_PERSONAL_TOKEN])

List Repo Access By Token

Lists the repositories a fine-grained personal access token request is requesting access to. Only GitHub Apps can use this endpoint.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REPO_ACCESS_BY_TOKEN])

List Org Resource Access Tokens

Lists approved fine-grained personal access tokens owned by organization members that can access organization resources. Only GitHub Apps can use this endpoint.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_ORG_RESOURCE_ACCESS_TOKENS])

Update Resource Access With Tokens

Updates the access organization members have to organization resources via fine-grained personal access tokens. Limited to revoking a token's existing access. Only GitHub Apps can use this end
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_UPDATE_RESOURCE_ACCESS_WITH_TOKENS])

Update Token Org Access

Updates the access an organization member has to organization resources via a fine-grained personal access token. Limited to revoking the token's existing access. Limited to revoking a token's
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_UPDATE_TOKEN_ORG_ACCESS])

List Token Access Repositories

Lists the repositories a fine-grained personal access token has access to. Only GitHub Apps can use this endpoint.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_TOKEN_ACCESS_REPOSITORIES])

Get All Custom Properties For An Organization

Gets all custom properties defined for an organization. Organization members can read these properties.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_ALL_CUSTOM_PROPERTIES_FOR_AN_ORGANIZATION])

Create Or Update Custom Properties For An Organization

The endpoint allows creating or updating custom properties for an organization in bulk, accessible to organization administrators or users with the `custom_properties_org_definitions_manager`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_OR_UPDATE_CUSTOM_PROPERTIES_FOR_AN_ORGANIZATION])

Get A Custom Property For An Organization

Gets a custom property that is defined for an organization. Organization members can read these properties.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_CUSTOM_PROPERTY_FOR_AN_ORGANIZATION])

Create Or Update A Custom Property For An Organization

This endpoint allows creating or updating an organization's custom property. It requires the user to be an administrator or have specific permission (`custom_properties_org definitions_manager
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_OR_UPDATE_A_CUSTOM_PROPERTY_FOR_AN_ORGANIZATION])

Remove A Custom Property For An Organization

This endpoint deletes an organization's custom property. It requires the user to be an organization admin or a user/team with the `custom_properties_org_definitions_manager` permission.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_REMOVE_A_CUSTOM_PROPERTY_FOR_AN_ORGANIZATION])

List Custom Property Values For Organization Repositories

Lists organization repositories with all of their custom property values. Organization members can read these properties.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_CUSTOM_PROPERTY_VALUES_FOR_ORGANIZATION_REPOSITORIES])

Manage Custom Properties For Org Repos

Update or create custom properties for up to 30 org. repositories per request. Null values remove the property. Requires org admin or specific permission.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_MANAGE_CUSTOM_PROPERTIES_FOR_ORG_REPOS])

List Public Organization Members

Members of an organization can choose to have their membership publicized or not.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_PUBLIC_ORGANIZATION_MEMBERS])

Check Public Organization Membership For A User

Check if the provided user is a public member of the organization.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CHECK_PUBLIC_ORGANIZATION_MEMBERSHIP_FOR_A_USER])

Set Public Organization Membership For The Authenticated User

Users can publicize only their own memberships. When using this endpoint, set the `Content-Length` to zero. For more, see GitHub's HTTP method guide.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_SET_PUBLIC_ORGANIZATION_MEMBERSHIP_FOR_THE_AUTHENTICATED_USER])

Remove Public Org Membership

Removes the public membership for the authenticated user from the specified organization, unless public visibility is enforced by default.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_REMOVE_PUBLIC_ORG_MEMBERSHIP])

List Security Manager Teams

The text explains managing security in an organization, stating administrators or security managers need OAuth or tokens with `read:org` scope. Details are on GitHub.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_SECURITY_MANAGER_TEAMS])

Packages

List Packages For An Organization

This endpoint lists user-readable packages in an organization, requiring `read:packages` scope for OAuth and classic tokens. For certain registries, `repo` scope is also needed. Details on the
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_PACKAGES_FOR_AN_ORGANIZATION])

Get A Package For An Organization

To access a package within an organization, OAuth and personal access tokens need `read:packages` scope. If the package is in a registry requiring repository-scoped permissions, `repo` scope i
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_PACKAGE_FOR_AN_ORGANIZATION])

Delete A Package For An Organization

To delete an organization's package, you must be an admin. You can't delete public packages with over 5,000 downloads (contact support). Requires `read:packages` and `delete:packages` scopes,
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_A_PACKAGE_FOR_AN_ORGANIZATION])

Restore A Package For An Organization

A package in an organization can be restored within 30 days of deletion, provided its namespace and version aren't reused. Admin permissions and relevant token scopes are required for restorat
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_RESTORE_A_PACKAGE_FOR_AN_ORGANIZATION])

List Package Versions For A Package Owned By An Organization

This endpoint displays organization-owned package versions, requiring `repo` scope for access if the package is in a GitHub Packages registry with repository-scoped permissions only. Visit Git
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_PACKAGE_VERSIONS_FOR_A_PACKAGE_OWNED_BY_AN_ORGANIZATION])

Get A Package Version For An Organization

Fetching a specific package version in an organization requires `read:packages` scope and potentially `repo` scope for certain package types, as per GitHub's documentation.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_PACKAGE_VERSION_FOR_AN_ORGANIZATION])

Delete Package Version For An Organization

To remove a package version with >5,000 downloads in an organization, an admin must contact GitHub support and have the right admin permissions and tokens with `read:packages`, `delete:package
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_PACKAGE_VERSION_FOR_AN_ORGANIZATION])

Restore Package Version For An Organization

A deleted organizational package can be restored within 30 days unless its namespace and version are reused. Admin permissions and appropriate OAuth scopes for GitHub Packages are needed.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_RESTORE_PACKAGE_VERSION_FOR_AN_ORGANIZATION])

Projects

List Organization Projects

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

Create An Organization Project

Creates an organization project board. Returns `410 Gone` if projects are disabled or absent in the organization, and `401 Unauthorized` or `410 Gone` if the user lacks sufficient privileges.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_AN_ORGANIZATION_PROJECT])

Repos

List Organization Repositories

Lists repositories for an organization. Viewing `security_and_analysis` requires admin permissions for the repository or being an organization owner or security manager. More info on managing
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_ORGANIZATION_REPOSITORIES])

Repo S List For Org

Lists repositories for an organization. Viewing `security_and_analysis` requires admin permissions for the repository or being an organization owner or security manager. More info on managing
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_REPO_S_LIST_FOR_ORG])

Create An Organization Repository

A new repository can be created in a specific organization by a member. OAuth and personal access tokens require `public_repo` or `repo` scope for public, and `repo` scope for private reposito
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_AN_ORGANIZATION_REPOSITORY])

Repo S Create In Org

A new repository can be created in a specific organization by a member. OAuth and personal access tokens require `public_repo` or `repo` scope for public, and `repo` scope for private reposito
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_REPO_S_CREATE_IN_ORG])

Get All Organization Repository Rulesets

Get all the repository rulesets for an organization.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_ALL_ORGANIZATION_REPOSITORY_RULESETS])

Create An Organization Repository Ruleset

Create a repository ruleset for an organization.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_AN_ORGANIZATION_REPOSITORY_RULESET])

List Organization Rule Suites

Summarizes how to manage and view rule evaluations for repositories within an organization, with detailed guidance available at the provided GitHub documentation link.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_ORGANIZATION_RULE_SUITES])

Get An Organization Rule Suite

The text provides details on obtaining data about various rule evaluations in an organization, guiding users to manage rulesets for repositories. For further info, visit GitHub's documentation
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_AN_ORGANIZATION_RULE_SUITE])

Get An Organization Repository Ruleset

Get a repository ruleset for an organization.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_AN_ORGANIZATION_REPOSITORY_RULESET])

Update An Organization Repository Ruleset

Update a ruleset for an organization.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_UPDATE_AN_ORGANIZATION_REPOSITORY_RULESET])

Delete An Organization Repository Ruleset

Delete a ruleset for an organization.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_AN_ORGANIZATION_REPOSITORY_RULESET])

Secret-scanning

List Secret Scanning Alerts For An Organization

This endpoint displays secret scanning alerts for organization repositories, requiring admin/security manager roles and specific token scopes (`repo`, `security_events`, `public_repo`) for acc
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_SECRET_SCANNING_ALERTS_FOR_AN_ORGANIZATION])

Security-advisories

List Repository Security Advisories For An Organization

This endpoint lists security advisories for an organization, accessible only by its owners or security managers. OAuth and personal tokens require the `repo` or `repository_advisories:write` s
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REPOSITORY_SECURITY_ADVISORIES_FOR_AN_ORGANIZATION])

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🧪