Skip to content
SonarQube Perforce plugin
Branch: master
Clone or download
wbasupm Merge pull request #22 from SameOldSong/master
Compatibility with SonarQube 7.9. 

Note: Merging the pull request as received from @SameOldSong as they have confirmed this works and been tested.
Latest commit f0be2eb Nov 26, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Compatibility with SonarQube 7.9 Oct 31, 2019
.gitignore SONARSCPER-1 Initial version of Perforce provider Dec 5, 2014 Create file Aug 10, 2015
.travis.yml Remove unused variables from travis.yml Jun 14, 2016

SonarQube Perforce plugin

Build Status


This plugin implements SCM dependent features of SonarQube for Perforce projects. It's a pure Java implementation so no need to have p4 command line tool installed on the computer doing the SQ analysis.


There is no autodetection so you should activate the provider using -Dsonar.scm.provider=perforce.

Mandatory properties:

Key Description
sonar.perforce.port The host and port number of the Perforce service with which to communicate. Format is host:port.
sonar.perforce.username Username to be used for Perforce authentication. Mandatory.
sonar.perforce.password.secured Password to be used for Perforce authentication. If not set it will try to reuse existing ticket for provided user.
sonar.perforce.clientName Name of the client/workspace the project belongs to.

You can also configure some optional properties:

Key Description Default value
sonar.perforce.useSsl Use SSL protocol (p4javassl://) to connect to server false
sonar.perforce.charset Character set used for translation of unicode files (P4CHARSET)
sonar.perforce.sockSoTimeout Perforce socket read timeout for communicating with the Perforce service (milliseconds) 30000 (30s)
sonar.perforce.clientImpersonatedHostname Name of the host computer to impersonate (P4HOST)

Known Limitations

  • No auto-detection since nothing in workspace seems to show this is under Perforce control management (like .git folder for Git workspace).
  • Blame is not executed in parallel since we are not confident in the thread safety of p4java library.

Developper informations

The plugin use the p4java pure Java implementation of Perforce client:

You can’t perform that action at this time.