Показывать настраиваемые поля на основе другого значения настраиваемого поля на экране СОЗДАТЬ ПРОБЛЕМУ

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

Например, у меня есть следующие Категории:

  • Разработка контента
  • События
  • Дизайн

И каждая категория содержит список подкатегорий. Например, Дизайн будет иметь следующий список параметров

  • Обеспечение события
  • Брендинг
  • Визитки

По умолчанию на экране СОЗДАТЬ ПРОБЛЕМУ должно отображаться ТОЛЬКО раскрывающееся меню Категория. Когда пользователь выбирает одну из категорий, соответствующий раскрывающийся список подкатегории должен отображаться на экране СОЗДАТЬ ПРОБЛЕМУ И раскрывающийся список этой подкатегории. должно быть ОБЯЗАТЕЛЬНОЕ поле.

Я искал возможное решение по следующим ссылкам:

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

Однако это не работает для меня. Когда я помещаю любой JAVASCRIPT в описание настраиваемого поля, он запускается сразу после сохранения - на экране Конфигурация поля. Например, я просто вставил следующий JAVASCRIPT в описание и сразу получил предупреждение (на экране Конфигурация поля).

<script type="text/javascript">
alert('hi');
 </script>

Однако я не получаю никаких предупреждений на экране СОЗДАТЬ ПРОБЛЕМУ. Итак, не уверен, что мне здесь что-то не хватает. Пожалуйста, сообщите, в правильном ли направлении я смотрю.

Третья ссылка предлагает создать плагин на машине JIRA. Однако у меня нет доступа к этой машине, у меня просто есть доступ администратора к JIRA.

Есть ли какой-либо реальный способ добиться этого с помощью конфигураций JIRA по умолчанию / внешних плагинов, которые готовы к использованию?

Моя версия JIRA: 6.1.4


person rumit patel    schedule 02.01.2015    source источник
comment
Думаю, я спрошу еще раз на answer.atlassian.com   -  person mdoar    schedule 03.01.2015


Ответы (1)


Я также использовал сценарий Java в настраиваемых полях в JIRA 6.0.8, JIRA 6.2.4 и JIRA 6.4.8, поэтому я думаю, что он определенно должен работать в JIRA 6.1.4.

Вам нужно только поместить java-скрипт в настраиваемое поле подкатегории, как показано ниже:

Например, для дизайна -> Замените customfield_ID1 на настраиваемый идентификатор пользовательского поля категории и customfield_ID2 на настраиваемый идентификатор настраиваемого поля дизайна подкатегории

<script type="text/javascript">
jQuery(document).ready(function($) {
JIRA.bind(JIRA.Events.NEW_CONTENT_ADDED, function (e, context) {
callChangeFunction();
});
callChangeFunction();
function callChangeFunction(){
showHidField();
// dropdown custom field change function
$("#customfield_ID1").change(function() {
showHidField();
});

}

function showHidField(){
//drop down field selected value
var dropDownFieldval =$.trim($("#customfield_ID1 :selected").text());
//test field1
$("#customfield_ID2").closest('div.field-group').hide();
if(dropDownFieldval == 'Design'){
$("#customfield_ID2").closest('div.field-group').show();
}else
$("#customfield_ID2").closest('div.field-group').hide();

}

});

</script>

Выше будет отображаться или скрываться поле, убедитесь, что настраиваемые поля категории и подкатегории находятся на одном экране (например, экран создания)

Теперь, чтобы сделать их обязательными, вам нужно написать этот код в качестве валидатора при создании перехода в рабочем процессе Project, как показано ниже:

import com.atlassian.jira.issue.customfields.option.LazyLoadedOption;
LazyLoadedOption selOption = issue.getCustomFieldValue   (customFieldManager.getCustomFieldObject('customfield_ID1'));
(selOption.getValue()=='Design' && cfValues[Name of design Sub Category field#'])|| selOption.getValue()=='Events';

Убедитесь, что у вас установлен плагин Behavior, чтобы получить простой валидатор скриптов.

Надеюсь это поможет!

Приянка Лавания

person Priyanka Lavania    schedule 04.08.2015