SOC 직업 분류 기준
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/konflux-ci/release-service-catalog --skill debug-e2e명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | debug-e2e |
| description | Debug failing e2e tests on a PR. |
| disable-model-invocation | true |
Required tools: jq, gh, kubectl (or oc), kubectl-ka (KubeArchive plugin)
Before starting, verify all required tools are installed:
for cmd in jq gh kubectl; do command -v "${cmd}" &>/dev/null || echo "MISSING:${cmd}"; done
kubectl plugin list 2>/dev/null | grep -q kubectl-ka || echo "MISSING:kubectl-ka"
If any tool is missing, stop and tell the user which ones are missing. For kubectl-ka, link to: https://konflux.pages.redhat.com/docs/users/faq/kubearchive.html
$ARGUMENTS is a GitHub PR URL (e.g. https://github.com/konflux-ci/release-service-catalog/pull/2328).
scripts/get-failed-e2e-checks.sh $ARGUMENTS
This outputs a JSON array. Each element has these fields:
name — the check namepipelinerun — the PipelineRun name (e.g. collector-e2e-test-rlx2d)pipelinerun_url — direct link to the Konflux UInamespace — the namespace (e.g. rhtap-release-2-tenant)tasks[] — array of tasks with task, passed, duration, logs_urlUse the pipelinerun and namespace fields from step 1. Try kubectl get first (live cluster), and if it returns empty results, fall back to kubectl ka get (KubeArchive):
kubectl get taskrun -n <namespace> \
-l tekton.dev/pipelineRun=<pipelinerun> \
-o json | jq '[
.items[]
| (.status.results // [] | map(select(.name == "TEST_OUTPUT")) | first // null) as $test
| {
name: .metadata.name,
task: .metadata.labels["tekton.dev/pipelineTask"],
pod: .status.podName,
test_output: ($test.value | fromjson? // null)
}
| select(.test_output.result == "FAILURE")
]'
If the above returns an empty array or errors, retry with kubectl ka get instead of kubectl get (the resources may have been archived). Once any kubectl ka fallback succeeds, use kubectl ka directly for all subsequent cluster calls in this session (TaskRun fetches, log fetches, etc.).
Important: TaskRun conditions will show Succeeded even for test failures because the test script traps errors and always exits 0. The actual result is in the TEST_OUTPUT result (result: "FAILURE").
Use the pod and namespace from step 2.
kubectl logs -n <namespace> <pod> -c step-run-test
The -c step-run-test flag is required. Tekton pods have multiple containers and the test output is in the step-run-test container.
Provide a table with the following structure:
| Test Name | Failure Cause | Konflux UI Link |
|-----------|---------------|-----------------|
| <short test name> | <one-line failure cause> | <pipelinerun_url> |
https://... URL in the Konflux UI Link column.