When an analyzer is not officially supported in SonarQube™, there is the possibility of importing the findings through a generic data format.
But what if you need to do the exact opposite? What if you need to export already analyzed information from SonarQube™ with community plugins or because you have developed custom rules within the organization?
SonarCloud™ officially does not support custom rules nor does it officially allow third-party extensions that exist for SonarQube™. What do we do if we want to take advantage of all the benefits of the cloud with SonarCloud™ without losing the additional capabilities of SonarQube™?
Generic Issue Data Exporter allows you to export findings (issues) from a SonarQube™ instance in the generic data format, so that these data can later be imported into SonarCloud™ (or another SonarQube™ instance).
This product will allow you to take advantage of the results of the analyses of third-party analyzer rules from SonarQube™ and custom rules from SonarQube™ and import them into your SonarCloud™ instance.
This way you can take advantage of existing capabilities in SonarQube™ and its extensions in the cloud, in your SonarCloud™ organization.
You will have all the detailed information about the rule in your analyzed project in SonarCloud™ just as you had it in SonarQube™.
Remember that to import the issues you must use the following parameter in the analysis:
sonar.externalIssuesReportPaths
And configure it to read the file previously generated with the product.
You have more information on how to do this in the official SonarCloud™ documentation
Generic Issue Data Exporter for SonarQube™ makes it easy for you to export data for a specific analysis engine (repository) or for a set of specific rules, according to your needs, and thus ensure that they are in the format required by SonarCloud™
bitegarden Generic Issue Data Exporter for SonarQube™ requires Java 8 or higher.
Once you have downloaded the product you will have a self-executable "jar" file.
Simply, place it in your file system and run the jar with the "--help" option to see all the available options:
java -jar bitegarden-generic-issue-data-exporter-for-sonarqube.jar --help
As a result, you will get something like this:
... bitegarden Generic Issue Data Exporter for SonarQube. Command Line usage: java -Dconfig.file=PATH_TO_CONFIG_FILE -Dlicense.file=PATH_TO_LICENSE_FILE ... -jar bitegarden-sonarqube-generic-issue-data-exporter.jar config.file = path to properties file including all the parameters required to export the data. This is optional. You can set all the properties through command line args using -DpropertyName=propertyValue Note that if you use a config file and command line arguments, arguments will override config file license.file = path to file with your license key provided by bitegarden. By default a 14 days trial version will be used if license file is not provided Mandatory properties: sonar.project.key = the project key to export issues from sonar.host.url = your SonarQube host URL. sonar.token = your user security token to authenticate against SonarQube. It is recommended to generate a new token for this app. sonar.repository.keys = Rules repository keys list separated by comma to search issues. sonar.rule.keys = Rules keys list separated by comma to search issues. (this parameter is required if repository key parameter is not provided) Optional properties: output = File name for the generated report (without .json extension) ...
All the properties should be passed to the command line app using Java system properties with "-D" or using a custom properties file.
If you use a custom properties file you should run the application with the "config.file" parameter and provide the path to the properties file:
java -Dconfig.file=config.properties -jar bitegarden-generic-issue-data-exporter-for-sonarqube.jar --help
If you just want to pass the required parameters through system properties use "-D" arguments when running the report:
java -Dsonar.project.key=MYPROJECTKEY -Dsonar.host.url=MYSONARURL -Dsonar.repository.keys=MYRULESREPOSITORY ... -jar bitegarden-generic-issue-data-exporter-for-sonarqube.jar
If a property is defined in both locations (file and command line args) the command line property will override the property in the file. This way you can have a generic configuration file with the common properties (sonar.token, sonar.host.url, ...) and then use command line args for specific properties like "sonar.project.key".
By default when you download the product you will be able to use it during 14 days. Once your evaluation is finished, you will need to purchase the product and get a valid license key.
The license key will be provided as a text file. In order to use this license file you must set the property "license.file" in your configuration file (or through command line args) with the path of your license file.
The license key is bound to your SonarQube™ Server ID.
This is a sample running a licensed product using a command line argument:
java -Dconfig.file=config.properties -Dlicense.file=PATH_TO_LICENSE_FILE -jar bitegarden-generic-issue-data-exporter-for-sonarqube.jar --help
It is up to you to include the "license.file" property in your configuration file or use it as a command line argument with "-D".
When you run the report all the information for both the license and the configuration will be displayed on the standard output.
If you have any problems please create a support request on our support center and we will be happy to help you find a solution.
Request SupportEvaluation license
450 €/year