이 문서는 Jira Issue in Epic에 Sprint column 추가하기 가이드를 공유하기 위해 작성되었다.
도구명 | Jira |
---|---|
버전 | 8.22 |
초기 설정
설정 확인
- System → Settings → HTML 허용 여부 확인
커스텀필드 값 찾기
- System → Issue → Custom Fields → 해당 필드 선택(Sprint)
- 웹페이지의 값 customFieldId=뒤 숫자 기억
방법1. Announcement Banner 편집
- System → Announcement Banner
- Announcement 부분에 스크립트 넣은 후 'Set Banner' 클릭
- 확인
방법2. custom Field 편집
- 해당되는 에픽 이슈에 사용되는 커스텀 필드 선택
- 설정 → Issues → Custom Fields → 해당 되는 필드 편집 선택
- Description 부분에 해당 스크립트 삽입 후 저장
- 확인
Script 내용
- 20줄 커스텀 ID값 수정
- 스플린트 링크 추가
- 스플린트 별 색상 부여
<script type='text/javascript'> function EpicAddSprint(){ //스플린트별 주기위한 Set 선언 var colorSet = new Set(); //색 리스트 var colorlist = ["green","#87CEEB", "#00FFFF", "#E0FFFF", "#87CEEB", "#2F4F4F", "#20B2AA", "#9ACD32", "#FFE4C4", "#FFFF00"]; var i = 0; AJS.$('#ghx-issues-in-epic-table tr').each(function(){ var $row = AJS.$(this); var row = this; var issueKey = AJS.$(this).attr("data-issuekey"); AJS.$.getJSON(AJS.contextPath() + '/rest/api/latest/issue/' + issueKey, function(data){ var check = AJS.$(`#add_sprint_${i}`)[0] if(check == null){ // 링크 주소 찾기 var url = AJS.$('#baseURL') var baseurl = url.context.location.href.toString().split('/projects/', 2)[0]; var project = (url.context.location.href.toString().split('/projects/', 2)[1]).split('/', 1)[0]; // Sprint 이름 찾기 var value = data.fields.customfield_10101 var result1 = value[0].toString().split(',name=', 2); var sprint = result1[1].split(',startDate', 1); var sprintname = sprint.toString(); var rapidview = value[0].toString().split(',', 2)[1]; // td 추가 $row.append(`<td id="add_sprint_${i}" class="jira-issue-status-lozenge aui-lozenge jira-issue-status-lozenge-color-test jira-issue-status-lozenge-done aui-lozenge-subtle jira-issue-status-lozenge-max-width-medium"> <a href="${baseurl}/secure/RapidBoard.jspa?${rapidview}&projectKey=${project}&view=detail">${sprintname}</a></td>`); // 색상 부여 colorSet.add(sprintname); var colorindex = [...colorSet].indexOf(sprintname)%colorSet.size; // 배경 색 AJS.$(`#add_sprint_${i}`).css("background-color",colorlist[parseInt(colorindex)]); // 글자 색 흰색 AJS.$(`#add_sprint_${i} a`).css("color","#fff"); } i += 1; }); }); i = 0; console.log("function end"); }; //Banner에서 사용 시 //setTimeout(EpicAddSprint, 2000); // 커스텀필드에서 사용시 AJS.toInit(EpicAddSprint); </script>