diff --git a/CHANGELOG.md b/CHANGELOG.md index a5250040e..ecb743b91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,35 @@ # Changelog +## [v3.2.0](https://forgeplus.trustie.net/projects/jasder/forgeplus/releases) - 2021-06-09 + +### ENHANCEMENTS + * ADD 集成邮件和平台站内信等通知系统 + * Fix 代码库二级页面-优化文件子目录浏览功能(#50388) + * Fix 代码库二级页面-优化commit提交详情页页面排版及数据显示(#50372) + * Fix 代码库二级页面-优化commit提交信息列表页加载方式和数据排序功能(#50348) + * Fix 代码库二级页面-优化创建发行版功能(#50346) + * Fix 代码库二级页面-优化标签列表页功能(#50344) + * Fix 代码库二级页面-优化发行版本列表页功能(#50345) + * Fix 代码库二级页面-优化分支列表页功能(#50343) + * Fix 其他问题优化(#51581) (#51343) (#51108) + +--- + +### BUGFIXES + * Fix 发行版—标签跳转链接错误(#51666) + * Fix 文件预览报错(#51660) + * Fix 标签创建时间显示错误(#51658) + * Fix 分支列表中头像显示问题(#51656) + * Fix 文本信息过长(#51630) (#51626) + * Fix 版本库中附件下载400(#51625) + * Fix loading页面优化(#51588) + * Fix 提交详情页面优化(#51577) + * Fix 修复易修复制功能(#51569) + * Fix 修复新建发行版用户信息显示错误的问题(#51665) + * Fix 修复查看文件详细信息报错的问题(#51561) + * Fix 修复提交记录中时间显示格式问题(#51526) + * Fix 组织下项目更加更新时间倒序排序(#50833) + + ## [v3.1.0](https://forgeplus.trustie.net/projects/jasder/forgeplus/releases) - 2021-06-09 * ENHANCEMENTS diff --git a/app/docs/slate/source/includes/_pulls.md b/app/docs/slate/source/includes/_pulls.md index 1df50f6bf..b9ad3b0ba 100644 --- a/app/docs/slate/source/includes/_pulls.md +++ b/app/docs/slate/source/includes/_pulls.md @@ -1 +1,502 @@ # Pulls + + +## Get a pull request +获取合并请求详情接口 + +> 示例: + +```shell +curl -X GET http://localhost:3000/api/Jasder/gitlink/pulls/88.json +``` + +```javascript +await octokit.request('GET /api/Jasder/gitlink/pulls/88.json') +``` + +### HTTP 请求 +`GET /api/:owner/:repo/pulls/:id.json` + +### 请求参数: +参数 | 必选 | 默认 | 类型 | 字段说明 +--------- | ------- | ------- | -------- | ---------- +|owner |是| |string |用户登录名 | +|repo |是| |string |项目标识identifier | +|id |是| | integer | pull id值 | + + + + +> 返回的JSON示例: + +```json +{ + "status": 0, + "message": "响应成功", + "project_name": "Gitlink", + "identifier": "forgeplus", + "project_identifier": "forgeplus", + "pr_time": "52分钟前", + "commits_count": 229, + "files_count": 328, + "comments_count": 0, + "comments_total_count": 0, + "pull_request": { + "id": 1189, + "base": "master", + "head": "develop", + "status": 0, + "fork_project_id": null, + "is_original": false, + "pull_request_staus": "open", + "fork_project_user": null, + "create_user": "jasder", + "mergeable": true, + "state": "open" + }, + "issue": { + "id": 51888, + "subject": "FIx release v3.2.0", + "description": null, + "is_private": false, + "branch_name": null, + "project_author_name": "Gitlink", + "closed_on": "", + "created_at": "2021-10-12 15:51", + "assign_user_name": "victor", + "assign_user_login": "moshenglv", + "author_name": "段甲生", + "author_login": "jasder", + "author_picture": "images/avatars/User/36480?t=1615520120", + "issue_status": "新增", + "priority": "正常", + "version": null, + "issue_tags": null + }, + "conflict_files": [] +} +``` + +## 获取pull request文件列表 +获取pull request文件列表 + +> 示例: + +```shell +curl -X GET \ +http://localhost:3000/api/Jason/gitlink/pulls/1/files.json +``` + +```javascript +await octokit.request('GET /api/jasder/gitlink/pulls/1/files.json') +``` + +### HTTP 请求 +`GET /api/:owner/:repo/pulls/:id/files.json` + +### 请求参数: +|参数名|必选|类型|说明| +|-|-|-|-| +|owner |是|string |用户登录名 | +|repo |是|string |project's identifier | +|id |是|int |pull request's id | + + +### 返回字段说明: +参数 | 类型 | 字段说明 +--------- | ----------- | ----------- +|-|-|-| +|files_count |int|文件更改的总数量| +|total_addition |int|添加代码总行数| +|total_deletion |int|删除代码总行数| +|files |array|| +|-- sha |string|commit's sha value| +|-- name |string|当前文件名| +|-- old_name |string| 修改之前的文件名称,与name相同的话,说明文件名未更改| +|-- addition |int|文件添加的行数| +|-- deletion |int|文件删除的行数| +|-- type |int|文件类型, 1: 表示该文件只添加了内容,2: 表示该文件内容有修改, 3: 表示文件被删除或者改文件只删除了内容| +|-- isCreated |boolean|当前文件是否为新增文件, true: 是, false: 否| +|-- isDeleted |boolean|当前文件是否被删除, true: 是,false: 否| +|-- isBin |boolean|当前文件是否为二进制文件,true: 是,false: 否| +|-- isLFSFile |boolean|当前文件是否为LFS文件,true: 是,false: 否| +|-- isRenamed |boolean|当前文件是否被重命名,true: 是,false: 否| +|-- sections |array|| +|---- fileName |string|文件名称| +|---- lines |array|| +|------ leftIdx |string|文件变动之前所在行数| +|------ rightIdx |string|文件更改后所在行数| +|------ type |string|文件变更类型,1: 新增,2: 修改, 3: 删除, 4: diff统计信息| +|------ content |string|文件变更的内容| +|------ sectionInfo |object|| +|-------- path |string|文件相对仓库的路径| +|-------- lastLeftIdx |int|| +|-------- lastRightIdx |int|| +|-------- leftHunkSize |int|文件变更之前的行数| +|-------- rightHunkSize |int|文件变更之后的行数(及当前页面编辑器显示的总行数)| +|-------- leftIdx |int|文件变更之前所在行数| +|-------- rightIdx |int|文件变更之后所在行数(即:页面编辑器开始显示的行数)| + + + +> 返回的JSON示例: + +```json +{ + "files_count": 6, + "total_addition": 447, + "total_deletion": 0, + "files": [ + { + "sha": "xefenisnii", + "name": "文件.txt", + "old_name": "文件.txt", + "index": 6, + "addition": 2, + "deletion": 0, + "type": 1, + "isCreated": true, + "isDeleted": false, + "isBin": false, + "isLFSFile": false, + "isRenamed": false, + "isSubmodule": false, + "sections": [ + { + "fileName": "文件.txt", + "name": "", + "lines": [ + { + "leftIdx": 0, + "rightIdx": 0, + "type": 4, + "content": "@@ -0,0 +1,2 @@", + "sectionInfo": { + "path": null, + "lastLeftIdx": null, + "lastRightIdx": null, + "leftIdx": 0, + "rightIdx": 0, + "leftHunkSize": null, + "rightHunkSize": null + } + }, + { + "leftIdx": 0, + "rightIdx": 1, + "type": 2, + "content": "+用例图一致性更新", + "sectionInfo": null + }, + { + "leftIdx": 0, + "rightIdx": 2, + "type": 2, + "content": "+工程文件直接上传会有文件缺失,现在压缩后上传", + "sectionInfo": null + } + ] + } + ] + } + ] +} +``` + + +## 获取pull request的commits列表 +获取pull request的commits列表 + +> 示例: + +```shell +curl -X GET http://localhost:3000/api/jasder/jasder_test/pulls/1/commits.json +``` + +```javascript +await octokit.request('GET /api/jasder/jasder_test/pulls/1/commits.json') +``` + +### HTTP 请求 +`GET /api/:owner/:repo/pulls/:id/commits.json` + +### 请求参数: +|参数名|必选|类型|说明| +|-|-|-|-| +|owner |是|string |用户登录名 | +|repo |是|string |project's identifier | +|id |是|int |pull request's id | + + +### 返回字段说明: +参数 | 类型 | 字段说明 +--------- | ----------- | ----------- +|commits_count |int|commits总数量| +|commits |array|| +|-- author |object|项目作者| +|---- login |string|用户login| +|---- name |string|用户姓名| +|---- image_url |string|用户头像| +|-- committer |object|commit提交用户| +|---- login |string|用户login| +|---- name |string|用户姓名| +|---- image_url |string|用户头像| +|-- timestamp |int|commit的unix时间戳| +|-- time_from_now|string|commit’s 提交时间距当前时间的时间值| +|-- message |string|commit说明信息| +|-- sha |string|commit’s sha值| + + +> 返回的JSON示例: + +```json +{ + "commits_count": 1, + "commits": [ + { + "author": { + "id": 36480, + "login": "jasder", + "name": "段甲生", + "image_url": "avatars/User/b" + }, + "committer": { + "id": 36480, + "login": "jasder", + "name": "段甲生", + "image_url": "avatars/User/b" + }, + "timestamp": 1604382982, + "time_from_now": "3小时前", + "message": "add some file\n* Add the tag list page to the release page\n* Apply suggestions from code review\n* Add the tags list view\n* Add the delete tag way on ui\n* Not delete tag and clear message when delete a release\n", + "sha": "8f5faee0d3b3be1b8063e84da0c79dd75327b968" + } + ] +} +``` + +## Compare two commits +Compare two commits + +> 示例: + +```shell +curl -X GET \ +http://localhost:3000/api/Jason/test-txt/compare/master...develop + +curl -X GET \ +http://localhost:3000/api/Jason/test-txt/compare/master...Jason/test-txt:develop +``` + +```javascript +await octokit.request('GET /api/Jason/test-txt/compare/master...Jason/test-txt:develop') +``` + +### HTTP 请求 +`GET /api/:owner/:repo/compare/{base}...{head}.json` + +### 请求参数: +|参数名|必选|类型|说明| +|-|-|-|-| +|owner |是|string |用户登录名 | +|repo |是|string |project's identifier | +|base |是|string |pull request's id | +|head |是|string |pull request's id | + + +### 返回字段说明: +参数 | 类型 | 字段说明 +--------- | ----------- | ----------- +|-|-|-| +|commits_count |int|commits总数量| +|commits |array|| +|-- author |object|项目作者| +|---- login |string|用户login| +|---- name |string|用户姓名| +|---- image_url |string|用户头像| +|-- committer |object|commit提交用户| +|---- login |string|用户login| +|---- name |string|用户姓名| +|---- image_url |string|用户头像| +|-- timestamp |int|commit的unix时间戳| +|-- time_from_now|string|commit’s 提交时间距当前时间的时间值| +|-- message |string|commit说明信息| +|-- sha |string|commit’s sha值| +|diff |object|| +|-- files_count |int|文件更改的总数量| +|-- total_addition |int|添加代码总行数| +|-- total_deletion |int|删除代码总行数| +|-- files |Array|| +|-- sha |string|commit's sha | +|-- name |string|当前文件名| +|-- old_name |string| 修改之前的文件名称,与name相同的话,说明文件名未更改| +|-- addition |int|文件添加的行数| +|-- deletion |int|文件删除的行数| +|-- type |int|文件类型, 1: 表示该文件只添加了内容,2: 表示该文件内容有修改, 3: 表示文件被删除或者改文件只删除了内容| +|-- isCreated |boolean|当前文件是否为新增文件, true: 是, false: 否| +|-- isDeleted |boolean|当前文件是否被删除, true: 是,false: 否| +|-- isBin |boolean|当前文件是否为二进制文件,true: 是,false: 否| +|-- isLFSFile |boolean|当前文件是否为LFS文件,true: 是,false: 否| +|-- isRenamed |boolean|当前文件是否被重命名,true: 是,false: 否| +|-- sections |array|| +|---- fileName |string|文件名称| +|---- lines |array|| +|------ leftIdx |string|文件变动之前所在行数| +|------ rightIdx |string|文件更改后所在行数| +|------ type |string|文件变更类型,1: 内容未改动,2: 添加, 3: 删除, 4: diff统计信息| +|------ content |string|文件变更的内容| +|------ sectionInfo |object|| +|-------- path |string|文件相对仓库的路径| +|-------- lastLeftIdx |int|| +|-------- lastRightIdx |int|| +|-------- leftHunkSize |int|文件变更之前的行数| +|-------- rightHunkSize |int|文件变更之后的行数(及当前页面编辑器显示的总行数)| +|-------- leftIdx |int|文件变更之前所在行数| +|-------- rightIdx |int|文件变更之后所在行数| + +> 返回的JSON示例: + +```json +{ + "commits_count": 1, + "commits": [ + { + "author": { + "id": 36480, + "login": "jasder", + "name": "段甲生", + "image_url": "avatars/User/b" + }, + "committer": { + "id": 36480, + "login": "jasder", + "name": "段甲生", + "image_url": "avatars/User/b" + }, + "timestamp": 1604382982, + "time_from_now": "4小时前", + "message": "add some file\n* Add the tag list page to the release page\n* Apply suggestions from code review\n* Add the tags list view\n* Add the delete tag way on ui\n* Not delete tag and clear message when delete a release\n", + "sha": "8f5faee0d3b3be1b8063e84da0c79dd75327b968" + } + ], + "diff": { + "files_count": 6, + "total_addition": 447, + "total_deletion": 0, + "files": [ + { + "name": "build.go", + "old_name": "build.go", + "index": 1, + "addition": 33, + "deletion": 0, + "type": 1, + "isCreated": true, + "isDeleted": false, + "isBin": false, + "isLFSFile": false, + "isRenamed": false, + "isSubmodule": false, + "sections": [ + { + "fileName": "build.go", + "name": "", + "lines": [ + { + "leftIdx": 0, + "rightIdx": 0, + "type": 4, + "content": "@@ -0,0 +1,33 @@", + "sectionInfo": { + "path": "build.go", + "lastLeftIdx": 0, + "lastRightIdx": 0, + "leftIdx": 0, + "rightIdx": 1, + "leftHunkSize": 0, + "rightHunkSize": 33 + } + }, + { + "leftIdx": 0, + "rightIdx": 1, + "type": 2, + "content": "+// Copyright 2020 The Gitea Authors. All rights reserved.", + "sectionInfo": null + } + ] + } + ] + } + ] + } +``` + + +## List pull requests +获取合并请求列表 + +> 示例: + +```shell +curl -X GET http://localhost:3000/api/Jasder/gitlink/pulls.json +``` + +```javascript +await octokit.request('GET /api/Jasder/gitlink/pulls.json') +``` + +### HTTP 请求 +`GET /api/:owner/:repo/pulls.json` + +### 请求参数: +参数 | 必选 | 默认 | 类型 | 字段说明 +--------- | ------- | ------- | -------- | ---------- +|owner |是| |string |用户登录名 | +|repo |是| |string |项目标识identifier | + + + + +> 返回的JSON示例: + +```json +{ + "status": 0, + "message": "响应成功", + "open_count": 4, + "close_count": 51, + "merged_issues_size": 123, + "search_count": 4, + "limit": null, + "user_admin_or_member": true, + "user_admin_or_developer": true, + "project_name": "Gitlink", + "project_author_name": "Gitlink", + "issues": [ + { + "pull_request_id": 1189, + "pull_request_status": 0, + "pull_request_head": "develop", + "pull_request_base": "master", + "pull_request_staus": "open", + "is_original": false, + "fork_project_id": null, + "fork_project_identifier": null, + "fork_project_user": null, + "id": 51888, + "name": "FIx release v3.2.0", + "pr_time": "59分钟前", + "assign_user_name": "victor", + "assign_user_login": "moshenglv", + "author_name": "段甲生", + "author_login": "jasder", + "avatar_url": "images/avatars/User/36480?t=1615520120", + "priority": "正常", + "version": null, + "journals_count": 0, + "issue_tags": null + } + ] +} +``` \ No newline at end of file diff --git a/public/docs/api.html b/public/docs/api.html index ef03d978f..8368e8fae 100644 --- a/public/docs/api.html +++ b/public/docs/api.html @@ -533,6 +533,23 @@
获取合并请求详情接口
+ +++示例:
+
curl -X GET http://localhost:3000/api/Jasder/gitlink/pulls/88.json
+
await octokit.request('GET /api/Jasder/gitlink/pulls/88.json')
+
GET /api/:owner/:repo/pulls/:id.json
参数 | +必选 | +默认 | +类型 | +字段说明 | +
---|---|---|---|---|
owner | +是 | ++ | string | +用户登录名 | +
repo | +是 | ++ | string | +项目标识identifier | +
id | +是 | ++ | integer | +pull id值 | +
++返回的JSON示例:
+
{
+ "status": 0,
+ "message": "响应成功",
+ "project_name": "Gitlink",
+ "identifier": "forgeplus",
+ "project_identifier": "forgeplus",
+ "pr_time": "52分钟前",
+ "commits_count": 229,
+ "files_count": 328,
+ "comments_count": 0,
+ "comments_total_count": 0,
+ "pull_request": {
+ "id": 1189,
+ "base": "master",
+ "head": "develop",
+ "status": 0,
+ "fork_project_id": null,
+ "is_original": false,
+ "pull_request_staus": "open",
+ "fork_project_user": null,
+ "create_user": "jasder",
+ "mergeable": true,
+ "state": "open"
+ },
+ "issue": {
+ "id": 51888,
+ "subject": "FIx release v3.2.0",
+ "description": null,
+ "is_private": false,
+ "branch_name": null,
+ "project_author_name": "Gitlink",
+ "closed_on": "",
+ "created_at": "2021-10-12 15:51",
+ "assign_user_name": "victor",
+ "assign_user_login": "moshenglv",
+ "author_name": "段甲生",
+ "author_login": "jasder",
+ "author_picture": "images/avatars/User/36480?t=1615520120",
+ "issue_status": "新增",
+ "priority": "正常",
+ "version": null,
+ "issue_tags": null
+ },
+ "conflict_files": []
+}
+
获取pull request文件列表
+ +++示例:
+
curl -X GET \
+http://localhost:3000/api/Jason/gitlink/pulls/1/files.json
+
await octokit.request('GET /api/jasder/gitlink/pulls/1/files.json')
+
GET /api/:owner/:repo/pulls/:id/files.json
参数名 | +必选 | +类型 | +说明 | +
---|---|---|---|
owner | +是 | +string | +用户登录名 | +
repo | +是 | +string | +project's identifier | +
id | +是 | +int | +pull request's id | +
参数 | +类型 | +字段说明 | +
---|---|---|
- | +- | +- | +
files_count | +int | +文件更改的总数量 | +
total_addition | +int | +添加代码总行数 | +
total_deletion | +int | +删除代码总行数 | +
files | +array | ++ |
-- sha | +string | +commit's sha value | +
-- name | +string | +当前文件名 | +
-- old_name | +string | +修改之前的文件名称,与name相同的话,说明文件名未更改 | +
-- addition | +int | +文件添加的行数 | +
-- deletion | +int | +文件删除的行数 | +
-- type | +int | +文件类型, 1: 表示该文件只添加了内容,2: 表示该文件内容有修改, 3: 表示文件被删除或者改文件只删除了内容 | +
-- isCreated | +boolean | +当前文件是否为新增文件, true: 是, false: 否 | +
-- isDeleted | +boolean | +当前文件是否被删除, true: 是,false: 否 | +
-- isBin | +boolean | +当前文件是否为二进制文件,true: 是,false: 否 | +
-- isLFSFile | +boolean | +当前文件是否为LFS文件,true: 是,false: 否 | +
-- isRenamed | +boolean | +当前文件是否被重命名,true: 是,false: 否 | +
-- sections | +array | ++ |
---- fileName | +string | +文件名称 | +
---- lines | +array | ++ |
------ leftIdx | +string | +文件变动之前所在行数 | +
------ rightIdx | +string | +文件更改后所在行数 | +
------ type | +string | +文件变更类型,1: 新增,2: 修改, 3: 删除, 4: diff统计信息 | +
------ content | +string | +文件变更的内容 | +
------ sectionInfo | +object | ++ |
-------- path | +string | +文件相对仓库的路径 | +
-------- lastLeftIdx | +int | ++ |
-------- lastRightIdx | +int | ++ |
-------- leftHunkSize | +int | +文件变更之前的行数 | +
-------- rightHunkSize | +int | +文件变更之后的行数(及当前页面编辑器显示的总行数) | +
-------- leftIdx | +int | +文件变更之前所在行数 | +
-------- rightIdx | +int | +文件变更之后所在行数(即:页面编辑器开始显示的行数) | +
++返回的JSON示例:
+
{
+ "files_count": 6,
+ "total_addition": 447,
+ "total_deletion": 0,
+ "files": [
+ {
+ "sha": "xefenisnii",
+ "name": "文件.txt",
+ "old_name": "文件.txt",
+ "index": 6,
+ "addition": 2,
+ "deletion": 0,
+ "type": 1,
+ "isCreated": true,
+ "isDeleted": false,
+ "isBin": false,
+ "isLFSFile": false,
+ "isRenamed": false,
+ "isSubmodule": false,
+ "sections": [
+ {
+ "fileName": "文件.txt",
+ "name": "",
+ "lines": [
+ {
+ "leftIdx": 0,
+ "rightIdx": 0,
+ "type": 4,
+ "content": "@@ -0,0 +1,2 @@",
+ "sectionInfo": {
+ "path": null,
+ "lastLeftIdx": null,
+ "lastRightIdx": null,
+ "leftIdx": 0,
+ "rightIdx": 0,
+ "leftHunkSize": null,
+ "rightHunkSize": null
+ }
+ },
+ {
+ "leftIdx": 0,
+ "rightIdx": 1,
+ "type": 2,
+ "content": "+用例图一致性更新",
+ "sectionInfo": null
+ },
+ {
+ "leftIdx": 0,
+ "rightIdx": 2,
+ "type": 2,
+ "content": "+工程文件直接上传会有文件缺失,现在压缩后上传",
+ "sectionInfo": null
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
+
获取pull request的commits列表
+ +++示例:
+
curl -X GET http://localhost:3000/api/jasder/jasder_test/pulls/1/commits.json
+
await octokit.request('GET /api/jasder/jasder_test/pulls/1/commits.json')
+
GET /api/:owner/:repo/pulls/:id/commits.json
参数名 | +必选 | +类型 | +说明 | +
---|---|---|---|
owner | +是 | +string | +用户登录名 | +
repo | +是 | +string | +project's identifier | +
id | +是 | +int | +pull request's id | +
参数 | +类型 | +字段说明 | +
---|---|---|
commits_count | +int | +commits总数量 | +
commits | +array | ++ |
-- author | +object | +项目作者 | +
---- login | +string | +用户login | +
---- name | +string | +用户姓名 | +
---- image_url | +string | +用户头像 | +
-- committer | +object | +commit提交用户 | +
---- login | +string | +用户login | +
---- name | +string | +用户姓名 | +
---- image_url | +string | +用户头像 | +
-- timestamp | +int | +commit的unix时间戳 | +
-- time_from_now | +string | +commit’s 提交时间距当前时间的时间值 | +
-- message | +string | +commit说明信息 | +
-- sha | +string | +commit’s sha值 | +
++返回的JSON示例:
+
{
+ "commits_count": 1,
+ "commits": [
+ {
+ "author": {
+ "id": 36480,
+ "login": "jasder",
+ "name": "段甲生",
+ "image_url": "avatars/User/b"
+ },
+ "committer": {
+ "id": 36480,
+ "login": "jasder",
+ "name": "段甲生",
+ "image_url": "avatars/User/b"
+ },
+ "timestamp": 1604382982,
+ "time_from_now": "3小时前",
+ "message": "add some file\n* Add the tag list page to the release page\n* Apply suggestions from code review\n* Add the tags list view\n* Add the delete tag way on ui\n* Not delete tag and clear message when delete a release\n",
+ "sha": "8f5faee0d3b3be1b8063e84da0c79dd75327b968"
+ }
+ ]
+}
+
Compare two commits
+ +++示例:
+
curl -X GET \
+http://localhost:3000/api/Jason/test-txt/compare/master...develop
+
+curl -X GET \
+http://localhost:3000/api/Jason/test-txt/compare/master...Jason/test-txt:develop
+
await octokit.request('GET /api/Jason/test-txt/compare/master...Jason/test-txt:develop')
+
GET /api/:owner/:repo/compare/{base}...{head}.json
参数名 | +必选 | +类型 | +说明 | +
---|---|---|---|
owner | +是 | +string | +用户登录名 | +
repo | +是 | +string | +project's identifier | +
base | +是 | +string | +pull request's id | +
head | +是 | +string | +pull request's id | +
参数 | +类型 | +字段说明 | +
---|---|---|
- | +- | +- | +
commits_count | +int | +commits总数量 | +
commits | +array | ++ |
-- author | +object | +项目作者 | +
---- login | +string | +用户login | +
---- name | +string | +用户姓名 | +
---- image_url | +string | +用户头像 | +
-- committer | +object | +commit提交用户 | +
---- login | +string | +用户login | +
---- name | +string | +用户姓名 | +
---- image_url | +string | +用户头像 | +
-- timestamp | +int | +commit的unix时间戳 | +
-- time_from_now | +string | +commit’s 提交时间距当前时间的时间值 | +
-- message | +string | +commit说明信息 | +
-- sha | +string | +commit’s sha值 | +
diff | +object | ++ |
-- files_count | +int | +文件更改的总数量 | +
-- total_addition | +int | +添加代码总行数 | +
-- total_deletion | +int | +删除代码总行数 | +
-- files | +Array | ++ |
-- sha | +string | +commit's sha | +
-- name | +string | +当前文件名 | +
-- old_name | +string | +修改之前的文件名称,与name相同的话,说明文件名未更改 | +
-- addition | +int | +文件添加的行数 | +
-- deletion | +int | +文件删除的行数 | +
-- type | +int | +文件类型, 1: 表示该文件只添加了内容,2: 表示该文件内容有修改, 3: 表示文件被删除或者改文件只删除了内容 | +
-- isCreated | +boolean | +当前文件是否为新增文件, true: 是, false: 否 | +
-- isDeleted | +boolean | +当前文件是否被删除, true: 是,false: 否 | +
-- isBin | +boolean | +当前文件是否为二进制文件,true: 是,false: 否 | +
-- isLFSFile | +boolean | +当前文件是否为LFS文件,true: 是,false: 否 | +
-- isRenamed | +boolean | +当前文件是否被重命名,true: 是,false: 否 | +
-- sections | +array | ++ |
---- fileName | +string | +文件名称 | +
---- lines | +array | ++ |
------ leftIdx | +string | +文件变动之前所在行数 | +
------ rightIdx | +string | +文件更改后所在行数 | +
------ type | +string | +文件变更类型,1: 内容未改动,2: 添加, 3: 删除, 4: diff统计信息 | +
------ content | +string | +文件变更的内容 | +
------ sectionInfo | +object | ++ |
-------- path | +string | +文件相对仓库的路径 | +
-------- lastLeftIdx | +int | ++ |
-------- lastRightIdx | +int | ++ |
-------- leftHunkSize | +int | +文件变更之前的行数 | +
-------- rightHunkSize | +int | +文件变更之后的行数(及当前页面编辑器显示的总行数) | +
-------- leftIdx | +int | +文件变更之前所在行数 | +
-------- rightIdx | +int | +文件变更之后所在行数 | +
++返回的JSON示例:
+
{
+ "commits_count": 1,
+ "commits": [
+ {
+ "author": {
+ "id": 36480,
+ "login": "jasder",
+ "name": "段甲生",
+ "image_url": "avatars/User/b"
+ },
+ "committer": {
+ "id": 36480,
+ "login": "jasder",
+ "name": "段甲生",
+ "image_url": "avatars/User/b"
+ },
+ "timestamp": 1604382982,
+ "time_from_now": "4小时前",
+ "message": "add some file\n* Add the tag list page to the release page\n* Apply suggestions from code review\n* Add the tags list view\n* Add the delete tag way on ui\n* Not delete tag and clear message when delete a release\n",
+ "sha": "8f5faee0d3b3be1b8063e84da0c79dd75327b968"
+ }
+ ],
+ "diff": {
+ "files_count": 6,
+ "total_addition": 447,
+ "total_deletion": 0,
+ "files": [
+ {
+ "name": "build.go",
+ "old_name": "build.go",
+ "index": 1,
+ "addition": 33,
+ "deletion": 0,
+ "type": 1,
+ "isCreated": true,
+ "isDeleted": false,
+ "isBin": false,
+ "isLFSFile": false,
+ "isRenamed": false,
+ "isSubmodule": false,
+ "sections": [
+ {
+ "fileName": "build.go",
+ "name": "",
+ "lines": [
+ {
+ "leftIdx": 0,
+ "rightIdx": 0,
+ "type": 4,
+ "content": "@@ -0,0 +1,33 @@",
+ "sectionInfo": {
+ "path": "build.go",
+ "lastLeftIdx": 0,
+ "lastRightIdx": 0,
+ "leftIdx": 0,
+ "rightIdx": 1,
+ "leftHunkSize": 0,
+ "rightHunkSize": 33
+ }
+ },
+ {
+ "leftIdx": 0,
+ "rightIdx": 1,
+ "type": 2,
+ "content": "+// Copyright 2020 The Gitea Authors. All rights reserved.",
+ "sectionInfo": null
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+
获取合并请求列表
+ +++示例:
+
curl -X GET http://localhost:3000/api/Jasder/gitlink/pulls.json
+
await octokit.request('GET /api/Jasder/gitlink/pulls.json')
+
GET /api/:owner/:repo/pulls.json
参数 | +必选 | +默认 | +类型 | +字段说明 | +
---|---|---|---|---|
owner | +是 | ++ | string | +用户登录名 | +
repo | +是 | ++ | string | +项目标识identifier | +
++返回的JSON示例:
+
{
+ "status": 0,
+ "message": "响应成功",
+ "open_count": 4,
+ "close_count": 51,
+ "merged_issues_size": 123,
+ "search_count": 4,
+ "limit": null,
+ "user_admin_or_member": true,
+ "user_admin_or_developer": true,
+ "project_name": "Gitlink",
+ "project_author_name": "Gitlink",
+ "issues": [
+ {
+ "pull_request_id": 1189,
+ "pull_request_status": 0,
+ "pull_request_head": "develop",
+ "pull_request_base": "master",
+ "pull_request_staus": "open",
+ "is_original": false,
+ "fork_project_id": null,
+ "fork_project_identifier": null,
+ "fork_project_user": null,
+ "id": 51888,
+ "name": "FIx release v3.2.0",
+ "pr_time": "59分钟前",
+ "assign_user_name": "victor",
+ "assign_user_login": "moshenglv",
+ "author_name": "段甲生",
+ "author_login": "jasder",
+ "avatar_url": "images/avatars/User/36480?t=1615520120",
+ "priority": "正常",
+ "version": null,
+ "journals_count": 0,
+ "issue_tags": null
+ }
+ ]
+}
+