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

# GitHub Get Job Logs

> Returns the end of a GitHub Actions job log, where failures are reported.

Returns the last 30 KB of a workflow job's log — the part where failures are usually reported. Get job ids from `github_get_workflow_run`.

## Authentication and enablement

Requires a connected native GitHub integration (`mcp:github`) — a first-party GitHub App connection, not Composio. The connector is shown on Trail and to Nanonets superadmins; it is hidden from Nanonets customers during rollout.

Connecting opens GitHub's install page for the Trail GitHub App, where the user picks the account and either all repositories or only selected ones. Tools act as the app's bot account through short-lived installation tokens — not as the connecting user — and reach only the repositories of that installation. To change which repositories are included, edit the installation on GitHub (the account's or organization's installed GitHub Apps settings) or reconnect. If an organization owner still has to approve the app, calls fail until they do; if the app was uninstalled or suspended, calls fail until GitHub is reconnected.

Relies on the app's Actions (read) permission.

## Inputs

* `owner` (required): repository owner (user or organization).
* `repo` (required): repository name.
* `job_id` (required): job id (from `github_get_workflow_run`).

## Output

* `job_id`: the job read.
* `log`: the log text (the last 30 KB).
* `truncated`: `true` when earlier output was cut.

## Limits and side effects

* Read-only.
* `owner`/`repo` must be plain GitHub names (letters, numbers, `.`, `_`, `-`); anything else is rejected before any API call.
* `job_id` must be a positive integer.
* Returns at most the last 30 KB, cut at a character boundary.
* The whole log is streamed (up to 512 MB) and only its last 30 KB is kept, so the returned text always ends where the job ended.
* Logs are available only once GitHub has stored them, and expire under the repository's log retention setting.

## Expected errors

* No GitHub connection, a connection still waiting for an organization owner to approve the app, or an app that was uninstalled or suspended (reconnect GitHub).
* Invalid `owner`/`repo` format.
* `job_id` missing or not a positive integer.
* No log available yet (job still running) or no longer (expired) — GitHub returns not found or gone.
* GitHub API errors surface as the tool's error, rewritten to say what to fix: not found or no access to that repository (404 — check which repositories the installation includes), the repository is empty (no commits yet, HTTP 409), rate limit reached with the retry time (including GitHub's secondary limits, which ask for a one-minute wait), rejected app credentials (reconnect).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.