среда, 1 апреля 2020 г.

Справочник с автокомплитом и возможностью добавления значения, с помощью Power Database Fields PRO™

Не знаю как у вас, а у меня многие бы вопросы закрывались решением по кейсу: 
Сделать поле, в котором бы можно было вводить данные и если ранее они уже было введены - то предлагать варианты, для автозаполнения, а если значения не было - добавить его в некий "справочник" значений. 
Таким образом, это поле должно работать как метки или компоненты. 
Решение не совсем стандартное и не описано в документации, поэтому делюсь им тут. 
Нам потребуется аддон Power Database Fields PRO™


В первой части я опишу то, как я пришел к этому решению и что пришлось сделать. Если вам лень читать - вы можете это пропустить и перейти к самому решению ниже.
В первую очередь, я создал тестовую БД, тестовую таблицу и тестовые данные в этой таблице. Выглядело это вот так: 
Затем в плагине мне было необходимо добавить Datasource
Значения достаточно простые:
jdbc:sqlserver://localhost:1433;instanceName=DESKTOP-LLGS4CT;databaseName=cfields

Затем нам необходимо создать само поле. Тип поля Database Information
После того, как поле создали - отправляемся в настройки этого поля. 
Это можно найти на вкладке управления аддонами
Изменяем параметры нашего поля следующим образом. 
Указываем свежесозданный "коннектор - datasource". Указываем таблицу и колонку, откуда забираем данные
Теперь, в любой тестовой задаче нам надо выбрать какое-либо из существующих значений. 
Например 123. Отредактировать issue и применить это значение. Чтобы оно прописалось в БД самой Jira. 
Как только мы это сделали - нам надо написать запрос в JIRA который нам подскажет - в каком столбце хранится введенное значение. 
Выполняем следующий запрос: 
SELECT *
FROM [JIRA].[dbo].[customfieldvalue]
where customfield = 12400
Этот запрос нам подсказывает, что данные хранятся в столбце TEXTVALUE

А теперь само решение

Создаем коннектор Datasource к базе JIRA. 
Строка для MSSQL: jdbc:sqlserver://localhost:1433;instanceName=DESKTOP-LLGS4CT;databaseName=JIRA
Затем идем в конфигурацию нашего созданного поля типа Database Information
Указываем в нем коннектор к БД JIRA (в моем случае DBJIRA)
и добавляем запрос, опрашивая наше поле. 
Указываем столбец TEXTVALUE

В итоге мы получаем поле справочник. С автозаполнением и возможностью добавить новое значение. 
Таким образом, поле как бы опрашивает свое собственное значение, а галочка Accept any value позволяет вносить новые данные.

Наше поле готово! 

Комментариев нет:

Отправка комментария