diff --git a/doc/specs/in-progress/task_and_verification_export.rst b/doc/specs/in-progress/task_and_verification_export.rst new file mode 100644 index 0000000000..90fc530280 --- /dev/null +++ b/doc/specs/in-progress/task_and_verification_export.rst @@ -0,0 +1,104 @@ +.. + This work is licensed under a Creative Commons Attribution 3.0 Unported + License. + + http://creativecommons.org/licenses/by/3.0/legalcode + +.. + This template should be in ReSTructured text. The filename in the git + repository should match the launchpad URL, for example a URL of + https://blueprints.launchpad.net/heat/+spec/awesome-thing should be named + awesome-thing.rst . Please do not delete any of the sections in this + template. If you have nothing to say for a whole section, just write: None + For help with syntax, see http://sphinx-doc.org/rest.html + To test out your formatting, see http://www.tele3.cz/jbar/rest/rest.html + + +==================================================== +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 +posess 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 benchmarking 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 TaskExporter for an export plugin at +*rally/task/exporter.py*. + +..code-block:: python + class TaskExporter(plugin.Plugin): + def export(self, task, connection_string): + ... + +2. Implement a CLI command of the form + +..code-block:: shell + rally task export + +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): + ... + +4. Implement a CLI command of the form + +..code-block:: shell + rally verify export + +Alternatives +------------ + +No way + + +Implementation +============== + +Assignee(s) +----------- + +Primary assignee: +TBD + +Work Items +---------- + +- Implement plugin base class + +- Implement CLI command + +- Implement plugin for TestRail + +Dependencies +============ + +None