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

# actions_download_job_logs

> Read a failing job's log. Returns the last 200 lines plus every line that looks like an error, with the line numbers and the log's real length — not the whole file, which is routinely megabytes. Use this after `actions_list_jobs_for_run` has named the job; try `checks_list_annotations` first, which is cheaper when the check reported the failure with a file and a line.

<div className="tool-route"><span className="tool-row-method" data-method="GET">GET</span><code>{"https://api.github.com/repos/{owner}/{repo}/actions/jobs/{jobId}/logs"}</code></div>

```python github_actions_download_job_logs.py theme={null}
from charter.packs import github

result = await github.actions_download_job_logs.ainvoke({"owner": ..., "repo": ..., "jobId": ...})
```

<Note>
  Requires `repo`, `read:user`.
</Note>

## Path parameters

<div className="reference-table">
  | Field                                                         | Type      | Description                                                                                                                   |
  | ------------------------------------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------- |
  | `owner` <span className="required" title="required">\*</span> | `string`  | The account owner of the repository. The name is not case sensitive.                                                          |
  | `repo` <span className="required" title="required">\*</span>  | `string`  | The name of the repository without the `.git` extension. The name is not case sensitive.                                      |
  | `jobId` <span className="required" title="required">\*</span> | `integer` | The unique identifier of the job. This is the job's `id` from `actions_list_jobs_for_run`, not its name and not the run's id. |
</div>
