Skip to main content

Qase TMS Python Api Client

Project description

Qase TMS Python Api Client

License

Installation

pip install qaseio

Usage

Qase.io uses API tokens to authenticate requests. You can view an manage your API keys in API tokens pages.

You must replace api_token with your personal API key.

from qaseio.client import QaseApi

qase = QaseApi("api_token")

Projects

Get All Projects

This method allows to retrieve all projects available for your account. You can you limit and offset params to paginate.

projects = qase.projects.get_all()

Get a specific project

This method allows to retrieve a specific project.

project = qase.projects.get("PRJCODE")

Check project exists

exists = qase.projects.exists("PRJCODE")

Create a new project

This method is used to create a new project through API.

from qaseio.client.models import ProjectCreate

project = qase.projects.create(
    ProjectCreate("Test project", "PRJCODE")
)

Test cases

Get all test cases

This method allows to retrieve all test cases stored in selected project. You can you limit and offset params to paginate.

test_cases = qase.cases.get_all("PRJCODE")

Get a specific test case

This method allows to retrieve a specific test case.

test_case = qase.cases.get("PRJCODE", 4)

Check test case exists

exists = qase.cases.exists("PRJCODE", 4)

Delete test case

This method completely deletes a test case from repository.

qase.cases.delete("PRJCODE", 4)

Test Suites

Get all test suites

This method allows to retrieve all test suites stored in selected project. You can you limit and offset params to paginate.

from qaseio.client.models import TestSuiteFilters

test_suites = qase.suites.get_all(
    "PRJCODE", filters=TestSuiteFilters(search="query")
)

Get a specific test suite

This method allows to retrieve a specific test suite.

test_suite = qase.suites.get("PRJCODE", 123)

Check test suite exists

exists = qase.suites.exists("PRJCODE", 123)

Create a new test suite

This method is used to create a new test plan through API.

from qaseio.client.models import TestSuiteCreate

test_suite = qase.suites.create(
    "PRJCODE",
    TestSuiteCreate("New test suite"),
)

Update test suite

This method is used to update existing test suite through API.

from qaseio.client.models import TestSuiteUpdate

test_suite = qase.suites.update(
    "PRJCODE",
    123,
    TestSuiteUpdate("Updated suite"),
)

Delete test suite

This method completely deletes a test suite from repository.

qase.suites.delete("PRJCODE", 123)

Milestones

Get all milestones

This method allows to retrieve all milestones stored in selected project. You can you limit and offset params to paginate.

from qaseio.client.models import MilestoneFilters

milestones = qase.milestones.get_all(
    "PRJCODE", filters=MilestoneFilters(search="query")
)

Get a specific milestone

This method allows to retrieve a specific milestone.

milestone = qase.milestones.get("PRJCODE", 123)

Check milestone exists

exists = qase.milestones.exists("PRJCODE", 123)

Create a new milestone

This method is used to create a new test plan through API.

from qaseio.client.models import MilestoneCreate

milestone = qase.milestones.create(
    "PRJCODE",
    MilestoneCreate("New test suite"),
)

Update milestone

This method is used to update existing milestone through API.

from qaseio.client.models import MilestoneUpdate

test_suite = qase.milestones.update(
    "PRJCODE",
    123,
    MilestoneUpdate("Updated suite"),
)

Delete milestone

This method completely deletes a milestone from repository.

qase.milestones.delete("PRJCODE", 123)

Shared steps

Get all shared steps

This method allows to retrieve all shared steps stored in selected project. You can you limit and offset params to paginate.

from qaseio.client.models import SharedStepFilters

shared_steps = qase.shared_steps.get_all(
    "PRJCODE", filters=SharedStepFilters(search="query")
)

Get a specific shared step

This method allows to retrieve a specific shared step.

shared_step = qase.shared_steps.get("PRJCODE", "hash")

Check shared step exists

exists = qase.shared_steps.exists("PRJCODE", "hash")

Create a new shared step

This method is used to create a new shared step through API.

from qaseio.client.models import SharedStepCreate

shared_step = qase.shared_steps.create(
    "PRJCODE",
    SharedStepCreate("New step", "action"),
)

Update shared step

This method is used to update existing shared step through API.

from qaseio.client.models import SharedStepUpdate

shared_step = qase.shared_steps.update(
    "PRJCODE",
    "hash",
    SharedStepUpdate("Updated step"),
)

Delete shared step

This method completely deletes a shared step from repository.

qase.shared_steps.delete("PRJCODE", "hash")

Test plans

Get all test plans

This method allows to retrieve all test plans stored in selected project. You can you limit and offset params to paginate.

test_plans = qase.plans.get_all("PRJCODE")

Get a specific test plan

This method allows to retrieve a specific test plan.

test_plan = qase.plans.get("PRJCODE", 123)

Check test plan exists

exists = qase.plans.exists("PRJCODE", 123)

Create a new test plan

This method is used to create a new test plan through API.

from qaseio.client.models import TestPlanCreate

test_plan = qase.plans.create(
    "PRJCODE",
    TestPlanCreate("New test run", [1, 2, 3]),
)

Update test plan

This method is used to update existing test plan through API.

from qaseio.client.models import TestPlanCreate

test_plan = qase.plans.update(
    "PRJCODE",
    123,
    TestPlanCreate("New test run", [1, 2, 3]),
)

Delete test plan

This method completely deletes a test plan from repository.

qase.plans.delete("PRJCODE", 123)

Test runs

Get all test runs

This method allows to retrieve all test runs stored in selected project. You can you limit and offset params to paginate.

from qaseio.client.models import TestRunInclude
test_runs = qase.runs.get_all("PRJCODE", include=TestRunInclude.CASES)

Get a specific test run

This method allows to retrieve a specific test run.

test_run = qase.runs.get("PRJCODE", 4)

Check test run exists

exists = qase.runs.exists("PRJCODE", 4)

Create a new test run

This method is used to create a new test run through API.

from qaseio.client.models import TestRunCreate

test_run = qase.runs.create(
    "PRJCODE",
    TestRunCreate("Test run", [1, 2, 3]),
)

Delete test run

This method completely deletes a test run from repository.

qase.runs.delete("PRJCODE", 4)

Test run results

Get all test run results

This method allows to retrieve all test run results stored in selected project. You can you limit and offset params to paginate.

test_run_results = qase.results.get_all("PRJCODE")

Get a specific test run result

This method allows to retrieve a specific test run result.

test_run_result = qase.results.get("PRJCODE", "2898ba7f3b4d857cec8bee4a852cdc85f8b33132")

Create a new test run result

This method is used to create a new test run result through API.

from qaseio.client.models import TestRunResultCreate, TestRunResultStatus

test_run_result = qase.results.create(
    "PRJCODE",
    4,
    TestRunResultCreate(123, TestRunResultStatus.PASSED),
)

Update test run result

This method is used to update existing test run result through API.

from qaseio.client.models import TestRunResultUpdate, TestRunResultStatus

test_run_result = qase.results.update(
    "PRJCODE",
    4,
    "2898ba7f3b4d857cec8bee4a852cdc85f8b33132",
    TestRunResultUpdate(TestRunResultStatus.PASSED),
)

Delete test run result

This method completely deletes a test run result from repository.

qase.results.delete("PRJCODE", 4, "2898ba7f3b4d857cec8bee4a852cdc85f8b33132")

Defects

Get all defects

This method allows to retrieve all defects stored in selected project. You can you limit and offset params to paginate.

from qaseio.client.models import DefectStatus, DefectFilters
defects = qase.defects.get_all("PRJCODE", filter=DefectFilters(DefectStatus.OPEN))

Get a specific defect

This method allows to retrieve a specific defect.

defect = qase.defects.get("PRJCODE", 4)

Check defect exists

exists = qase.defects.exists("PRJCODE", 4)

Resolve defect

This method is used to resolve defect through API.

defect = qase.defects.resolve("PRJCODE", 4)

Delete defect

This method completely deletes a defect from repository.

qase.defects.delete("PRJCODE", 4)

Custom fields

Get all custom fields

This method allows to retrieve all custom fields stored in selected project. You can you limit and offset params to paginate.

custom_fields = qase.custom_fields.get_all("PRJCODE")

Get a specific custom field

This method allows to retrieve a specific custom field.

custom_field = qase.custom_fields.get("PRJCODE", 123)

Check custom field exists

exists = qase.custom_fields.get("PRJCODE", 123)

Attachments

Get all attachments

This method allows to retrieve all attachments stored in team. You can you limit and offset params to paginate.

attachments = qase.attachments.get_all()

Get a specific attachment

This method allows to retrieve a specific attachment.

attachment = qase.attachments.get("<hash>")

Check attachment exists

exists = qase.attachments.exists("<hash>")

Upload new attachments

This method is used to upload new attachments through API. It supports different input formats

from qaseio.client.models import MimeTypes
results = qase.attachments.upload(
    "PRJCODE",
    "/absolute/path/to/file", # Upload file from absolute path
    "./relative/path/to/file", # Upload file from relative path
    # Upload file from path and specify mime-type
    ("./path/to/file", MimeTypes.CSV),
    # Upload bytes with given mime-type and filename
    (b"some bytes data", MimeTypes.JSON, "filename.json"),
)

You can specify as much files to upload as you need, according to API limits.

Delete attachment

This method completely deletes a attachment from repository.

qase.attachments.delete("<hash>")

Team

Get all team members

This method allows to retrieve all users in your team. You can you limit and offset params to paginate.

users = qase.users.get_all()

Get a specific team member

This method allows to retrieve a specific user in your team.

user = qase.users.get(123)

Check user exists

exists = qase.users.get(123)

Contribution

Install project locally:

python3 -m venv .venv
source .venv/bin/activate
python setup.py develop

Install dev requirements:

pip install pre-commit
pre-commit install

Test project:

tox

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qaseio-1.1.1.tar.gz (51.8 kB view details)

Uploaded Source

Built Distribution

qaseio-1.1.1-py2.py3-none-any.whl (26.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file qaseio-1.1.1.tar.gz.

File metadata

  • Download URL: qaseio-1.1.1.tar.gz
  • Upload date:
  • Size: 51.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for qaseio-1.1.1.tar.gz
Algorithm Hash digest
SHA256 ebeeb1b40ae0a80b77072177d2b3e96376318f2610ef2d8e5bb5bb7f361c5ab9
MD5 bd95782d438e1ab42f5caeb6acae8abd
BLAKE2b-256 a6897e9b60ff1200176507cd486230a6c180026bfb1aa172daa858431884a0a0

See more details on using hashes here.

File details

Details for the file qaseio-1.1.1-py2.py3-none-any.whl.

File metadata

  • Download URL: qaseio-1.1.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 26.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for qaseio-1.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0bbf2e925904145ee66fed346353001d5829a190670569f284d8ed66e7a050a8
MD5 95dff225f3665e243b147f7b43d997db
BLAKE2b-256 0bae220f1e0f697f69b882e1cb1bd8a3532c6662445b0a1d701d30ad6c2af1a1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page