{"id":19880064,"url":"https://github.com/kochetkov-ma/allure-server-gradle","last_synced_at":"2025-09-18T19:32:42.360Z","repository":{"id":135925137,"uuid":"286069122","full_name":"kochetkov-ma/allure-server-gradle","owner":"kochetkov-ma","description":"Gradle plugin for Allure Server","archived":false,"fork":false,"pushed_at":"2020-10-11T13:11:40.000Z","size":40,"stargazers_count":7,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T00:22:52.970Z","etag":null,"topics":["allure-server","gitlab","gitlab-ci","gradle-plugin","groovy"],"latest_commit_sha":null,"homepage":"http://allure.iopump.ru","language":"Groovy","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/kochetkov-ma.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-08T15:27:51.000Z","updated_at":"2024-05-14T09:31:55.000Z","dependencies_parsed_at":"2023-08-14T08:15:16.553Z","dependency_job_id":null,"html_url":"https://github.com/kochetkov-ma/allure-server-gradle","commit_stats":{"total_commits":13,"total_committers":2,"mean_commits":6.5,"dds":"0.15384615384615385","last_synced_commit":"2bcea9a51122a47defcd29b2de7a06b949b02d73"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/kochetkov-ma/allure-server-gradle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kochetkov-ma%2Fallure-server-gradle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kochetkov-ma%2Fallure-server-gradle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kochetkov-ma%2Fallure-server-gradle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kochetkov-ma%2Fallure-server-gradle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kochetkov-ma","download_url":"https://codeload.github.com/kochetkov-ma/allure-server-gradle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kochetkov-ma%2Fallure-server-gradle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275820541,"owners_count":25534815,"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","status":"online","status_checked_at":"2025-09-18T02:00:09.552Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-server","gitlab","gitlab-ci","gradle-plugin","groovy"],"created_at":"2024-11-12T17:10:08.459Z","updated_at":"2025-09-18T19:32:42.351Z","avatar_url":"https://github.com/kochetkov-ma.png","language":"Groovy","funding_links":[],"categories":[],"sub_categories":[],"readme":"# allure-server-gradle\n\n[![Plugin Portal](https://img.shields.io/maven-metadata/v?label=Gradle%20Plugin%20Portal\u0026color=blue\u0026metadataUrl=https://plugins.gradle.org/m2/ru/iopump/qa/allure/ru.iopump.qa.allure.gradle.plugin/maven-metadata.xml)](https://plugins.gradle.org/plugin/ru.iopump.qa.allure)\n  \n![Build plugin and execute functional tests](https://github.com/kochetkov-ma/allure-server-gradle/workflows/Build%20plugin%20and%20execute%20functional%20tests/badge.svg?branch=master)\n  \n![GitHub release (latest by date)](https://img.shields.io/github/v/release/kochetkov-ma/allure-server-gradle)  \n\nAggregate allure results - pack to zip archive - send to the [allure-server](https://github.com/kochetkov-ma/allure-server) - generate report - add report URL to the (now GitLab Only) CI\n\n## Quick start\n\nMinimal configuration\n```\nplugins {\n    id 'ru.iopump.qa.allure'\n}\nallureServer {\n    relativeResultDir = 'allure-results'\n    allureServerUrl = 'http://localhost:8080'\n}\n```\nDeploy [allure server](https://github.com/kochetkov-ma/allure-server) on your local environment (for e.g. as container)\n  \nExecute your tests\n  \nRun task `allureServerGenerate` - it will start `allureArchive` and `allureServerSend` tasks\n\nResults from directory `your_project/allure-results` or `your_project/module[N]/allure-results` will be packed to `zip` -\u003e sent to the server `http://localhost:8080` -\u003e report will be generated -\u003e url will be saved to `build/generated-report-url.txt`\n\nTask `allureGitLabCallback` may help you to post Report Url in Git Server (or CI) but now only `GitLab` supported.\n\n## All settings\n\n```\nallureServer {\n    /**\n     * 'allureArchive' task will try to find this directory in each module + root project.\n     * If you have multi-module project with 2 modules it will be:\n     * - root/module1/allure-results\n     * - root/module2/allure-results\n     * - root/allure-results\n     */\n    relativeResultDir = 'allure-results'\n    \n    /**\n     * 'allureArchive' You may override 'relativeResultDir' setting and specify each results directory as file collection\n     *\n     *  OPTIONAL\n     *  This settings or 'relativeResultDir' will be use. I recommend to use 'relativeResultDir'.\n     */\n    resultDirs = [ file(\"$buildDir/allure-result\"), file(\"$rootDir/module1/allure-result-any\") ]\n\n    /**\n     * tasks 'allureServerSend' and 'allureServerGenerate'\n     * Your allure-server base url.\n     */\n    allureServerUrl = 'http://localhost:8080'\n\n    /**\n     * task 'allureServerGenerate'\n     * You may specify generation request body. Add build id, ci build url and others according to allure-server OpenApi Spec (Swagger).\n     * Now plugin has only one predefined request body for GitLab\n     * This parameter can be 'String' type with template name - now supported only 'GITLAB'\n     * Or enum GenerationBodyTemplate - now supported only 'GITLAB' enum\n     * Or Closure returned String like in this example\n     *\n     * OPTIONAL\n     * DEFAULT VALUE = 'GITLAB'\n     * If no GitLab environment variable found it will use default value as local build.\n     */\n    requestToGeneration = { uuid -\u003e \"\"\"\n{\n  \"reportSpec\": {\n    \"path\": [ \"my_project\" ],\n    \"executorInfo\": {\n      \"name\": \"GitLab/Jenkins/Bamboo/GitHub CI\",\n      \"type\": \"GitLab/Jenkins/Bamboo/GitHub CI\",\n      \"buildName\": \"my_ci_build_name\",\n      \"buildUrl\": \"my_ci_build_url\",\n      \"reportName\": \"my_ci_report_name\"\n    }\n  },\n  \"results\": [ \"$uuid\" ],\n  \"deleteResults\": true\n}\"\"\"\n    }\n\n    /* ONLY FOR GITLAB (optional settings). For task 'allureGitLabCallback' */\n    /**\n     * Enable GitLab auto-callback after task 'allureServerGenerate' execution.\n     * It will post message in MergeRequest with Report URL.\n     * Now callback implemented only for GitLabCI.\n     *\n     * OPTIONAL\n     * DEFAULT VALUE = FALSE (disable)\n     */\n    gitLabCallbackEnable = true // Optional\n\n    /**\n     * 'allureGitLabCallback'\n     * GitLab API TOKEN for callback.\n     *\n     * OPTIONAL\n     * DEFAULT VALUE = System.getenv('SERVICE_USER_API_TOKEN') (From GitLab CI environment)\n     */\n    gitLabToken = \"43rbdfui34bhx34rjn3c\"\n    /**\n     * 'allureGitLabCallback'\n     * GitLab API url for callback.\n     *\n     * OPTIONAL\n     * DEFAULT VALUE = System.getenv('CI_API_V4_URL') (From GitLab CI environment)\n     */\n    gitLabApiUrl = 'http://localhost:8081'\n\n    /**\n     * 'allureGitLabCallback'\n     * GitLab MergeRequest ID for callback.\n     *\n     * OPTIONAL\n     * DEFAULT VALUE = System.getenv('CI_MERGE_REQUEST_IID') (From GitLab CI environment)\n     */\n    gitLabMergeRequestId = '0'\n\n    /**\n     * 'allureGitLabCallback'\n     * GitLab project ID for callback.\n     *\n     * OPTIONAL\n     * DEFAULT VALUE = System.getenv('CI_PROJECT_ID') (From GitLab CI environment)\n     */\n    gitLabProjectId = '0'\n}\n\n/**\n * GitLab API may be changed in future. And you have a possibility to specify 'allureGitLabCallback' the task.\n * It's advanced usage.\n * I recommend to create an issue in 'https://github.com/kochetkov-ma/allure-server-gradle' about GitLab API changes.\n */\nallureGitLabCallback {\n    /**\n     * Override report url.\n     * Previous task store report url to 'build/generated-report-url.txt'\n     * You may get it, transform and set\n     */\n    reportUrlString = 'test_override'\n\n    /**\n     * GitLab endpoint path to send URL in comments.\n     * You may change it.\n     * It must be a 'Closure\u003cString\u003e' object.\n     * This closure has delegate - Map\u003cString, String\u003e with keys 'apiUrl', 'projectId', 'mrId' - you may use it in GString as Lazy Placeholders like '{-\u003e }'.\n     * !!! Remember only LAZY !!!\n     */\n    gitLabMergeRequestNotesEndpointPath {\n        \"${-\u003eapiUrl}/projects_override/${-\u003eprojectId}/merge_requests/${-\u003emrId}/notes\"\n    }\n}\n```\n## Links\n - Examples from manual testing: [sample-multi-module](sample-multi-module/)\n - Allure-Server: [allure-server](https://github.com/kochetkov-ma/allure-server)\n - **Kotlin** **Kotest** Allure Extended Listener: [kotest-allure](https://github.com/kochetkov-ma/kotest-allure)\n ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkochetkov-ma%2Fallure-server-gradle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkochetkov-ma%2Fallure-server-gradle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkochetkov-ma%2Fallure-server-gradle/lists"}