参考Openapi文档
相关接口列表:
- 获取 AI 代码统计概览 GET /v1/organizations/{organization_id}/ai-code/stats/overview 下面简称overview
- 列出 Commit 明细 GET /v1/organizations/{organization_id}/ai-code-tracking/commits 下面简称commits
疑问:
同样的日期范围,overview 直接返回汇总的数据 和 commits 聚合每一个item的数据是不是应该是一致的?
测试脚本以及逻辑如下:
# %%
import requests
startDate = 1778544000000
endDate = 1778576400000
payload = {}
headers = {
'Authorization': 'Bearer sk-xxxxx',
}
orgID = "019d04a4-xxxxx"
# %%
def overviewData():
params = {
"start_date": startDate,
"end_date": endDate,
}
url = f"https://api.qoder.com/v1/organizations/{orgID}/ai-code/stats/overview"
response = requests.request("GET", url, headers=headers, params=params)
return response.json()
def commitsData():
params = {
"startDate": startDate,
"endDate": endDate,
"pageSize": 200,
"page": 1,
}
url = f"https://api.qoder.com/v1/organizations/{orgID}/ai-code-tracking/commits"
response = requests.request("GET", url, headers=headers, params=params)
return response.json()
# %%
print("数据来源: /ai-code/stats/overview")
overview_data = overviewData()
overview_aiShareRate = overview_data["aiShareRate"]
print("AI 代码提交行数:", overview_data["committedAiLinesEdit"])
print("总提交行数:", overview_data["committedTotalLinesEdit"])
print(f"提交代码 AI 占比: {overview_aiShareRate:.1f}%")
print("======================================================")
print("数据来源: /ai-code-tracking/commits; 聚合每一个item")
totalLinesAddeds = 0
totalLinesDeleteds = 0
nonAiLinesAddeds = 0
nonAiLinesDeleteds = 0
commits_data = commitsData()
for i in commits_data["data"]["items"]:
totalLinesAddeds += i["totalLinesAdded"]
totalLinesDeleteds += i["totalLinesDeleted"]
nonAiLinesAddeds += i["nonAiLinesAdded"]
nonAiLinesDeleteds += i["nonAiLinesDeleted"]
print(f"总新增行数: {totalLinesAddeds} | 计算: += []item.totalLinesAdded")
print(f"总删除行数: {totalLinesDeleteds} | 计算: += []item.totalLinesDeleted")
print(f"非AI 新增行数: {nonAiLinesAddeds} | 计算: += []item.nonAiLinesAdded")
print(f"非AI 删除行数: {nonAiLinesDeleteds} | 计算: += []item.nonAiLinesDeleted")
print(f"总提交行数: {totalLinesAddeds - totalLinesDeleteds} | 计算: (+= []item.totalLinesAdded) - (+= []item.totalLinesDeleted)")
print(f"AI 代码新增行数: {totalLinesAddeds - nonAiLinesAddeds} | 计算: (+= []item.totalLinesAdded) - (+= []item.nonAiLinesAdded)")
print(f"AI 代码删除行数: {totalLinesDeleteds - nonAiLinesDeleteds} | 计算: (+= []item.totalLinesDeleted) - (+= []item.nonAiLinesDeleted)")
print(f"AI 代码提交行数: {totalLinesAddeds - totalLinesDeleteds - nonAiLinesAddeds - nonAiLinesDeleteds} | 计算: (+= []item.totalLinesAdded) - (+= []item.nonAiLinesAdded) - (+= []item.totalLinesDeleted) - (+= []item.nonAiLinesDeleted)")
结果是有出入的如图
请问是我理解的字段含义有误吗?
