TestRail API Skill
직접적인 TestRail REST API 통합을 리포지토리 로컬 bash 래퍼를 통해 제공합니다.
설치
먼저 리포지토리를 클론하세요:
git clone https://github.com/kos322/testrail-skill.git
cd testrail-skill
설정
다음 환경 변수를 설정하세요:
TESTRAIL_URLTESTRAIL_USERTESTRAIL_API_KEY
기본 URL:
${TESTRAIL_URL}/index.php?/api/v2
의사 결정 트리
- 알려진
PROJECT_ID+ 간단한 읽기 전용 질문: 직접 래퍼를 즉시 호출합니다. - 알 수 없는
PROJECT_ID:./scripts/get_projects.sh를 호출합니다. - 환경/인증/설정 문제 또는 첫 번째 설치:
./scripts/doctor.sh를 호출합니다.
일반적인 쿼리
# 알려진 프로젝트 ID: 전체 케이스 개수
./scripts/count_cases.sh PROJECT_ID [SECTION_ID] [--suite SUITE_ID]
# 알려진 프로젝트 ID: 자동 페이지네이션 포함 전체 케이스 목록
./scripts/list_cases.sh PROJECT_ID [SECTION_ID] [--suite SUITE_ID]
# 알려진 프로젝트 ID: 원시 페이지네이션된 케이스 페이지
./scripts/get_cases.sh PROJECT_ID [SECTION_ID] [--suite SUITE_ID]
# 언제든지: 단일 케이스 읽기
./scripts/get_case.sh CASE_ID | jq -r .title
# 수동 JSON 파싱 없이 단일 필드 접근
./scripts/get_case_field.sh CASE_ID FIELD
# Precondition 바로가기
./scripts/get_case_precondition.sh CASE_ID
# 알 수 없는 프로젝트 ID: 접근 가능한 프로젝트 발견
./scripts/get_projects.sh | jq '(.projects // .) | map({id, name})'
# 설정/인증 문제: 환경 및 접근 검증
./scripts/doctor.sh
선호하는 래퍼
scripts/count_cases.sh— 신뢰할 수 있는 전체 케이스 개수scripts/list_cases.sh— 자동 페이지네이션 포함 전체 케이스 목록scripts/get_cases.sh— 원시 페이지네이션된 케이스 응답scripts/get_case.sh— 단일 케이스 조회scripts/get_case_field.sh— 단일 필드 조회scripts/get_case_precondition.sh— precondition 바로가기scripts/get_projects.sh— 접근 가능한 프로젝트 발견scripts/doctor.sh— 설정/인증 상태 확인scripts/create_run.sh,scripts/add_result*.sh,scripts/close_run.sh— 실행/결과 흐름scripts/get_reference_data.sh— 상태, 필드, 템플릿, 사용자
출력 계약
| 의도 | 명령어 | 출력 |
|---|---|---|
| 전체 케이스 개수 | count-cases | 일반 정수 |
| 케이스 목록 | list-cases | 기본적으로 일반 텍스트: C{id}: {title} |
| 구조화된 케이스 목록 | list-cases --format json | count와 cases를 포함한 JSON 객체 |
| 단일 케이스 | get-case | JSON 케이스 객체 |
| 단일 케이스 필드 | get-case-field | 일반 스칼라/문자열 또는 배열/객체의 경우 압축 JSON |
| 케이스 precondition | get-case-precondition | 일반 텍스트 / 원시 필드 값 |
페이지네이션
get_cases,get_runs,get_results*및 유사한 엔드포인트는 페이지네이션될 수 있습니다._links.next가 비어 있지 않은 경우.size가 안전한 총계라고 가정하지 마세요.- "케이스가 몇 개 있습니까?"라는 질문에는
./scripts/count_cases.sh를 사용하세요.
Windows
- 선호: Git Bash / WSL.
- PowerShell 전용 환경:
powershell/의 얇은 래퍼를 사용하세요. - PowerShell 래퍼는 bash 스크립트만 실행하며,
.env를 자체적으로 읽지 않습니다.
.\powershell\count-cases.ps1 1
.\powershell\list-cases.ps1 1
.\powershell\list-cases.ps1 1 --format json
.\powershell\get-case.ps1 93
.\powershell\get-case-field.ps1 2 custom_preconds
.\powershell\get-case-precondition.ps1 2
.\powershell\get-cases.ps1 1 10 --suite 1
.\powershell\get-sections.ps1 1 1
.\powershell\get-runs.ps1 1
주문형 문서
scripts/README.md— 스크립트별 사용법docs/api-reference.md— 엔드포인트 참고 및 페이로드 형식docs/troubleshooting.md— 설정 및 인증 오류docs/agent-guide.md— 에이전트별 실행 지침docs/maintenance/endpoint-status.md— 유지보수 스냅샷, 런타임 지침 아님
예제
examples/workflow_ci.shexamples/workflow_plans_milestones.shexamples/workflow_attachments.sh
공식 API 문서: https://support.testrail.com/hc/en-us/categories/7076541806228-API-Manual