{"id":13501064,"url":"https://github.com/reportportal/reportportal","last_synced_at":"2025-05-14T04:10:30.365Z","repository":{"id":37601454,"uuid":"68369622","full_name":"reportportal/reportportal","owner":"reportportal","description":"Main Repository. ReportPortal starts here - see readme below.","archived":false,"fork":false,"pushed_at":"2025-05-08T00:05:28.000Z","size":197048,"stargazers_count":1850,"open_issues_count":432,"forks_count":472,"subscribers_count":103,"default_branch":"master","last_synced_at":"2025-05-08T01:19:37.459Z","etag":null,"topics":["automated-testing","automation","reporting-engine","testing-tools"],"latest_commit_sha":null,"homepage":"http://reportportal.io","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reportportal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"reportportal"}},"created_at":"2016-09-16T09:59:27.000Z","updated_at":"2025-05-07T21:11:31.000Z","dependencies_parsed_at":"2024-03-04T11:27:06.152Z","dependency_job_id":"3d5b9d93-e72f-4b31-a6c6-e663133aa858","html_url":"https://github.com/reportportal/reportportal","commit_stats":null,"previous_names":[],"tags_count":58,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reportportal%2Freportportal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reportportal%2Freportportal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reportportal%2Freportportal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reportportal%2Freportportal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reportportal","download_url":"https://codeload.github.com/reportportal/reportportal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254070122,"owners_count":22009560,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automated-testing","automation","reporting-engine","testing-tools"],"created_at":"2024-07-31T22:01:24.155Z","updated_at":"2025-05-14T04:10:25.351Z","avatar_url":"https://github.com/reportportal.png","language":"Makefile","funding_links":["https://github.com/sponsors/reportportal"],"categories":["Makefile","Shell","Others","automation","测试","Test Analytics and Triage"],"sub_categories":[],"readme":"# [ReportPortal.io](http://ReportPortal.io)\n\n[![Join Slack chat!](https://img.shields.io/badge/slack-join-brightgreen.svg)](https://slack.epmrpp.reportportal.io/)\n[![stackoverflow](https://img.shields.io/badge/reportportal-stackoverflow-orange.svg?style=flat)](http://stackoverflow.com/questions/tagged/reportportal)\n[![GitHub contributors](https://img.shields.io/badge/contributors-102-blue.svg)](https://reportportal.io/community)\n[![Docker Pulls](https://img.shields.io/docker/pulls/reportportal/service-api.svg?maxAge=25920)](https://hub.docker.com/u/reportportal/)\n[![License](https://img.shields.io/badge/license-Apache-brightgreen.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n[![Build with Love](https://img.shields.io/badge/build%20with-❤%EF%B8%8F%E2%80%8D-lightgrey.svg)](http://reportportal.io?style=flat)\n[![lambdaTest a27c44](https://user-images.githubusercontent.com/11332788/230135399-6d839d7f-0dbe-45bf-8f72-dee3a5d69e17.svg)](https://www.lambdatest.com/)\n\n- [ReportPortal.io](#reportportalio)\n  - [Repositories structure](#repositories-structure)\n    - [ReportPortal high level architecture](#reportportal-high-level-architecture)\n    - [ReportPortal repositories structure](#reportportal-repositories-structure)\n  - [Installation steps](#installation-steps)\n    - [Simple setup with Docker](#simple-setup-with-docker)\n    - [Production-ready set and Custom deployment with Docker](#production-ready-set-and-custom-deployment-with-docker)\n  - [Integration. How to get log data in](#integration-how-to-get-log-data-in)\n  - [Contribution](#contribution)\n  - [Documentation](#documentation)\n  - [Community / Support](#community--support)\n  - [License](#license)\n\n## Repositories structure\n\n### ReportPortal high level architecture\n\n![reportportal high level architecture](./assets/reportportal-hla.jpg)\n\n### ReportPortal repositories structure\n\nReport Portal organized into multiple repositories.\n\nReportPortal **server side** consists of the following services:\n\n- [`service-authorization`](https://github.com/reportportal/service-authorization) Authorization Service. In charge of access tokens distribution\n- [`service-api`](https://github.com/reportportal/service-api) API Service. Application Backend\n- [`service-ui`](https://github.com/reportportal/service-ui) UI Service. Application Frontend\n- [`service-index`](https://github.com/reportportal/service-index) Index Service. Info and health checks per service.\n- [`service-analyzer`](https://github.com/reportportal/service-auto-analyzer) Analyzer Service. Finds most relevant test fail problem.\n- [`gateway`](https://github.com/containous/traefik) Traefik Gateway Service. Main entry point to application. Port used by gateway should be opened and accessible from outside network.\n- [`rabbitmq`](https://github.com/rabbitmq) Load balancer for client requests. Bus for messages between servers.\n- [`minio`](https://github.com/minio/minio) Attachments storage.\n\nAvailable plugins developed by ReportPortal team:\n\n- [`plugin-bts-jira`](https://github.com/reportportal/plugin-bts-jira) JIRA Plugin. Interaction with JIRA. [Link to download](https://search.maven.org/search?q=g:%22com.epam.reportportal%22%20AND%20a:%22plugin-bts-jira%22)\n- [`plugin-bts-rally`](https://github.com/reportportal/plugin-bts-rally) Rally Plugin. Interaction with Rally. [Link to download](https://search.maven.org/search?q=g:%22com.epam.reportportal%22%20AND%20a:%22plugin-bts-rally%22)\n- [`plugin-saucelabs`](https://github.com/reportportal/plugin-saucelabs) Sauce Labs Plugin. Interaction with Sauce Labs. [Link to download](https://search.maven.org/search?q=g:%22com.epam.reportportal%22%20AND%20a:%22plugin-saucelabs%22)\n\n**Client side** adapters related repositories:\n\n- [`client-*`](https://github.com/reportportal?utf8=%E2%9C%93\u0026q=client-) - API integrations. Http clients, which process HTTP request sending.\n- [`agent-*`](https://github.com/reportportal?utf8=%E2%9C%93\u0026q=agent-) - Frameworks integration. Custom reporters/listeners, which monitor test events and trigger event sending via [`client-*`](https://github.com/reportportal?utf8=%E2%9C%93\u0026q=client-)\n- [`logger-*`](https://github.com/reportportal?utf8=%E2%9C%93\u0026q=logger-) - Logging integration. Logger appenders, which help to collect logs, bind it with test-case item via `agent-*` and send to server via `client-*`\n\n**Other repositories** stored according to next rules\n\n- [`service-*`](https://github.com/reportportal?utf8=%E2%9C%93\u0026q=service-) - micro-services which are a part of Application\n- [`commons-*`](https://github.com/reportportal?utf8=%E2%9C%93\u0026q=commons-) - common libraries, models, etc., used by micro-services\n\n## Installation steps\n\n### Simple setup with Docker\n\nIt's the best way for demo purposes and small teams. The database is already in the docker-compose.\n\n1. Install [Docker](https://docs.docker.com/engine/installation/) ([Engine](https://docs.docker.com/engine/installation/), [Compose](https://docs.docker.com/compose/install/))\n\n2. Download [Example of docker-compose descriptor](https://github.com/reportportal/reportportal/blob/master/docker-compose.yml) to any folder\n\n3. Deploy ReportPortal using `docker compose plugin` within the same folder\n\n```bash\ndocker compose -p reportportal up\n```\n\nTo start ReportPortal in daemon mode, add '-d' argument:\n\n```bash\ndocker compose -p reportportal up -d\n```\n\n4. Open in your browser IP address of deployed environment at port `8080`\n\n```uri\nhttp://IP_ADDRESS:8080\n```\n\n5. Use next login\\pass for access:\n\n- `default\\1q2w3e`\n- `superadmin\\erebus`.\n\n\u003ePlease change admin password for security.\n\u003e\n\u003eMentioned compose file deploy all available Bug Tracking System integrations, which not always needed, but use resources.\n\n### Production-ready set and Custom deployment with Docker\n\nFor production usage, we recommend:\n\n- choose only required Bug Tracking System integration service. Exclude the rest\n\nTo customize deployment and make it production-ready please follow [customization steps and details](https://github.com/reportportal/reportportal/wiki/Production-Ready-set-and-Deployment-Customization)\n\n## Integration. How to get log data in\n\nYou should add **Client Side** code inside your test automation. It consists of:\n\n- [`client-*`](https://github.com/reportportal?utf8=%E2%9C%93\u0026q=client-) - API integrations. Http clients, which process HTTP request sending. E.g. for Java ([`client-java-*`](https://github.com/reportportal?utf8=%E2%9C%93\u0026q=client-java-))\n- [`agent-*`](https://github.com/reportportal?utf8=%E2%9C%93\u0026q=agent-) - Frameworks integration. Custom reporters/listeners, which monitor test events and trigger event sending via [`client-*`](https://github.com/reportportal?utf8=%E2%9C%93\u0026q=client-)\n- [`logger-*`](https://github.com/reportportal?utf8=%E2%9C%93\u0026q=logger-) - Logging integration. Logger appenders, which helps to collect logs, bind it with test-case via `agent-*` and send to server via `client-*`\n\n[Integration steps and documentation](http://reportportal.io/#documentation/%EF%BB%BFTest-framework-integration)\n\n## Contribution\n\nThere are many different ways to contribute to Report Portal's development, just find the one that best fits with your skills. Examples of contributions we would love to receive include:\n\n- **Code patches**\n- **Documentation improvements**\n- **Translations**\n- **Bug reports**\n- **Patch reviews**\n- **UI enhancements**\n\nBig features are also welcome but if you want to see your contributions included in Report Portal codebase we strongly recommend you start by initiating a [chat through our Team in Slack](https://slack.epmrpp.reportportal.io/).\n\n[Contribution details](https://github.com/reportportal/reportportal/wiki/Contribution)\n\n## Documentation\n\n- [User Manual](http://reportportal.io/#documentation)\n- [Wiki and Guides](https://github.com/reportportal/reportportal/wiki)\n\n## Community / Support\n\n- [Slack chat](https://slack.epmrpp.reportportal.io/)\n- [Security Advisories](https://github.com/reportportal/reportportal/blob/master/SECURITY_ADVISORIES.md)\n- [GitHub Issues](https://github.com/reportportal/reportportal/issues)\n- [Stackoverflow Questions](http://stackoverflow.com/questions/tagged/reportportal)\n- [Twitter](http://twitter.com/ReportPortal_io)\n- [YouTube Channel](https://www.youtube.com/channel/UCsZxrHqLHPJcrkcgIGRG-cQ)\n\n## License\n\nReport Portal is [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freportportal%2Freportportal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freportportal%2Freportportal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freportportal%2Freportportal/lists"}