Upsource Features

Code Review

Upsource helps team members achieve better code quality, advance their development skills, make changes visible to the whole team and engage in technical discussions through effective code reviews. It suits any team, large or small, regardless of the existing development process.

Simple non-intrusive workflow

The code review process in Upsource does not impose any strict workflow. Any team member can create a code review for any change and assign one or multiple reviewers. Upsource will suggest reviewers based on history of files that have been changed, as well as code review history. You can also add watchers in code reviews so that they become aware of important changes in your code base.

Post-commit / branch review

Upsource features post-commit reviews that can be created on any change with one click straight from the list of changes. If you need to attach new revisions to the review, you can either do it manually or by simply mentioning the review ID in the commit message. You can also review entire feature branches, in which case new revisions are added to the review automatically.

Smart code review assistance

Upsource facilitates performing a code review in many ways. It indicates the read/unread state of each file and tracks which revisions have already been seen and approved. When new revisions are added to the code review, a reviewer only sees the diff of those revisions so they don't have to inspect previous changes again. You can examine changes in an inline diff or a side by side view, whichever you prefer.

Java code insight

Any team can benefit from Upsource as a general-purpose code review tool, whatever programming language they use. For Java teams, Upsource offers additional advantages including server-side static code analysis for Java and JavaScript code and code-aware navigation and search for usages in Java code. You can even compare symbol usages across two revisions.

Problems labeled and solved

Upsource helps you categorize and prioritize any concerns raised during a code review by applying labels to discussions. Some predefined labels are provided, others can be created on a per-project basis. You can resolve a discussion when the problem is addressed, or log an issue in your bug tracker straight from a code review.

Code review from IDE

To help developers stay in their comfort zone, Upsource features a code review plugin for IntelliJ IDEA and other JetBrains IDEs which allows you to participate in code discussions and manage code reviews from the comfort of your IDE. You can also open a review (or simply a piece of code) in the IDE by clicking a link in the browser.

Team Collaboration

Upsource is the perfect place for your team to engage in technical discussions over the code base, helping each other to build better software and share knowledge to enhance your development skills.

Discuss and share

In Upsource you can start discussions in code or diff views, with or without creating a formal code review, from the web UI or right from your IDE.

Everything in Upsource has a URL and can be shared with teammates: code reviews, revision diffs, discussions of code and revisions, reports or filters applied to commit graphs, and even custom selections of code in any specific revision.

Smart notifications

Upsource notifies its users in real time, via News Feed or the IDE plugin, of any activities requiring their attention, from code review status changes to simple @mention. Email notifications are bundled in a single email so you have less in your inbox to go through. They come with code highlighting and the ability to reply to comments via email, allowing you to participate in ongoing reviews without leaving your email program.

Knowledge History

When viewing any revision of a file, you have access to all relevant discussions from prior revisions of this file, be it within code reviews or in standalone discussions that weren't part of formal code reviews.

Essentially, all knowledge about specific files in your code base is accumulated and made available for future reference.

Repository Browsing

Upsource summarizes recent changes in your repository, showing commit messages, authors, quick diffs, links to detailed diff views and associated code reviews. A commit graph helps visualize the history of commits, branches and merges in your repository.

Supported VCS's

Upsource serves as a central location with a friendly unified UI for exploring and monitoring all your VCS repositories. It is great for most projects, old and new, as it can read from Git, Mercurial, Subversion and Perforce. Navigate to specific revisions, and inspect diffs inline or side-by-side. Track recent commits, branches and merges, or search the project history to learn who did what and when.

Commit history

Upsource lists recent changes in your repository. The commit message, author, timestamp and commit ID are instantly visible for each commit, as are quick links to a diff view and a link that lets you explore your project state as of a particular revision. The list of commits is accompanied by a commit graph that helps visualize the history of commits, branches and merges in your repository.

Powerful search

Upsource helps developers stay in context of the changes relevant to them. You can filter repository activity by commit message, branch, author, commit message, commit ID, Git or Mercurial tag, path, discussion label, time range, etc. It is also possible to find particular methods or classes, and take advantage of CamelHumps while searching.

History of files

Whenever you need to know how a file has evolved, use the History view to display the list of revisions that have affected the file, links to diff views for these revisions, as well as links to code reviews that were conducted on these revisions. Another historical view called Blame displays line-level references to developers and revisions that have most recently affected specific lines of code in a file.

Branches page

The Branches page shows the activity across your project's branches. You can quickly search the list and see which ones are active or stale. The default branch setting makes the UI a bit smarter when displaying the commits graph, rendering README files, comparing branches, and so on.

Code exploring

Enjoy quick read access to the current or any prior state of your project's code, without having to check out locally. Browse project structure, view syntax-highlighted files, and search for code, files and text.


To help developers stay in their comfort zone, Upsource features code review plugins for IntelliJ IDEA and other JetBrains IDEs which allow you to participate in code discussions and manage code reviews from the comfort of your IDE.

Upsource also integrates with popular issue trackers so that you can easily report problems and record feature ideas straight from a review.

IDE plugin

Upsource's IDE plugin for code review lets you perform the same actions that are available in the Upsource UI from within your IDE. You can create code reviews for your changes, review a colleague's code, assign reviewers and watchers, participate in discussions, get notifications, and so on.

Issue tracker integration

Upsource lets you navigate to relevant issues in your YouTrack or JIRA instance from discussions, code reviews and commit messages. You can also create an issue from a code review or even from a discussion.

Business Ready

Upsource installs on your servers, behind your firewall, so that only you have access and full control over your project information. It comes with flexible user management options, granular permissions, and per-project permissions, and integrates with multiple authentication modules.


Upsource gathers VCS usage and code review statistics, and displays repository activity and code review coverage. For Java projects, it also shows who is contributing to each module.

Hosting options

Upsource installs on your servers or on your own cloud infrastructure.

Amazon EC2 and Microsoft Azure are currently supported.


Upsource integrates with LDAP and many other authentication modules. You have complete control over project access: divide users into groups, customize roles and permissions, and set per-project permissions.


Rely on our unlimited email support.


Enjoy easy installation and setup and locally controlled backups.


Scale Upsource as your needs require.