Я следовал этому чрезвычайно простому руководству https://bitbucket.org/bhushan154/jira-issue-tab-panel-tutorial/wiki/Home, чтобы добавить новую вкладку задач. Он показывает, как вы можете добавить простое содержимое на страницу с помощью stringBuilder. В идеале я хотел бы использовать шаблон скорости, так как с ним намного проще работать, и он соответствующим образом разделяет логику. У меня есть файл шаблона, который содержит:
<div class="mod-header">
<h3>$i18n.getText('service-now-tab-panel.label')</h3>
</div>
Я пытался возиться с этим, пытаясь заставить его правильно отображать данные, он ничего не делает и не отображает контент на странице сведений о проблеме. Вот контроллеры, это просто сейчас, так как мне нужно обойти этот блокпост.
package com.verys.jira.plugins.panels;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.atlassian.jira.plugin.issuetabpanel.AbstractIssueTabPanel;
import com.atlassian.jira.plugin.issuetabpanel.IssueTabPanel;
import com.atlassian.jira.issue.tabpanels.GenericMessageAction;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.crowd.embedded.api.User;
import java.util.Collections;
import java.util.List;
public class ServiceNowTabPanel extends AbstractIssueTabPanel implements IssueTabPanel
{
private static final Logger log = LoggerFactory.getLogger(ServiceNowTabPanel.class);
public List getActions(Issue issue, User remoteUser)
{
return Collections.singletonList(new GenericMessageAction("" + issue.getReporter().getDisplayName() + ""));
}
public boolean showPanel(Issue issue, User remoteUser)
{
return true;
}
}
Документация по рендерингу шаблонов скорости на вкладках задач крайне скудна и почти отсутствует. Если кто-то может просто любезно указать мне в правильном направлении, это было бы здорово. Также вот файл свойств
<issue-tabpanel key="service-now-tab-panel" name="Service Now Tab Panel" i18n-name-key="service-now-tab-panel.name" class="com.verys.jira.plugins.panels.ServiceNowTabPanel">
<description key="service-now-tab-panel.description">The Service Now Tab Panel Plugin</description>
<label key="service-now-tab-panel.label">Plugin Test</label>
<order>10</order>
<resource type="velocity" name="view" location="templates/tabpanels/service-now-tab-panel.vm"/>
<supports-ajax-load>true</supports-ajax-load>
</issue-tabpanel>