Привет, Хабр!
Вчера мы выпустили новую версию нашего инструмента для code review и навигации по репозиториям, Upsource. Давайте посмотрим, что нового в этом релизе.

Поддержка PHP, Kotlin и JavaScript
С самого первого релиза мы стремились сделать инструмент для code review, который был бы таким же умным, как IDE от JetBrains. Поэтому, начиная с первой версии в Upsource были такие возможности, как навигация по коду и статический анализ для Java проектов, аналогичные тем, что вы можете найти в IntelliJ IDEA. Эта функциональность помогает лучше понять изменения в проекте и разобраться в том, какие потенциальные проблемы могли прокрасться в эти изменения, или как можно еще улучшить качество кода. Однако, мы решили не останавливаться на поддержке только Java-проектов и сегодня мы рады сообщить вам, что в версии 3.0 аналогичная функциональность доступна и для проектов на PHP и Kotlin. Также мы довели до ума поддержку JavaScript, которая была доступна и раньше, но находилась в экспериментальной стадии.

image

GitHub pull requests
Если ваша команда использует GitHub pull requests как основной процесс code review, мы рады сообщить, что теперь вам на помощь может прийти вся умная функциональность Upsource. Для этого достаточно подключить Upsource к вашему GitHub репозиторию и Upsource будет рассматривать ваши pull requests как code review. Все комментарии и активность в них, конечно же, будет синхронизована с GitHub.

image


Больше подсказок для code review
Upsource 3.0 сравнивает результаты статического анализа кода между первой и последней ревизиями в code review и показывает только отличия. Таким образом вы можете увидеть, какие проблемы были устранены новым изменением, а какие потенциальные проблемы были привнесены именно в этом изменении.

image

Статус CI сборки
Начиная с этой версии вы можете настроить отправку сообщений со статусом релевантных сборок с вашего CI сервера (например, TeamCity) на Upsource. После коммита упало много тестов? Возможно, ревью кода стоит отложить до их исправления.

И многое другое
Как и в предыдущих релизах, мы продолжили улучшать IDE интеграцию. Помимо этого в Upsource 3.0 появлась поддержка webhooks, новые отчеты аналитики, расширился набор пермиссий и существенно упростилась процедура обновления.

Чтобы узнать больше о новой функциональности Upsource 3.0, вы можете ознакомиться с полным списком изменений или записаться на бесплатный вебинар.

Скачать продукт можно отсюда; ознакомиться с ценами — здесь, а следить за самыми последними новостями можно, подписавшись на twitter-аккаунт Upsource.

Комментарии (20)


  1. dzzh
    06.04.2016 14:13

    Есть ли в планах поддержка pull requests для Bitbucket Server?


    1. kafooster
      06.04.2016 16:20
      +1

      Мы в ближайшее время будем заниматься планированием, поэтому сейчас самое лучшее время проголосовать за этот feature request: youtrack.jetbrains.com/issue/UP-5943


      1. dzzh
        06.04.2016 16:24

        Спасибо, так и сделал.


  1. cortwave
    06.04.2016 15:36
    +3

    Планируется ли как-то оптимизировать потребление памяти? Конечно, понятно, что сервера сейчас достаточно дешевые но все равно потребление > 8gb для code review на команду меньше пяти человек и небольшого совсем проекта смотрится не очень привлекательно.


    1. kafooster
      06.04.2016 16:21

      Мы над этим работаем.


      1. sshikov
        07.04.2016 18:40

        А оно хоть стало лучше по сравнению с предыдущими версиями? Потому что попытки запустить кажется версию 2 на рабочей машине с 8gb и i7 как-то закончились совсем грустно.


        1. POPSuL
          12.04.2016 16:25

          У вас он не завелся?
          Мы сейчас используем Build 2.0.3653 [07-08-2015 22:57]
          на виртуалочке под CentOS с 6GB RAM. Работает очень даже не плохо. Есть только два минуса:
          1. Раз в неделю/две все просто ломается (морда открывается, но все «виджеты» выплевывют Internal Server Error). Судя по логам — касандра виновата.
          2. Не удалось обновиться до «следующего» (сразу же, как только появилось обновление до новой версии) релиза — новая версия просто отказалась запускаться.


  1. zolroman
    06.04.2016 16:21

    Планируется ли поддержка C#?


    1. kafooster
      06.04.2016 16:22

      На данный момент у нас, к сожалению, нет планов по поддержке C#.


      1. dzzh
        06.04.2016 16:25

        А ObjC и Swift?


        1. kafooster
          06.04.2016 17:02

          Такой feature request у нас тоже есть, но пока он не очень популярен youtrack.jetbrains.com/issue/UP-3064


          1. dzzh
            06.04.2016 17:04

            Ничего, реквест насчет битбакета сегодня внезапно стал в два раза популярнее :)


  1. Bkmz
    06.04.2016 16:50

    Как насчет Perforce и C\C++и Python?


    1. kafooster
      06.04.2016 17:01

      Upsource поддерживает Perforce, вы можете создавать post-commit review. Поддержки C/C++ и Python пока нет, но если вы пользуетесь CLion или PyCharm, вы можете установить плагин и участвовать в дискуссиях и управлять своими code review прямо из IDE.


  1. ScayTrase
    07.04.2016 14:54

    А как эта штука работает с кодом из внешних источников? (third-party библиотеки из composer, например). В наши трудные времена 95% кода — это опен-сурс библиотеки, фремворки и только остальное — чистая бизнес-логика.


    1. kafooster
      07.04.2016 14:55

      Чтобы работал статически анализ и навигация нужно указать проектную модель — maven, gradle или .idea


      1. Fedot
        08.04.2016 16:00

        Как я понял тут вопрос в том можно ли как-то анализировать с учётом сторонних библиотек подключаемых через composer. Дело в том что зависимости устанавливаемые через composer не хранят в репозитории проекта.
        У нас получается так что анализ работает, но если встречается код зависимый от сторонних библиотек, то всплывает множество ошибок «такой-то класс не найден».


  1. afanasiy_nikitin
    07.04.2016 14:54

    было бы круто, если бы вы поддерживали ваши продукты в AUR'e :)


  1. cypok
    08.04.2016 09:59

    У нас тут немножко встало ревью в компании, поэтому продублирую сюда вопрос, направленный в саппорт. Авось кто-то уже сталкивался.


    Использовали Upsource 2.5 с бесплатной лицензией ("Upsource 2.0 Free 10 Users Pack").
    После обновления до 3.0, используя инструкцию, получили сообщение "Invalid License, No valid Upsource license found".
    На странице <upsource>/hub/licenses видна старая 2.0 лицензия.


    Подскажите, как засунуть в этот обновленный Upsource новую бесплатную лицензию на 10 человек и где ее взять?


    1. kafooster
      08.04.2016 11:25
      +2

      Ключик в первом комментарии: https://youtrack.jetbrains.com/issue/UP-6550