Skip to main content

BaseAnalysisRequest

Shared fields for all analysis request types. This is the base model inherited by AnalyzeRequest and AnalyzeFailuresRequest.
tests_repo_url
HttpUrl
URL of the tests repository (overrides env var default)
ai_provider
Literal['claude', 'gemini', 'cursor']
AI provider to use: claude, gemini, or cursor (overrides env var default)
ai_model
string
AI model to use (overrides env var default)
enable_jira
boolean
Enable Jira bug search (default: true when Jira is configured, set false to skip)
ai_cli_timeout
integer
AI CLI timeout in minutes (overrides AI_CLI_TIMEOUT env var)Validation: Must be greater than 0
jira_url
string
Jira instance URL (overrides JIRA_URL env var)
jira_email
string
Jira Cloud email (overrides JIRA_EMAIL env var)
jira_api_token
string
Jira Cloud API token (overrides JIRA_API_TOKEN env var)Format: password
jira_pat
string
Jira Server/DC personal access token (overrides JIRA_PAT env var)Format: password
jira_project_key
string
Jira project key to scope searches (overrides JIRA_PROJECT_KEY env var)
jira_ssl_verify
boolean
Jira SSL verification (overrides JIRA_SSL_VERIFY env var)
jira_max_results
integer
Max Jira search results (overrides JIRA_MAX_RESULTS env var)Validation: Must be greater than 0

Example

{
  "tests_repo_url": "https://github.com/example/tests",
  "ai_provider": "claude",
  "ai_model": "claude-3-5-sonnet-20241022",
  "enable_jira": true,
  "ai_cli_timeout": 30,
  "jira_url": "https://example.atlassian.net",
  "jira_email": "[email protected]",
  "jira_api_token": "your-api-token",
  "jira_project_key": "PROJ",
  "jira_ssl_verify": true,
  "jira_max_results": 10
}

AnalyzeRequest

Request payload for the analysis endpoint. Extends BaseAnalysisRequest with Jenkins-specific fields.
job_name
string
required
Jenkins job name (can include folders like ‘folder/job-name’)
build_number
integer
required
Build number to analyze
callback_url
HttpUrl
Optional callback URL for async results (overrides env var default)
callback_headers
object
Optional headers to include in callback request (overrides env var default)
jenkins_url
string
Jenkins server URL (overrides JENKINS_URL env var)
jenkins_user
string
Jenkins username (overrides JENKINS_USER env var)
jenkins_password
string
Jenkins password or API token (overrides JENKINS_PASSWORD env var)Format: password
jenkins_ssl_verify
boolean
Jenkins SSL verification (overrides JENKINS_SSL_VERIFY env var)
This model inherits all fields from BaseAnalysisRequest, so all Jira and AI configuration fields are also available.

Example

{
  "job_name": "frontend/build-pipeline",
  "build_number": 42,
  "callback_url": "https://example.com/webhook/results",
  "callback_headers": {
    "Authorization": "Bearer secret-token"
  },
  "jenkins_url": "https://jenkins.example.com",
  "jenkins_user": "admin",
  "jenkins_password": "api-token-here",
  "jenkins_ssl_verify": true,
  "tests_repo_url": "https://github.com/example/tests",
  "ai_provider": "claude",
  "enable_jira": true
}

AnalyzeFailuresRequest

Request payload for direct failure analysis (no Jenkins integration). Extends BaseAnalysisRequest.
failures
array
Raw test failures to analyze
raw_xml
string
Raw JUnit XML content to extract failures from and enrich with analysis resultsValidation: Maximum length of 50,000,000 characters
This model inherits all fields from BaseAnalysisRequest, so all Jira and AI configuration fields are also available.
Validation Rules:
  • Provide either failures or raw_xml, not both
  • At least one of failures or raw_xml must be provided

Example with failures array

{
  "failures": [
    {
      "test_name": "com.example.TestClass.testMethod",
      "error_message": "AssertionError: Expected 200 but got 500",
      "stack_trace": "AssertionError: Expected 200 but got 500\n  at TestClass.testMethod(TestClass.java:42)",
      "duration": 1.5,
      "status": "FAILED"
    }
  ],
  "ai_provider": "gemini",
  "enable_jira": true
}

Example with raw XML

{
  "raw_xml": "<?xml version='1.0' encoding='UTF-8'?>\n<testsuites>...</testsuites>",
  "tests_repo_url": "https://github.com/example/tests",
  "ai_provider": "cursor"
}

Build docs developers (and LLMs) love