新增:获取单个提交的blame信息接口以及文档

This commit is contained in:
2022-07-18 11:18:29 +08:00
parent 0dd062ce1c
commit b248f770f1
6 changed files with 444 additions and 80 deletions

View File

@@ -1413,72 +1413,170 @@ await octokit.request('GET /api/v1/yystopf/csfjkkj/git/blobs/80dd40214a586223123
Success Data.
</aside>
## 获取仓库贡献者
获取仓库贡献者
## 获取单个提交的blame信息
根据commit ID获取blame信息
> 示例:
```shell
curl -X GET \
-d "ref=master" \
-d "filepath=lib" \
http://localhost:3000/api/yystopf/csfjkkj/contributors.json
curl -X GET http://localhost:3000/api/v1/yystopf/csfjkkj/commits/80dd40214a58622312393b2ae693756a4781fab2/diff.json
```
```javascript
await octokit.request('GET /api/yystopf/csfjkkj/contributors.json')
await octokit.request('GET /api/v1/yystopf/csfjkkj/commits/80dd40214a58622312393b2ae693756a4781fab2/diff.json')
```
### HTTP 请求
`GET /api/:owner/:repo/contributors.json`
`GET /api/v1/:owner/:repo/commits/:sha/diff.json`
### 请求参数:
参数 | 必选 | 默认 | 类型 | 字段说明
--------- | ------- | ------- | -------- | ----------
|owner |是| |string |用户登录名 |
|repo |是| |string |项目标识identifier |
|ref |否| | string |分支名称、tag名称或是提交记录id默认为整个仓库 |
|filepath |否| | string |子目录名称,默认为空 |
|owner|是| | string |用户登录名 |
|repo |是| | string |项目标识identifier |
|sha |是| | string |提交记录id |
### 返回字段说明:
参数 | 类型 | 字段说明
--------- | ----------- | -----------
|total_count |integer|贡献者数量|
|contributions |integer|贡献数量|
|login |string |用户登录名 |
|type |string|用户类型 |
|name |string|用户昵称|
|image_url |string|用户头像|
|file_nums|int|文件数量|
|total_addition|int|新增行数|
|total_deletion|int|删除行数|
|files.name|string|文件名称|
|files.oldname|string|文件修改前名称|
|files.addition|int|文件新增行数|
|files.deletion|int|文件删除行数|
|files.type|int|文件类型 1: 新增 2: 更改 3: 删除 4: 重命名 5: 复制|
|files.is_created|bool|是否为新建文件|
|files.is_deleted|bool|是否为删除文件|
|files.is_bin|bool|是否为二进制文件|
|files.is_lfs_file|bool||
|files.is_renamed|bool|是否重命名|
|files.is_ambiguous|bool||
|files.is_submodule|bool|是否为子模块|
|files.sections.file_name|string|文件名称|
|files.sections.name|string||
|files.sections.lines.left_index|int||
|files.sections.lines.right_index|int||
|files.sections.lines.match|int||
|files.sections.lines.type|int||
|files.sections.lines.content|string||
|files.sections.lines.section_path|string||
|files.sections.lines.section_last_left_index|int||
|files.sections.lines.section_last_right_index|int||
|files.sections.lines.section_left_index|int||
|files.sections.lines.section_right_index|int||
|files.sections.lines.section_left_hunk_size|int||
|files.sections.lines.section_right_hunk_size|int||
> 返回的JSON示例:
```json
{
"contributors": [
"file_nums": 2,
"total_addition": 2,
"total_deletion": 2,
"files": [
{
"contributions": 5,
"login": "testforge2",
"type": "User",
"name": "testforge2",
"image_url": "system/lets/letter_avatars/2/T/236_177_85/120.png"
"name": "xinzeng3",
"oldname": "xinzeng3",
"addition": 1,
"deletion": 0,
"type": 1,
"is_created": true,
"is_deleted": false,
"is_bin": false,
"is_lfs_file": false,
"is_renamed": false,
"is_ambiguous": false,
"is_submodule": false,
"sections": [
{
"file_name": "xinzeng3",
"name": "",
"lines": [
{
"left_index": 0,
"right_index": 0,
"match": 0,
"type": 4,
"content": "@@ -0,0 +1 @@",
"section_path": "xinzeng3",
"section_last_left_index": 0,
"section_last_right_index": 0,
"section_left_index": 0,
"section_right_index": 1,
"section_left_hunk_size": 0,
"section_right_hunk_size": 0
},
{
"left_index": 0,
"right_index": 1,
"match": -1,
"type": 2,
"content": "+1111122222"
}
]
}
],
"is_incomplete": false,
"is_incomplete_line_too_long": false,
"is_protected": false
},
{
"contributions": 79,
"login": "yystopf",
"type": "User",
"name": "yystopf",
"image_url": "system/lets/letter_avatars/2/Y/241_125_89/120.png"
"name": "xinzeng4",
"oldname": "xinzeng4",
"addition": 1,
"deletion": 0,
"type": 1,
"is_created": true,
"is_deleted": false,
"is_bin": false,
"is_lfs_file": false,
"is_renamed": false,
"is_ambiguous": false,
"is_submodule": false,
"sections": [
{
"file_name": "xinzeng4",
"name": "",
"lines": [
{
"left_index": 0,
"right_index": 0,
"match": 0,
"type": 4,
"content": "@@ -0,0 +1 @@",
"section_path": "xinzeng4",
"section_last_left_index": 0,
"section_last_right_index": 0,
"section_left_index": 0,
"section_right_index": 1,
"section_left_hunk_size": 0,
"section_right_hunk_size": 0
},
{
"left_index": 0,
"right_index": 1,
"match": -1,
"type": 2,
"content": "+111112222"
}
]
}
],
"is_incomplete": false,
"is_incomplete_line_too_long": false,
"is_protected": false
}
],
"total_count": 2
]
}
```
<aside class="success">
Success Data.
</aside>
## 获取仓库webhooks列表
获取仓库webhooks列表