SlideShare a Scribd company logo
ScriptRunner꼼지락꼼지락
이윤석(pineoc)
1
ScriptRunner란?
Jira , Confluence , Bitbucket 에서사용할수있는플러그인(앱)
기반시스템에서일어나는이벤트,컴포넌트를중심으로동작
Groovy 를이용하여스크립팅
2
ScriptRunner란?
시스템에서제공하는기능외에많은것들을커스터마이즈
할수있는앱
Jira플러그인기능중심으로!
3
주요기능
Built‑inScripts:기본적으로포함되어있는스크립트기능
ScriptJQLFunctions:JQL에서서브쿼리가가능하도록함
Listeners:이벤트를Listen하고그에따라Action함
Behavior:특정행동(이벤트)에따라Action을설정가능함
ETC...
4
주요기능
Built‑inScripts:기본적으로포함되어있는스크립트기능
Script JQL Functions :JQL에서서브쿼리가가능하도록함
Listener :이벤트를Listen하고그에따라Action함
Behavior:특정행동(이벤트)에따라Action을설정가능함
ETC...
5
지금사용하고있는기능들
앞서소개드린주요기능을중심으로
6
1.나에게할당된 Task 의 상위 Epic 의모든
Task 와 Sub-Task 를보여주세요!
Feat.ScriptJQLFunctions
7
1.나에게할당된 Task 의 상위 Epic 의모든 Task 와
Sub-Task 를보여주세요!
Needs:작업자에게할당된업무외에참고해야하는업무를볼수있도
록개인화Board를만들어주기위함
많이느리지않아야함
Epic&Task&Sub‑Task가다잘보여야함
8
뚝딱뚝딱
(assignee = currentUser() AND resolution = Unresolved) OR
(issueFunction IN epicsOf("assignee = currentUser() AND
resolution = Unresolved")) OR issueFunction IN
issuesInEpics("assignee = currentUser() AND resolution =
Unresolved") OR issueFunction IN subtasksOf("issueFunction IN
issuesInEpics('assignee = currentUser() AND resolution =
Unresolved')") OR issueFunction IN issuesInEpics("resolution =
Unresolved AND issueFunction IN epicsOf('assignee =
currentUser() AND resolution = Unresolved')") OR issueFunction
IN subtasksOf("issueFunction IN issuesInEpics('issueFunction IN
epicsOf("assignee = currentUser() AND resolution =
Unresolved") AND resolution = Unresolved')")
9
1.나에게할당된 Task 의 상위 Epic 의모든 Task 와
Sub-Task 를보여주세요!
나에게할당된이슈추가
나에게할당된이슈의Epic추가
나에게할당된이슈의Epic의Task와Sub‑Task추가
Thanksto Lim Jaehoon
10
2.Label에 DevOps 가입력될경우 Watcher
에저와팀원들을추가해주세요.
Feat.Listeners
11
2.Label에 DevOps 가입력될경우 Watcher 에팀원들을
추가해주세요.
Needs:DevOps업무의경우팀원들이같이봐야보고대응해야해서
watcher추가가필요함
향후다른Label입력에대한요청도있을것같다!
12
뚝딱뚝딱(withJira)
13
뚝딱뚝딱(withGroovy)
대략스크립트항목에이렇게작성한다정도로참고해주세요:)
14
2.Label에 DevOps 가입력될경우 Watcher 에팀원
들을추가해주세요.
DevOps 뿐만아니라다른값도대응할수있도록고려
다른이벤트에대한Watcher추가대응을위해함수작성
[TODO] Admin이아닌사용자도리스트변경가능하도록개선필요
15
그외의요청에따라작업한것들
:이것도가능한가요?저건요?이건요?
16
그외의요청에따라작업한것들
Component 추가에따라특정인원을 Watcher 에등록해주세요.
스프린트가 Active 일경우,
이슈상태가 Backlog ‑> To Do 로 자동으로 가게해주세요.
팀원이담당했던이슈에 특정 Label 이입력되게해주세요.
버그이슈중 Priority 가 Major 이상일경우,
특정인원을 Watcher 에등록해주세요.
이슈생성시 템플릿 이적용되게해주세요.
...
17
ScriptRunner
플러그인이라시스템상제약이많지만
시스템에서기본적으로제공하는것보다커스터마이즈하기좋고
엔지니어(개발자)라면더많은기능을사용할수있습니다
Java 또는 Groovy 를잘사용하신다면금상첨화
개발자가아니라면 Automation 이라는플러그인추천
18
이쯤에서블로그홍보
https://pineoc.github.io/blog/tags/ScriptRunner/
ScriptRunner관련글들을종종쓰고있습니다.
소개:https://pineoc.github.io/blog/2019/04/21/scriptrunner1/
19
감사합니다
20

More Related Content

PDF
Storytelling For The Web: Integrate Storytelling in your Design Process
PDF
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
PDF
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
PDF
Scoped di with dagger2
PPTX
Linux programming study
PDF
2024 State of Marketing Report – by Hubspot
PDF
Everything You Need To Know About ChatGPT
Storytelling For The Web: Integrate Storytelling in your Design Process
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
2024 Trend Updates: What Really Works In SEO & Content Marketing
Scoped di with dagger2
Linux programming study
2024 State of Marketing Report – by Hubspot
Everything You Need To Know About ChatGPT
Ad

ScriptRunner 꼼지락꼼지락