rally-openstack/doc/specs/implemented/task_and_verification_expor...

2.9 KiB

Export task and verifications into external services

Currently Rally stores all information about executed tasks and verifications in its database and it is also able to provide this data in JSON format or in the form of HTML reports. There is a request for Rally to export this data into external services (like test management system or Google Docs) via its API.

Problem description

There are many, including a lot of proprietary, test management systems in the market available as SaaS and/or On-Premises, like TestRail, TestLink, TestLodge etc, which objective is to manage, organize and track all testing efforts.

Most of the systems provide an API for importing test data. The systems also possess data model somewhat similar to Rally's one. It usually includes (among others) models for project, test suite test case, test plan and test execution results.

It is suggested to provide Rally users an ability to export information about testing their environments into such test management systems in order to integrate testing via Rally into rest of their testing activities.

Since different test management systems have alike yet different API for the purpose it is reasonable to implement this export functionality via plugins.

Proposed change

1. Implement a base class Exporter for an export plugin at rally/task/exporter.py.

..code-block:: python

class Exporter(plugin.Plugin):
def export(self, task, connection_string):

...

  1. Implement a CLI command of the form

..code-block:: shell

rally task export <UUID> <CONNECTION_STRING>

3. Implement a base class VerifyExporter for an export plugin at rally/verify/exporter.py.

..code-block:: python

class VerifyExporter(plugin.Plugin):
def export(self, verification, connection_string):

...

  1. Implement a CLI command of the form

..code-block:: shell

rally verify export <UUID> <CONNECTION_STRING>

Alternatives

No way

Implementation

Assignee(s)

Primary assignee:

rvasilets <rvasilets@mirantis.com>

Work Items

  • Implement plugin base class
  • Implement CLI command
  • Implement plugin for TestRail

Dependencies

None