jira插件開發——創建新的自定義字段類型(8)


step1:檢查項目中有沒有引入jira-api包,如果沒有則在pom文件中引入:

<dependency>
  <groupId>com.atlassian.jira</groupId>
  <artifactId>jira-api</artifactId>
  <version>${jira.version}</version>
  <scope>provided</scope>
</dependency>

step2:創建包目錄,建立新的java文件JiraCustomField.java

@Scanned
public class JiraCustomField extends GenericTextCFType{

  protected JiraCustomField(
  @JiraImport CustomFieldValuePersister customFieldValuePersister,
  @JiraImport GenericConfigManager genericConfigManager,
  @JiraImport TextFieldCharacterLengthValidator textFieldCharacterLengthValidator,
  @JiraImport JiraAuthenticationContext jiraAuthenticationContext){
  super(customFieldValuePersister, genericConfigManager, textFieldCharacterLengthValidator, jiraAuthenticationContext);
  // TODO Auto-generated constructor stub
  }
}

step3:創建前端vm文件edit.vm

#controlHeader ($action $customField.id $customField.name $fieldLayoutItem.required $displayParameters.noHeader)
#if ($jiraUserUtils.getGroupNamesForUser($authcontext.loggedInUser.name).contains('jira-administrators'))
<input type="text"
name="$customField.id"
value="$!value" />
#else
#if($value && ! $value.equals(""))
#set ($displayValue = ${value})
#else
#set ($displayValue = 'N/A')
#end
<span title="This field is editable only by JIRA administrators">$!displayValue</span>
<input type="hidden"
name="$customField.id"
value="$!value" />
#end
#controlFooter ($action $fieldLayoutItem.fieldDescription $displayParameters.noHeader)

step4:編輯atlassian-plugin.xml:

<customfield-type name="Jira Custom Field" i18n-name-key="jira-custom-field.name" key="admintextfield" class="com.atlassian.plugins.tutorial.customfield.JiraCustomField">
<description>A text field only editable by those with admin permissions</description>
<resource name="edit" type="velocity" location="template/edit.vm"/>
</customfield-type>

step5:properties文件中新增:jira-custom-field.name=\u6D4B\u8BD5\u65B0\u589E\u81EA\u5B9A\u4E49\u5B57\u6BB5\u7C7B\u578B(支持國際化,手動翻譯)

最后,打包上傳看到效果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM