Community연구 & 데이터 분석github.com

kos322/testrail-skill

TestRail REST API를 위한 AI 에이전트 스킬 - 제로 종속성, MCP 서버에 대한 보안 친화적인 대안

testrail-skill란 무엇인가요?

이 스킬은 TestRail REST API와의 직접적인 통합을 제공하는 AI 에이전트 스킬입니다. 제로 종속성으로 설계되어 MCP 서버와 같은 추가 종속성이 필요 없으며, 보안에 민감한 환경에서도 안전하게 사용할 수 있습니다. 주로 Claude Code, Cursor, Codex와 같은 AI 에이전트 플랫폼에서 사용할 수 있으며, 리포지토리 로컬 bash 래퍼를 통해 TestRail의 API v2에 접근합니다. 환경 변수(TESTRAIL_URL, TESTRAIL_USER, TESTRAIL_API_KEY)를 설정한 후, 다양한 스크립트를 사용하여 프로젝트 조회, 케이스 목록 확인, 케이스 개수 세기, 단일 케이스 조회, 필드 접근, precondition 확인, 실행 관리 등을 수행할 수 있습니다. 또한 PowerShell 래퍼를 통해 Windows 환경에서도 사용할 수 있도록 지원합니다. 이 스킬은 AI 에이전트가 TestRail 데이터를 효율적으로 탐색하고 조작할 수 있도록 하는 데 중점을 둡니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add kos322/testrail-skill

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

TestRail API Skill

직접적인 TestRail REST API 통합을 리포지토리 로컬 bash 래퍼를 통해 제공합니다.

설치

먼저 리포지토리를 클론하세요:

git clone https://github.com/kos322/testrail-skill.git
cd testrail-skill

설정

다음 환경 변수를 설정하세요:

  • TESTRAIL_URL
  • TESTRAIL_USER
  • TESTRAIL_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 jsoncount와 cases를 포함한 JSON 객체
단일 케이스get-caseJSON 케이스 객체
단일 케이스 필드get-case-field일반 스칼라/문자열 또는 배열/객체의 경우 압축 JSON
케이스 preconditionget-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.sh
  • examples/workflow_plans_milestones.sh
  • examples/workflow_attachments.sh

공식 API 문서: https://support.testrail.com/hc/en-us/categories/7076541806228-API-Manual

관련 스킬