reposync/issue_sync/get_gitlink_issue.py

59 lines
2.0 KiB
Python

import requests
import mysql.connector
import json
# 连接到MySQL数据库
conn = mysql.connector.connect(
host="localhost",
user="root",
password="185102xmy",
database="db1"
)
cursor = conn.cursor()
cursor.execute('DROP TABLE IF EXISTS gitlink_issue_list')
# 创建一个表
cursor.execute('''CREATE TABLE IF NOT EXISTS gitlink_issue_list
(id INT AUTO_INCREMENT PRIMARY KEY, number VARCHAR(10), subject VARCHAR(100), description VARCHAR(1000), status_name VARCHAR(15), priority_name VARCHAR(15))''')
url = "https://gitlink.org.cn/api/v1/xumingyang21/reposyncer2/issues.json?category&participant_category&keyword&author_id&milestone_id&assigner_id&status_id&sort_by&sort_direction&issue_tag_ids&page&limit&debug=admin"
payload={}
headers = {
'Authorization': 'XtR67a232J5u1VU_8yvm7RCVfMX0XMM76m8yMAGblDY',
'User-Agent': 'Apifox/1.0.0 (https://apifox.com)'
}
response = requests.request("GET", url, headers=headers, data=payload)
data = response.json()
# print(data)
print(data['issues'])
for issue in data['issues']:
url = f"https://gitlink.org.cn/api/v1/xumingyang21/reposyncer2/issues/{issue['id']}.json"
payload = {}
access_token = 'XtR67a232J5u1VU_8yvm7RCVfMX0XMM76m8yMAGblDY'
headers = {
'Authorization': f'Bearer {access_token}',
'User-Agent': 'Apifox/1.0.0 (https://apifox.com)'
}
response = requests.request("GET", url, headers=headers, data=payload)
data = response.json()
# print(response.text)
# print(data)
print(issue['id'])
print(issue['subject'])
print(data['description'])
print(issue['status_name'])
# print(issue[])
cursor.execute('INSERT INTO gitlink_issue_list (number, subject, description, status_name, priority_name) VALUES (%s, %s, %s, %s, %s)',
(issue['id'], issue['subject'],data['description'], issue['status_name'], issue['priority_name']))
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()
print(response.text)