ReportPortal is an open-source, service-oriented, web-based platform that serves as the single entry point for your entire automated testing process. It provides enhanced machine learning analytics, advanced visualization, and collaborative capabilities to your testing landscape. By processing large volumes of real-time test results from various platforms and types, ReportPortal unifies your test results, helping teams identify and focus on critical issues to improve efficiency and elevate the overall quality of the product, accompanied by Quality Gates for the automated decision returned into the CI/CD pipelines.
Leveraging the power of AI and machine learning, ReportPortal offers a suite of unique capabilities:
- Single Entry Point: Streamline your testing process by having all your testing results, regardless of the platform or type, fed into a centralized system.
- Unification of Test Results: Collect, analyze, and present test results from various platforms and types for a comprehensive view of your testing process.
- Failure Categorization (Triaging): Facilitate efficient triaging of failed test results, using AI to categorize failures and highlight the most critical issues.
- Advanced Analysis: Use Machine Learning algorithms to analyze test reports and failures, identify patterns, and predict potential issues. This reduces the team's effort in handling test results, allowing them to concentrate solely on new failures or enhancing test coverage.
- Quality Gates: Define and implement specific criteria that need to be satisfied before moving to the next development phase. Automate GO/NO-GO decisions based on testing results and integrate a feedback loop into the CI/CD pipelines.
- Dashboarding: Harness data visualization to track and understand trends, facilitating more informed decision-making.
- Real-Time Reporting: Monitor test execution in real-time, with live metrics, logs, and launch statistics available at a glance, so you can save a time on early reaction.
- Historical Data Analysis: Compare test results over time to identify trends and patterns.
- Collaboration Tools: Easily share insights, test results, and observations with your team, fostering a collaborative approach to troubleshooting and issue resolution.
- Integration: Seamless compatibility with popular testing frameworks (JUnit, PyTest, TestNG, etc.) and CI/CD tools (Jenkins, Bamboo, etc.).
Application Core is based on micro-services architecture.
ReportPortal server side consists of the following services:
service-authorization
Authorization Service. In charge of access tokens distribution.service-api
API Service. Application Backend.service-ui
UI Service. Application Frontend.service-index
Index Service. Info and health checks per service.service-analyzer
Analyzer Service. Finds most relevant test fail problem.gateway
Traefik Gateway Service. Main entry point to application. Port used by gateway should be opened and accessible from outside network.rabbitmq
Load balancer for client requests. Bus for messages between servers.minio
Attachments storage.
Available plugins developed by ReportPortal team:
plugin-bts-jira
JIRA Plugin. Interaction with JIRA.plugin-bts-rally
Rally Plugin. Interaction with Rally.plugin-saucelabs
Sauce Labs Plugin. Interaction with Sauce Labs.plugin-bts-jira-cloud
Plugin to integrate JIRA Cloud with ReportPortal.plugin-bts-azure
AzureDevOps bug tracking system integration for ReportPortal.plugin-bts-monday
Monday Plugin. Interaction with Monday.plugin-bts-gitlab
Gitlab Plugin. Interaction with Gitlab.plugin-slack
Slack Plugin. Interaction with Slack.plugin-import-junit
JUnit Import Plugin. Import of Junit test results.plugin-import-robot
RobotFramework Import Plugin. Import of Robot Framework test results.
Client side adapters related repositories:
client-*
- API integrations. Http clients, which process HTTP request sending.agent-*
- Frameworks integration. Custom reporters/listeners, which monitor test events and trigger event sending viaclient-*
.logger-*
- Logging integration. Logger appenders, which help to collect logs, bind it with test-case item viaagent-*
and send to server viaclient-*
.
Other repositories stored according to next rules: