Skip to main content

Python API for Kiwi

Project description

https://travis-ci.org/kiwitcms/tcms-api.svg?branch=master https://ci.appveyor.com/api/projects/status/jhuyyt9vrpaxagrk?svg=true Documentation Code coverage Tidelift Become a sponsor Kiwi TCMS on Twitter

This package allows to connect and access Kiwi TCMS API.

DOCUMENTATION

https://tcms-api.readthedocs.io/en/latest/modules/tcms_api.html

CHANGELOG

v15.0 (22 Sep 2025)

  • Include host URL in Referer header

  • Updates for newer pylint

  • Updates for newer Sphynx

  • Update GitHub actions

v13.3 (10 Jun 2024)

  • Update requirements and imports for the strtobool() function

v13.2 (27 Apr 2024)

  • Respect configuration passed as arguments to the TCMS() class, for example:

    TCMS("https://kiwitcms.example.com/xml-rpc/", "api-bot", "keep-me-secret")
  • Adjust usage examples and documentation for .exec(). Closes Issue #77

  • Internal changes related to testing and building this package

v12.9.1 (13 Jan 2024)

  • Refactor RPC connection refresh using a proxy-class pattern which also takes care to call .login() upon refresh

v12.9 (12 Jan 2024)

  • Refresh internal https transport every 4 minutes to avoid an ssl.SSLEOFError: EOF occurred in violation of protocol error on Python 3.10 and later when executing very long running tests. Limited to non-kerberos connections!

  • Include Python version in User-Agent header

  • Send XML-RPC method name in Referer: header to improve logs

v12.8.2 (23 Dec 2023)

  • Refactor calling .login() method as part of __init__ again because the entire Kiwi TCMS test suite depends on this behavior

v12.8.1 (22 Dec 2023)

  • Limit TestPlan.name and TestCase.summary length before any usage avoiding possible records mismatch between filter & create operations

v12.8 (17 Dec 2023)

  • When creating a TestPlan limit name to 255 characters

  • When creating a TestCase limit summary to 255 characters

v12.7 (10 Dec 2023)

  • Build & test this package with Python 3.11

  • Replace urllib.parse functions deprecated since Python 3.8

  • Refactor issues reported by newer version of pylint

  • Refactor issues reported by CodeQL

  • Reformat source code with Black

  • Enable ReadTheDocs CI

v12.2 (04 Apr 2023)

  • New arguments for plugin_helpers.Backend.update_test_execution() method. Now accepts the start_date and stop_date arguments at the end of its signature

  • Start testing the client library with Python 3.9

v11.4 (15 Jul 2022)

  • Fallback to C:tcms.conf in case we’re on Windows

  • [pre-commit.ci] pre-commit autoupdate

v11.3 (17 May 2022)

  • Make it possible for plugins to print info about created/reused TP/TR

  • Specify start_date when creating a TestRun

v11.2 (15 May 2022)

  • Make plugin prefix configurable via TCMS_PREFIX environment variable. Fixes Issue #6

  • Use TCMS_PARENT_PLAN environment variable if specified. Will configure a parent TestPlan. Fixes Issue #4

  • Introduce plugin_helpers.Backend.name and plugin_helpers.Backend.version attributes

  • Convert plugin_helpers.Backend.default_tester_id into a cached property

  • Use the account sending the API request if default_tester_id is None. That avoide the use of User.filter API method for which most users may not be authorized

  • Sanity check and sanitize URL config. Refs Issue #45

v11.1 (13 May 2022)

  • Allow the environment variable TCMS_DEFAULT_TESTER_ID to override internal queries, pointing directly to the user who will create new test plans, test runs and update test executions.

  • Internal updates around CI

v11.0 (05 Dec 2021)

WARNING: contains backwards incompatible changes!

  • Method plugin_helpers.Backend.add_test_case_to_run() now returns a list

  • Adjust internal API calls for upcoming Kiwi TCMS v11.0

  • Still compatible with Kiwi TCMS v10.x API

  • Start using f-strings. Available since Python 3.6 which is the minimum required version for tcms-api anyway

v10.0 (02 March 2021)

WARNING: contains backwards incompatible changes!

  • Compatible with Kiwi TCMS v10.0 or later

v9.0 (12 January 2021)

WARNING: contains backwards incompatible changes!

  • Compatible with Kiwi TCMS v9.0 or later

  • Method Backend.build_id() doesn’t receive product_id as firsts parameter anymore! Related to Kiwi TCMS Issue #246

v8.6.0 (28 October 2020)

  • Use a sub-package to install gssapi, see installation instructions

v8.5.0 (04 August 2020)

  • Fix super() call in CookieTransport class to make this package compatible with Python 3.8 (Václav Klikar)

v8.4.0 (25 June 2020)

  • Add instructions how to install gssapi because they don’t ship binary packages on Linux

  • Provide plugin_helpers.Backend.get_statuses_by_weight() and fall-back to it if TestExecutionStatus can’t be found by name. This is to be used by Kiwi TCMS plugins (Bryan Mutai)

v8.3.0 (10 April 2020)

  • Use gssapi library for kerberos communications on both Linux and Windows

  • Requires MIT Kerberos for Windows, see installation instructions

v8.2.0 (02 April 2020)

This version adds additional methods and functionality that can be used by Kiwi TCMS plugins written in Python.

  • Modify plugin_helpers.Backend.test_case_get_or_create() to return tuple (dict, bool). WARNING: this will break existing plugins

  • plugin_helpers.Backend will use TCMS_PLAN_ID environment variable if specified. This allows the user to select an existing TestPlan to save new results into. Fixes Issue #5

  • Add plugin_helpers.Backend.finish_test_run() which may be called by plugins to indicate that a TestRun has been finished

  • Add plugin_helpers.Backend.default_tester_id() and update TestExecution.tested_by when changing status

  • Use default_tester_id() when creating a new TestRun

  • When creating new test run always set TR.manager := TP.author and make sure that TestPlan.create() will also specify author

v8.1.1 (23 March 2020)

  • Use winkerberos dependency on Microsoft Windows platform (@mtg-edmund-tse)

  • Setting rename in config file: use_mod_kerb -> use_kerberos

  • Bug-fix: don’t fall back to user/pass if kerberos is configured

  • Bug-fix: send correctly formatted authorization request header, per RFC-4459

  • Bug-fix: properly authenticate with Kiwi TCMS via kerberos ticket if requested to do so

  • Start sending User-Agent: tcms-api/<version> for all requests

  • Enable integration testing with and without Kerberos

  • Enable testing on Windows

v8.0.1 (10 February 2020)

This version is compatible only with Kiwi TCMS v8.0 or later!

  • Do not use deprecated field product in TestCase.create API method

  • Set TestCase.is_automated to True

v8.0 (09 February 2020)

This version is compatible only with Kiwi TCMS v8.0 or later!

  • Adjusts plugin_helpers module to reflect backwards incompatible API changes introduced in Kiwi TCMS v8.0

v6.7.1 (07 February 2020)

  • Fix a bug in how use_mod_kerb setting was evaluated which lead to always preferring Kerberos which in turn was causing issues on Windows.

v6.7 (10 April 2019)

This version is compatible only with Kiwi TCMS v6.7 or later! For older server versions use tcms-api==5.3!

This version contains breaking changes in plugin_helpers!

  • Switch from TestCaseRun to TestExecution API. Fixes Issue #7

  • Rename plugin_helpers.Backend.update_test_case_run() to plugin_helpers.Backend.update_test_execution()

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

tcms_api-15.0.tar.gz (30.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tcms_api-15.0-py3-none-any.whl (24.9 kB view details)

Uploaded Python 3

File details

Details for the file tcms_api-15.0.tar.gz.

File metadata

  • Download URL: tcms_api-15.0.tar.gz
  • Upload date:
  • Size: 30.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for tcms_api-15.0.tar.gz
Algorithm Hash digest
SHA256 fe155d3ca5a67783786e396ae4862fd1a8cfc8e4d85d9e486529db8d9b66b78c
MD5 a70c4d3529c699a8be97bfc1e7d3c8bb
BLAKE2b-256 b280bd9a04a9758773eea7fcd9c857dd1208cfba0617236370d0268621af7d15

See more details on using hashes here.

File details

Details for the file tcms_api-15.0-py3-none-any.whl.

File metadata

  • Download URL: tcms_api-15.0-py3-none-any.whl
  • Upload date:
  • Size: 24.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for tcms_api-15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1cc35e044385ce1428a3d0a5588e61dd61f2b8e665e41c00d2ab7b9c0a9752e7
MD5 6e701bbc194a1baee8830da87e80313c
BLAKE2b-256 ff1ae8a4e7868971e5d9f3c41b834b273a3f7be1b71595cf594cb86022214804

See more details on using hashes here.

Supported by

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