Skip to main content

fetching-circleci-logs

Fetches CircleCI job logs via the v1.1 API and displays step-level output. Focuses on failed steps. Use when: CI checks fail on a PR, user shares a CircleCI job URL, user asks to check build logs, 'circleci', 'build failed', 'CI failed', 'check the logs'.

Quellinformationen

Repository
NTCoding/claude-skillz
Letzte Quellaktivität
24. März 2026 um 16:11
Erkannte Sprache von SKILL.md
Englisch
Sterne
358
Forks
47

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
fetching-circleci-logs
description
Fetches CircleCI job logs via the v1.1 API and displays step-level output. Focuses on failed steps. Use when: CI checks fail on a PR, user shares a CircleCI job URL, user asks to check build logs, 'circleci', 'build failed', 'CI failed', 'check the logs'.
# Fetching CircleCI Logs Fetch step-level build logs from CircleCI jobs using the v1.1 API. ## When to use - PR checks failed and you need to see why - User shares a CircleCI URL (e.g. `https://circleci.com/gh/org/repo/169955`) - User asks to investigate a CI failure ## Extract job details from URL CircleCI URLs follow this pattern: ``` https://circleci.com/gh/{org}/{repo}/{job_number} ``` Extract `org`, `repo`, and `job_number` from the URL. If the user provides only a job number, ask for the org/repo or check the current git remote: ```bash git remote get-url origin | sed -E 's|.*github\.com[:/]([^/]+)/([^/.]+).*|\1/\2|' ``` ## Fetch logs ### Step 1: Get the CircleCI token ```bash grep 'token' ~/.circleci/cli.yml | awk '{print $2}' ``` If the file doesn't exist or has no token, tell the user to run `circleci setup` or set the token manually. ### Step 2: Fetch job data and display step output Run this as a single command, substituting `{org}`, `{repo}`, and `{job_number}`: ```bash TOKEN=$(grep 'token' ~/.circleci/cli.yml | awk '{print $2}') && \ curl -s -H "Circle-Token: $TOKEN" \ "https://circleci.com/api/v1.1/project/gh/{org}/{repo}/{job_number}" | \ python3 -c " import sys, json, urllib.request data = json.load(sys.stdin) for step in data.get('steps', []): for action in step.get('actions', []): status = action.get('status', '') name = action.get('name', '') exit_code = action.get('exit_code') failed = action.get('failed', False) print(f'STEP: {name} | status: {status} | exit: {exit_code}') if failed and action.get('output_url'): with urllib.request.urlopen(action['output_url']) as r: for msg in json.load(r): print(msg.get('message', '')[:2000]) " ``` ### Step 3: Analyze the output After fetching, summarize: 1. Which steps failed and why 2. The relevant error messages (not the full log) 3. Suggested fix if the cause is clear ## Important notes - **Use API v1.1** — v2 does not return step-level output with log URLs. - The `output_url` is a pre-signed S3 URL — no additional auth needed to fetch it. - Truncate log messages to 2000 chars per action to avoid context window bloat. - If the API returns 404, the job number is likely wrong or the token lacks access to that project. ## Mandatory Checklist When fetching CircleCI logs, complete this checklist: 1. [ ] Verify the CircleCI token exists in `~/.circleci/cli.yml` 2. [ ] Verify org, repo, and job number are correctly extracted from the URL or git remote 3. [ ] Verify you are using the v1.1 API (not v2) 4. [ ] Verify you summarized the failure cause, not just dumped raw logs Do not proceed to suggest fixes until all checks pass.
Auf GitHub ansehen