get_job_logs
Get logs for GitHub Actions workflow jobs. Use this tool to retrieve logs for a specific job or all failed jobs in a workflow run. For single job logs, provide job_id. For all failed jobs in a run, provide run_id with failed_only=true.
This record as markdown: /tools/github/get-job-logs.md
What get_job_logs does on GitHub
AI agents call get_job_logs to retrieve information from GitHub without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
repo | string | — | Repository name |
owner | string | — | Repository owner |
job_id | number | — | The unique identifier of the workflow job. Required when getting logs for a single job. |
run_id | number | — | The unique identifier of the workflow run. Required when failed_only is true to get logs for all failed jobs in the run. |
tail_lines | number | — | Number of lines to return from the end of the log |
failed_only | boolean | — | When true, gets logs for all failed jobs in the workflow run specified by run_id. Requires run_id to be provided. |
return_content | boolean | — | Returns actual log content instead of URLs |
Parameters from the server's own tool schema.
Why get_job_logs is rated Low
This tool only reads and returns historical log data from completed workflow runs. It has no side effects, cannot modify repository state, cannot trigger actions, and cannot delete or destroy data. The blast radius of misuse is minimal — an attacker gains visibility into build/test output but cannot compromise the repository or systems.
From the tool's definition Tool retrieves logs for GitHub Actions workflow jobs with no modification capability. Description states 'Get logs' and 'retrieve logs' — pure data retrieval operations. No create, update, delete, or execution of external systems.
Attacks that exploit this kind of access
The rule that runs get_job_logs safely
PolicyLayer is an MCP gateway: it sits between your AI agents and GitHub, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For get_job_logs, this is the rule to start with:
get_job_logs is read-only, so it stays allowed. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect GitHub, apply this rule, and every get_job_logs call is checked against it from then on.
Questions about get_job_logs
Get logs for GitHub Actions workflow jobs. Use this tool to retrieve logs for a specific job or all failed jobs in a workflow run. For single job logs, provide job_id. For all failed jobs in a run, provide run_id with failed_only=true. It is categorised as a Read tool in the GitHub MCP Server, which means it retrieves data without modifying state.
get_job_logs accepts 7 parameters: repo, owner, job_id, run_id, tail_lines, failed_only, return_content. The full parameter table on this page comes from the server's own tool schema.
Register the GitHub MCP server in PolicyLayer and add a rule for get_job_logs: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches GitHub. Nothing to install.
get_job_logs is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the get_job_logs rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for get_job_logs. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
get_job_logs is provided by the GitHub MCP server (oci:ghcr.io/github/github-mcp-server:1.3.0). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on GitHub, and thousands of servers like it.
This server
Across the catalogue