728x90

Confluence에 기본적으로 매크로들이 많이 제공되지만 ScriptRunner라는 App을 사용하면 REST API를 통해 Jira의 정보들을 사용할 수 있습니다.
 
Confluence에서 [앱] > [새 앱 찾기]를 들어가 [ScriptRunner for Confluence]를 설치합니다. 
 
설치가 완료됐으면 [Get Started] 옆에 있는 점 세개 버튼을 눌러 [Configure]로 들어갑니다.


초기 화면으로 들어오면 여러 탭이 있지만 일단 여기서는 [Script Console]과 [Macros]를 사용해보려고 합니다.
 
[Script Console]을 통해 Jira의 정보를 가져올 REST API 호출문을 먼저 실행해볼 수 있고 원하는 결과가 나왔으면 이제 그 코드로 [Macro]로 만들어줄 예정입니다.
 
[Script Console]에서 아래 코드 입력 화면에 먼저 특정 이슈에 대한 정보를 가져올 수 있는 코드를 실행해보겠습니다.
여기서 우리가 필요한것은 Jira의 API Token인데 파싱할 Jira 페이지로 이동합니다.
 
Jira 프로필 사진을 누른 후 [계정 관리]로 들어갑니다.
 
상단 메뉴에서 [보안]으로 이동한 후 하단 [API 토큰]에서 [API 토큰 만들기 및 관리]로 들어갑니다.
 


[API 토큰 만들기]를 눌러 만들기 후 생성된 토큰 값을 복사해줍니다.
 


이제 다시 [ScriptRunner for Confluence]의 [Script Console]로 넘어와서 아래 코드 입력 창에 아래와 같이 입력합니다.

def issue = get("https://[도메인].atlassian.net/rest/api/3/issue/[Issue Key]")
            .basicAuth("[아이디]", "[API Token]")
            .header("Accept", "application/json")
            .asObject(Map).body

return issue.key

이렇게 코드를 각자에 맞게 넣어주신 후 [Run]을 누르면 하단에 해당 Issue의 Key가 출력되게 됩니다.
 
이를 이용해서 매크로를 만들어주려 합니다. [Macros] 탭으로 이동합니다. [Create Custom Macro]를 눌러줍니다.


매크로 이름과 설명을 간단히 작성 후 아래 [parameters]로 이동하여 [Add Parameter]를 선택합니다. 그리고 파라미터로 받을 issueID를 생성 후 [Add]를 눌러줍니다.
 


이제 우리는 아까 [Issue Key] 부분을 우리가 전달한 parameter로 대체하게 되는데 [Script to execute]에 아래 코드를 넣어줍니다.

def issue = get("https://[도메인].atlassian.net/rest/api/3/issue/${parameters.issueID}")
            .basicAuth("[아이디]", "[API Token]")
            .header("Accept", "application/json")
            .asObject(Map).body

return issue.key

이제 [Save]로 매크로를 저장해주고 Confluence Page를 하나 생성한 후 "/만든 매크로 이름"을 선택 하고 설정한 파라미터에 원하는 키를 입력하면 됩니다.
 


 
 

728x90

+ Recent posts