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

Actions

Get A Workflow Run

Gets a specific workflow run. Anyone with read access to the repository can use this endpoint. 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_A_WORKFLOW_RUN])

Delete A Workflow Run

Deletes a specific workflow run. Anyone with write access to the repository can use this endpoint. If the repository is private, OAuth tokens and personal access tokens (classic) need the `rep
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_A_WORKFLOW_RUN])

Get The Review History For A Workflow Run

Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_THE_REVIEW_HISTORY_FOR_A_WORKFLOW_RUN])

Approve A Workflow Run For A Fork Pull Request

The text outlines how to approve workflow runs for pull requests from new contributors using public forks, highlighting the need for `repo` scope with OAuth and personal access tokens. Detaile
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_APPROVE_A_WORKFLOW_RUN_FOR_A_FORK_PULL_REQUEST])

List Workflow Run Artifacts

Lists artifacts for a workflow run. Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this end
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_WORKFLOW_RUN_ARTIFACTS])

Get A Workflow Run Attempt

Gets a specific workflow run attempt. Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this e
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_WORKFLOW_RUN_ATTEMPT])

List Jobs For A Workflow Run Attempt

An API endpoint lists workflow run jobs, supports filtering, and is accessible with repository read access. It requires `repo` scope for private repositories when using OAuth or personal acces
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_JOBS_FOR_A_WORKFLOW_RUN_ATTEMPT])

Download Workflow Run Attempt Logs

This endpoint guides users to a URL to download a workflow run's logs, expiring in 1 minute, found in the `Location:` header, accessible to those with repo read access. Private repos need OAut
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DOWNLOAD_WORKFLOW_RUN_ATTEMPT_LOGS])

Cancel A Workflow Run

Cancels a workflow run using its `id`. OAuth 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_CANCEL_A_WORKFLOW_RUN])

Review Custom Deployment Protection Rules For A Workflow Run

Approve or reject GitHub App custom deployment protection rules for workflow runs. Only the app's rules can be reviewed. Use specific personal or OAuth app tokens with 'repo' scope for private
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_REVIEW_CUSTOM_DEPLOYMENT_PROTECTION_RULES_FOR_A_WORKFLOW_RUN])

Force Cancel A Workflow Run

This endpoint cancels a workflow run, overriding any conditions like `always()` that would continue execution. It's for unresponsive workflows. Use requires `repo` scope on OAuth or personal a
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_FORCE_CANCEL_A_WORKFLOW_RUN])

List Jobs For A Workflow Run

The text outlines an endpoint to list workflow run jobs with filter options. It's open to users with read access to the repository, but private repos need 'repo' scope for OAuth and classic to
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_JOBS_FOR_A_WORKFLOW_RUN])

Download Workflow Run Logs

This service provides a temporary URL to download a workflow run's log archive, expiring in 1 minute. Accessible to users with read access, private repos require OAuth or classic tokens with `
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DOWNLOAD_WORKFLOW_RUN_LOGS])

Delete Workflow Run Logs

Deletes all logs for a workflow run. OAuth 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_DELETE_WORKFLOW_RUN_LOGS])

Get Pending Deployments For A Workflow Run

This endpoint retrieves deployment environments awaiting protection rule clearance in a workflow run, accessible to anyone with repository read access. For private repositories, OAuth and clas
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_PENDING_DEPLOYMENTS_FOR_A_WORKFLOW_RUN])

Review Pending Deployments For A Workflow Run

Approve or reject pending deployments needing reviewer approval. Reviewers with read access and OAuth or classic tokens with `repo` scope can use this endpoint.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_REVIEW_PENDING_DEPLOYMENTS_FOR_A_WORKFLOW_RUN])

Re Run A Workflow

Re-runs your workflow run using its `id`. 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_RE_RUN_A_WORKFLOW])

Re Run Failed Jobs From A Workflow Run

Re-run all of the failed jobs and their dependent jobs in a workflow run using the `id` of the workflow run. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_RE_RUN_FAILED_JOBS_FROM_A_WORKFLOW_RUN])

Get Workflow Run Usage

GitHub bills minutes for private repo workflows, tracking job re-runs and milliseconds but excludes OS multipliers. Requires read permissions and certain token scopes. A further document is av
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_WORKFLOW_RUN_USAGE])

List Repository Secrets

This endpoint lists all secrets in a repository without showing encrypted values. It requires users to be collaborators and OAuth app tokens or classic personal access tokens with `repo` scope
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REPOSITORY_SECRETS])

Get A Repository Public Key

This endpoint allows users with read access to obtain a public key for encrypting secrets. For private repositories, OAuth or personal access tokens with `repo` scope are required.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_REPOSITORY_PUBLIC_KEY])

Get A Repository Secret

This endpoint allows fetching a single repository secret without disclosing its encrypted value. It requires the user to have collaborator access and OAuth or classic personal access tokens wi
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_REPOSITORY_SECRET])

Create Or Update A Repository Secret

This text explains how to create or update a repository secret with an encrypted value using LibSodium. It requires collaborator access and an OAuth or personal access token with `repo` scope.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_OR_UPDATE_A_REPOSITORY_SECRET])

Delete A Repository Secret

Deletes a secret in a repository using the secret name. Authenticated users must have collaborator access to a repository to create, update, or read secrets. OAuth tokens and personal access t
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_A_REPOSITORY_SECRET])

List Repository Variables

Lists all repository variables. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth app tokens and personal access tokens (classic) ne
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REPOSITORY_VARIABLES])

Create A Repository Variable

To create, update, or read variables in a GitHub Actions workflow, authenticated collaborators need `repo` scope on OAuth/personal access tokens.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_A_REPOSITORY_VARIABLE])

Get A Repository Variable

Gets a specific variable in a repository. The authenticated user must have collaborator access to the repository to use this endpoint. OAuth app tokens and personal access tokens (classic) nee
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_REPOSITORY_VARIABLE])

Update A Repository Variable

To create, update, or read variables in a GitHub Actions workflow, authenticated users need collaborator access, and OAuth app tokens or classic personal access tokens must have the `repo` sco
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_UPDATE_A_REPOSITORY_VARIABLE])

Delete A Repository Variable

Deletes a repository variable using the variable name. Authenticated users must have collaborator access to a repository to create, update, or read variables. OAuth tokens and personal access
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DELETE_A_REPOSITORY_VARIABLE])

List Repository Workflows

Lists the workflows in a repository. Anyone with read access to the repository can use this endpoint. OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this en
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REPOSITORY_WORKFLOWS])

Get A Workflow

This endpoint fetches a specific workflow using its file name (e.g., `main.yaml`) for users with read repository access. Access to private repositories needs `repo` scope for OAuth and persona
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_WORKFLOW])

Disable A Workflow

Disables a workflow, setting its `state` to `disabled_manually`, by replacing `workflow_id` with the workflow file name, e.g., `main.yaml`. Requires `repo` scope for OAuth and classic personal
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DISABLE_A_WORKFLOW])

Create A Workflow Dispatch Event

Manually trigger a GitHub Actions workflow by replacing `workflow_id` with the file name (e.g., `main.yaml`). Ensure it's set to activate on a `workflow_dispatch` event with properly configure
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CREATE_A_WORKFLOW_DISPATCH_EVENT])

Enable A Workflow

Activates a workflow with `workflow_id` or filename (e.g., `main.yaml`), requiring the `repo` scope for OAuth or classic personal access tokens.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_ENABLE_A_WORKFLOW])

List Workflow Runs For A Workflow

List all workflow runs using `workflow_id` or the file name like `main.yaml`. Parameters can refine results. It's accessible to those with read access, and private repositories require `repo`
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_WORKFLOW_RUNS_FOR_A_WORKFLOW])

Get Workflow Usage

The text details billing for GitHub private repo workflows by OS, excluding macOS/Windows adjustments, and recommends using `workflow_id` for file names. It mentions needing read access and `r
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_WORKFLOW_USAGE])

Repos

List Repository Activities

This text details how to view a repository's history, including pushes, merges, and branch changes linked to commits/users. For more, see GitHub's guide on viewing repository activity.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_REPOSITORY_ACTIVITIES])

Check If Automated Security Fixes Are Enabled For A Repository

This text outlines the ability to check if automated security fixes are enabled, disabled, or paused for a repository, which requires the user to have admin read access. For details, visit the
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CHECK_IF_AUTOMATED_SECURITY_FIXES_ARE_ENABLED_FOR_A_REPOSITORY])

Enable Automated Security Fixes

Enables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://do
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_ENABLE_AUTOMATED_SECURITY_FIXES])

Disable Automated Security Fixes

Disables automated security fixes for a repository. The authenticated user must have admin access to the repository. For more information, see "[Configuring automated security fixes](https://d
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_DISABLE_AUTOMATED_SECURITY_FIXES])

List Branches

This API endpoint returns a repository's branch list, allows filtering by protection status, supports pagination (30 results/page), and is detailed in GitHub's documentation.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_BRANCHES])

Repo S List Branches

This API endpoint returns a repository's branch list, allows filtering by protection status, supports pagination (30 results/page), and is detailed in GitHub's documentation.<<DEPRECATED use l
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_REPO_S_LIST_BRANCHES])

Get A Branch

This API endpoint fetches details of a repository branch including commit info and protection status, requiring repo owner and branch name. It supports conditional requests, GitHub Apps, and o
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_GET_A_BRANCH])

Issues

List Assignees

Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository.
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_LIST_ASSIGNEES])

Issues List Assign Ees

Lists the [available assignees](https://docs.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/) for issues in a repository.<<DEPRECATED use list_assignees>>
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_ISSUES_LIST_ASSIGN_EES])

Check If A User Can Be Assigned

Checks if a user has permission to be assigned to an issue in this repository. If the `assignee` can be assigned to issues in the repository, a `204` header with no content is returned. Otherw
from composio_langchain import ComposioToolSet, Action tool_set = ComposioToolSet() tools = tool_set.get_tools(actions=[Action.GITHUB_CHECK_IF_A_USER_CAN_BE_ASSIGNED])

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🧪