每个项目的JIRA布局

Ste*_*nst 3 jira

是否可以为JIRA项目使用特定于项目的样式表?

例如,如果我想在iframe中包含项目X,我想隐藏徽标和可能的JIRA工具栏 - 例如,对于特定的用户组(它仅用于查看目的,它不是安全功能)

当然,我必须自己实现(例如通过webservice api) - 是否有标准问题页面的模板?

提前致谢!

Mat*_*ail 9

JIRA中有一个(当前未记录的)插件点,用于插入顶部导航组件,<top-navigation>.

您可以使用此插件点添加自己的导航栏,也可以使用内联CSS样式表隐藏常规栏.以下示例使用?hideit=true查询参数触发此行为,这是解决"嵌入iframe"问题的最简单方法.您可以通过将其存储在会话或cookie中来使其"粘性".

一旦你创建了插入的插件<top-navigation>,隐藏顶部栏很简单.这是一个速度脚本,它执行它:

#if ($hideHeaderHack)
    <style>
        \#header {display:none;}
    </style>
    HIDDEN (remove this message eventually)
#else
    NORMAL (remove this message eventually)
#end
Run Code Online (Sandbox Code Playgroud)

要创建这样的插件,请使用Atlassian Plugin SDK(使用atlas-create-jira-plugin).你atlassian-plugin.xml应该看起来像:

<atlassian-plugin key="${project.groupId}.${project.artifactId}" name="${project.name}" plugins-version="2">
    <plugin-info>
        <description>${project.description}</description>
        <version>${project.version}</version>
        <vendor name="${project.organization.name}" url="${project.organization.url}" />
    </plugin-info>

    <top-navigation key="standard-navigation-top"
                    name="Tigerblood"
                    class="com.madbean.topnavhack.TopNav" state='enabled'>
        <resource type="velocity" name="view" location="topnav.vm"/>
        <order>5</order>
    </top-navigation>

</atlassian-plugin>
Run Code Online (Sandbox Code Playgroud)

您的顶级导航实现类(com.madbean.topnavhack.TopNav如上所述)应如下所示:

public class TopNav implements PluggableTopNavigation {
    private TopNavigationModuleDescriptor descriptor;

    public void init(TopNavigationModuleDescriptor descriptor)
    {
        this.descriptor = descriptor;
    }

    public String getHtml(HttpServletRequest request) {
        Map<String,Object> params = new HashMap<String, Object>();

        params.put("hideHeaderHack", "true".equals(request.getParameter("hideit")));

        return descriptor.getTopNavigationHtml(request, params);
    }
}
Run Code Online (Sandbox Code Playgroud)

你的插件将被布置为:

./pom.xml
./src/main/java/com/madbean/topnavhack/TopNav.java
./src/main/resources/atlassian-plugin.xml
./src/main/resources/topnav.vm
Run Code Online (Sandbox Code Playgroud)

免责声明我作为JIRA团队的开发人员为Atlassian工作.