CIO

Sputnik automates code review for Java projects on GitHub

It isn't just offered as a service, either; the open source underpinnings can be downloaded and deployed, and integration with other code hosting services is on the roadmap

Sputnik, a new service that performs continuous automatic code reviews for Java, can integrate directly with open source projects hosted on GitHub at no charge.

The service's underlying software is open source -- and is hosted on GitHub to boot. Users can contribute to the code directly, or they pull a copy to use on premises, although the convenience of plugging into an existing GitHib repository is a big draw.

Sputnik uses the Jenkins continuous integration server and the Maven and Gradle build systems. It performs code analyses with the Gerrit or Stash code tools, featuring support for Checkstyle, PMD, FindBugs, CodeNarc, JSHint, JSLint, TSLint, and Sonar. Any problems found by those tools are reported back to Gerrit or Stash, although with Sonar, rules generated by that program can be plugged directly into Sputnik's configuration file. Sputnik's service version takes care of all the integration with those third-party tools.

Sputnik example report https://sputnik.ci/

Results from a Sputnik build check. The results of various code style-checking applications are aggregated and presented in a single report. Shown here are results from Checkstyle and FindBugs, both for Java.

Aside from supporting generic Java applications, Sputnik can also screen code written in two other languages that run on the JVM, Groovy and Scala. The former, now an Apache Software Foundation project, has carved out a niche in automating servers and business taskflows. Scala, meanwhile, is currently one of the major functional languages, along with Clojure. In theory, Sputnik could add support for other JVM-hosted languages, provided they have code analysis tools that are also compatible with Gerrit or Stash.

The default way to use Sputnik is by attaching a GitHub repository to it, with GitLab support being planned for sometime in the future. Public, open source repos cost nothing to use; the cost for integrating with commercial GitHub repos, though, is by quote only at this time. Alternatively, a copy of Sputnik can be checked out and set up locally, but that requires manually integrating it with all the tooling it works with.