Названия задач (почти) как в Jira с использованием переменных

Артём Колисниченко: Сегодня в рубрике «Рассказ от первого лица» Алексей Дёмин. Он занимается веб-разработкой, интернет-маркетингом, а так же проработкой бизнес-процессов и интеграцией ПланФикса для малого бизнеса. В этой публикации Алексей расскажет, как обычные планфиксовские задачи с переменными отобразить «как в Jira», и сделать так, чтобы всё работало.

Передаю слово Алексею.

Алексей Дёмин: Формально, то что я опишу, я мог сделать и раньше, и для многих это решение очевидно. Но то, как у нас работало до описываемых изменений, было сделано ровно 4 года назад (на следующий день после поста про переменные в задачах), как-то это всё прижилось, нас вроде устраивало и вообще было не до этого. Хотя недовольство от пользователей временами проскальзывало.

Дело в том, что почти во всех шаблонах задач мы используем автоматические названия задач на основе переменных.

Задача с заголовком, сформированным по такому шаблону, очень понятно выглядит в списке задач: сразу видно к какому проекту она относится и её номер:

Название создаваемой задачи
Название создаваемой задачи.

Для чего нужен номер?

Когда обсуждаем (голосом, например), мы не блуждаем, типа: «посмотри заявку от «Рогов и Копыт» про доставку шкур. Ну та, где Ипполит цены поднял», а просто говорим номер, который видим в названии задачи. Объединять или делать подзадачи гораздо проще, зная (и видя наглядно) номер задачи.

Из неочевидных моментов могу отметить возможность закрывать задачи по коммиту в Git-репозиторий. Более подробное описание можно посмотреть в статье «Интеграция Git, Gitlab и Planfix почти как на Github».

Но были и минусы

При создании задачи поле выглядело некрасиво. Пользователям мешали непонятные слова в фигурных скобках, и нужно было объяснить новичкам, что не надо удалять эти переменные, и писать название после двоеточия.

А в более сложных случаях приходилось стирать значения (такие как переменные из интеграции), когда создаешь задачу вручную. Пользователь мог удалить или поменять значения переменных. При переносе задачи в другой проект (такое бывает редко, но всё же), заголовок не менялся автоматически. В этом плане было не удобно, да и в целом как-то неэстетичненько.

Пинком в нужном направлении стало то, что однажды, при постановке задачи в ПланФикс, я увидел скрытое значение поля «Названия задачи», а вместо него стоит ссылка  «Будет автоматически сформировано после создания».

Так отображается название задачи, в которой содержатся переменные:

Системное поле «Название задачи»
Системное поле «Название задачи».

И меня озарило: я должен убрать поле «Название» СОВСЕМ!

Куй железо, не отходя от кассы

Итак, следуя заветам нашего дорогого шефа, Михал Иваныча, я решил сразу сделать необходимые изменения, тем более дел там на 10 минут.

Сначала я создал пользовательское поле «Название задачи», сделал его обязательным и добавил на Панель 1 в самый верх:

Пользовательское поле «Название задачи»
Пользовательское поле «Название задачи».

Системное поле «Название» я перенес во вновь созданную панель «Служебная», и прописал переменные для формирования «Названия», также включив туда переменную поля, созданного в предыдущем шаге — {{Задача.Название задачи.Без форматирования}}:

 Панель «Служебная»
Панель «Служебная».

Важно: если хотите, чтобы системное название не мозолило глаза, то перед сохранением шаблона надо свернуть панель «Служебная».

Теперь диалог создания задачи визуально выглядит почти без изменений. Разницу заметят только самые внимательные:

Новый  диалог создания задачи
Новый диалог создания задачи.

Но принцип работы отличается, и после создания задачи мы получаем заголовок почти как в Jira. 🙂

Название задачи почти как в Jira
Название задачи почти как в Jira

Настроил сценарий на редактирование «Названия»

Все работает при создании задачи, но если отредактировать задачу и изменить самодельное «Название задачи», никаких изменений в системном «Названии» не происходит.

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

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

Такой же сценарий, по необходимости, надо сделать и на смену проекта в задаче.

Вот вроде бы и всё. Просто и удобно. Ну и как говорят (прости, Господи) инфлюенсеры: ставьте лайки (ПланФиксу), подписывайтесь на канал (ПланФикса), заходите в Instagram (у ПланФикса его нет, приходите ко мне).

P.S.

Почему в заголовке «почти»? В Jira нумерация задач идет в разрезе проекта. Для себя я не заморачивался, так как нам даже удобней, когда мы в названии видим системный (сквозной в разрезе аккаунта) номер задачи. А для этого кейса попробовал несколько вариантов и не придумал, где в рамках проекта хранить переменную «Следующий номер». Поля в проекте менять из сценария нельзя. Можно менять в контакте. Но это уже чересчур сложно получается: создавать служебный контакт для каждого проекта и т.п. Если есть мысли, то давайте обсудим в комментариях.

Алексей Дёмин


Спасибо Алексей. А мне остаётся только напомнить: нам интересны любые ваши наработки в настройке и использовании ПланФикса. Присылайте рассказы о них, и мы с радостью опубликуем их в блоге. Запросы на публикацию отправляйте в Службу поддержки.

Подписывайтесь на наши социальные сети: Facebook, ВКонтакте, Telegram, Twitter и YouTube-канал, — чтобы не пропустить актуальные новости и новинки.

6 комментариев

  1. Красивый кейс, Алексей, спасибо.
    В некоторых проектах используем схожий подход. Часто название зависит не только от проекта но и от других полей Контрагент, Договор, Вид договора и т.п.

    1. Спасибо, Илья! ))
      Да, это частный пример, которого нам хватает. Он показывает общий принцип.

      У одного из заказчиков есть сделки, которые называются по такому шаблону “{{Задача.Номер}}: {{Задача.Дата отгрузки}} {{Задача.Контрагент.ФИО}}/{{Задача.Контрагент.Адрес}} ({{Задача.Оригинальный заголовок.Без форматирования}})”
      а активность по сделке, по такому “{{Текущая задача.Тип события}} {{Текущая задача.Источник добавления}} по сделке {{Текущая задача.Надзадача.Название}}”

  2. Извините за занудство, но ведь можно пользоваться автоматическими сценариями и при событии “задача создана”. И дополнительных полей создавать вроде не нужно.

    1. Да, можно сделать и так, но у меня есть два аргумента.
      Первый – в пользу использования переменных.
      хлеба к обеду в меру бери (Плакат из советской школьной столовой)
      Дело в том, что количество сценариев ограничено для многих аккаунтов, а переменная отработает даже если свободных сценариев нет. Ограничение-же на сценарии обусловлено тем, что они слишком обжорливые, поэтому, даже если в аккаунте есть достаточно свободных сценариев, использование переменных более экономичное решение.
      Второй аргумент – в пользу доп. переменной.
      Пацаны не поймут
      Вот создали задачу с названием “Крошить батон”, сценарием меняется системное Название по формуле и становится “АУЕ-2007 Крошить батон”, где АУЕ – {{ШИФР}}, а 2007 – {{Задача.Номер}} . Потом надо изменить название и добавить “Крошить батон на фраеров”. Тут возникают два момента: а) Сценарий, который при изменении Названия вызывает сценарий на изменение этого Названия активирует рекурсию. в ПФ это как-то обрабатывается, надо уточнить у разработчиков. (Интересно послушать ответ, так как у клиента были такие проблемы)
      б) Но даже если рекурсия обрабатывается и сценарий сработает единожды, то при редактировании в Названии будет текст уже с замененными переменными, а именно “АУЕ-2007 Крошить батон” и пацаны чисто не поймут, что и куда надо добавлять? Шифр проекта удалять, или оставлять? Полностью изменить заголовок?
      Ну и при переносе в другой проект, автоматически ЗАМЕНИТЬ шифр проекта не получится.

    1. Павел, тут всё просто.
      Первый и самый быстрый путь – по ссылке над полем:
      https://r.pfx.so/fQW89c

      Второй путь – лайфхак – показывает все возможные переменные внутри системы. Переходите в раздел: Документы – Шаблоны документов. И по ссылке открываете конструктор переменных:
      1. https://r.pfx.so/oN0bJ8
      2. https://r.pfx.so/NglVnE

Добавить комментарий