{"id":23651872,"url":"https://github.com/microfocus/bdd2octane","last_synced_at":"2025-09-01T02:32:12.399Z","repository":{"id":40445245,"uuid":"428238501","full_name":"MicroFocus/bdd2octane","owner":"MicroFocus","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-23T12:50:29.000Z","size":358,"stargazers_count":1,"open_issues_count":5,"forks_count":8,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-07-31T09:46:46.014Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/MicroFocus.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,"zenodo":null}},"created_at":"2021-11-15T11:35:45.000Z","updated_at":"2025-06-23T12:50:32.000Z","dependencies_parsed_at":"2025-05-06T12:33:02.736Z","dependency_job_id":"aa3e5ed5-6aec-4f6a-b17a-7183a4190bd6","html_url":"https://github.com/MicroFocus/bdd2octane","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/MicroFocus/bdd2octane","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroFocus%2Fbdd2octane","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroFocus%2Fbdd2octane/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroFocus%2Fbdd2octane/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroFocus%2Fbdd2octane/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MicroFocus","download_url":"https://codeload.github.com/MicroFocus/bdd2octane/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MicroFocus%2Fbdd2octane/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273065038,"owners_count":25039274,"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-01T02:00:09.058Z","response_time":120,"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":[],"created_at":"2024-12-28T16:48:46.615Z","updated_at":"2025-09-01T02:32:12.389Z","avatar_url":"https://github.com/MicroFocus.png","language":"Java","readme":"## A tool that enables importing BDD test results into ALM Octane\n\nThis tool parses the JUnit-style XML report generated by various BDD frameworks, crosschecking\nthe relevant .feature files in Gherkin syntax, \nand sends the result to ALM Octane via the \n[OpenText Application Automation Tools](https://plugins.jenkins.io/hp-application-automation-tools-plugin/).\nThis tool is configured as a build step before the \"ALM Octane Cucumber test reporter\". \n\nThe following frameworks are currently supported out-of-the-box: \n- cucumber-js\n  \u003e verfied versions: 4.2.1, 5.1.0, 6.0.5, 7.3.0\n- php-behat\n  \u003e verified versions: 3.8.1\n- python-radish\n  \u003e verified versions: 0.13.2, 0.13.4 \n- python-behave\n  \u003e verified versions: 1.2.5, 1.2.6\n- cucumber-jvm\n  \u003e verifed versions: 2.0.0 - 7.0.0, 7.23.0  \n  \u003e unsupported version: 1.2.6\n- cucumber-ruby\n  \u003e verified versions: 4.0.0, 5.0.0, 6.0.0, 7.0.0\n\nYou can add your own framework by implementing the interface: [BddFrameworkHandler](./src/main/java/com/microfocus/bdd/api/BddFrameworkHandler.java)\nSpecFlow test result injection is supported via the use of a template file for report generation. See https://marketplace.microfocus.com/appdelivery/content/alm-octane-bdd-automation-with-specflow.\n\n### There are two ways to invoke this tool:\n 1. Run as an executable-jar\n    \n    The CI admin downloads the .jar file and deploys it to the CI server nodes,\n    then creates a job to invoke the following command line: \n     \n    \u003e**java -jar \u003cpath_to_the_jar\u003e --reportFiles=\u003cpath_or_pattern\u003e --featureFiles=\u003cpath_or_pattern\u003e --framework=\\\u003cframework\u003e --resultFile=\\\u003cpath_to_result_file\u003e**\n    \n    or a short version:\n    \u003e **java -jar \u003cpath_to_the_jar\u003e -rf=\u003cpath_or_pattern\u003e -ff=\u003cpath_or_pattern\u003e -f=\\\u003cframework\u003e -r=\\\u003cpath_to_result_file\u003e**\n    \n    The --resultFile is optional. If not provided, the default result file is \u003c*framework*\u003e-result.xml.  \n    If you like to add to report the system-err content, add argument --systemErrors or --se in short.\n     \n    The following picture is a sample configuration of Jenkins in a Windows environment. As you can see, the second action consumes the result\n    file from the first action, cucumber-jvm-result.xml:\n    ![Run as jar](./run_as_jar.png)\n\n    2. Run as a Maven plugin\n\n       This tool is published in the Maven repository as a plugin. You can invoke the plugin by using a fully qualified plugin ID \"com.microfocus.adm.almoctane.bdd:bdd2octane\"\n       or just \"bdd2octane\" provided that a \u0026lt;PluginGroup\u0026gt; for \"com.microfocus.adm.almoctane.bdd\" is configured in maven settings. \n       Unlike the previous way, the CI admin doesn't need to manually deploy the tool.\n\n    \u003e    **mvn com.microfocus.adm.almoctane.bdd:bdd2octane:run -DreportFiles=\u003cpath_or_pattern\u003e -DfeatureFiles=\u003cpath_or_pattern\u003e -Dframework=\\\u003cframework\u003e -DresultFile=\u003cpath_to_result_file\u003e**\n    \n       or\n    \n    \u003e    **mvn bdd2octane:run -DreportFiles=\u003cpath_or_pattern\u003e -DfeatureFiles=\u003cpath_or_pattern\u003e -Dframework=\\\u003cframework\u003e -DresultFile=\u003cpath_to_result_file\u003e**\n    \n       The following picture is a sample configuration of invoking a Maven target to run the plugin.\n       ![Run as mvn](./run_as_mvn.png)\n\n### Notes on Cucumber-js handler\n\n* Cucumber-js using the Gherkin library to parse the feature file. For Cucumber-js version 6.x and below, it uses the Gherkin\n  library in version 5 or below which does not support the keyword \"Example\". \n  If a feature file contains \"Example\" as keyword, the program will throw an error.\n  It is recommended to use \"Scenario\" instead of \"Example\" as the scenario keyword to avoid this error.\n* \"Example\" keyword was added to the Gherkin library in version 6.0.13 on 9/25\n  2018 [Gherkin library changelog](https://github.com/cucumber/common/blob/main/gherkin/CHANGELOG.md#6013---2018-09-25).\n  Cucumber-js version 7 and above applies the updated Gherkin library and won't have this problem.\n\n### Notes on Cucumber-jvm handler\n* If **useFileNameCompatibleName** is enabled, the space character in a feature name is replaced with underscore(_) in JUnit report,\n  currently the handler doesn't support this configuration.\n    \n* Since Maven Surefire 2.19.1, the JUnit report doesn't include failing call stack in \\\u003cfailure\u003e element or \\\u003cerror\u003e element. \nIt is required to enable the \"pretty\" option of Cucumber-jvm. This tool will parse the \u003csystem-out\u003e tag instead.\n  \n* There is a bug in Surefire if the feature name includes parentheses, the JUnit report is mangled. [SUREFIRE-1952](https://issues.apache.org/jira/browse/SUREFIRE-1952)\n\n* If **stepNotifications** is enabled, feature name and scenario name will be replaced by scenario name and step name in JUnit report,\n  currently the handler doesn't support this configuration.\n\n* When using JUnit 5.x, you must configure the system property `cucumber.junit-platform.naming-strategy=long` to ensure proper test naming. Refer to the [official documentation for integration details with Maven Surefire and Gradle](https://github.com/cucumber/cucumber-jvm/blob/main/cucumber-junit-platform-engine/README.md#maven-surefire-and-gradle).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrofocus%2Fbdd2octane","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrofocus%2Fbdd2octane","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrofocus%2Fbdd2octane/lists"}