JIRA模塊列表過濾

由於某些緣由,項目中的某些模塊不容許提問題單,可是又須要自動化指定(經過rest api等)。html

實現方式:修改模版文件,atlassian/jira/atlassian-jira/WEB-INF/classes/templates/jira/issue/field/components-edit.vmapi

該文件用於create/edit 問題單時加載模塊信息。ide

 1 #disable_html_escaping()
 2 $!{auiparams.put("controlHeaderClass", "aui-field-componentspicker $!fieldLayoutItem.rendererType")}
 3 #customControlHeader ($action $field.id $i18n.getText($field.nameKey) $fieldLayoutItem.required $displayParameters $auiparams)
 4 #if ($components && !$components.empty)
 5     #if ($!isFrotherControl)<div class="ajs-multi-select-placeholder textarea long-field"></div>#end
 6     #if (!$fieldLayoutItem.required)
 7         #set ( $componentHeaderSize = 1)
 8     #end
 9     <select class="select #if ($!isFrotherControl)hidden#end" id="$field.id" multiple="multiple" name="$field.id"
10             size="#minSelectSize($components $componentHeaderSize 5)"
11             data-remove-null-options="true" data-submit-input-val="true" data-input-text="#if (!$bulkEdit)$textutils.htmlEncode($!frotherInputText)#end" data-create-permission="$!{createPermission}">
12         #if (!$fieldLayoutItem.required)
13             <option#if ($currentComponents && $unknownComponentId && $currentComponents.contains($unknownComponentId)) selected="selected"#end value="-1">
14                 $i18n.getText('common.words.unknown')
15             </option>
16         #end
17         #foreach ($component in $components)
18  #if ($component.name.indexOf("(Hide)")==-1) 19                 <option#if ($currentComponents && $component && $currentComponents.contains($component.id)) selected="selected"#end title="$textutils.htmlEncode($component.name) #if($component.description) - $textutils.htmlEncode($component.description)#end" value="$!component.id">
20                     $textutils.htmlEncode($component.name)
21                 </option>
22  #end 23         #end
24     </select>
25     #if ($!isFrotherControl)<div class="description">${i18n.getText('generic.picker.static.desc')}</div>#end
26 #else
27     <span class="field-value">$i18n.getText('common.words.none')</span>
28 #end
29 #customControlFooter ($action $field.id $fieldLayoutItem.getFieldDescription() $displayParameters $auiparams)
30 $!{auiparams.clear()}

 

17-23行代碼塊即在初始化模塊相關信息界面,包括勾選已選模塊,加載可選模塊等。其中,加粗顯示的18和22行即根據需求添加的過濾條件:若是模塊名中包含「(Hide)」字段,則不顯示。ui

修改完成後,重啓JIRA便可生效。spa

經如上修改後,經過REST API等方式能夠指定已經隱藏的模塊,但在界面上操做時模塊不可見,從而實現需求。rest

 

ccode

 

 

 

 

 

omponents-edit.vmcomponent

相關文章
相關標籤/搜索