Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
每个项目的JIRA布局_Jira - Fatal编程技术网

每个项目的JIRA布局

每个项目的JIRA布局,jira,Jira,是否可以为JIRA项目使用特定于项目的样式表 例如,如果我想在iframe中包含projectx,我想隐藏logo,可能还有JIRA工具栏——例如,对于特定的用户组(它只是为了查看,不是安全功能) 假设我必须自己实现这一点(例如通过webservice api),那么标准问题页面有模板吗 提前谢谢 我不认为该功能是直接公开的,您也没有说明您使用的JIRA版本,但是在\atlassian JIRA\includes\decorators中的4.x中有一个名为bodytop.jsp的文件,其中包含以

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

例如,如果我想在iframe中包含projectx,我想隐藏logo,可能还有JIRA工具栏——例如,对于特定的用户组(它只是为了查看,不是安全功能)

假设我必须自己实现这一点(例如通过webservice api),那么标准问题页面有模板吗


提前谢谢

我不认为该功能是直接公开的,您也没有说明您使用的JIRA版本,但是在\atlassian JIRA\includes\decorators中的4.x中有一个名为bodytop.jsp的文件,其中包含以下片段,用于呈现顶级导航和工具栏元素:


//呈现所有顶级nav插件
for(Iterator Iterator=topNavPlugins.Iterator();Iterator.hasNext();){
TopNavigationModuleDescriptor topNavModuleDescriptor=(TopNavigationModuleDescriptor)迭代器。下一步();
PluggableTopNavigation PluggableTopNavigation=(PluggableTopNavigation)topNavModuleDescriptor.getModule()

%>

如果需要,您可以创建一个版本的dashboard rendering jsp,该jsp调用一个修改后的bodytop.jsp,它不呈现任何常用的导航元素。

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

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

创建插件并将其插入
后,隐藏顶部栏很简单。下面是一个velocity脚本:

#if ($hideHeaderHack)
    <style>
        \#header {display:none;}
    </style>
    HIDDEN (remove this message eventually)
#else
    NORMAL (remove this message eventually)
#end
您的顶级导航实现类(上面称为
com.madbean.topnavhack.TopNav
)应该如下所示:

<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>
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);
    }
}

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

我很想编写一个基本插件来实现这一点

看看


如果您还没有编写jira插件,现在可能是尝试的时候了。

我目前正在运行jira 4.2.2,并编写了一个实现自定义导航栏的插件。不幸的是,如授予的问题中所述,此功能现在被贬低了

我的插件在Jira头的顶部添加了一个
div
,创建了一个很好的菜单,用于我们的开发页面。菜单的源代码硬编码到插件中,并作为静态
menu.html
文件位于我们的服务器上,以便在不同页面之间共享

因为我必须完全重新设计Jira 5.2的插件,我开始寻找不同的方法来重新实现菜单。这是我决定的。它不漂亮,但它让你不必编写插件

将您的公告横幅(通过键入“gg”快速到达,然后搜索公告横幅)更改为以下内容:

<script type="text/javascript">
  jQuery(document).ready(function() {
    jQuery.get("http://path.to.server/menu.html", function(data){
        jQuery("#header").prepend('<nav class="global" role="navigation">'+data+'</nav>');
        jQuery("#top-level-id-of-navbar a").css("color", "white")
    });
  });
</script>

jQuery(文档).ready(函数(){
jQuery.get(“http://path.to.server/menu.html,函数(数据){
jQuery(“#header”).prepend(“”+data+“”);
jQuery(“导航栏a的顶级id”).css(“颜色”、“白色”)
});
});
菜单.html
链接替换为您自己的链接。标题的颜色由我菜单中的链接继承,因此在插入html页面后,我必须将它们改回白色


结果看起来与Jira 4.2.2完全相同,所以我很高兴。

如果你只是想让一个项目成为只读的,那么破解css并不是一个好办法。不,权限方案是可靠的,人们不需要工具栏。另外,它还嵌入在另一个门户中,所以对这个特定的项目应用相同的样式表会很好t、 您可以尝试使用javascript更改输出或选择css。是的,我曾考虑过操纵iframe,但它似乎有点“黑客化”。对我来说,最干净的方式似乎是基于用户组的样式表。您搜索过修改外观的现有插件吗?+1-非常有趣和有用,谢谢!当前未记录的内容是否意味着有一天它将被正式记录,因此可以被认为是稳定的,或者这个插件点是否会从此消失m未来的JIRA版本?
<script type="text/javascript">
  jQuery(document).ready(function() {
    jQuery.get("http://path.to.server/menu.html", function(data){
        jQuery("#header").prepend('<nav class="global" role="navigation">'+data+'</nav>');
        jQuery("#top-level-id-of-navbar a").css("color", "white")
    });
  });
</script>