Need help with dokumi?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

128 Stars 9 Forks Other 118 Commits 0 Opened issues


Automatically check if anything is wrong with the code in a pull request

Services available


Need anything else?

Contributors list


Dokumi is a tool created to automatically check if anything is wrong with the code in a pull request. More details in the following blog article:

Automatic code review is its main feature, but it can also be used to automatically build an application an send it to a service like DeployGate or HockeyApp.

As explained in the LICENSE file, Dokumi is under the MIT license.

How to set it up


  • Ruby 2.0 or better (it might work with 1.9) with bundler installed.
  • For building an application with Xcode, the machine running Dokumi must be running OS X and have Xcode installed.
  • The machine running Dokumi must be able to clone repositories from the GitHub server.

Environment setup

The GitHub Enterprise settings are in

. You should start with
. You can easily create an access token in your GitHub's profile settings, in "Personal access tokens" (depending on your version of GitHub, "Personal access tokens" might be in "Applications"). That token should be able to get information about repositories and post comments in issues and pull requests. For testing purpose, using you personal account is fine, but I highly recommend you create a different account for your CI, as the comments posted by Dokumi will be under the name of the account used to create the token.

For projects using Xcode, there is also a

settings file for specifying the Xcode versions you have installed on your machine. It will be generated with default settings the first time you do an Xcode build, but you can also create your own starting from
. Once this settings file is created, changing the system's default Xcode using
will not change the path to the version of Xcode used.

For Android projects, you also have a

settings file.

To check if your environment is set-up properly, you can first try running the tests before making your own build script.

Build scripts

Once the environment setup is done, you need a script to build your application and review the pull requests. For that, first create a

directory. I highly recommend you create a Git repository for managing the content of your

When reviewing or building your code, Dokumi will first clone the repository into

(host, owner and repo will be of course the host, owner and the name of the repository). Then it will search for the build script for that repository. It will first look for
, and if it does not exist it will try using
and then try

Here is a sample build script: (you need of course to change the value of

and also maybe
) ```ruby to_build = "MyProject.xcworkspace" scheme = "MyProject" # In Xcode the scheme must have been marked as shared.

xcode.install_pods if File.exist?("Podfile") # Not needed if the content of your Pods directory is stored in the repository.

case action when :review xcode.findunchangedstoryboards xcode.analyze tobuild, scheme: scheme unless errorfound? xcode.test(tobuild, scheme: scheme, destination: [ "platform=iOS Simulator,OS=8.4,name=iPhone 4s", "platform=iOS Simulator,OS=8.4,name=iPhone 6", ]) end when :archive xcode.archive tobuild, scheme: scheme artifacts.each do |artifactpath| "#{artifactpath} should be uploaded or copied somewhere" end else raise "unknown action #{action.inspect}" end ```

correspond to the command used to run Dokumi: either
. The script also has access to the options given to the command line in the
hash (its keys are symbols).

For more information about build scripts, have a look at


If you have a problem, have a look at


How to run it

First you need to make sure you have all the required gems installed:

bundle install

Then to review a pull request:

bundle exec bin/review https://host/owner/repo/pull/xxx --option1=value1 --option2=value2 ...


bundle exec bin/review host owner repo pull-request-number --option1=value1 --option2=value2 ...

The host can be of course

option1, option2 are optional.

To build an application you also have the


Run the tests

First you need to make sure you have all the required gems installed:

bundle install

Then to run the iOS tests:

bundle exec test/review_xcode_project.rb

Supported analysis tools



How to use Dokumi with Jenkins

If you are using the GitHub pull request builder plugin, making it executing the following might be enough: ```shell set -e DOKUMI_DIRECTORY=/path/to/dokumi

cd "${DOKUMIDIRECTORY}" bundle exec bin/review "${ghprbPullLink}" ``` with DOKUMIDIRECTORY set to the proper path.

If you have any signing problem, have a look at doc/

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.