반응형
jira 스크립트러너를 이용해서 커스텀 RestAPI를 만들 수 있습니다.
공식 문서는 아래 링크에서 확인할 수 있습니다.
https://docs.adaptavist.com/sr4js/latest/features/rest-endpoints
샘플로 제공하는 코드입니다.
doSomting 메소드를 선언하는데 http 메서드는 GET방식이고 jira-administrators 그룹의 속한 사용자 인증을 하면 해당 Rest Api 호출이 가능합니다.
응답은 Json으로 abc: 42를 리턴합니다.
소스코드
import com.onresolve.scriptrunner.runner.rest.common.CustomEndpointDelegate
import groovy.json.JsonBuilder
import groovy.transform.BaseScript
import javax.ws.rs.core.MultivaluedMap
import javax.ws.rs.core.Response
@BaseScript CustomEndpointDelegate delegate
doSomething(
httpMethod: "GET", groups: ["jira-administrators"]
) { MultivaluedMap queryParams, String body ->
return Response.ok(new JsonBuilder([abc: 42]).toString()).build()
}
호출방법
curl 명령어로 -u 옵션을 주고 jira-administrators 그룹에 속한 사용자ID와 PW로 인증합니다.
curl -u admin:admin <jira_base_url>/rest/scriptrunner/latest/custom/doSomething
만일 로그인 상태라면 브라우저 주소창에 입력만해도 결과 확인이 가능합니다.
결과
{"abc":42}
jira에도 다양한 기능의 Rest API를 제공하지만 여전히 부족한 부분이 많이 있습니다.
예를 들어 사용자의 마지막 로그인 시간을 알아내는 것은 라이선스 수량 조절의 꼭 필요한 부분인데,
API로 제공하고 있지 않습니다.
따라서 커스텀 API를 작성하거나 직접 솔루션의 DB를 조회하는 방법뿐입니다.
기본적으로 제공하는 API의 불편함을 그나마 스크립트러너 REST Endpoints 메뉴에서 만들 수 있다는 게 다행이라고 할까요.
Administration > ScriptRunner > REST Endpoints
반응형
'IT 이야기 > Jira, Confluence, Crowd' 카테고리의 다른 글
스크립트러너 groovy 파일 작성 로그 찍기 (0) | 2023.09.15 |
---|---|
Jira 프로젝트 Sub-Tasks 생성 불가 이슈 리더 비활성화 계정 확인 (0) | 2023.07.06 |
Crowd 사용자 이메일 정보 변경 Rest API 오류 해결 (0) | 2023.07.06 |
Confluence 공간 페이지 표 깨짐 현상 버그 해결 (0) | 2023.07.06 |
Crowd 사용자 비활성화 Rest API 대량 작업 (0) | 2023.06.30 |