If you use a Git integrated project you will not need to use the build tools as this automatically commits your features to your Git repository.
Behave Pro is compatible with the Gherkin family of test automation tools; Cucumber, Cucumber-JVM, Cucumber-JS, SpecFlow (C#/.net), Behat (PHP) and Behave (Python). These all consume plain text feature files in the Gherkin format and Behave Pro generates this format for BDD scenarios and features. For certain programming languages and projects type Behave Pro can even display test results within Jira.
There two different project types in Behave Pro:
Classic - The original project type in Behave Pro where the data is stored inside Behave Pro and be exported by users or build tools to be executed as Automated tests
Git connected - A new project type where feature files are stored in the team's Git repository and any change made in Behave Pro to features or scenarios are committed directly to the git repository. Any commits made by testers or developers are synced back into Behave Pro and Jira.
For most projects, we recommend using a Git connected repository as it has the latest features that benefit teams the most. An important feature difference is Git connected projects support publishing test results to Jira from Cucumber and SpecFlow.
Git connected project - Test Automation advice
If a project uses Behave Pro's Git integration through GitHub, BitBucket or GitLab, then exporting is done automatically whenever scenarios are created within the acceptance criteria of the Jira issue. When changes are made to the acceptance criteria within the Jira issue, updates to the feature files or feature files are created within your git repository at the location specified during Behave Pro setup. If you need to check where the export location is, you can go to Project Settings > Behave Pro > Git Connector > Configure. If you want to change the repository, directory or branch you will need to disable and re-enable Behave Pro within the Jira project.
It's worth noting if you are using feature-branching, that when acceptance criteria is created a new branch is created using a format of <Jira-ID>-<Jira-Issue-Name>. The new features are created within the directory within that branch as specified above. If you are using a trunk-based strategy, it will not create a new branch and use the base branch that is specified.
Classic Project - Exporting for Test Automation
When using a classic project you have multiple options for how to export your feature files. If your attempting to export all of your files into your projects we strongly recommend using the build tools below. If you are after an individual feature or your working environment is not supported by Behave Pro you can create a script which can be shown in the, "All Features - CMD Line" section.
Build Tools
You can integrate one of Behave Pro's build tools into your projects build process to export all the feature files for your project to a local directory before executing Cucumber or your preferred automation tool of choice.
Please see this guide for detailed instructions on using the export functionality for classic projects.
Supported tools
MSBuild for teams using SpecFlow and Visual Studio
Rake task or command line interface for teams workings with Cucumber Ruby
NodeJS module for teams using Cucumber-JS
Python library or command line interface for teams working in Python (Behave or Lettuce)
Individual Features
To export a specific feature, you can navigate to the feature you want to export on the Requirements page. In the top-right of the feature you can find the download symbol marked with a yellow circle in the image below, clicking this will download the feature file with all scenarios related to it.
All Features - CMD Line
If you want to export all of the features in a Jira project, you can do this through curl or wget commands, please check out our comprehensive guide on this here.