> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tekma.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Send a capture to GitHub

> Connect a GitHub repository and create a link-backed issue from a Tekma capture.

Use this guide when you want a saved capture to become a GitHub issue. A workspace owner connects GitHub and chooses the default repository. Capture editors can send to that repository; workspace owners can choose another accessible repository for one send.

## Requirements

You need a workspace owner for setup and capture editing permission to send. Connect with OAuth when the deployment offers **Continue to GitHub**, or use a personal access token with repository issue-write access. Tekma uses GitHub's fixed public API host and does not offer an Enterprise server field. The repository must be active, accessible to the connected account, and issue-enabled. Archived, disabled, or issue-disabled repositories are not offered.

## Connect GitHub

1. Go to **Settings → Integrations** and choose **Connect** next to GitHub.
2. Choose **Continue to GitHub** and complete provider authorization, or choose **Use a token instead** and enter a personal access token.
3. Enter **Repository** as `owner/repository`, for example `acme/widgets`. Use the repository slug, not its full browser URL.
4. Choose **Connect GitHub**. Tekma checks the repository before storing the connection. The row should show **Connected** and the repository.

Use **Manage** to change the destination while keeping an existing authorization. Replacing credentials affects the whole workspace. Token text is never shown again; revoke an unused token in GitHub after **Disconnect**.

## Send an issue

1. Open a saved capture and choose **Send to app → GitHub**.
2. Wait for **Loading preview…** and review the title, repository, saved description, and capture link. Choose **Retry preview** if resources cannot load.
3. Select up to ten existing **Labels**, up to ten **Assignees**, and an open repository **Milestone** if those controls are available. Milestones use the repository-local milestone number. Choose **Edit visible fields** to hide optional controls; hiding a field clears its value. An owner can choose **Repository** for this send; changing it clears repository-specific fields.
4. Add context only if needed, then choose **Send to GitHub** once.
5. Open the returned issue URL and confirm the repository and selected metadata. If delivery is unconfirmed, inspect GitHub before retrying.

Members are limited to the configured repository. Owners can select another issue-enabled repository reachable by the connected GitHub identity; that choice applies to this issue and does not change the workspace default.

## What GitHub receives

The issue body contains the saved description, optional context, sanitized source URL, capture kind, and a private Tekma capture link. Tekma does not upload video, screenshots, comments, network logs, or console data. Anyone who can read the issue still needs workspace authorization to open the capture link. Revoking Tekma access cannot retract copied issue text.

| Field      | Supported values                                                                     |
| ---------- | ------------------------------------------------------------------------------------ |
| Repository | Configured repository; owners may choose another accessible issue-enabled repository |
| Labels     | Existing labels from the selected repository; maximum 10                             |
| Assignees  | Existing repository assignees; maximum 10                                            |
| Milestone  | An open milestone in the selected repository, using its local number                 |

Tekma checks repository permissions and selected resources before creating the issue and checks the response before confirming delivery. GitHub may otherwise silently discard metadata when the token lacks write access.

## Troubleshooting

If the connection shows **Needs setup**, choose **Manage** and save a repository. If labels, assignees, or milestones are missing, check that they exist in the selected repository and that the connected account can write issues. A changed repository requires fresh resource discovery. A timeout can follow a successful create; search GitHub by title before using **Send to GitHub** again.
