Metadata-Version: 2.1
Name: testrail-api
Version: 1.3.6
Summary: Python wrapper of the TestRail API
Home-page: https://github.com/tolstislon/testrail-api
Author: tolstislon
Author-email: tolstislon@gmail.com
License: MIT License
Keywords: testrail,api,client,library,testrail_api,testrail-api
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6
Requires-Dist: requests (>=2.20.1)


Testrail Api
============


.. image:: https://img.shields.io/pypi/v/testrail-api?color=%2301a001&label=version&logo=version
   :target: https://img.shields.io/pypi/v/testrail-api?color=%2301a001&label=version&logo=version
   :alt: PyPI


.. image:: https://pepy.tech/badge/testrail-api
   :target: https://github.com/tolstislon/testrail-api
   :alt: Downloads


.. image:: https://img.shields.io/pypi/pyversions/testrail-api.svg
   :target: https://img.shields.io/pypi/pyversions/testrail-api.svg
   :alt: PyPI - Python Version


This is a Python wrapper of the TestRail API(v2) according to `the official documentation <http://docs.gurock.com/testrail-api2/start>`_

Install
^^^^^^^

.. code-block:: bash

   pip install testrail-api

Example
^^^^^^^

.. code-block:: python

   from datetime import datetime
   from pathlib import Path

   from testrail_api import TestRailAPI

   api = TestRailAPI('https://example.testrail.com/', 'example@mail.com', 'password')

   new_milestone = api.milestones.add_milestone(
       project_id=1, 
       name='New milestone', 
       start_on=int(datetime.now().timestamp())
   )

   my_test_run = api.runs.add_run(
       project_id=1, 
       suite_id=2, 
       name='My test run', 
       include_all=True, 
       milestone_id=new_milestone['id']
   )

   result = api.results.add_result_for_case(
       run_id=my_test_run['id'], 
       case_id=5, 
       status_id=1, 
       comment='Pass', 
       version='1'
   )
   attach = Path('.', 'attach.jpg')
   api.attachments.add_attachment_to_result(result[0]['id'], attach)

   api.runs.close_run(my_test_run['id'])
   api.milestones.update_milestone(new_milestone['id'], is_completed=True)


