DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Newsletter
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Code and Connect: MCP + MuleSoft
  • MuleSoft MCP and A2A in Production: What 17 Recipes Reveal
  • MuleSoft IDP: Enhancing Efficiency and Accuracy in Data Extraction
  • From AI Chaos to Control: Building Enterprise-Grade LLM Gateways With MuleSoft Anypoint

Trending

  • How to Migrate From C/C++ to Rust: A Practical Guide for Embedded IoT Systems
  • YAGNI in the Age of AI Coding
  • The Three Tiers of Agentic Incident Response: When to Trust AI Autonomy
  • Avoiding AI Debt as a Team

Draft This article hasn't been published, so readers can't see it.

In moderation This article is waiting for review, so readers can't see it yet.

Deleted This article has been deleted, so readers can't see it.

  1. DZone
  2. Software Design and Architecture
  3. Integration
  4. Publish Mule 4 Code Review and Coverage to SonarQube

Publish Mule 4 Code Review and Coverage to SonarQube

In this article, see how to publish Mule 4 code review and coverage to SonarQube.

By 
Sadik Ali
·
Sep. 11, 20 · Tutorial
Post on X (opens in a new tab) Share on LinkedIn (opens in a new tab)
15.1K Views

Join the DZone community Save articles, join the discussion, and download Refcards and Trend Reports with a free account.

Join for free Already a member? Log in

Mulesoft plugin to support SonarQube:

Follow the below steps:

      1: SonarQube on-prem installation should be available.

      2: If required, create organization and configure it into maven's settings.xml file as below.

XML
 




xxxxxxxxxx
1
17


 
1
<profile>
2
       <id>sonar</id>
3
       <activation>
4
           <activeByDefault>true</activeByDefault>
5
       </activation>
6
       <properties>
7
           <!-- Optional URL to server. Default value is http://localhost:9000 -->
8
        <sonar.host.url>http://localhost:9000</sonar.host.url>
9
       </properties>
10
        <repositories>
11
        <repository>
12
        <id>MuleRepository</id>
13
        <name>Exchange Repository</name>
14
        <url>https://maven.anypoint.mulesoft.com/api/v2/<organizationkey>/maven</url>
15
        <layout>default</layout>
16
       </repository>
17
        </repositories>



My sonar is available on "http://localhost:9000". As I have not created any organization, none of the organization and its credentials are configured here.

3: Download the MuleSoft plugin binary from the below location.

MuleSoft Sonar Plugin

4: Now execute the below command and create a jar file as a plugin to add in sonar

mvn clean package sonar-packaging:sonar-plugin -Dlanguage=mule

Once the plugin is created, copy the jar file in sonar's plugin folder (sonar-home/extensions/plugins).

Restart the Sonar instance after the same.

5: Once the plugin is copied in the plugin folder, copy the rules files in the same plugin folder.

1: https://github.com/mulesoft-catalyst/mule-sonarqube-plugin/blob/master/src/test/resources/rules-4.xml

2: https://github.com/mulesoft-catalyst/mule-sonarqube- plugin/blob/master/src/test/resources/rules-3.xml

And restart sonar once again. (Safer side to reflect changes in UI.)

6: Once it is done, go to Default/Particular created organization in SonarQube->Administration -> Quality Profiles and delete the XML file extension from the rule.

7: Once it is done, refresh the page, and you will be able to see the Mule plugin in quality profiles. By default, it will set the MuleSoft 4 rule, and based on the project, it can be configured for MuleSoft 3 from the drop-down.

Now we're ready to execute the command. 

Let's create a sample MuleSoft application:

Created one sample application: MuleSoft4 sample application

And now, execute the command to scan mu code with the defined rule in the MuleSoft plugin tool.

command: /root/apache-maven-3.6.3/bin/mvn sonar:sonar test -Dsonar.host.url=http://localhost:9000 -Dsonar.sources=src/

You can change commands based on your requirements.

           Here is the resultant SonarQube's dashboard:


Now we have a plugin to perform code review and MunitCode review.

MuleSoft

Opinions expressed by DZone contributors are their own.

Related

  • Code and Connect: MCP + MuleSoft
  • MuleSoft MCP and A2A in Production: What 17 Recipes Reveal
  • MuleSoft IDP: Enhancing Efficiency and Accuracy in Data Extraction
  • From AI Chaos to Control: Building Enterprise-Grade LLM Gateways With MuleSoft Anypoint

Partner Resources

×

Comments

Loading comments

The comments didn't load

Please try again in a moment.

Likes

Loading

The next likes didn't load. Please try again.

The likes didn't load

Please try again in a moment.

See who liked this

Log in or join DZone for free to see who liked this article.

Log in Join for free
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook