{"id":13721386,"url":"https://github.com/jenkinsci/cucumber-reports-plugin","last_synced_at":"2025-04-08T01:36:24.966Z","repository":{"id":6887705,"uuid":"8137203","full_name":"jenkinsci/cucumber-reports-plugin","owner":"jenkinsci","description":"Jenkins plugin to generate cucumber-jvm reports","archived":false,"fork":false,"pushed_at":"2025-03-11T19:08:24.000Z","size":4433,"stargazers_count":210,"open_issues_count":33,"forks_count":232,"subscribers_count":124,"default_branch":"master","last_synced_at":"2025-04-01T00:34:23.523Z","etag":null,"topics":["cucumber","java","jenkins-plugin","report"],"latest_commit_sha":null,"homepage":"https://plugins.jenkins.io/cucumber-reports/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jenkinsci.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-02-11T11:49:39.000Z","updated_at":"2025-03-25T20:38:11.000Z","dependencies_parsed_at":"2023-12-26T09:36:08.694Z","dependency_job_id":"79d1e6bf-d87a-4599-ae78-52cf7aa562be","html_url":"https://github.com/jenkinsci/cucumber-reports-plugin","commit_stats":{"total_commits":467,"total_committers":37,"mean_commits":"12.621621621621621","dds":"0.32119914346895073","last_synced_commit":"a389415eb064847b9f6dc8bc6133c8a93c1a24ff"},"previous_names":[],"tags_count":93,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fcucumber-reports-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fcucumber-reports-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fcucumber-reports-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jenkinsci%2Fcucumber-reports-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jenkinsci","download_url":"https://codeload.github.com/jenkinsci/cucumber-reports-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247761051,"owners_count":20991531,"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":["cucumber","java","jenkins-plugin","report"],"created_at":"2024-08-03T01:01:16.382Z","updated_at":"2025-04-08T01:36:24.940Z","avatar_url":"https://github.com/jenkinsci.png","language":"Java","funding_links":[],"categories":["Tools, Libraries \u0026 Frameworks","Java","Tools"],"sub_categories":["JavaScript"],"readme":"[![Build Status](https://ci.jenkins.io/job/Plugins/job/cucumber-reports-plugin/job/master/badge/icon)](https://ci.jenkins.io/job/Plugins/job/cucumber-reports-plugin/job/master/)\n\n[![Popularity](https://img.shields.io/jenkins/plugin/i/cucumber-reports.svg)](https://plugins.jenkins.io/cucumber-reports)\n[![Live Demo](https://img.shields.io/badge/Live%20Demo-Online-blue.svg)](https://damianszczepanik.github.io/cucumber-html-reports/overview-features.html)\n\n# Publish pretty [cucumber](https://cucumber.io/) reports on [Jenkins](http://jenkins-ci.org/)\n\nThis is a Java Jenkins plugin which publishes [pretty html reports](https://github.com/damianszczepanik/cucumber-reporting) showing the results of cucumber runs. To use with regular cucumber just make sure to run cucumber like this: cucumber `--plugin json -o cucumber.json`\n\n## Background\n\nCucumber is a test automation tool following the principles of [Behavioural Driven Design](https://en.wikipedia.org/wiki/Behavior-driven_development) and living documentation. Specifications are written in a concise [human readable form](https://cucumber.io/docs/reference) and executed in continuous integration. \n\nThis plugin allows Jenkins to publish the results as pretty html reports hosted by the Jenkins build server. In order for this plugin to work you must be using the JUnit runner and generating a json report. The plugin converts the json report into an overview html linking to separate feature file htmls with stats and results. \n\n## Install\n\n1.  [Get](https://jenkins-ci.org/) Jenkins.\n2.  Install the [Cucumber Reports](https://wiki.jenkins-ci.org/display/JENKINS/Cucumber+Reports+Plugin) plugin.\n3.  Restart Jenkins.\n\nRead this if you need further  [detailed install and configuration](https://github.com/jenkinsci/cucumber-reports-plugin/wiki/Detailed-Configuration) instructions \n\n## Use\nYou must use a **Freestyle project type** in jenkins.\n\nWith the cucumber-reports plugin installed in Jenkins, you simply check the \"Publish cucumber results as a report\" box in the\npublish section of the build config:\n\n![](.README/publish-box.png)\n\nIf you need more control over the plugin you can click the Advanced button for more options:\n\n![](.README/advanced-publish-box.png)\n\n1.  Report title can be used to publish multiple reports from the same job - reports with different titles are stored separately; or leave blank for a single report with no title\n2.  Leave empty for the plugin to automagically find your json files, or enter a base folder relative to the workspace if for some reason the automagic doesn't work for you\n3.  Leave default, or specify an ant-style pattern for report json files in case you need to select only specific files\n4.  Specify which json files should be excluded from prior selection\n5.  If you would like to include .properties files containing metadata to be displayed in the report's top right corner, specify them via ant-style pattern here. Attention: Equal to File Include/Exclude Pattern, files are searched only below JSON Reports Path\n6.  Configure how many historical reports to keep (0 = no limit)\n\n## Advanced Configuration Options\n\nThere are 4 advanced configuration options that can affect the outcome of the build status. Click on the Advanced tab in the configuration screen:\n\n![Advanced Configuration](.README/advanced_options.png)\n\nThe first setting is Skipped steps fail the build - so if you tick this any steps that are skipped during executions will be marked as failed and will cause the build to fail:\n\nIf you check both skipped and not implemented fails the build then your report will look something like this:\n\nMake sure you have configured cucumber to run with the JUnit runner and to generate a json report: (note - you can add other formatters in if you like e.g. pretty - but only the json formatter is required for the reports to work)\n```java\n  import cucumber.junit.Cucumber;\n  import org.junit.runner.RunWith;\n  \n  @RunWith(Cucumber.class)\n  @Cucumber.Options(format = {\"json:target/cucumber.json\"})\n  public class MyTest {\n  \n  }\n```\n\n## Automated configuration\n\n### Pipeline usage\n\nTypical step for report generation:\n```groovy\nnode {\n    stage('Generate HTML report') {\n        cucumber buildStatus: 'UNSTABLE',\n                reportTitle: 'My report',\n                fileIncludePattern: '**/*.json',\n                trendsLimit: 10,\n                classifications: [\n                    [\n                        'key': 'Browser',\n                        'value': 'Firefox'\n                    ]\n                ]\n    }\n}\n```\nor post action when the build completes with some fancy features for the Gerrit integraion:\n```groovy\npost {\n    always {\n        cucumber buildStatus: 'UNSTABLE',\n                failedFeaturesNumber: 1,\n                failedScenariosNumber: 1,\n                skippedStepsNumber: 1,\n                failedStepsNumber: 1,\n                classifications: [\n                        [key: 'Commit', value: '\u003ca href=\"${GERRIT_CHANGE_URL}\"\u003e${GERRIT_PATCHSET_REVISION}\u003c/a\u003e'],\n                        [key: 'Submitter', value: '${GERRIT_PATCHSET_UPLOADER_NAME}']\n                ],\n                reportTitle: 'My report',\n                fileIncludePattern: '**/*cucumber-report.json',\n                sortingMethod: 'ALPHABETICAL',\n                trendsLimit: 100\n    }\n}\n ```\n\n### Raw DSL - This should be utilized after build steps (note that the title is not specified in this example)\n\n```groovy\nconfigure { project -\u003e\n  project / 'publishers' \u003c\u003c 'net.masterthought.jenkins.CucumberReportPublisher' {\n    fileIncludePattern '**/*.json'\n    fileExcludePattern ''\n    jsonReportDirectory ''\n    failedStepsNumber '0'\n    skippedStepsNumber '0'\n    pendingStepsNumber '0'\n    undefinedStepsNumber '0'\n    failedScenariosNumber '0'\n    failedFeaturesNumber '0'\n    buildStatus 'FAILURE'  //other option is 'UNSTABLE' - if you'd like it left unchanged, don't provide a value\n    trendsLimit '0'\n    sortingMethod 'ALPHABETICAL'\n  }\n}\n```\n\nWhen a build runs that publishes cucumber results it will put a link in the sidepanel to the [cucumber reports](https://github.com/damianszczepanik/cucumber-reporting). There is a feature overview page:\n\n![feature overview page](https://github.com/damianszczepanik/cucumber-reporting/raw/master/.README/feature-overview.png)\n\nAnd there are also feature specific results pages:\n\n![feature specific page passing](https://github.com/damianszczepanik/cucumber-reporting/raw/master/.README/feature-passed.png)\n\nAnd useful information for failures:\n\n![feature specific page failing](https://github.com/damianszczepanik/cucumber-reporting/raw/master/.README/feature-failed.png)\n\nIf you have tags in your cucumber features you can see a tag overview:\n\n![Tag overview](https://github.com/damianszczepanik/cucumber-reporting/raw/master/.README/tag-overview.png)\n\nAnd you can drill down into tag specific reports:\n\n![Tag report](https://github.com/damianszczepanik/cucumber-reporting/raw/master/.README/tag-report.png)\n\n## Develop\n\nInterested in contributing to the Jenkins cucumber-reports plugin?  Great!  Start [here](https://github.com/jenkinsci/cucumber-reports-plugin).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Fcucumber-reports-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjenkinsci%2Fcucumber-reports-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjenkinsci%2Fcucumber-reports-plugin/lists"}