This project provides a SonarQube plugin for the webMethods flow language.
Currently the plugin comes with following predefined rules:
- TryCatchCheck
- A top-level service schould contain a try-catch. The top-level services should be able to catch exceptions and log, transform and obscure data from them.
- SavePipelineCheck
- Services should not contain any save- or restorePipeline services.
- DisableCheck
- Services should not contain any disabled elements.
- InterfaceCommentsCheck
- Interface elements should contain comments. This allows for correct creation of documentation.
- QualityNameCheck
- ExitCheck
- Services with interface element 'EXIT' step need to be configured correctly. The "Exit from " property needs to be configured and the failure message needs to be added if the "Signal" property is set to "Failure".
- EmptyMapCheck
- Empty 'MAP' interface elements should be removed from the service.
- EmptyFlowCheck
- Empty services should be removed.
- BranchPropertiesCheck
- If the switch property of a BRANCH step is not defined, then the 'evaluate labels' property should be set to true. This indicates that the branching conditions are defined in the labels of the child step. If the switch is defined then the 'evaluate labels' property should be false or null.
Here you'll find a quick setup.
You can find the documentation to develop you own rules here.
The sonar-flow-plugin is available under the GNU Lesser General Public License v3.0.