{"id":19041899,"url":"https://github.com/allure-framework/allure-java","last_synced_at":"2026-02-20T17:07:16.636Z","repository":{"id":38009429,"uuid":"80822758","full_name":"allure-framework/allure-java","owner":"allure-framework","description":"Allure integrations for Java test frameworks","archived":false,"fork":false,"pushed_at":"2024-12-30T08:42:09.000Z","size":2788,"stargazers_count":363,"open_issues_count":113,"forks_count":231,"subscribers_count":35,"default_branch":"main","last_synced_at":"2025-04-11T03:38:46.670Z","etag":null,"topics":["allure","cucumber-jvm","junit4","junit5","reporting","reporting-engine","spock","testng"],"latest_commit_sha":null,"homepage":"","language":"Java","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/allure-framework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-03T11:19:50.000Z","updated_at":"2025-04-10T13:12:24.000Z","dependencies_parsed_at":"2024-05-17T10:25:17.963Z","dependency_job_id":"43b4fa0c-01e2-4dc9-b139-87c9ad2c5ebc","html_url":"https://github.com/allure-framework/allure-java","commit_stats":{"total_commits":764,"total_committers":83,"mean_commits":9.204819277108435,"dds":0.6910994764397906,"last_synced_commit":"3d361dd2a7666926b54f678f05859a56dd97a22c"},"previous_names":[],"tags_count":67,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allure-framework%2Fallure-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allure-framework%2Fallure-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allure-framework%2Fallure-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/allure-framework%2Fallure-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/allure-framework","download_url":"https://codeload.github.com/allure-framework/allure-java/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248676151,"owners_count":21143875,"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":["allure","cucumber-jvm","junit4","junit5","reporting","reporting-engine","spock","testng"],"created_at":"2024-11-08T22:33:14.549Z","updated_at":"2026-02-20T17:07:16.594Z","avatar_url":"https://github.com/allure-framework.png","language":"Java","readme":"[license]: http://www.apache.org/licenses/LICENSE-2.0 \"Apache License 2.0\"\r\n[blog]: https://qameta.io/blog\r\n[gitter]: https://gitter.im/allure-framework/allure-core\r\n[gitter-ru]: https://gitter.im/allure-framework/allure-ru\r\n[twitter]: https://twitter.com/QametaSoftware \"Qameta Software\"\r\n[twitter-team]: https://twitter.com/QametaSoftware/lists/team/members \"Team\"\r\n\r\n[CONTRIBUTING.md]: .github/CONTRIBUTING.md\r\n[docs]: https://allurereport.org/docs/\r\n\r\n# Allure Java Integrations \r\n\r\n[![Build](https://github.com/allure-framework/allure-java/actions/workflows/build.yml/badge.svg)](https://github.com/allure-framework/allure-java/actions/workflows/build.yml) \r\n[![Allure Java](https://img.shields.io/github/release/allure-framework/allure-java.svg)](https://github.com/allure-framework/allure-java/releases/latest)\r\n\r\n\u003e The repository contains new versions of adaptors for JVM-based test frameworks.\r\n\r\n[\u003cimg src=\"https://allurereport.org/public/img/allure-report.svg\" height=\"85px\" alt=\"Allure Report logo\" align=\"right\" /\u003e](https://allurereport.org \"Allure Report\")\r\n\r\n- Learn more about Allure Report at [https://allurereport.org](https://allurereport.org)\r\n- 📚 [Documentation](https://allurereport.org/docs/) – discover official documentation for Allure Report\r\n- ❓ [Questions and Support](https://github.com/orgs/allure-framework/discussions/categories/questions-support) – get help from the team and community\r\n- 📢 [Official announcements](https://github.com/orgs/allure-framework/discussions/categories/announcements) –  stay updated with our latest news and updates\r\n- 💬 [General Discussion](https://github.com/orgs/allure-framework/discussions/categories/general-discussion) – engage in casual conversations, share insights and ideas with the community\r\n- 🖥️ [Live Demo](https://demo.allurereport.org/) — explore a live example of Allure Report in action\r\n\r\n---\r\n## TestNG\r\n\r\n- 🚀 Documentation — https://allurereport.org/docs/testng/\r\n- 📚 Example project — https://github.com/allure-examples?q=topic%3Atestng\r\n- ✅ Generate a project in 10 seconds via Allure Start - https://allurereport.org/start/\r\n\r\n## JUnit 4\r\n\r\n- 🚀 Documentation — work in progress\r\n- 📚 Example project — https://github.com/allure-examples?q=topic%3Ajunit4\r\n- ✅ Generate a project in 10 seconds via Allure Start - https://allurereport.org/start/\r\n- \r\n## JUnit 5\r\n\r\n- 🚀 Documentation — https://allurereport.org/docs/junit5/\r\n- 📚 Example project — https://github.com/allure-examples?q=topic%3Ajunit5\r\n- ✅ Generate a project in 10 seconds via Allure Start - https://allurereport.org/start/\r\n\r\n## Cucumber JVM\r\n\r\n- 🚀 Documentation — https://allurereport.org/docs/cucumberjvm/\r\n- 📚 Example project — https://github.com/allure-examples?q=cucumber\u0026type=all\u0026language=java\r\n- ✅ Generate a project in 10 seconds via Allure Start - https://allurereport.org/start/\r\n\r\n## Spock\r\n\r\n- 🚀 Documentation — https://allurereport.org/docs/spock/\r\n- 📚 Example project — https://github.com/allure-examples?q=topic%3Aspock\r\n- ✅ Generate a project in 10 seconds via Allure Start - https://allurereport.org/start/\r\n  \r\n## Selenide\r\n\r\nListener for Selenide, that logging steps for Allure:\r\n\r\n```xml\r\n\u003cdependency\u003e\r\n   \u003cgroupId\u003eio.qameta.allure\u003c/groupId\u003e\r\n   \u003cartifactId\u003eallure-selenide\u003c/artifactId\u003e\r\n   \u003cversion\u003e$LATEST_VERSION\u003c/version\u003e\r\n\u003c/dependency\u003e\r\n```\r\n\r\nUsage example:\r\n```\r\nSelenideLogger.addListener(\"AllureSelenide\", new AllureSelenide().screenshots(true).savePageSource(false));\r\n\r\nCapture selenium logs:\r\nSelenideLogger.addListener(\"AllureSelenide\", new AllureSelenide().enableLogs(LogType.BROWSER, Level.ALL));\r\nhttps://github.com/SeleniumHQ/selenium/wiki/Logging\r\n```\r\n\r\n\r\n## Rest Assured\r\n\r\nFilter for rest-assured http client, that generates attachment for allure.\r\n\r\n```xml\r\n\u003cdependency\u003e\r\n   \u003cgroupId\u003eio.qameta.allure\u003c/groupId\u003e\r\n   \u003cartifactId\u003eallure-rest-assured\u003c/artifactId\u003e\r\n   \u003cversion\u003e$LATEST_VERSION\u003c/version\u003e\r\n\u003c/dependency\u003e\r\n```\r\n\r\nUsage example:\r\n```\r\n.filter(new AllureRestAssured())\r\n```\r\nYou can specify custom templates, which should be placed in src/main/resources/tpl folder:\r\n```\r\n.filter(new AllureRestAssured()\r\n        .withRequestTemplate(\"custom-http-request.ftl\")\r\n        .withResponseTemplate(\"custom-http-response.ftl\"))\r\n```\r\n\r\n## OkHttp\r\n\r\nInterceptor for OkHttp client, that generates attachment for allure.\r\n\r\n```xml\r\n\u003cdependency\u003e\r\n   \u003cgroupId\u003eio.qameta.allure\u003c/groupId\u003e\r\n   \u003cartifactId\u003eallure-okhttp3\u003c/artifactId\u003e\r\n   \u003cversion\u003e$LATEST_VERSION\u003c/version\u003e\r\n\u003c/dependency\u003e\r\n```\r\n\r\nUsage example:\r\n```\r\n.addInterceptor(new AllureOkHttp3())\r\n```\r\nYou can specify custom templates, which should be placed in src/main/resources/tpl folder:\r\n```\r\n.addInterceptor(new AllureOkHttp3()\r\n                .withRequestTemplate(\"custom-http-request.ftl\")\r\n                .withResponseTemplate(\"custom-http-response.ftl\"))\r\n\r\n```\r\n\r\n## gRPC\r\n\r\nInterceptor for gRPC stubs, that generates attachment for allure.\r\n\r\n```xml\r\n\u003cdependency\u003e\r\n   \u003cgroupId\u003eio.qameta.allure\u003c/groupId\u003e\r\n   \u003cartifactId\u003eallure-grpc\u003c/artifactId\u003e\r\n   \u003cversion\u003e$LATEST_VERSION\u003c/version\u003e\r\n\u003c/dependency\u003e\r\n```\r\n\r\nUsage example:\r\n```\r\n.newBlockingStub(channel).withInterceptors(new AllureGrpc());\r\n```\r\nYou can enable interception of response metadata (disabled by default)\r\n```\r\n.withInterceptors(new AllureGrpc()\r\n                .interceptResponseMetadata(true))\r\n```\r\nBy default, a step will be marked as failed in case that response contains any statuses except 0(OK).\r\nYou can change this behavior, for example, for negative scenarios\r\n```\r\n.withInterceptors(new AllureGrpc()\r\n                .markStepFailedOnNonZeroCode(false))\r\n```\r\nYou can specify custom templates, which should be placed in src/main/resources/tpl folder:\r\n```\r\n.withInterceptors(new AllureGrpc()\r\n                .setRequestTemplate(\"custom-http-request.ftl\")\r\n                .setResponseTemplate(\"custom-http-response.ftl\"))\r\n```\r\n\r\n## Http client\r\n\r\nInterceptors for Apache HTTP client, that generates attachment for allure.\r\n\r\n```xml\r\n\u003cdependency\u003e\r\n   \u003cgroupId\u003eio.qameta.allure\u003c/groupId\u003e\r\n   \u003cartifactId\u003eallure-httpclient\u003c/artifactId\u003e\r\n   \u003cversion\u003e$LATEST_VERSION\u003c/version\u003e\r\n\u003c/dependency\u003e\r\n```\r\n\r\nUsage example:\r\n```\r\n.addInterceptorFirst(new AllureHttpClientRequest())\r\n.addInterceptorLast(new AllureHttpClientResponse());\r\n```\r\n\r\n## Http client 5\r\nInterceptors for Apache [httpclient5](https://hc.apache.org/httpcomponents-client-5.2.x/index.html). \r\nAdditional info can be found in module `allure-httpclient5`\r\n\r\n```xml\r\n\u003cdependency\u003e\r\n   \u003cgroupId\u003eio.qameta.allure\u003c/groupId\u003e\r\n   \u003cartifactId\u003eallure-httpclient5\u003c/artifactId\u003e\r\n   \u003cversion\u003e$LATEST_VERSION\u003c/version\u003e\r\n\u003c/dependency\u003e\r\n```\r\n\r\nUsage example:\r\n```java\r\nfinal HttpClientBuilder builder = HttpClientBuilder.create()\r\n        .addRequestInterceptorFirst(new AllureHttpClient5Request(\"your-request-template-attachment.ftl\"))\r\n        .addResponseInterceptorLast(new AllureHttpClient5Response(\"your-response-template-attachment.ftl\"));\r\n```\r\n\r\n## JAX-RS Filter\r\n\r\nFilter that can be used with JAX-RS compliant clients such as RESTeasy and Jersey\r\n\r\n```xml\r\n\u003cdependency\u003e\r\n   \u003cgroupId\u003eio.qameta.allure\u003c/groupId\u003e\r\n   \u003cartifactId\u003eallure-jax-rs\u003c/artifactId\u003e\r\n   \u003cversion\u003e$LATEST_VERSION\u003c/version\u003e\r\n\u003c/dependency\u003e\r\n```\r\n\r\nUsage example:\r\n```\r\n.register(AllureJaxRs.class)\r\n```\r\n\r\n## JsonUnit\r\nJsonPatchMatcher is extension of JsonUnit matcher, that generates pretty html attachment for differences based on [json diff patch](https://github.com/benjamine/jsondiffpatch/blob/master/docs/deltas.md).\r\n\r\n```xml\r\n\u003cdependency\u003e\r\n   \u003cgroupId\u003eio.qameta.allure\u003c/groupId\u003e\r\n   \u003cartifactId\u003eallure-jsonunit\u003c/artifactId\u003e\r\n   \u003cversion\u003e$LATEST_VERSION\u003c/version\u003e\r\n\u003c/dependency\u003e\r\n```\r\n\r\n## Awaitility\r\nExtended logging for poling and ignored exceptions for [awaitility](https://github.com/awaitility/awaitility). For \r\nmore usage example look into module `allure-awaitility`\r\n\r\n```xml\r\n\u003cdependency\u003e\r\n   \u003cgroupId\u003eio.qameta.allure\u003c/groupId\u003e\r\n   \u003cartifactId\u003eallure-awaitility\u003c/artifactId\u003e\r\n   \u003cversion\u003e$LATEST_VERSION\u003c/version\u003e\r\n\u003c/dependency\u003e\r\n```\r\n\r\nUsage example:\r\n```\r\nAwaitility.setDefaultConditionEvaluationListener(new AllureAwaitilityListener());\r\n```\r\n\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallure-framework%2Fallure-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fallure-framework%2Fallure-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fallure-framework%2Fallure-java/lists"}