CNB OpenAPI的Python SDK,方便与CNB平台进行交互。
该 sdk 由 cnb-sdk-generator 生成
pip install -e .
或通过PyPI安装(已发布):
pip install python-cnb
#!/usr/bin/env python
import os
from dotenv import load_dotenv
from cnb import CNBClient
from cnb.exceptions import CNBAPIError
from cnb.models import api
# 加载环境变量
load_dotenv()
def get_user_info():
# 初始化客户端
client = CNBClient(
base_url="https://api.cnb.cool",
api_key=os.getenv("CNB_TOKEN"), # 从环境变量获取API Key
max_retries=3, # 最大重试次数
timeout=30, # 请求超时时间(秒)
)
try:
user_info = client.cnb.users.get_user_info()
print(f"user_info: {user_info}")
except CNBAPIError as e:
print(f"API调用失败: {e}")
def create_issue():
# 初始化客户端
client = CNBClient(
base_url="https://api.cnb.cool",
api_key=os.getenv("CNB_TOKEN"), # 从环境变量获取API Key
max_retries=3, # 最大重试次数
timeout=30, # 请求超时时间(秒)
)
try:
issue = client.cnb.issues.create_issue(
repo="looc/test-ci",
body_params=api.PostIssueForm(
title="测试 Issue",
priority="111"
)
)
print(f"issue: {issue}")
except CNBAPIError as e:
print(f"API调用失败: {e.errcode}")
if __name__ == "__main__":
get_user_info()
list_issues()
MIT License - 详见LICENSE文件