Atlassian MCP + Cursor로 Jira 이슈를 Confluence에 올려보자

     
     
    팀에서 작업 현황을 Confluence로 관리하고 있다. 템플릿은 동일한데, 매번 Confluence 페이지를 생성하는 반복 작업이 번거로웠다.
    파트 내부적으로 'Cursor에서 딸-깍하고 Confluence 페이지를 생성할 수 있는 방법이 없을까?'라는 니즈가 생겼고, 원하는 조건의 Jira 티켓을 조회한 뒤, 결과를 표 형태로 정리해서 Confluence 페이지를 생성/업데이트할 수 있도록  Atlassian MCP와 Cursor를 연동했다.
     

    문서작업 너무 귀찮아.. 하지만 중요해,, 하지만 귀찮아..

     

    1. 설치 방법

    1.1 사전 요구사항

    • Cursor (또는 MCP를 지원하는 AI 에디터)
    • Jira Cloud / Confluence Cloud 계정
    • Atlassian API 토큰

    1.1.1 UV 설치

    mcp-atlassian 패키지를 uvx로 실행하기 위해 uv를 설치한다.

    brew install uv
    

    1.2 Atlassian API 토큰 발급

    1. Atlassian 계정 관리 접속
    2. Create API token 선택 후 토큰 생성
    3. 생성된 토큰을 안전한 곳에 보관 (한 번만 표시된다.)

    1.3 MCP 서버 설정 (Atlassian)

    Cursor에서 Atlassian MCP를 사용하려면 MCP 설정에 서버가 등록되어 있어야 한다.

    • Jira/Confluence 접속을 위한 환경 변수 또는 설정에 다음이 포함 되어 있어야 한다.

    Docs 참고: Atlassian MCP 

    {
      "mcpServers": {
        "mcp-atlassian": {
          "command": "uvx",
          "args": [
            "mcp-atlassian"
          ],
          "env": {
            "CONFLUENCE_URL": "<https://your-company.atlassian.net/wiki>",
            "CONFLUENCE_USERNAME": "your.email@company.com",
            "CONFLUENCE_API_TOKEN": "your_confluence_api_token",
            "JIRA_URL": "<https://your-company.atlassian.net>",
            "JIRA_USERNAME": "your.email@company.com",
            "JIRA_API_TOKEN": "your_jira_api_token"
          }
        }
      }
    }

     

    1.4 정상적으로 Atlassian MCP 연동된 화면

     

    1.5 Cursor Skills + Commands 정의

    사실 연동까지만 해도 사용하는데 문제는 없지만, "Cursor에서 딸-깍하고 Confluence 페이지를 생성"하고 싶었기 때문에 Skills와 Commands를 적용해봤다.

    먼저 Skills에는 독립적으로 실행 가능한 비즈니스를 정의했다. 그리고 각 Skill들을 하나의 Command로 묶었다.

    • Jira Automation Skill: JQL, 조회 필드, MCP 호출 방법이 정의된 스킬 파일 (예: .cursor/skills/jira-automation/SKILL.md)
    • Confluence Automation Skill: Confluence 본문 형식(HTML 테이블 등), 워크플로우가 정의된 스킬 파일 (예: .cursor/skills/confluence-automation/SKILL.md)
    • Cursor Command: “작업 현황 페이지 생성” 워크플로우를 단계별로 정의한 명령 파일 (예: .cursor/commands/confluence-work-status-page.md)

    2. 활용 방법

    2.1 전체 흐름 요약

    1. Jira 이슈 조회 (MCP jira_search)

    • JQL로 “내 할 일” 목록 조회 (예: 특정 프로젝트, 담당자, 상태, 마감일 정렬)

    2. 미리보기

    • 조회 결과를 이슈 키, 요약, 상태, 유형, 우선순위, 마감일 컬럼의 테이블로 정리해 사용자에게 보여준다.

    3. 승인 및 페이지명 입력

    • 사용자가 내용을 확인하고 승인한 뒤, Confluence에 쓸 페이지 제목 입력

    4. Confluence 페이지 생성 (MCP confluence_create_page)

    • 스페이스 키, (선택) 부모 페이지 ID와 함께 새 페이지 생성
    • 스페이스 키와 부모 페이지 ID는 Confluence 링크를 통해 확인할 수 있다. 
    https://your-company.atlassian.net/wiki/spaces/스페이스키/pages/부모페이지ID

    5. 기존 페이지 수정 (선택, MCP confluence_update_page)

    • 이미 있는 Confluence 페이지 ID를 지정해, 동일한 이슈 테이블로 본문만 갱신

    2.2 새 “작업 현황” 페이지 만들기

    • Cursor 명령 실행: 예) /confluence-work-status-page
    • AI가 Jira 이슈를 조회한 뒤 테이블 미리보기를 보여줌
    • 내용이 맞으면 “승인” 또는 “생성해줘” 등으로 응답
    • 이어서 페이지명(예: 작업 현황, 주간 업무 현황) 입력
    • 스페이스 키(예: TPS)와 필요 시 부모 페이지 ID 입력
    • AI가 confluence_create_page로 해당 제목·스페이스(·부모)에 페이지 생성 후 URL 안내

    2.3 기존 Confluence 페이지에 이슈 목록 반영하기

    • 예: “Jira 이슈 조회한 뒤 페이지 2791997485 내용 수정해줘”
    • AI가 jira_search로 이슈 목록 조회 후, confluence_update_page로 해당 페이지 ID의 본문을 이슈 테이블(마크다운 또는 HTML)로 교체
    • 페이지 제목은 유지하고 본문만 업데이트하는 방식으로 사용 가능

    2.4 JQL·필드 커스터마이징

    • JQL: 스킬/명령에서 사용하는 기본 JQL을 복사해 프로젝트·담당자(accountId)·상태만 수정하면 됨
      • 예: project = IGMU AND assignee = "accountId" AND status IN ("할 일", "진행", "개발완료", "완료") ORDER BY duedate ASC
      • accountId는 Jira 프로필/REST API로 확인 가능하며, 환경에 따라 조회 방식이 다를 수 있다.
    • 필드: jira_search 호출 시 fields에 summary,status,duedate,assignee,priority,issuetype 등 원하는 필드 지정 가능하다.

     

    3. Confluence에서 페이지 생성 확인

     
    다른 활용 방법도 찾게 되면 
    업데이트해야겠다.
     
    연동하고 너무 신났다
    이제 반복 작업 Cursor에서 딸-깍으로 끝낼 수 있어...

     


    Atlassian 공식 문서

     

    댓글