ReportPortal organized into multiple repositories.
Application Core based on micro-services architecture and includes next mandatory services:
ReportPortal server side consists of the following services:
service-authorization
Authorization Service. In charge of access tokens distributionservice-api
API Service. Application Backendservice-ui
UI Service. Application Frontendservice-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. Link to downloadplugin-bts-rally
Rally Plugin. Interaction with Rally. Link to downloadplugin-saucelabs
Sauce Labs Plugin. Interaction with Sauce Labs. Link to download
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
service-*
- micro-services which are a part of Applicationcommons-*
- common libraries, models, etc., used by micro-services
It's the best way for demo purposes and small teams. The database is already in the docker-compose.
-
Download Example of docker-compose descriptor to any folder
-
Deploy ReportPortal using
docker compose plugin
within the same folder
$ docker compose -p reportportal up
To start ReportPortal in daemon mode, add '-d' argument:
$ docker compose -p reportportal up -d
- Open in your browser IP address of deployed environment at port
8080
http://IP_ADDRESS:8080
- Use next login\pass for access:
default\1q2w3e
superadmin\erebus
.
Please change admin password for security.
Mentioned compose file deploy all available Bug Tracking System integrations, which not always needed, but use resources.
For production usage, we recommend:
- choose only required Bug Tracking System integration service. Exclude the rest
To customize deployment and make it production-ready please follow customization steps and details
You should add Client Side code inside your test automation. It consists of:
client-*
- API integrations. Http clients, which process HTTP request sending. E.g. for Java (client-java-*
)agent-*
- Frameworks integration. Custom reporters/listeners, which monitor test events and trigger event sending viaclient-*
logger-*
- Logging integration. Logger appenders, which helps to collect logs, bind it with test-case viaagent-*
and send to server viaclient-*
Integration steps and documentation
There are many different ways to contribute to ReportPortal's development, just find the one that best fits with your skills. Examples of contributions we would love to receive include:
- Code patches
- Documentation improvements
- Translations
- Bug reports
- Patch reviews
- UI enhancements
Big features are also welcome but if you want to see your contributions included in ReportPortal codebase we strongly recommend you start by initiating a chat through our Team in Slack.
ReportPortal is Apache 2.0.