Atlassian JIRA 6.2: Быть лучше, чем вчера



    На сегодняшний день Atlassian JIRA является одним из самых известных и популярных баг-трекеров. Кроме того, во всем мире целый ряд компаний используют JIRA не только в качестве баг-трекера, но и как систему управления проектами. JIRA достаточно универсальна, чтобы решать большое число казалось бы несвязанных друг с другом задач, и она довольно просто расширяется за счет разработки дополнительных плагинов.

    Каждый раз пользователи продуктов Atlassian ожидают следующего большого релиза JIRA, понимая, что он не может быть хуже предыдущего. Поэтому и от JIRA 6.2, выпуск которой официально состоялся 25 февраля, ожидают только позитивных впечатлений.

    В данной статье попробуем понять, что нового нам стоит ждать в новой версии JIRA.

    Новый взгляд на интеграцию c Development Tools


    Многие пользователи любят JIRA за возможность интеграции с ней и других инструментов для разработчиков, разрабатываемых в Atlassian:
    • Stash — система управления Git репозиториями, которые вы «хостите» у себя
    • Bamboo — система непрерывной интеграции
    • Bitbucket — система управления Git и Mercurial репозиториями
    • Crucible — инструмент для проведения code review.

    Новая версия JIRA переосмысливает подход к интеграции инструментов для разработчиков. Теперь в каждой заявке присутствует секция Development, которая является стартовой точкой для разработчиков и менеджеров продукта. Информация, представленная в секции, позволяет понять, что на данный момент уже сделано по текущей задаче, а что еще предстоит сделать.


    Прямо из JIRA вы можете увидеть список веток, коммитов или пул-реквестов, связанных с этой заявкой в вашем Stash:


    Или, например, вы можете быстро увидеть историю билдов и deployments, которые собраны Bamboo:


    Кроме того, прямо из JIRA вы можете сделать ветку и начать разработку новой функциональности.

    «Помни Создателя твоего»


    Одной из наиболее давних проблем в JIRA являлась невозможность посмотреть у заявки имя пользователя, который в действительности является автором этой заявки. Конечно, есть поле Reporter, но при его использовании всегда следует помнить о следующих моментах:
    • поле является опциональным и его в общем случае может не быть на экране просмотра заявки
    • поле является редактируемым и в любой момент времени его значение можно изменить

    В качестве решения данной проблемы был выбран наиболее простой в реализации подход: в истории заявки сохраняется и отображается запись о том, кто является автором заявки:


    Интересная особенность, связанная с данной задачей, заключается в том, что она была сделана в так называемые 20% времени, когда сотрудники компании могут на свое усмотрение выбрать любую интересующую их задачу.

    Улучшения в кастомном поле выбора пользователей


    Довольно часто приходится сталкиваться с ситуацией, когда в проектах есть необходимость добавления кастомных полей, в которых нужно выбирать пользователей JIRA. Для такого случая есть кастомное поле типа User Picker, которое можно добавить на экраны просмотра и редактирования.

    До выхода версии 6.2 данное поле имело существенное ограничение: в нем на уровне настройки нельзя было ограничить список пользователей, которые в этом поле могли бы присутствовать. Такая необходимость может понадобиться, например, в следующих случаях:
    • в вашей JIRA есть много проектов и много пользователей, которые никак не связаны друг с другом (например, вы большая аутсорсинговая компания). Используя поле User Picker в том или ином проекте вы хотите упростить процесс его заполнения пользователями только той группой/ролью, которые имеют непосредственное отношение к проекту.
    • если в вашу JIRA имеют доступ как заказчики, так и сотрудники компании, то в большинстве сценариев в поле User Picker у вас будет желание ограничить выбор только сотрудниками компании или только заказчиками, чтобы избежать какой-либо ошибки при заполнении поля.
    • в JIRA, если пользователь является автором заявки, то его не получится удалить из списка всех пользователей. В таком случае обычно таких пользователей переносят в группу «неактивные», но они все же остаются видны в списке пользователей. В идеале хотелось бы избежать ситуации, когда в поле могут вписать несуществующих пользователей.

    Теперь поле User Picker в своих настройках имеет опцию User Filtering, которая ограничивает список доступных вариантов либо группами пользователей, либо ролями в проектах.


    Стоит отметить, что ранее подобную функциональность реализовывал отдельный плагин для JIRA, но с сегодняшнего дня данная функциональность доступна «из коробки».

    Аудит


    Целый ряд компаний, которые используют JIRA в качестве баг-трекера или инструмента управления проектами, обладают большим количеством пользователей. В таких компаниях, как правило, JIRA администрирует не один человек, а несколько. И порой бывают ситуации, когда кто-то изменив что-либо в workflow или удалив кастомное поле мог поломать тот или иной выстроенный бизнес-процесс.

    В JIRA давно назревала необходимость в аудите действий администратора и, наконец, такая возможность появилась. В настоящий момент в аудит логируются события следующего рода (список событий, конечно же, неполный, но он довольно отчетливо свидетельствует о характере событий):
    • добавление, редактирование или удаление workflow
    • добавление или удаление кастомного поля
    • добавление, редактирование или удаление пользователей



    В каждой записи по событию можно посмотреть различные детали, харатеризующие действие. Например, если было создано кастомное поле, то можно увидеть время, когда оно было создано, IP адрес пользователя, который его создал, а также имя и тип кастомного поля.


    По-умолчанию аудит отключен и его нужно включать самостоятельно.

    Внешний вид статусов


    Атлассиан утверждают, что ранее использовавшиеся в качестве статусов заявок иконки с подписями морально устарели. Теперь в новой JIRA строго унифицирован внешний вид статусов, который соответствует Atlassian Design Guidelines.


    Прочие моменты


    И, наконец, стоит отдельно отметить следующие моменты, которые вошли в релиз JIRA 6.2:
    • добавлена возможность с помощью JQL выражений осуществлять поиск заявок по наличию или отсутствию аттачментов. Например, если нужны заявки без аттачментов, то используем выражение «attachments IS EMPTY».
    • реализованы заметные улучшения в редакторе workflow. Теперь прямо из административной панели проекта можно начать редактировать воркфлов для определенного типа заявки.

    В заключение, хочется выразить, наверное, общую мысль, что стало все же лучше, чем было прежде. Конечно, в JIRA все еще присутствуют моменты, которые не всех удовлетворяют, но стоит помнить, что идеальных инструментов не бывает.

    Комментарии 28

      +2
      Отличная новость. Спасибо за продукт, который вы делаете. Всегда приятно с ним работать.
        +5
        Спасибо за ваше мнение, приятно слышать подобные положительные впечатления от использования JIRA.

        Но все-таки отмечу, что непосредственного участия в разработке JIRA автор поста не принимает, занимаясь на постоянной основе разработкой плагинов для JIRA.
        +4
        Всё замечательно, кроме цены для начала использования и продления поддержки, а ведь срок поддержки заканчивается, а глюки остаются…
          +2
          Верное замечание. Но за хороший продукт, как и за любую другую хорошую вещь, приходится чем-то жертвовать — в данном случае деньгами :)

          Тем не менее на рынке сегодня существует достаточно много иструментов, которые можно использовать в качестве баг-трекера. Например, YouTrack от ребят из JetBrains, как мне кажется, является отличной альтернативой JIRA, но по более дружелюбной цене.
            0
            А за хорошую цену приходится жертвовать функциональностью. :-)
            +3
            вот даже всё бы ничего, но очень напрягает, ситуация, когда сидели на старой версии 2 года, и хотим заплатить за апдейт и поставить его, то чтобы поставить новую версию, нужно заплатить за поддержу за прошлые 2 года, которую не использовали
            0
            Я уже внедрил OnDemand-пакет JIRA+Bamboo+Bitbucket для двух клиентов и могу сказать, что эти инструменты невероятно эффективно работают вместе. Немного неудобно засекать и логировать время, поэтому были бы очень рады улучшениям в этом направлении.
              +1
              Мы используем плагин tempo для логирования времени, у него есть достаточно удобный виджет «tracker».

              image
                0
                Tempo хорошо, но не хватает маленького окошка в трее с выбором проекта + таска и камментами к этому делу, ну и плюшки мелкие если забыл остановить время и ушел… Для меня это была основная вещь из-за которой не остановился на jira. Еще что-то связанное с оплаченными и неоплаченными часами напрягало, но это уже менее важная часть была
                  0
                  А на чем остановились?
                    0
                      0
                      Основным приоритетом был учет времени в разрезе по проектам + таски, поэтому остановился на paymoapp.com
                      Создал клиентов + проекты. Большие (долговременные) таски создаю отдельно, для небольших использую 1 общий, в который прямо из окошка в виде камментов прописываю что делал — получается весьма удобно.
                      С другой стороны — сейчас начал работу над новым большим проектом, учет времени вести вполне удобно в целом, а вот нормального списка задач / багтрекера / ещё каких плюшек не хватает. Пробовал использовать канбан достку trello — тоже все круто, но за неделю использования (к слову сказать использовали два человека) просто засыпали её, теперь сложно искать и отслеживать открытые вопросы и вести дальнейшее обсуждение.
                      В общем в целом видимо вернусь к Jira без tempo где есть необходимость по проекту вести задачи нормально, а для учета времени буду использовать paymo, где в виде камментов буду вставлять номер задачи и краткое описание из Jira. Где нет необходимости просто paymo

                      К слову сказать перепробовал много разных решений, но что-то просто не понравилось, что-то сразу по функционалу не устроило…
                        0
                        Спасибо.
                        У меня такая же делема. Постоянно чего-то нехватает. А самому сделать — прокрастинирую.
                          0
                          А самому сделать — нет столько времени. Прикинуть из функционала что уже нужно + что наверняка понадобится — уже выходит масса времени на это и неплохая альтернатива существующим продуктам ))) так что разве делать действительно альтернативу для массового пользования, но пока других проектов хватает
                +3
                Интересно, как у новой версии с производительностью… У нас ежедневно кто-нибудь говорит, что «jira немножко 502» или «снова в рид-онли».
                  0
                  Момент с производительностью всегда волновал пользователей JIRA, довольно четко разделяя их на два лагеря: "у нас все тормозит!" и "у нас не тормозит. Что мы делаем не так?" :)

                  Стоит отметить, что на мой, конечно же, субъективный взгляд и на отзывы клиентов с производительностью в JIRA 6.x уже стало на порядок лучше (не в пример тому, как было в JIRA 4.х, если проводить аналогии). Но на производительность работы JIRA влияет множество факторов, каждый из которых стоит анализировать и учитывать на каждом конкретном экземпляре JIRA.

                  Если же отвечать на ваш вопрос, то, как мне кажется, в JIRA 6.2 хуже с производительностью не стало, но и лучше, чем в JIRA 6.x тоже не будет. Все-таки текущий релиз JIRA направлен на добавление нового функционала и баг-фиксы, нежели на покрытие требований по производительности.

                  К слову, сейчас ребята из Атлассиан активно адаптируют JIRA для работы в кластере — JIRA High Availability and Clustering. Какие-либо сроки выпуска на данный момент еще четко не очерчены, но, скорее всего, это событие случится уже в этом году.
                  0
                  Почему JQL не позволяет выражения типа 'begins with', 'like' для полей label, FixVersion и проч?
                  Доколе?

                    0
                    К сожалению, «из коробки» в JIRA нет такой возможности. Но подобную функциональность можно получить воспользовавшись сторонним бесплатным плагином для JIRA — Script Runner. Плагин имеет в своем составе ряд уже готовых к использованию JQL выражений, к тому же он позволяет создавать новые JQL на Groovy.

                    Например, если говорить о вашем примере, то частичный поиск по fixVersion может быть написан следующим образом (имитация begin with с помощью регулярных выражений):

                    project = "Awesome Graphs for Stash" AND fixVersion in versionMatch("1.*")

                    По полю Labels можно искать с помощью функции issueFieldMatch и регулярных выражений (в примере ниже будут найдены заявки в проекте AWEGRAPHS, у которых есть лейблы, начинающиеся на ие):

                    issueFunction in issueFieldMatch("project = AWEGRAPHS", "labels", "ие*")
                  0
                  Многоуровневой иерархии задач все так же нет?
                    0
                    Многоуровневая иерархия задач возможно только в случае использования плагина Structure (платный).
                      0
                      Видели, пробовали.
                      Это все костыли, которые не помогают при сколько-нибудь сложных вариантах использования.
                      0
                      Я лично скорее рад, что нет многоуровневой иерархии, как задач так и проектов
                      Иначе тут не только руки, но и ноги переломаешь, при настройке

                      Наверное до сих пор бы думали, как сделать — так или сяк, три уровня или два, это в том или то в этом вложено и т.д.

                      Структура решает почти все проблемы
                      Были какие надобности, типа того, чтобы промежуточные уровни не заводить как задачи, вроде пока не решено

                      Ну и если что — связями можно
                      0
                      Впервые хочу попробовать JIRA. Нужен пакет из трекера задач (скрам) + баг трекера + git. Как понимаю для этого нужно поставить Jira + Stash и заплатить за оба продукта по отдельности?
                      Нету ли в Jira поддержки git и наоборот, в Stash трека задач (типо скрама или доски с задачами)?
                        0
                        Ваш выбор:
                        — Jira
                        — Jira Agile
                        — BitBucket

                        Я бы еще очень рекомендовал взять Confluence для работы с документацией по проектам, очень хорошо интегрируется в процессы гибких методологий, поддерживаемых самой Jira.

                        Если есть бюджет, то еще советую посмотреть либо на Team Calendars либо на пакет Tempo.
                          0
                          Можно отдельный плагин для Git поставить: marketplace.atlassian.com/plugins/com.xiplink.jira.git.jira_git_plugin
                          Он платный, но не как Stash по цене
                          0
                          Вопрос, недавно JIRA просила обновить плагин обновления плагинов, в итоге получил 2 уведомления:
                          JIRA Latest Activity Report — INCOMPATIBLE — UPDATE REQUESTED
                          JIRA Russian (Russia) Language Pack — INCOMPATIBLE — UPDATE REQUESTED

                          Новых версий на сайте недоступно, Atlassian JIRA (v6.2#6252-sha1:aa34325)

                          Что делать, смириться и ждать выхода обновлений или всё же ещё обновить JIRA до 6.2.*?

                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                          Самое читаемое