> Index of every Falcon docs page, for assistants: https://falcon.com/docs/llms.txt

# GitHub

Read repositories, issues, pull requests, checks and releases through a GitHub App, create those records, and start a workflow from a push, pull request, issue or release.

## What it can do

- Read: **List installation repositories**, **Get a repository**, **Get repository content**, **List issues**, **Get an issue**, **List issue comments**, **List pull requests**, **Get a pull request**, **List pull request files**, **List pull request review comments**, **List check runs**, **Get a check run**, **List releases**, **Get a release** and **Get a release by tag**.
- Change: **Create an issue**, **Create an issue comment**, **Create a pull request**, **Create a pull request review comment**, **Create a check run**, **Update a check run** and **Create a release**.

**List issues** includes pull requests, because GitHub's issue list does. **Get repository content** is the file or the folder listing, not a raw download, and a file is about 1 MB at most. One list is one page of at most 100. Creating, updating and deleting files, and merging, are not actions here, even though the contents permission would allow them. **Create a release** can still fail when the tagged commit changes workflow files, because this app does not ask to write workflows.

## What can start a workflow

- **Push**, **Pull request**, **Issues**, **Issue comment** and **Release**.
- These belong to the GitHub App, not to a hook on each repository. A ping is answered and does not start a workflow. Studio checks the signature on the raw notice, and the notice has to match that kind of event.

## How to connect

- Open **Connections**, then **Apps**, and choose **Connect GitHub**.
- **As the company** keeps working when people leave. An organization owner chooses **Install the GitHub App** and picks the repositories.
- **As a person** stops working when you leave Studio or are removed. Paste a **Fine-grained personal access token**. The field refuses anything that does not start with `github_pat_`. **Make a token on GitHub** opens that page. The row shows **Personal token**.
- **Permissions it needs** lists the same permissions as below. Limit a personal token to the repositories you want and to those permissions.

## What it asks for

- Metadata: read. That is how **List installation repositories** is allowed.
- Contents: write, so **Create a release** can run. That permission also allows creating, updating and deleting files, and merging. Those actions are not on this page.
- Issues: write. Pull requests: write. Checks: write.
- It does not ask for Administration, and it does not ask for repository Webhooks. A personal token should be limited to these same permissions.

## Related

- [Slack as an app](https://falcon.com/docs/app-slack)
- [Jira](https://falcon.com/docs/app-jira)
- [Connections](https://falcon.com/docs/connections)
