이 문서는 ScriptRunner Groovy 스크립트 사용에 대한 가이드를 공유하기 위해 작성되었다.
ScriptRunner 를 통해 할 수 있는 일
Global 스크립트 실행
- 실행 script console 지원
- Built-In script 지원
- Bulk Fix Resolutions
- Change dashboard or filter ownership
- Copy custom field values
- Escalation service
- Reindex issues
- Bulk copy SLA configuration
- Switch to different user
- List scheduled jobs
- Unit test runner
- Bulk import custom field values
- Clear classloader or Jira internal caches
- Copy project
- Generate events
- Script registry
- Split custom field contexts
- Configuration exporter
- View server log file
Script Fields
- Script가 적용된 custom field를 생성하고 필드가 노출될 screen 지정
Workflow 고도화
- Condition 에 script 적용
- Validate 에 script 적용
- Post-function 에 script 적용
Script Fragments (UI customizing)
Web item, 패널, 그리고 UI 수정 기능 제공
- Raw ML module Buit-In script: built-in script를 XML로 내보내고 업데이하는 기능 제공
- Web Item built-in script: 메뉴 등의 customizing (hiding, adding)
- Web Panel built-in script: issue의 panel customizing
- Web Section built-in script: Application menu의 section customing
- Web Resource built-in script: JavaScript, CSS 리소스 customzing
유용한 스크립트
Jira Custom Field에 특정 값 채우기
코드 블럭 | ||
---|---|---|
| ||
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.Issue import com.atlassian.jira.issue.ModifiedValue import com.atlassian.jira.issue.util.DefaultIssueChangeHolder def issue = event.issue as Issue def customFieldManager = ComponentAccessor.getCustomFieldManager() def tgtField = customFieldManager.getCustomFieldObjects(event.issue).find {it.name == "Progress Value"} def changeHolder = new DefaultIssueChangeHolder() tgtField.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(tgtField), new Double(100)), changeHolder) |
...