atlassian-python-api 是一个用于与 Atlassian 生态系统进行交互的 Python 库,支持与多种 Atlassian 工具(如 Jira、Confluence、Bitbucket 等)进行 API 调用。它简化了 REST API 的调用,提供了高层次的抽象,方便开发者进行常见操作,如管理问题、项目、文档、版本库等。
一、主要功能
atlassian-python-api 库支持以下 Atlassian 产品:
- Jira: 用于问题跟踪、项目管理、Sprint 规划等。
- Confluence: 文档协作平台,支持文档创建、管理和存储。
- Bitbucket: Git 版本控制系统的托管和代码审查工具。
- Bamboo: 持续集成工具。
- Crowd: Atlassian 的用户管理和单点登录 (SSO) 系统。
- Opsgenie: 警报管理工具。
- Service Management: 用于 IT 服务和客户支持管理。
- Statuspage: 状态页面工具,用于实时状态更新。
二、安装
bash
pip install atlassian-python-api
三、典型用法
1. Jira
对于 Jira 的集成,atlassian-python-api 提供了多种方法来创建、更新和检索问题、项目和用户信息。
python
from atlassian import Jira
# 使用基本身份验证
jira = Jira(
url='https://your-jira-instance.atlassian.net',
username='your-username',
password='your-api-token'
)
# 获取某个问题的信息
issue = jira.issue('JIRA-123')
print(issue)
# 创建新的问题
new_issue = jira.create_issue(fields={
'project': {'key': 'JIRA'},
'summary': 'New Issue Summary',
'description': 'Description of the issue',
'issuetype': {'name': 'Task'}
})
2. Confluence
Confluence 支持内容创建、页面更新、检索文档等操作。
python
from atlassian import Confluence
confluence = Confluence(
url='https://your-confluence-instance.atlassian.net',
username='your-username',
password='your-api-token'
)
# 获取某个页面
page = confluence.get_page_by_title(space='SPACE_KEY', title='Page Title')
print(page)
# 创建页面
confluence.create_page(
space='SPACE_KEY',
title='New Page Title',
body='<h1>This is a new page</h1>',
parent_id=123456
)
3. Bitbucket
对于 Bitbucket,支持仓库、分支和 Pull Request 的管理。
python
from atlassian import Bitbucket
bitbucket = Bitbucket(
url='https://your-bitbucket-instance.atlassian.net',
username='your-username',
password='your-pws' # 或者 api-token
)
# 获取仓库信息
repository = bitbucket.get_repo('project_key', 'repo_slug')
print(repository)
# 创建新的 Pull Request
pull_request = bitbucket.create_pull_request(
project_key='project_key',
repo_slug='repo_slug',
title='New Pull Request',
description='Pull request description',
from_branch='feature-branch',
to_branch='master'
)
四、其他特性
批量操作: 可以使用库内方法来进行批量操作,例如批量创建问题或批量更新文档。
错误处理: atlassian-python-api 库会自动处理一些常见的 API 错误,如身份验证失败或权限问题,并返回适当的错误消息。
结论
atlassian-python-api 是一个非常灵活和强大的库,可以帮助你轻松地与 Atlassian 的多种工具进行交互,适用于自动化日常操作和集成 Atlassian 产品到你的工作流中。