JIRA 프로젝트에 프로젝트 별 스타일 시트를 사용할 수 있습니까?프로젝트 별 JIRA 레이아웃
예를 들어, 프로젝트 X를 iframe에 포함 시키려면 로고와 JIRA 툴바를 숨기고 싶습니다. 예를 들어 특정 사용자 그룹에 대해서는 (단지보기 목적 일 뿐이지 만, 보안 기능)
내가 (예를 들어 webservice api를 통해) 이것을 구현해야한다는 것을 인정했다. 표준 문제 페이지 용 템플릿이 있는가?
미리 감사드립니다.
JIRA 프로젝트에 프로젝트 별 스타일 시트를 사용할 수 있습니까?프로젝트 별 JIRA 레이아웃
예를 들어, 프로젝트 X를 iframe에 포함 시키려면 로고와 JIRA 툴바를 숨기고 싶습니다. 예를 들어 특정 사용자 그룹에 대해서는 (단지보기 목적 일 뿐이지 만, 보안 기능)
내가 (예를 들어 webservice api를 통해) 이것을 구현해야한다는 것을 인정했다. 표준 문제 페이지 용 템플릿이 있는가?
미리 감사드립니다.
JIRA에는 상위 탐색 컴포넌트 인 <top-navigation>
을 삽입하기위한 (현재 문서화되지 않은) 플러그인 포인트가 있습니다.
이 플러그인 포인트를 에 추가하면 고유 탐색 모음이 표시되고 인라인 CSS 스타일 시트를 사용하여 일반 막대는 숨길 수 있습니다. 다음 예제에서는 ?hideit=true
쿼리 매개 변수를 사용하여이 동작을 트리거합니다.이 매개 변수는 "iframe에 포함"문제에 가장 쉽게 접근 할 수있는 방법입니다. 쿠키를 세션이나 쿠키에 저장하여 "고정"할 수 있습니다.
<top-navigation>
에 플러그인하는 플러그인을 만든 후에는 상단 바를 숨기는 것이 간단합니다. 여기를 수행하는 속도 스크립트입니다
#if ($hideHeaderHack)
<style>
\#header {display:none;}
</style>
HIDDEN (remove this message eventually)
#else
NORMAL (remove this message eventually)
#end
같은 플러그인을 만들려면이는 Atlassian Plugin SDK (atlas-create-jira-plugin
를 사용)를 사용합니다. 귀하의 atlassian-plugin.xml
이 같이 나타납니다 (위 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);
}
}
귀하의 플러그인은 무언가 같이 배치됩니다
:
./pom.xml
./src/main/java/com/madbean/topnavhack/TopNav.java
./src/main/resources/atlassian-plugin.xml
./src/main/resources/topnav.vm
면책 조항 JIRA 팀에서 Atlassian 개발자로 일합니다.
+1 - 아주 흥미롭고 도움이되었습니다. 감사합니다. * 현재 문서화되지 않은 * 것은 언젠가 공식적으로 문서화 될 것이므로 안정적인 것으로 간주 될 수 있습니까, 아니면 앞으로의 JIRA 버전에서이 플러그인 포인트가 여전히 사라질 수 있습니다. –
이 기능이 직접 노출되어 있다고 생각하지 않으며 사용중인 JIRA 버전을 나타내지는 않지만 \ atlassian-jira \ includes \ decorators의 4.x에는 bodytop.jsp라는 파일이 있습니다
// Render all the top nav plugins for (Iterator iterator = topNavPlugins.iterator(); iterator.hasNext();) { TopNavigationModuleDescriptor topNavModuleDescriptor = (TopNavigationModuleDescriptor) iterator.next(); PluggableTopNavigation pluggableTopNavigation = (PluggableTopNavigation) topNavModuleDescriptor.getModule();
%> <%= pluggableTopNavigation.getHtml(request) %> <% } %>
당신이 전혀 렌더링하지 않는 수정 bodytop.jsp를 호출하는 대시 보드 렌더링 JSP의 버전을 만들 수 있습니다 당신에게 원하는 경우 :은 최고 수준의 탐색 및 도구 모음 요소를 렌더링하는 다음 조각을 가지고 일반적인 nav 요소.
이 작업을 수행하는 기본 플러그인을 작성하고 싶습니다. 당신이 JIRA 플러그인을 작성 아직있는 경우
지금 http://confluence.atlassian.com/display/DEVNET/Developing+your+Plugin+using+the+Atlassian+Plugin+SDK을 그것을 밖으로 시도하는 시간이 될 수 있습니다, http://confluence.atlassian.com/display/JIRA/Web+Resource+Plugin+Module를 살펴 보자.
현재 Jira 4.2.2를 실행 중이며 사용자 정의 탐색 모음에 PluggableTopNavigation
을 구현하는 플러그인을 작성했습니다.유감스럽게도, 수여 된 질문에 설명 된대로이 기능은 현재 가치가 떨어집니다.
내 플러그인은 개발 페이지에서 사용할 수있는 멋진 메뉴를 만든 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>
자신의 링크가있는 menu.html
링크를 교체합니다. 헤더의 색상은 내 메뉴의 링크에 의해 상속되었으므로 html 페이지를 삽입 한 후 흰색으로 다시 변경해야했습니다.
결과는 Jira 4.2.2와 동일하므로 잘되었습니다.
단지 프로젝트를 읽기 전용으로 만들려고한다면 CSS를 해킹하는 것이 좋은 방법이 아닙니다. –
아니요 권한 구성표가 확실하지 않아 사람들은 툴바가 필요하지 않습니다. 또한 다른 포털에 임베드되어 있으므로이 특정 프로젝트에 동일한 스타일 시트를 적용하는 것이 좋습니다. –
자바 스크립트를 사용하여 출력을 변경하거나 CSS를 시도해 볼 수 있습니다. –