kiwitcms-junit.xml-plugin


Namekiwitcms-junit.xml-plugin JSON
Version 12.8.1 PyPI version JSON
download
home_pagehttps://github.com/kiwitcms/junit.xml-plugin
Summaryjunit.xml plugin for Kiwi TCMS test case management system
upload_time2023-12-22 10:36:40
maintainer
docs_urlNone
authorKiwi TCMS
requires_python
licenseGPLv3+
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            junit.xml plugin for Kiwi TCMS
==============================

.. image:: https://img.shields.io/pypi/v/kiwitcms-junit.xml-plugin.svg
    :target: https://pypi.org/project/kiwitcms-junit.xml-plugin
    :alt: PyPI version

.. image:: https://travis-ci.org/kiwitcms/junit.xml-plugin.svg?branch=master
    :target: https://travis-ci.org/kiwitcms/junit.xml-plugin
    :alt: Travis CI

.. image:: https://coveralls.io/repos/github/kiwitcms/junit.xml-plugin/badge.svg?branch=master
    :target: https://coveralls.io/github/kiwitcms/junit.xml-plugin?branch=master
    :alt: Code coverage

.. image:: https://pyup.io/repos/github/kiwitcms/junit.xml-plugin/shield.svg
    :target: https://pyup.io/repos/github/kiwitcms/junit.xml-plugin/
    :alt: Python updates

.. image:: https://img.shields.io/badge/kiwi%20tcms-results-9ab451.svg
    :target: https://tcms.kiwitcms.org/plan/7/
    :alt: TP for kiwitcms/junit.xml-plugin (master)

.. image:: https://tidelift.com/badges/package/pypi/kiwitcms-junit.xml-plugin
    :target: https://tidelift.com/subscription/pkg/pypi-kiwitcms-junit.xml-plugin?utm_source=pypi-kiwitcms-junit.xml-plugin&utm_medium=github&utm_campaign=readme
    :alt: Tidelift

.. image:: https://opencollective.com/kiwitcms/tiers/sponsor/badge.svg?label=sponsors&color=brightgreen
   :target: https://opencollective.com/kiwitcms#contributors
   :alt: Become a sponsor

.. image:: https://img.shields.io/twitter/follow/KiwiTCMS.svg
    :target: https://twitter.com/KiwiTCMS
    :alt: Kiwi TCMS on Twitter


This package allows you to read junit.xml files and
send the results to `Kiwi TCMS <http://kiwitcms.org>`_.


Installation
------------

::

    pip install kiwitcms-junit.xml-plugin


Configuration and environment
-----------------------------

Minimal config file `~/.tcms.conf`::

    [tcms]
    url = https://tcms.server/xml-rpc/
    username = your-username
    password = your-password


For more info see `tcms-api docs <https://tcms-api.readthedocs.io>`_.

This plugin is only concerned with parsing the junit.xml format and executing
`tcms-api` functions which will create/reuse test cases, test plans and test runs.
`tcms-api` behavior is controlled via environment variables.

For example this is how our own environment looks like::

    #!/bin/bash

    if [ "$TRAVIS_EVENT_TYPE" == "push" ]; then
        # same as $TRAVIS_TAG when building tags
        export TCMS_PRODUCT_VERSION=$TRAVIS_BRANCH
    fi

    if [ "$TRAVIS_EVENT_TYPE" == "pull_request" ]; then
        export TCMS_PRODUCT_VERSION="PR-$TRAVIS_PULL_REQUEST"
    fi

    export TCMS_BUILD="$TRAVIS_BUILD_NUMBER-$(echo $TRAVIS_COMMIT | cut -c1-7)"

Further documentation and behavior specification can be found
`here <https://tcms-api.readthedocs.io/en/latest/modules/tcms_api.plugin_helpers.html>`_.

The above configuration creates a separate TestPlan for each branch, see
`TP-7: [junit.xml] Plan for kiwitcms/junit.xml-plugin (master) <https://tcms.kiwitcms.org/plan/7/>`_,
a separate TestPlan for each pull request (recording possible multiple test runs) and
separate TestPlan and TestRun for each tag on GitHub! `tcms-api` has default behavior
for Travis CI and Jenkins and allows endless configuration via environment variables.


Usage
-----

::

    # define environment variables
    tcms-junit.xml-plugin /path/to/junit.xml


Changelog
---------


v12.8.1 (22 Dec 2023)
~~~~~~~~~~~~~~~~~~~~~

- Update tcms-api from 12.7 to 12.8.1
- Relax the requirement on tcms-api to allow for easier upgrades


v12.7 (10 Dec 2023)
~~~~~~~~~~~~~~~~~~~

- Update junitparser from 2.8.0 to 3.1.0
- Update tcms-api from 12.2 to 12.7
- Calculate ``stop_date`` only when ``start_date`` is valid (Michael Kaye)


v12.2.999 (18 Apr 2023)
~~~~~~~~~~~~~~~~~~~~~~~

- Read ``start_date`` from ``<testsuite timestamp>`` if it exists. Fixes
  `Issue #89 <https://github.com/kiwitcms/junit.xml-plugin/issues/89>`_
- Internal refactoring. **WARNING:** contains backwards incompatible changes for
  ``testcase_summary()`` and ``testexecution_timestamps()`` methods which will
  break inherited classes


v12.2 (04 Apr 2023)
~~~~~~~~~~~~~~~~~~~

- Report TestExecution timestamps if present in XML


v12.1 (21 Mar 2023)
~~~~~~~~~~~~~~~~~~~

- Decode byte strings before sending comments to RPC (Sergey Lazarev)
- Format comments as Markdown when rendering the raw XML values
- Append stdout/stderr information to failure/error comments
- Updates around CI and expanded test matrix


v12.0 (16 Mar 2023)
~~~~~~~~~~~~~~~~~~~

- Provide a ``--summary-template`` for optional customization of the
  summary generated from the test cases (Michael Kaye)
- Update junitparser from 2.5.0 to 2.8.0
- Update tcms-api from 11.3 to 11.4
- Refactoring and code formatting
- Add CodeQL workflow for GitHub code scanning


v11.3 (18 May 2022)
~~~~~~~~~~~~~~~~~~~

- Update tcms-api from 11.2 to 11.3
- Print information about created records if ``-v`` or ``--verbose``
  is specified on the command line
- Allow multiple XML files to be specified on the command line


v11.2 (16 May 2022)
~~~~~~~~~~~~~~~~~~~

- Update junitparser from 2.2.0 to 2.5.0
- Update tcms-api from 11.0 to 11.2
- Annotate plugin with name & version information
- Trim TestCase.summary to 255 characters. Fixes
  `Issue #44 <https://github.com/kiwitcms/junit.xml-plugin/issues/44>`_
- Updates around testing of this package


v11.0 (05 Dec 2021)
~~~~~~~~~~~~~~~~~~~

- Future compatible with upcoming Kiwi TCMS v11.0
- Update tcms-api to 11.0
- Update junitparser from 2.0.0 to 2.2.0
- Fix pylint issues


v10.0 (02 Mar 2021)
~~~~~~~~~~~~~~~~~~~

- Compatible with Kiwi TCMS v10.0
- Update tcms-api to 10.0


v9.0 (13 Jan 2021)
~~~~~~~~~~~~~~~~~~

- Compatible with Kiwi TCMS v9.0
- Update tcms-api to 9.0
- Update junitparser to 2.0.0
- Adjusted code to handle jUnit v2.0 files


v8.4 (28 Oct 2020)
~~~~~~~~~~~~~~~~~~

- Update tcms-api to 8.6.0
- Update junitparser to 1.6.0


v8.3 (10 Apr 2020)
~~~~~~~~~~~~~~~~~~

- Update to
  `tcms-api v8.3.0 <https://github.com/kiwitcms/tcms-api/#v830-10-april-2020>`_
  which uses ``gssapi`` for Kerberos
- Requires MIT Kerberos for Windows if installed on Windows


v8.2 (03 Apr 2020)
~~~~~~~~~~~~~~~~~~

This version works only with Kiwi TCMS v8.2 or later!

- Update to tcms-api==8.2.0
- Patch for changed return value in
  ``plugin_helpers.Backend.test_case_get_or_create()``
- Call ``plugin_helpers.backend.finish_test_run()`` when done


v8.0.1 (10 February 2020)
~~~~~~~~~~~~~~~~~~~~~~~~~

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

- Adjust plugin due to API changes in Kiwi TCMS v8.0
- Require tcms-api==8.0.1


v0.5 (07 January 2020)
~~~~~~~~~~~~~~~~~~~~~~

- Update junitparser from 1.3.4 to 1.41


v0.4 (20 September 2019)
~~~~~~~~~~~~~~~~~~~~~~~~

- Update junitparser from 1.3.2 to 1.3.4
- Support XML files with <testsuites> root tag (Katalon Studio).
  Fixes `Issue #9 <https://github.com/kiwitcms/junit.xml-plugin/issues/9>`_


v0.3 (10 April 2019)
~~~~~~~~~~~~~~~~~~~~

- Works with Kiwi TCMS v6.7 or newer
- Uses new names of API methods

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/kiwitcms/junit.xml-plugin",
    "name": "kiwitcms-junit.xml-plugin",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Kiwi TCMS",
    "author_email": "info@kiwitcms.org",
    "download_url": "https://files.pythonhosted.org/packages/cc/3a/434cb16b7a0e7464113d8b1c2b0e6dfc1bd52efdbdb1254183752cd56fc4/kiwitcms-junit.xml-plugin-12.8.1.tar.gz",
    "platform": null,
    "description": "junit.xml plugin for Kiwi TCMS\n==============================\n\n.. image:: https://img.shields.io/pypi/v/kiwitcms-junit.xml-plugin.svg\n    :target: https://pypi.org/project/kiwitcms-junit.xml-plugin\n    :alt: PyPI version\n\n.. image:: https://travis-ci.org/kiwitcms/junit.xml-plugin.svg?branch=master\n    :target: https://travis-ci.org/kiwitcms/junit.xml-plugin\n    :alt: Travis CI\n\n.. image:: https://coveralls.io/repos/github/kiwitcms/junit.xml-plugin/badge.svg?branch=master\n    :target: https://coveralls.io/github/kiwitcms/junit.xml-plugin?branch=master\n    :alt: Code coverage\n\n.. image:: https://pyup.io/repos/github/kiwitcms/junit.xml-plugin/shield.svg\n    :target: https://pyup.io/repos/github/kiwitcms/junit.xml-plugin/\n    :alt: Python updates\n\n.. image:: https://img.shields.io/badge/kiwi%20tcms-results-9ab451.svg\n    :target: https://tcms.kiwitcms.org/plan/7/\n    :alt: TP for kiwitcms/junit.xml-plugin (master)\n\n.. image:: https://tidelift.com/badges/package/pypi/kiwitcms-junit.xml-plugin\n    :target: https://tidelift.com/subscription/pkg/pypi-kiwitcms-junit.xml-plugin?utm_source=pypi-kiwitcms-junit.xml-plugin&utm_medium=github&utm_campaign=readme\n    :alt: Tidelift\n\n.. image:: https://opencollective.com/kiwitcms/tiers/sponsor/badge.svg?label=sponsors&color=brightgreen\n   :target: https://opencollective.com/kiwitcms#contributors\n   :alt: Become a sponsor\n\n.. image:: https://img.shields.io/twitter/follow/KiwiTCMS.svg\n    :target: https://twitter.com/KiwiTCMS\n    :alt: Kiwi TCMS on Twitter\n\n\nThis package allows you to read junit.xml files and\nsend the results to `Kiwi TCMS <http://kiwitcms.org>`_.\n\n\nInstallation\n------------\n\n::\n\n    pip install kiwitcms-junit.xml-plugin\n\n\nConfiguration and environment\n-----------------------------\n\nMinimal config file `~/.tcms.conf`::\n\n    [tcms]\n    url = https://tcms.server/xml-rpc/\n    username = your-username\n    password = your-password\n\n\nFor more info see `tcms-api docs <https://tcms-api.readthedocs.io>`_.\n\nThis plugin is only concerned with parsing the junit.xml format and executing\n`tcms-api` functions which will create/reuse test cases, test plans and test runs.\n`tcms-api` behavior is controlled via environment variables.\n\nFor example this is how our own environment looks like::\n\n    #!/bin/bash\n\n    if [ \"$TRAVIS_EVENT_TYPE\" == \"push\" ]; then\n        # same as $TRAVIS_TAG when building tags\n        export TCMS_PRODUCT_VERSION=$TRAVIS_BRANCH\n    fi\n\n    if [ \"$TRAVIS_EVENT_TYPE\" == \"pull_request\" ]; then\n        export TCMS_PRODUCT_VERSION=\"PR-$TRAVIS_PULL_REQUEST\"\n    fi\n\n    export TCMS_BUILD=\"$TRAVIS_BUILD_NUMBER-$(echo $TRAVIS_COMMIT | cut -c1-7)\"\n\nFurther documentation and behavior specification can be found\n`here <https://tcms-api.readthedocs.io/en/latest/modules/tcms_api.plugin_helpers.html>`_.\n\nThe above configuration creates a separate TestPlan for each branch, see\n`TP-7: [junit.xml] Plan for kiwitcms/junit.xml-plugin (master) <https://tcms.kiwitcms.org/plan/7/>`_,\na separate TestPlan for each pull request (recording possible multiple test runs) and\nseparate TestPlan and TestRun for each tag on GitHub! `tcms-api` has default behavior\nfor Travis CI and Jenkins and allows endless configuration via environment variables.\n\n\nUsage\n-----\n\n::\n\n    # define environment variables\n    tcms-junit.xml-plugin /path/to/junit.xml\n\n\nChangelog\n---------\n\n\nv12.8.1 (22 Dec 2023)\n~~~~~~~~~~~~~~~~~~~~~\n\n- Update tcms-api from 12.7 to 12.8.1\n- Relax the requirement on tcms-api to allow for easier upgrades\n\n\nv12.7 (10 Dec 2023)\n~~~~~~~~~~~~~~~~~~~\n\n- Update junitparser from 2.8.0 to 3.1.0\n- Update tcms-api from 12.2 to 12.7\n- Calculate ``stop_date`` only when ``start_date`` is valid (Michael Kaye)\n\n\nv12.2.999 (18 Apr 2023)\n~~~~~~~~~~~~~~~~~~~~~~~\n\n- Read ``start_date`` from ``<testsuite timestamp>`` if it exists. Fixes\n  `Issue #89 <https://github.com/kiwitcms/junit.xml-plugin/issues/89>`_\n- Internal refactoring. **WARNING:** contains backwards incompatible changes for\n  ``testcase_summary()`` and ``testexecution_timestamps()`` methods which will\n  break inherited classes\n\n\nv12.2 (04 Apr 2023)\n~~~~~~~~~~~~~~~~~~~\n\n- Report TestExecution timestamps if present in XML\n\n\nv12.1 (21 Mar 2023)\n~~~~~~~~~~~~~~~~~~~\n\n- Decode byte strings before sending comments to RPC (Sergey Lazarev)\n- Format comments as Markdown when rendering the raw XML values\n- Append stdout/stderr information to failure/error comments\n- Updates around CI and expanded test matrix\n\n\nv12.0 (16 Mar 2023)\n~~~~~~~~~~~~~~~~~~~\n\n- Provide a ``--summary-template`` for optional customization of the\n  summary generated from the test cases (Michael Kaye)\n- Update junitparser from 2.5.0 to 2.8.0\n- Update tcms-api from 11.3 to 11.4\n- Refactoring and code formatting\n- Add CodeQL workflow for GitHub code scanning\n\n\nv11.3 (18 May 2022)\n~~~~~~~~~~~~~~~~~~~\n\n- Update tcms-api from 11.2 to 11.3\n- Print information about created records if ``-v`` or ``--verbose``\n  is specified on the command line\n- Allow multiple XML files to be specified on the command line\n\n\nv11.2 (16 May 2022)\n~~~~~~~~~~~~~~~~~~~\n\n- Update junitparser from 2.2.0 to 2.5.0\n- Update tcms-api from 11.0 to 11.2\n- Annotate plugin with name & version information\n- Trim TestCase.summary to 255 characters. Fixes\n  `Issue #44 <https://github.com/kiwitcms/junit.xml-plugin/issues/44>`_\n- Updates around testing of this package\n\n\nv11.0 (05 Dec 2021)\n~~~~~~~~~~~~~~~~~~~\n\n- Future compatible with upcoming Kiwi TCMS v11.0\n- Update tcms-api to 11.0\n- Update junitparser from 2.0.0 to 2.2.0\n- Fix pylint issues\n\n\nv10.0 (02 Mar 2021)\n~~~~~~~~~~~~~~~~~~~\n\n- Compatible with Kiwi TCMS v10.0\n- Update tcms-api to 10.0\n\n\nv9.0 (13 Jan 2021)\n~~~~~~~~~~~~~~~~~~\n\n- Compatible with Kiwi TCMS v9.0\n- Update tcms-api to 9.0\n- Update junitparser to 2.0.0\n- Adjusted code to handle jUnit v2.0 files\n\n\nv8.4 (28 Oct 2020)\n~~~~~~~~~~~~~~~~~~\n\n- Update tcms-api to 8.6.0\n- Update junitparser to 1.6.0\n\n\nv8.3 (10 Apr 2020)\n~~~~~~~~~~~~~~~~~~\n\n- Update to\n  `tcms-api v8.3.0 <https://github.com/kiwitcms/tcms-api/#v830-10-april-2020>`_\n  which uses ``gssapi`` for Kerberos\n- Requires MIT Kerberos for Windows if installed on Windows\n\n\nv8.2 (03 Apr 2020)\n~~~~~~~~~~~~~~~~~~\n\nThis version works only with Kiwi TCMS v8.2 or later!\n\n- Update to tcms-api==8.2.0\n- Patch for changed return value in\n  ``plugin_helpers.Backend.test_case_get_or_create()``\n- Call ``plugin_helpers.backend.finish_test_run()`` when done\n\n\nv8.0.1 (10 February 2020)\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThis version works only with Kiwi TCMS v8.0 or later!\n\n- Adjust plugin due to API changes in Kiwi TCMS v8.0\n- Require tcms-api==8.0.1\n\n\nv0.5 (07 January 2020)\n~~~~~~~~~~~~~~~~~~~~~~\n\n- Update junitparser from 1.3.4 to 1.41\n\n\nv0.4 (20 September 2019)\n~~~~~~~~~~~~~~~~~~~~~~~~\n\n- Update junitparser from 1.3.2 to 1.3.4\n- Support XML files with <testsuites> root tag (Katalon Studio).\n  Fixes `Issue #9 <https://github.com/kiwitcms/junit.xml-plugin/issues/9>`_\n\n\nv0.3 (10 April 2019)\n~~~~~~~~~~~~~~~~~~~~\n\n- Works with Kiwi TCMS v6.7 or newer\n- Uses new names of API methods\n",
    "bugtrack_url": null,
    "license": "GPLv3+",
    "summary": "junit.xml plugin for Kiwi TCMS test case management system",
    "version": "12.8.1",
    "project_urls": {
        "Homepage": "https://github.com/kiwitcms/junit.xml-plugin"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1b844b9d170f9591877a4e927f4796828ddea801ddba604b01a570b97af32c49",
                "md5": "e5ef0e5b226a7e9bea746399963008a5",
                "sha256": "68ba6a98b3fc0b4bf5fb5c1755c1f940b06dee1ab17367fbb729bdc382115460"
            },
            "downloads": -1,
            "filename": "kiwitcms_junit.xml_plugin-12.8.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e5ef0e5b226a7e9bea746399963008a5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 19568,
            "upload_time": "2023-12-22T10:36:39",
            "upload_time_iso_8601": "2023-12-22T10:36:39.049739Z",
            "url": "https://files.pythonhosted.org/packages/1b/84/4b9d170f9591877a4e927f4796828ddea801ddba604b01a570b97af32c49/kiwitcms_junit.xml_plugin-12.8.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cc3a434cb16b7a0e7464113d8b1c2b0e6dfc1bd52efdbdb1254183752cd56fc4",
                "md5": "74f6da70d4c8bbcdea67392b95b88304",
                "sha256": "c6eeb7531d8ad5ccb3568f5a4ab9f2a4c83a73dd0a49d117fe8bd7d97d4d0cd8"
            },
            "downloads": -1,
            "filename": "kiwitcms-junit.xml-plugin-12.8.1.tar.gz",
            "has_sig": false,
            "md5_digest": "74f6da70d4c8bbcdea67392b95b88304",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 19152,
            "upload_time": "2023-12-22T10:36:40",
            "upload_time_iso_8601": "2023-12-22T10:36:40.988290Z",
            "url": "https://files.pythonhosted.org/packages/cc/3a/434cb16b7a0e7464113d8b1c2b0e6dfc1bd52efdbdb1254183752cd56fc4/kiwitcms-junit.xml-plugin-12.8.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-22 10:36:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kiwitcms",
    "github_project": "junit.xml-plugin",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "kiwitcms-junit.xml-plugin"
}
        
Elapsed time: 3.32388s