Run static analysis of pull requests in Bitbucket Server (formerly Stash) and comment on problems in added lines.
Inspired by Hound.
gem install face_control
You also need to have CoffeeLint installed and available in
face-control <project> <repository> <pull_request_id>
It's natural to run this on a continuous integration server (see “Example” below).
If you don't want to receive RuboCop comments with certain severity level,
pass the severity in the
--skip-severity option like so:
face-control --skip-severity convention <project> <repository> <pull_request_id>
--skip-severity you can use just
You can also pass multiple severity levels as a comma-separated list:
face-control -S convention,refactor <project> <repository> <pull_request_id>
face-control uses the same configuration file (
as the official Bitbucket Server Command Line Tools
to connect to your Stash instance.
Here's a Jenkins project setup as an example:
Source Code Management → Git → Repositories → Refspec:
It makes Jenkins fetch otherwise ignored Stash-created branches.
Source Code Management → Git → Branches to build → Branch Specifier:
Merge results of open non-conflicting pull requests.
Build → Execute shell → Command:
export PULL_REQUEST_ID=`echo $GIT_BRANCH | cut -d / -f 3` gem install rubocop face_control npm install -g coffeelint face-control <project> <repository> $PULL_REQUEST_ID
Face control in Wikipedia.