Upsource: A Platform

Last week at JetBrains Day we talked a little bit about Upsource, a new platform we have been working on. In this post, we’d like to give you a bit of a deeper dive into it.

For the past year or more we have been working hard behind the scenes to modularize the IntelliJ platform. As it stands now, IntelliJ IDEA provides a very extensible and rich platform. In fact, all of our different IDEs, as well as Google’s Android Studio are built on the IntelliJ platform and most of the functionality each flavor provides is nothing more than a series of plugins.

However, we needed to take this one step further, and make it available in a headless way, opening the door to a lot of potential, one of which is Upsource, a server-based platform in itself.



All your code, every single commit, at your fingertips

Upsource is, among other things, a code browser. At any time we can click on a specific commit and browse the code

Browse Code

which gives us a tree view of our Project

Tree View

From there we can navigate to any file. Source code files provide us not only with syntax highlighting but also advanced navigation. We can click on any symbol to navigate to the declaration or find usages

Find Usages

and have Upsource offer us navigable results, thus making code navigation fast and efficient.

Result Find Usages

In addition it allows us to navigate to a specific symbol much like we can in a desktop IDE.

Symbol Lookup


Code Diffs

Apart from browsing through a commit, we can also use Upsource to view differences between commits. Clicking on a specific commit provides us with information about the changes

Code Review

which is also available in a side-by-side format

Side by Side Diff

It also helps when it comes to collaborative code review. We can simply select a piece of code and create a URL which we can then send to someone else

Copy Paste


highlighting exactly what we want to focus on

Highlight Code

Finally there is also an Annotation view which provides a left pane with information about the commits



Beyond browsing: Code Analysis

All of these are good features for both individual browsing as well as collaborative code review. However, Upsource does not stop there. You may have noticed in one of the screenshots that on the right margin there was a little yellow square. Now if you’re used to our tools, either IntelliJ-based IDE’s or ReSharper, a little square in your gutter normally means you’re either good to go (Green), have some issues (Yellow) or you’ve got problems (Red).

Yes. You guessed it. That square is no less than IntelliJ IDEA Code Analysis engine, analyzing your source code and detecting the same issues you see in your IDE, in the browser.

Code Analysis

In terms of Navigation and Code Analysis, Upsource currently supports Java but there are plans on supporting other languages in the near future. Much of the groundwork to do this, which was separating the required parts from the IntelliJ platform has been done, so this opens up the door to supporting most of the languages we currently support.

Try it now

While we do not have a public EAP program yet, Upsource is available to try out as a hosted solution right now. You can navigate to and browse through two projects on there: IntelliJ IDEA Community Edition and Kotlin. In addition, you can also navigate through a bunch of common JVM libraries, including the entire Android SDK.

This entry was posted in New Products, News and tagged . Bookmark the permalink.

26 Responses to Upsource: A Platform

  1. Pingback: Upsource: A Platform from JetBrains – Code Browsing and more | Rocketboom

  2. Arturs says:

    Any idea when we can expect this to be launched and other languages (like PHP) to be added? Rough estimate is fine (next month, this year, beginning next year).

  3. Hongya Cui says:

    Is it designed for open-source software only?

  4. Marat B. says:

    Kick GitHub to add this feature to him! It is great to see Idea engine in browser! Very cool!

  5. Carlo bertini says:

    503 Service Unavailable

    No server is available to handle this request.

  6. Vetle says:

    What’s the relationship between Upsource, Fisheye, Stash and Bitbucket?

  7. Pingback: codescaling | Mozilla, Upsource, SVG.js and Bluetooth LE – Snippets

  8. Semih Akalin says:

    This is great. I can see them going for a revision control system next and build the complete eco system.

  9. Tom Davis says:

    As a platform, will this have public APIs we can use to integrate the IntelliJ platform into other environments? For instance, I currently use Emacs to write Java and get some functionality through a rather hacky Eclipse bridge that exposes some Eclipse functionality via the command line. Will Upsource provide HTTP APIs to functionality like completions, source generation, imports, etc?

    • Evgeny Pasynkov says:

      We are not going to develop the “Code altering” features in the Web for the nearest future. Instead, we are focusing code reading and browsing, and here we have the full set of RPC API (HTTP is far not enough here, so we’ve moved to web sockets)

  10. lzap says:

    Wow, I hope you will host open-source projects for free :-D

  11. Pingback: Public bookmarks 10/10/2013 (a.m.) | Cong's Blog

  12. Siva says:

    Is Upsource open source? Are there any plans?

  13. Pingback: Early Access to JetBrains Upsource, a New Repository Browser and Code Review Tool | JetBrains Company Blog

  14. oz gram chart

    Now it’s time for you to narrow down keywords and phrases and look for a ‘Top 10′
    which you will use in your Linked – In headline and profile.

    So I suspect that far a lot of writers are stingy making use of their information because they’re afraid
    of producing copy, they will think might be

  15. Louis says:

    Fantastic goods from you, man. I’ve consider your stuff previous to and you’re just
    extremely wonderful. I actually like what you
    have bought right here, really like what you’re stating and the way in which during which you assert it.

    You’re making it enjoyable and you still take care of to
    stay it wise. I can’t wait to read much more from you.

    This is really a terrific web site.

  16. Henrietta says:

    Very descriptive article, I enjoyed that bit. Will there
    be a part 2?

  17. I’m really loving the theme/design of your site.
    Do you ever run into any internet browser compatibility
    problems? A few of my blog visitors have complained about my site not
    operating correctly in Explorer but looks great in Firefox.

    Do you have any ideas to help fix this problem?

  18. Hello i am kavin, its my first occasion to commenting anyplace, when i read
    this post i thought i could also create comment due
    to this sensible post.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">