2.6 KiB
2.6 KiB
GitLink API 修复说明
📋 修复内容
根据GitLink官方API文档 (https://apifox.com/apidoc/shared/da30afb0-9d2e-429b-a4bc-a83209e06021/api-76022555) 进行的修复:
🔐 认证方式修正
之前错误: 使用用户名密码(HTTPBasicAuth)
# 错误的认证方式
self.auth = HTTPBasicAuth(username, password)
现在正确: 使用Bearer Token
# 正确的认证方式
self.headers = {
'Authorization': f'Bearer {self.token}',
'Content-Type': 'application/json'
}
📝 创建Issue API修正
API端点: POST /api/v1/{owner}/{repo}/issues.json
必需参数:
status_id(integer) - 疑修状态IDpriority_id(integer) - 疑修优先级IDsubject(string) - 标题
新增方法:
get_issue_statuses()- 获取状态列表get_issue_priorities()- 获取优先级列表
🔧 环境变量更新
之前:
set GITLINK_USERNAME=your_username
set GITLINK_PASSWORD=your_password
现在:
set GITLINK_TOKEN=your_gitlink_token
🚀 使用方法
1. 设置GitLink Token
# Windows
set GITLINK_TOKEN=your_gitlink_access_token
# Linux/Mac
export GITLINK_TOKEN=your_gitlink_access_token
2. 创建Issue示例
from clients.gitlink_client import GitLinkIssueClient
client = GitLinkIssueClient("your_org", "your_repo")
# 获取可用的状态和优先级
statuses = client.get_issue_statuses()
priorities = client.get_issue_priorities()
# 创建Issue
issue = client.create_issue(
title="测试Issue",
description="这是一个测试Issue",
status_id=statuses[0]['id'], # 使用第一个状态
priority_id=priorities[1]['id'] # 使用第二个优先级
)
📊 API响应格式
创建成功后返回完整的Issue信息:
{
"id": 62,
"subject": "测试Issue",
"project_issues_index": 32,
"description": "这是一个测试Issue",
"status": {
"id": 1,
"name": "新建"
},
"priority": {
"id": 2,
"name": "普通"
},
"author": {
"id": 110,
"name": "用户名",
"login": "user_login"
},
"created_at": "2023-02-15 09:53",
"updated_at": "2023-02-15 09:53"
}
✅ 修复验证
所有修改已通过以下验证:
- 符合GitLink官方API文档规范
- 使用正确的Bearer Token认证
- 创建Issue时提供必需的status_id和priority_id
- 环境变量配置简化为仅需Token
更新时间:2024年最新