{"id":26482014,"url":"https://github.com/kiwitcms/junit.xml-plugin","last_synced_at":"2025-03-20T03:36:39.169Z","repository":{"id":34069059,"uuid":"168239402","full_name":"kiwitcms/junit.xml-plugin","owner":"kiwitcms","description":"junit.xml plugin for Kiwi TCMS","archived":false,"fork":false,"pushed_at":"2024-10-14T20:36:46.000Z","size":138,"stargazers_count":6,"open_issues_count":4,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-30T05:42:01.539Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://kiwitcms.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kiwitcms.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://kiwitcms.org/#subscriptions"],"github":["kiwitcms"],"patreon":null,"open_collective":"kiwitcms","ko_fi":null,"tidelift":"pypi/kiwitcms","community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null}},"created_at":"2019-01-29T22:27:33.000Z","updated_at":"2024-10-08T09:13:40.000Z","dependencies_parsed_at":"2023-10-03T07:21:40.242Z","dependency_job_id":"856c1850-0801-4fc4-9d43-7dc3de78ace2","html_url":"https://github.com/kiwitcms/junit.xml-plugin","commit_stats":{"total_commits":223,"total_committers":10,"mean_commits":22.3,"dds":"0.43497757847533636","last_synced_commit":"5989afbd204c803624bbcedc8184cc76fc25942f"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiwitcms%2Fjunit.xml-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiwitcms%2Fjunit.xml-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiwitcms%2Fjunit.xml-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiwitcms%2Fjunit.xml-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kiwitcms","download_url":"https://codeload.github.com/kiwitcms/junit.xml-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244545525,"owners_count":20469879,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-20T03:36:38.649Z","updated_at":"2025-03-20T03:36:39.158Z","avatar_url":"https://github.com/kiwitcms.png","language":"Python","funding_links":["https://kiwitcms.org/#subscriptions","https://github.com/sponsors/kiwitcms","https://opencollective.com/kiwitcms","https://tidelift.com/funding/github/pypi/kiwitcms","https://tidelift.com/badges/package/pypi/kiwitcms-junit.xml-plugin","https://tidelift.com/subscription/pkg/pypi-kiwitcms-junit.xml-plugin?utm_source=pypi-kiwitcms-junit.xml-plugin\u0026utm_medium=github\u0026utm_campaign=readme"],"categories":[],"sub_categories":[],"readme":"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\u0026utm_medium=github\u0026utm_campaign=readme\n    :alt: Tidelift\n\n.. image:: https://opencollective.com/kiwitcms/tiers/sponsor/badge.svg?label=sponsors\u0026color=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 \u003chttp://kiwitcms.org\u003e`_.\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 \u003chttps://tcms-api.readthedocs.io\u003e`_.\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 \u003chttps://tcms-api.readthedocs.io/en/latest/modules/tcms_api.plugin_helpers.html\u003e`_.\n\nThe above configuration creates a separate TestPlan for each branch, see\n`TP-7: [junit.xml] Plan for kiwitcms/junit.xml-plugin (master) \u003chttps://tcms.kiwitcms.org/plan/7/\u003e`_,\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 ``\u003ctestsuite timestamp\u003e`` if it exists. Fixes\n  `Issue #89 \u003chttps://github.com/kiwitcms/junit.xml-plugin/issues/89\u003e`_\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 \u0026 version information\n- Trim TestCase.summary to 255 characters. Fixes\n  `Issue #44 \u003chttps://github.com/kiwitcms/junit.xml-plugin/issues/44\u003e`_\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 \u003chttps://github.com/kiwitcms/tcms-api/#v830-10-april-2020\u003e`_\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 \u003ctestsuites\u003e root tag (Katalon Studio).\n  Fixes `Issue #9 \u003chttps://github.com/kiwitcms/junit.xml-plugin/issues/9\u003e`_\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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiwitcms%2Fjunit.xml-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkiwitcms%2Fjunit.xml-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiwitcms%2Fjunit.xml-plugin/lists"}