Связаться по Skype: vkarabedyants
Позвонить Написать
+7 (499) 404-28-83

Блог о системном администрировании серверов и сайтов

Установка, настройка программного обеспечения Linux, Windows операционных систем

Особенности использования плагина JIRA Command Line Interface (CLI)

Теория JIRA CLI

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

Наиболее интересным решением с точки зрения автора была реализация проверки наличия сотрудника на рабочем месте для группы специалистов отдела технической поддержки.

Итак, имеется отдельное ПО, в котором фиксируется информация о графике выходов сотрудников. ПО хранит информацию в базе данных.  В прочем точно  также можно делать и анализ базы данных системы контроля доступа предприятия.

С использованием JIRA CLI мы получаем информацию о том, есть ли сотрудник, указанный в Jira в поле Исполнитель, в списках персонала, для которого сегодняшний день является рабочим. Для этого при создании задачи мы создаем дополнительный валидатор, который получает данные из SQL базы и на основе их проверяет значение в Jira. В итоге, если назначенный исполнитель задачи по графику не работает сегодня, то система выдаст пояснительное сообщение и не создаст задачу.

Практика JIRA CLI

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

Проблема оказалась в том, что при обращении к переменно %assignee% система выдавала не указанный логин пользователя, а полное имя в нижнем регистре.

Наши попытки смоделировать ситуацию были тщетны – все работало как часы, и не представлялось ничего лучше, чем спросить у Заказчика, как он создавал пользователя.

Оказалось, что Заказчик сначала создал пользователя с логином, представляющим собой имя пользователя, а потом сменил его  на логин, сформированный по стандартам компании. В интерфейсе Jira все изменилось, отображается и работает с логином корректно. Однако %assignee% а также %original_assignee% и другие вариации на эту тему упорно отображали логин, указанный при создании.

Проблема кроется в том, что в базе данных Jira в таблице app_user в поле KEY несмотря на все изменения всё еще хранится первоначальное значение. По неизвестным нам причинам система не меняет его при смене логина. А плагин JIRA CLI при формировании значения для вышеуказанных переменных, по такому же необъяснимому для нас обстоятельству, использует именно эту таблицу, вместо более распростарненной cwd_user.

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

Обращайтесь к нашим специалистам office@system-admins.ru. Наши знания и опыт помогут в реализации ваших идей!

 

Оставить комментарий

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.