Qase TestOps API V2 Client

2.0.6 · active · verified Fri Apr 17

The `qase-api-v2-client` library provides a Python client for interacting with the Qase TestOps API V2. It allows users to programmatically manage projects, test cases, runs, and other entities within Qase. The current version is 2.0.6, and it is part of a larger `qase-python` monorepo, with updates typically occurring when the Qase API specification changes or bug fixes are introduced across the ecosystem.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to initialize the Qase API V2 client, authenticate using an API token (preferably from environment variables), and make a basic call to list projects. It explicitly highlights and corrects the common pitfall of the default API host.

import os
from qase_api_v2_client import ApiClient, Configuration
from qase_api_v2_client.api.projects_api import ProjectsApi
from qase_api_v2_client.exceptions import ApiException

# Configure API key authentication
configuration = Configuration()
configuration.api_key['TokenAuth'] = os.environ.get('QASE_API_TOKEN', 'YOUR_QASE_API_TOKEN_HERE')

# IMPORTANT: The client is named 'v2-client' but its default host is 'v1'.
# Explicitly set the host to the Qase API V2 endpoint.
configuration.host = os.environ.get('QASE_API_BASE_URL', 'https://api.qase.io/v2')

# Create an instance of the API client
api_client = ApiClient(configuration)

# Create an instance of a specific API service, e.g., ProjectsApi
projects_api = ProjectsApi(api_client)

try:
    # Example: List projects
    response = projects_api.get_projects()
    print(f"Successfully connected to Qase API V2. Found {response.total} projects.")
    if response.entities:
        print(f"First project: {response.entities[0].title} (Code: {response.entities[0].code})")
except ApiException as e:
    print(f"Error calling Qase API: {e.status} - {e.body}")
    if e.status == 401:
        print("Please check your QASE_API_TOKEN and ensure it's valid for the v2 API.")
    elif e.status == 404 and 'v1' in configuration.host:
        print("Consider changing QASE_API_BASE_URL to 'https://api.qase.io/v2'.")
except Exception as e:
    print(f"An unexpected error occurred: {e}")

view raw JSON →