Python/Crawling

파이썬 atlassian(jira, confluence 등) 크롤링 api 모듈 소개

jimmy_AI 2024. 10. 31. 00:15
반응형

안녕하세요.

이번 글에서는 Python으로 지라나 위키 등 atlassian의 페이지들을

손쉽게 크롤링할 수 있는 api 모듈에 대하여 간략하게 소개를 진행해보도록 하겠습니다.

 

 

모듈 설치

이 기능은 atlassian-python-api 모듈을 통해서 진행되는데요.

설치는 다음 명령어로 쉽게 진행이 가능합니다.

pip install atlassian-python-api

 

참고로, 해당 모듈의 사용법은 아래 링크의 공식 document에 자세히 열거되어 있으므로,

디테일한 사용 방법은 해당 문서를 참고해주시길 바랍니다.

https://atlassian-python-api.readthedocs.io/

 

 

Confluence API 사용 예시

대표적으로 위키 페이지를 구성하는 confluence API를 사용하는 예시를 살펴보겠습니다.

 

먼저 confluence 인스턴스에 연결해야 합니다.

예시 코드 스니펫은 다음과 같습니다.

from atlassian import Confluence

# confluence 메인 페이지 url과 id/pw 정보를 입력
confluence = Confluence(
    url='https://your-confluence-instance-url',
    username='admin',
    password='admin'
)

# 참고: pw 대신 token 인자로 PAT Token도 사용 가능

 

 

이제 인스턴스 연결이 완료되었다면 다양한 작업을 수행할 수 있는데요.

page_id를 통하여 특정 페이지 정보를 가져오는 예시를 살펴보면 다음과 같습니다.

doc_id = '123456'
page = confluence.get_page_by_id(doc_id, expand='body.view') # 추가 정보 선택 가능

print(page) # json 포맷

 

결과는 json 포맷으로 등장하며, 해당 페이지에 대한 다양한 메타데이터를 포함합니다.

 

또한, 페이지를 생성하거나 업데이트하는 등의 더 높은 권한의 작업도 원격 수행이 가능합니다.

# 특정 페이지 만들기
confluence.create_page(
    space='SPACE_KEY', # 해당 문서가 위치할 공간에 대한 key 값(space 관련 메소드로 조회 가능)
    title='New Page Title',
    body='<h1>Hello, this is a new page</h1>',
    parent_id='123456' # 상위 디렉토리 페이지를 지정해야 할 경우 page_id 값
)

# 특정 페이지 업데이트
confluence.update_page(
    page_id=doc_id, # 업데이트하려는 page_id 값
    title='Updated Page Title',
    body='<h1>This page has been updated!</h1>'
)

 

이 외에도 매우 다양한 기능들이 존재하지만 상세한 내용들을 모두 다루기에는

매우 방대하기에 공식 document를 참고하셔서 작업을 진행해주시면 됩니다.

 

이 글이 atlassian 관련 작업을 수행하는 과정에서 길잡이가 되었기를 기원합니다.

감사합니다.