Merge branch 'develop' into standalone_develop
This commit is contained in:
commit
56b1110e4d
2
Gemfile
2
Gemfile
|
@ -135,4 +135,4 @@ gem 'doorkeeper'
|
|||
|
||||
gem 'doorkeeper-jwt'
|
||||
|
||||
gem 'gitea-client', '~> 0.10.2'
|
||||
gem 'gitea-client', '~> 0.10.4'
|
|
@ -0,0 +1,20 @@
|
|||
class Api::V1::Projects::Pulls::BaseController < Api::V1::BaseController
|
||||
before_action :require_public_and_member_above
|
||||
before_action :load_pull_request
|
||||
|
||||
def load_pull_request
|
||||
pull_request_id = params[:pull_id] || params[:id]
|
||||
@pull_request = @project.pull_requests.where(gitea_number: pull_request_id).where.not(id: pull_request_id).take || PullRequest.find_by_id(pull_request_id)
|
||||
@issue = @pull_request&.issue
|
||||
if @pull_request
|
||||
logger.info "###########pull_request founded"
|
||||
@pull_request
|
||||
else
|
||||
logger.info "###########pull_request not found"
|
||||
@pull_request = nil
|
||||
render_not_found and return
|
||||
end
|
||||
|
||||
@pull_request
|
||||
end
|
||||
end
|
|
@ -0,0 +1,10 @@
|
|||
class Api::V1::Projects::Pulls::VersionsController < Api::V1::Projects::Pulls::BaseController
|
||||
|
||||
def index
|
||||
@result_object = Api::V1::Projects::Pulls::Versions::ListService.call(@project, @pull_request, {page: page, limit: limit}, current_user&.gitea_token)
|
||||
end
|
||||
|
||||
def diff
|
||||
@result_object = Api::V1::Projects::Pulls::Versions::GetDiffService.call(@project, @pull_request, params[:id], {filepath: params[:filepath]}, current_user&.gitea_token)
|
||||
end
|
||||
end
|
|
@ -5,7 +5,7 @@ class ReviewsController < ApplicationController
|
|||
|
||||
def create
|
||||
return render_forbidden('您不是审查人员,无法进行审查!') if current_user&.id != @pull_request.issue.assigned_to_id
|
||||
@journal, @review = Api::V1::Projects::PullRequests::Reviews::CreateService.call(@project, @pull_request, review_params, current_user)
|
||||
@journal, @review = Api::V1::Projects::Pulls::Reviews::CreateService.call(@project, @pull_request, review_params, current_user)
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -499,4 +499,319 @@ await octokit.request('GET /api/Jasder/gitlink/pulls.json')
|
|||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## 获取合并请求版本列表
|
||||
获取合并请求版本列表
|
||||
|
||||
> 示例:
|
||||
|
||||
```shell
|
||||
curl -X GET http://localhost:3000/api/v1/yystopf/ceshi_commit/pulls/3/versions.json
|
||||
```
|
||||
|
||||
```javascript
|
||||
await octokit.request('GET /api/v1/yystopf/ceshi_commit/pulls/3/versions.json')
|
||||
```
|
||||
|
||||
### HTTP 请求
|
||||
`GET /api/v1/:owner/:repo/pulls/:index/versions.json`
|
||||
|
||||
### 请求参数:
|
||||
参数 | 必选 | 默认 | 类型 | 字段说明
|
||||
--------- | ------- | ------- | -------- | ----------
|
||||
|owner |是| |string |用户登录名 |
|
||||
|repo |是| |string |项目标识identifier |
|
||||
|index |是|| int |合并请求序号|
|
||||
|
||||
|
||||
### 返回字段说明:
|
||||
参数 | 类型 | 字段说明
|
||||
--------- | ----------- | -----------
|
||||
|total_count |int |合并请求版本总数|
|
||||
|versions.id |int |版本ID|
|
||||
|versions.add_line_num |int |该版本新增行数|
|
||||
|versions.del_line_num |int |该版本删除行数|
|
||||
|versions.commits_count |int |该版本提交总数|
|
||||
|versions.files_count |int |该版本提交文件总数|
|
||||
|versions.base_commit_sha |string |目标commit ID|
|
||||
|versions.head_commit_sha |string |源commit ID|
|
||||
|versions.start_commit_sha|string |该版本起始commit ID|
|
||||
|versions.created_time |int |版本创建时间|
|
||||
|versions.updated_time |int |版本更新时间|
|
||||
|
||||
> 返回的JSON示例:
|
||||
|
||||
```json
|
||||
{
|
||||
"total_count": 1,
|
||||
"versions": [
|
||||
{
|
||||
"id": 33,
|
||||
"add_line_num": 5,
|
||||
"del_line_num": 2,
|
||||
"commits_count": 31,
|
||||
"files_count": 29,
|
||||
"base_commit_sha": "4a277037093c1248e46d2946ee30b61cccdb9df9",
|
||||
"head_commit_sha": "fa3b1cdc8e0727d0fb9c96d28c545867c39815b8",
|
||||
"start_commit_sha": "e49b1fd335e093a440fcf35a21e050afd48ef932",
|
||||
"created_time": 1658469499,
|
||||
"updated_time": 1658469499
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## 获取合并请求版本Diff
|
||||
获取合并请求版本Diff(支持获取单文件Diff)
|
||||
|
||||
> 示例:
|
||||
|
||||
```shell
|
||||
curl -X GET \
|
||||
-d "filepath=ceshi_dir_1/new_file_1" \
|
||||
http://localhost:3000/api/v1/yystopf/ceshi_commit/pulls/3/versions/33/diff.json
|
||||
```
|
||||
|
||||
```javascript
|
||||
await octokit.request('GET /api/v1/yystopf/ceshi_commit/pulls/3/versions/33/diff.json')
|
||||
```
|
||||
|
||||
### HTTP 请求
|
||||
`GET /api/v1/:owner/:repo/pulls/:index/versions/:version_id/diff.json`
|
||||
|
||||
### 请求参数:
|
||||
参数 | 必选 | 默认 | 类型 | 字段说明
|
||||
--------- | ------- | ------- | -------- | ----------
|
||||
|owner |是| |string |用户登录名 |
|
||||
|repo |是| |string |项目标识identifier |
|
||||
|index |是|| int |合并请求序号|
|
||||
|version_id|是|| int |版本ID|
|
||||
|filepath|否||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|是否为LFS文件|
|
||||
|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|文件变更之后的行数(及当前页面编辑器显示的总行数)|
|
||||
|files.is_incomplete|bool|是否不完整|
|
||||
|files.is_incomplete_line_too_long|bool|文件是否不完整是因为太长了|
|
||||
|files.is_protected|bool|文件是否被保护|
|
||||
|
||||
> 列表返回的JSON示例:
|
||||
|
||||
```json
|
||||
{
|
||||
"file_nums": 29,
|
||||
"total_addition": 5,
|
||||
"total_deletion": 2,
|
||||
"files": [
|
||||
{
|
||||
"name": "README.md",
|
||||
"oldname": "README.md",
|
||||
"addition": 1,
|
||||
"deletion": 2,
|
||||
"type": 2,
|
||||
"is_created": false,
|
||||
"is_deleted": false,
|
||||
"is_bin": false,
|
||||
"is_lfs_file": false,
|
||||
"is_renamed": false,
|
||||
"is_ambiguous": false,
|
||||
"is_submodule": false,
|
||||
"sections": [
|
||||
{
|
||||
"file_name": "README.md",
|
||||
"name": "",
|
||||
"lines": [
|
||||
{
|
||||
"left_index": 0,
|
||||
"right_index": 0,
|
||||
"match": 0,
|
||||
"type": 4,
|
||||
"content": "@@ -1,2 +1 @@",
|
||||
"section_path": "README.md",
|
||||
"section_last_left_index": 0,
|
||||
"section_last_right_index": 0,
|
||||
"section_left_index": 1,
|
||||
"section_right_index": 1,
|
||||
"section_left_hunk_size": 2,
|
||||
"section_right_hunk_size": 0
|
||||
},
|
||||
{
|
||||
"left_index": 1,
|
||||
"right_index": 0,
|
||||
"match": 3,
|
||||
"type": 3,
|
||||
"content": "-# ceshi_commit"
|
||||
},
|
||||
{
|
||||
"left_index": 2,
|
||||
"right_index": 0,
|
||||
"match": -1,
|
||||
"type": 3,
|
||||
"content": "-"
|
||||
},
|
||||
{
|
||||
"left_index": 0,
|
||||
"right_index": 1,
|
||||
"match": 1,
|
||||
"type": 2,
|
||||
"content": "+adsa"
|
||||
}
|
||||
]
|
||||
},
|
||||
{}
|
||||
],
|
||||
"is_incomplete": false,
|
||||
"is_incomplete_line_too_long": false,
|
||||
"is_protected": false
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### 单个文件返回字段说明:
|
||||
参数 | 类型 | 字段说明
|
||||
--------- | ----------- | -----------
|
||||
|name|string|文件名称|
|
||||
|oldname|string|文件修改前名称|
|
||||
|addition|int|文件新增行数|
|
||||
|deletion|int|文件删除行数|
|
||||
|type|int|文件类型 1: 新增 2: 更改 3: 删除 4: 重命名 5: 复制|
|
||||
|is_created|bool|是否为新建文件|
|
||||
|is_deleted|bool|是否为删除文件|
|
||||
|is_bin|bool|是否为二进制文件|
|
||||
|is_lfs_file|bool|是否为LFS文件|
|
||||
|is_renamed|bool|是否重命名|
|
||||
|is_ambiguous|bool||
|
||||
|is_submodule|bool|是否为子模块|
|
||||
|sections.file_name|string|文件名称|
|
||||
|sections.name|string||
|
||||
|sections.lines.left_index|int|文件变动之前所在行数|
|
||||
|sections.lines.right_index|int|文件变动之后所在行数|
|
||||
|sections.lines.match|int||
|
||||
|sections.lines.type|int|文件变更类型|
|
||||
|sections.lines.content|string|文件变更内容|
|
||||
|sections.lines.section_path|string|文件路径|
|
||||
|sections.lines.section_last_left_index|int||
|
||||
|sections.lines.section_last_right_index|int||
|
||||
|sections.lines.section_left_index|int|文件变更之前所在行数|
|
||||
|sections.lines.section_right_index|int|文件变更之后所在行数(即:页面编辑器开始显示的行数)|
|
||||
|sections.lines.section_left_hunk_size|int|文件变更之前的行数|
|
||||
|sections.lines.section_right_hunk_size|int|文件变更之后的行数(及当前页面编辑器显示的总行数)|
|
||||
|is_incomplete|bool|是否不完整|
|
||||
|is_incomplete_line_too_long|bool|文件是否不完整是因为太长了|
|
||||
|is_protected|bool|文件是否被保护|
|
||||
|
||||
> 单个文件返回的JSON示例:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "README.md",
|
||||
"oldname": "README.md",
|
||||
"addition": 1,
|
||||
"deletion": 2,
|
||||
"type": 2,
|
||||
"is_created": false,
|
||||
"is_deleted": false,
|
||||
"is_bin": false,
|
||||
"is_lfs_file": false,
|
||||
"is_renamed": false,
|
||||
"is_ambiguous": false,
|
||||
"is_submodule": false,
|
||||
"sections": [
|
||||
{
|
||||
"file_name": "README.md",
|
||||
"name": "",
|
||||
"lines": [
|
||||
{
|
||||
"left_index": 0,
|
||||
"right_index": 0,
|
||||
"match": 0,
|
||||
"type": 4,
|
||||
"content": "@@ -1,2 +1 @@",
|
||||
"section_path": "README.md",
|
||||
"section_last_left_index": 0,
|
||||
"section_last_right_index": 0,
|
||||
"section_left_index": 1,
|
||||
"section_right_index": 1,
|
||||
"section_left_hunk_size": 2,
|
||||
"section_right_hunk_size": 0
|
||||
},
|
||||
{
|
||||
"left_index": 1,
|
||||
"right_index": 0,
|
||||
"match": 3,
|
||||
"type": 3,
|
||||
"content": "-# ceshi_commit"
|
||||
},
|
||||
{
|
||||
"left_index": 2,
|
||||
"right_index": 0,
|
||||
"match": -1,
|
||||
"type": 3,
|
||||
"content": "-"
|
||||
},
|
||||
{
|
||||
"left_index": 0,
|
||||
"right_index": 1,
|
||||
"match": 1,
|
||||
"type": 2,
|
||||
"content": "+adsa"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"file_name": "README.md",
|
||||
"name": "",
|
||||
"lines": [
|
||||
{
|
||||
"left_index": 0,
|
||||
"right_index": 0,
|
||||
"match": 0,
|
||||
"type": 4,
|
||||
"content": " ",
|
||||
"section_path": "README.md",
|
||||
"section_last_left_index": 0,
|
||||
"section_last_right_index": 1,
|
||||
"section_left_index": 3,
|
||||
"section_right_index": 2,
|
||||
"section_left_hunk_size": 0,
|
||||
"section_right_hunk_size": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"is_incomplete": false,
|
||||
"is_incomplete_line_too_long": false,
|
||||
"is_protected": false
|
||||
}
|
||||
```
|
|
@ -1990,25 +1990,27 @@ await octokit.request('GET /api/v1/yystopf/csfjkkj/compare.json')
|
|||
|diff.files.is_created|bool|是否为新建文件|
|
||||
|diff.files.is_deleted|bool|是否为删除文件|
|
||||
|diff.files.is_bin|bool|是否为二进制文件|
|
||||
|diff.files.is_lfs_file|bool||
|
||||
|diff.files.is_lfs_file|bool|是否为LFS文件|
|
||||
|diff.files.is_renamed|bool|是否重命名|
|
||||
|diff.files.is_ambiguous|bool||
|
||||
|diff.files.is_submodule|bool|是否为子模块|
|
||||
|diff.files.sections.file_name|string|文件名称|
|
||||
|diff.files.sections.name|string||
|
||||
|diff.files.sections.lines.left_index|int||
|
||||
|diff.files.sections.lines.right_index|int||
|
||||
|diff.files.sections.lines.left_index|int|文件变动之前所在行数|
|
||||
|diff.files.sections.lines.right_index|int|文件变动之后所在行数|
|
||||
|diff.files.sections.lines.match|int||
|
||||
|diff.files.sections.lines.type|int||
|
||||
|diff.files.sections.lines.content|string||
|
||||
|diff.files.sections.lines.section_path|string||
|
||||
|diff.files.sections.lines.type|int|文件变更类型|
|
||||
|diff.files.sections.lines.content|string|文件变更内容|
|
||||
|diff.files.sections.lines.section_path|string|文件路径|
|
||||
|diff.files.sections.lines.section_last_left_index|int||
|
||||
|diff.files.sections.lines.section_last_right_index|int||
|
||||
|diff.files.sections.lines.section_left_index|int||
|
||||
|diff.files.sections.lines.section_right_index|int||
|
||||
|diff.files.sections.lines.section_left_hunk_size|int||
|
||||
|diff.files.sections.lines.section_right_hunk_size|int||
|
||||
|
||||
|diff.files.sections.lines.section_left_index|int|文件变更之前所在行数|
|
||||
|diff.files.sections.lines.section_right_index|int|文件变更之后所在行数(即:页面编辑器开始显示的行数)|
|
||||
|diff.files.sections.lines.section_left_hunk_size|int|文件变更之前的行数|
|
||||
|diff.files.sections.lines.section_right_hunk_size|int|文件变更之后的行数(及当前页面编辑器显示的总行数)|
|
||||
|diff.files.is_incomplete|bool|是否不完整|
|
||||
|diff.files.is_incomplete_line_too_long|bool|文件是否不完整是因为太长了|
|
||||
|diff.files.is_protected|bool|文件是否被保护|
|
||||
|
||||
|
||||
> 返回的JSON示例:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class Api::V1::Projects::PullRequests::Reviews::CreateService < ApplicationService
|
||||
class Api::V1::Projects::Pulls::Reviews::CreateService < ApplicationService
|
||||
include ActiveModel::Model
|
||||
|
||||
attr_reader :project, :pull_request, :issue, :status, :commit_id, :content, :current_user
|
|
@ -0,0 +1,35 @@
|
|||
class Api::V1::Projects::Pulls::Versions::GetDiffService < ApplicationService
|
||||
|
||||
attr_reader :project, :pull_request, :version_id, :owner, :repo, :index, :filepath, :token
|
||||
attr_accessor :gitea_data
|
||||
|
||||
def initialize(project, pull_request, version_id, params, token=nil)
|
||||
@project = project
|
||||
@pull_request = pull_request
|
||||
@version_id = version_id
|
||||
@owner = project&.owner.login
|
||||
@repo = project&.identifier
|
||||
@index = pull_request.gitea_number
|
||||
@filepath = params[:filepath]
|
||||
@token = token
|
||||
end
|
||||
|
||||
def call
|
||||
load_gitea_data
|
||||
|
||||
gitea_data
|
||||
end
|
||||
|
||||
private
|
||||
def request_params
|
||||
params = {
|
||||
access_token: token
|
||||
}
|
||||
params.merge!(filepath: filepath) if filepath.present?
|
||||
end
|
||||
|
||||
def load_gitea_data
|
||||
@gitea_data = $gitea_client.get_repos_pulls_versions_diff_by_owner_repo_index_version_id(owner, repo, index, version_id, {query: request_params})
|
||||
raise Error, '获取合并请求版本diff失败!' unless @gitea_data.is_a?(Hash)
|
||||
end
|
||||
end
|
|
@ -0,0 +1,36 @@
|
|||
class Api::V1::Projects::Pulls::Versions::ListService < ApplicationService
|
||||
|
||||
attr_reader :project, :pull_request, :token, :owner, :repo, :index, :page, :limit
|
||||
attr_accessor :gitea_data
|
||||
|
||||
def initialize(project, pull_request, params, token = nil)
|
||||
@project = project
|
||||
@pull_request = pull_request
|
||||
@owner = project&.owner.login
|
||||
@repo = project&.identifier
|
||||
@page = params[:page] || 1
|
||||
@limit = params[:limit] || 15
|
||||
@index = pull_request.gitea_number
|
||||
@token = token
|
||||
end
|
||||
|
||||
def call
|
||||
load_gitea_data
|
||||
|
||||
gitea_data
|
||||
end
|
||||
|
||||
private
|
||||
def request_params
|
||||
{
|
||||
access_token: token,
|
||||
page: page,
|
||||
limit: limit
|
||||
}
|
||||
end
|
||||
|
||||
def load_gitea_data
|
||||
@gitea_data = $gitea_client.get_repos_pulls_versions_by_owner_repo_index(owner, repo, index, {query: request_params})
|
||||
raise Error, '获取合并请求版本失败!' unless @gitea_data.is_a?(Hash)
|
||||
end
|
||||
end
|
|
@ -0,0 +1,35 @@
|
|||
json.name file['Name']
|
||||
json.oldname file['OldName']
|
||||
json.addition file['Addition']
|
||||
json.deletion file['Deletion']
|
||||
json.type file['Type']
|
||||
json.is_created file['IsCreated']
|
||||
json.is_deleted file['IsDeleted']
|
||||
json.is_bin file['IsBin']
|
||||
json.is_lfs_file file['IsLFSFile']
|
||||
json.is_renamed file['IsRenamed']
|
||||
json.is_ambiguous file['IsAmbiguous']
|
||||
json.is_submodule file['IsSubmodule']
|
||||
json.sections file['Sections'] do |section|
|
||||
json.file_name section['FileName']
|
||||
json.name section['Name']
|
||||
json.lines section['Lines'] do |line|
|
||||
json.left_index line['LeftIdx']
|
||||
json.right_index line['RightIdx']
|
||||
json.match line['Match']
|
||||
json.type line['Type']
|
||||
json.content line['Content']
|
||||
unless line['SectionInfo'].blank?
|
||||
json.section_path line['SectionInfo']['Path']
|
||||
json.section_last_left_index line['SectionInfo']['LastLeftIdx']
|
||||
json.section_last_right_index line['SectionInfo']['LastRightIdx']
|
||||
json.section_left_index line['SectionInfo']['LeftIdx']
|
||||
json.section_right_index line['SectionInfo']['RightIdx']
|
||||
json.section_left_hunk_size line['SectionInfo']['LeftHunkSize']
|
||||
json.section_right_hunk_size line['SectionInfo']['RightHunkSize']
|
||||
end
|
||||
end
|
||||
end
|
||||
json.is_incomplete file['IsIncomplete']
|
||||
json.is_incomplete_line_too_long file['IsIncompleteLineTooLong']
|
||||
json.is_protected file['IsProtected']
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
if @result_object.has_key?("NumFiles")
|
||||
json.partial! "api/v1/projects/simple_gitea_diff_detail", diff: @result_object
|
||||
else
|
||||
json.partial! "api/v1/projects/simple_gitea_diff_file_detail", file: @result_object
|
||||
end
|
|
@ -0,0 +1,13 @@
|
|||
json.total_count @result_object[:total_data].to_i
|
||||
json.versions @result_object[:data].each do |version|
|
||||
json.id version['id']
|
||||
json.add_line_num version['add_line_num']
|
||||
json.del_line_num version['del_line_num']
|
||||
json.commits_count version['commits_count']
|
||||
json.files_count version['files_count']
|
||||
json.base_commit_sha version['base_commit_sha']
|
||||
json.head_commit_sha version['head_commit_sha']
|
||||
json.start_commit_sha version['start_commit_sha']
|
||||
json.created_time render_unix_time(version['created_at'])
|
||||
json.updated_time render_unix_time(version['updated_at'])
|
||||
end
|
|
@ -19,7 +19,14 @@ defaults format: :json do
|
|||
# projects文件夹下的
|
||||
scope module: :projects do
|
||||
resources :issues
|
||||
resources :pull_requests
|
||||
resources :pulls, module: 'pulls' do
|
||||
resources :versions, only: [:index] do
|
||||
member do
|
||||
get :diff
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
resources :versions
|
||||
resources :release_versions
|
||||
resources :webhooks do
|
||||
|
|
|
@ -629,6 +629,12 @@
|
|||
<li>
|
||||
<a href="#list-pull-requests" class="toc-h2 toc-link" data-title="List pull requests">List pull requests</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#12fc53a2d2" class="toc-h2 toc-link" data-title="获取合并请求版本列表">获取合并请求版本列表</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#diff" class="toc-h2 toc-link" data-title="获取合并请求版本Diff">获取合并请求版本Diff</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -10806,7 +10812,7 @@ http://localhost:3000/api/v1/yystopf/csfjkkj/compare.json
|
|||
<tr>
|
||||
<td>diff.files.is_lfs_file</td>
|
||||
<td>bool</td>
|
||||
<td></td>
|
||||
<td>是否为LFS文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>diff.files.is_renamed</td>
|
||||
|
@ -10836,12 +10842,12 @@ http://localhost:3000/api/v1/yystopf/csfjkkj/compare.json
|
|||
<tr>
|
||||
<td>diff.files.sections.lines.left_index</td>
|
||||
<td>int</td>
|
||||
<td></td>
|
||||
<td>文件变动之前所在行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>diff.files.sections.lines.right_index</td>
|
||||
<td>int</td>
|
||||
<td></td>
|
||||
<td>文件变动之后所在行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>diff.files.sections.lines.match</td>
|
||||
|
@ -10851,17 +10857,17 @@ http://localhost:3000/api/v1/yystopf/csfjkkj/compare.json
|
|||
<tr>
|
||||
<td>diff.files.sections.lines.type</td>
|
||||
<td>int</td>
|
||||
<td></td>
|
||||
<td>文件变更类型</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>diff.files.sections.lines.content</td>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
<td>文件变更内容</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>diff.files.sections.lines.section_path</td>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
<td>文件路径</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>diff.files.sections.lines.section_last_left_index</td>
|
||||
|
@ -10876,22 +10882,37 @@ http://localhost:3000/api/v1/yystopf/csfjkkj/compare.json
|
|||
<tr>
|
||||
<td>diff.files.sections.lines.section_left_index</td>
|
||||
<td>int</td>
|
||||
<td></td>
|
||||
<td>文件变更之前所在行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>diff.files.sections.lines.section_right_index</td>
|
||||
<td>int</td>
|
||||
<td></td>
|
||||
<td>文件变更之后所在行数(即:页面编辑器开始显示的行数)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>diff.files.sections.lines.section_left_hunk_size</td>
|
||||
<td>int</td>
|
||||
<td></td>
|
||||
<td>文件变更之前的行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>diff.files.sections.lines.section_right_hunk_size</td>
|
||||
<td>int</td>
|
||||
<td></td>
|
||||
<td>文件变更之后的行数(及当前页面编辑器显示的总行数)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>diff.files.is_incomplete</td>
|
||||
<td>bool</td>
|
||||
<td>是否不完整</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>diff.files.is_incomplete_line_too_long</td>
|
||||
<td>bool</td>
|
||||
<td>文件是否不完整是因为太长了</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>diff.files.is_protected</td>
|
||||
<td>bool</td>
|
||||
<td>文件是否被保护</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
|
@ -13239,6 +13260,670 @@ http://localhost:3000/api/Jason/test-txt/compare/master...Jason/test-txt:develop
|
|||
</span><span class="p">}</span><span class="w">
|
||||
</span><span class="p">]</span><span class="w">
|
||||
</span><span class="p">}</span><span class="w">
|
||||
</span></code></pre></div><h2 id='12fc53a2d2'>获取合并请求版本列表</h2>
|
||||
<p>获取合并请求版本列表</p>
|
||||
|
||||
<blockquote>
|
||||
<p>示例:</p>
|
||||
</blockquote>
|
||||
<div class="highlight"><pre class="highlight shell tab-shell"><code>curl <span class="nt">-X</span> GET http://localhost:3000/api/v1/yystopf/ceshi_commit/pulls/3/versions.json
|
||||
</code></pre></div><div class="highlight"><pre class="highlight javascript tab-javascript"><code><span class="k">await</span> <span class="nx">octokit</span><span class="p">.</span><span class="nx">request</span><span class="p">(</span><span class="dl">'</span><span class="s1">GET /api/v1/yystopf/ceshi_commit/pulls/3/versions.json</span><span class="dl">'</span><span class="p">)</span>
|
||||
</code></pre></div><h3 id='http-6'>HTTP 请求</h3>
|
||||
<p><code>GET /api/v1/:owner/:repo/pulls/:index/versions.json</code></p>
|
||||
<h3 id='2eb6f47757-6'>请求参数:</h3>
|
||||
<table><thead>
|
||||
<tr>
|
||||
<th>参数</th>
|
||||
<th>必选</th>
|
||||
<th>默认</th>
|
||||
<th>类型</th>
|
||||
<th>字段说明</th>
|
||||
</tr>
|
||||
</thead><tbody>
|
||||
<tr>
|
||||
<td>owner</td>
|
||||
<td>是</td>
|
||||
<td></td>
|
||||
<td>string</td>
|
||||
<td>用户登录名</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>repo</td>
|
||||
<td>是</td>
|
||||
<td></td>
|
||||
<td>string</td>
|
||||
<td>项目标识identifier</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>index</td>
|
||||
<td>是</td>
|
||||
<td></td>
|
||||
<td>int</td>
|
||||
<td>合并请求序号</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
<h3 id='7447e4874e-4'>返回字段说明:</h3>
|
||||
<table><thead>
|
||||
<tr>
|
||||
<th>参数</th>
|
||||
<th>类型</th>
|
||||
<th>字段说明</th>
|
||||
</tr>
|
||||
</thead><tbody>
|
||||
<tr>
|
||||
<td>total_count</td>
|
||||
<td>int</td>
|
||||
<td>合并请求版本总数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>versions.id</td>
|
||||
<td>int</td>
|
||||
<td>版本ID</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>versions.add_line_num</td>
|
||||
<td>int</td>
|
||||
<td>该版本新增行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>versions.del_line_num</td>
|
||||
<td>int</td>
|
||||
<td>该版本删除行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>versions.commits_count</td>
|
||||
<td>int</td>
|
||||
<td>该版本提交总数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>versions.files_count</td>
|
||||
<td>int</td>
|
||||
<td>该版本提交文件总数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>versions.base_commit_sha</td>
|
||||
<td>string</td>
|
||||
<td>目标commit ID</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>versions.head_commit_sha</td>
|
||||
<td>string</td>
|
||||
<td>源commit ID</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>versions.start_commit_sha</td>
|
||||
<td>string</td>
|
||||
<td>该版本起始commit ID</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>versions.created_time</td>
|
||||
<td>int</td>
|
||||
<td>版本创建时间</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>versions.updated_time</td>
|
||||
<td>int</td>
|
||||
<td>版本更新时间</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
<blockquote>
|
||||
<p>返回的JSON示例:</p>
|
||||
</blockquote>
|
||||
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"total_count"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"versions"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
||||
</span><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="mi">33</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"add_line_num"</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"del_line_num"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"commits_count"</span><span class="p">:</span><span class="w"> </span><span class="mi">31</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"files_count"</span><span class="p">:</span><span class="w"> </span><span class="mi">29</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"base_commit_sha"</span><span class="p">:</span><span class="w"> </span><span class="s2">"4a277037093c1248e46d2946ee30b61cccdb9df9"</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"head_commit_sha"</span><span class="p">:</span><span class="w"> </span><span class="s2">"fa3b1cdc8e0727d0fb9c96d28c545867c39815b8"</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"start_commit_sha"</span><span class="p">:</span><span class="w"> </span><span class="s2">"e49b1fd335e093a440fcf35a21e050afd48ef932"</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"created_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1658469499</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"updated_time"</span><span class="p">:</span><span class="w"> </span><span class="mi">1658469499</span><span class="w">
|
||||
</span><span class="p">}</span><span class="w">
|
||||
</span><span class="p">]</span><span class="w">
|
||||
</span><span class="p">}</span><span class="w">
|
||||
</span></code></pre></div><h2 id='diff'>获取合并请求版本Diff</h2>
|
||||
<p>获取合并请求版本Diff(支持获取单文件Diff)</p>
|
||||
|
||||
<blockquote>
|
||||
<p>示例:</p>
|
||||
</blockquote>
|
||||
<div class="highlight"><pre class="highlight shell tab-shell"><code>curl <span class="nt">-X</span> GET <span class="se">\</span>
|
||||
<span class="nt">-d</span> <span class="s2">"filepath=ceshi_dir_1/new_file_1"</span> <span class="se">\</span>
|
||||
http://localhost:3000/api/v1/yystopf/ceshi_commit/pulls/3/versions/33/diff.json
|
||||
</code></pre></div><div class="highlight"><pre class="highlight javascript tab-javascript"><code><span class="k">await</span> <span class="nx">octokit</span><span class="p">.</span><span class="nx">request</span><span class="p">(</span><span class="dl">'</span><span class="s1">GET /api/v1/yystopf/ceshi_commit/pulls/3/versions/33/diff.json</span><span class="dl">'</span><span class="p">)</span>
|
||||
</code></pre></div><h3 id='http-7'>HTTP 请求</h3>
|
||||
<p><code>GET /api/v1/:owner/:repo/pulls/:index/versions/:version_id/diff.json</code></p>
|
||||
<h3 id='2eb6f47757-7'>请求参数:</h3>
|
||||
<table><thead>
|
||||
<tr>
|
||||
<th>参数</th>
|
||||
<th>必选</th>
|
||||
<th>默认</th>
|
||||
<th>类型</th>
|
||||
<th>字段说明</th>
|
||||
</tr>
|
||||
</thead><tbody>
|
||||
<tr>
|
||||
<td>owner</td>
|
||||
<td>是</td>
|
||||
<td></td>
|
||||
<td>string</td>
|
||||
<td>用户登录名</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>repo</td>
|
||||
<td>是</td>
|
||||
<td></td>
|
||||
<td>string</td>
|
||||
<td>项目标识identifier</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>index</td>
|
||||
<td>是</td>
|
||||
<td></td>
|
||||
<td>int</td>
|
||||
<td>合并请求序号</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>version_id</td>
|
||||
<td>是</td>
|
||||
<td></td>
|
||||
<td>int</td>
|
||||
<td>版本ID</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>filepath</td>
|
||||
<td>否</td>
|
||||
<td></td>
|
||||
<td>string</td>
|
||||
<td>文件路径</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
<h3 id='a88770b445'>列表返回字段说明:</h3>
|
||||
<table><thead>
|
||||
<tr>
|
||||
<th>参数</th>
|
||||
<th>类型</th>
|
||||
<th>字段说明</th>
|
||||
</tr>
|
||||
</thead><tbody>
|
||||
<tr>
|
||||
<td>file_nums</td>
|
||||
<td>int</td>
|
||||
<td>文件数量</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>total_addition</td>
|
||||
<td>int</td>
|
||||
<td>新增行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>total_deletion</td>
|
||||
<td>int</td>
|
||||
<td>删除行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.name</td>
|
||||
<td>string</td>
|
||||
<td>文件名称</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.oldname</td>
|
||||
<td>string</td>
|
||||
<td>文件修改前名称</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.addition</td>
|
||||
<td>int</td>
|
||||
<td>文件新增行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.deletion</td>
|
||||
<td>int</td>
|
||||
<td>文件删除行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.type</td>
|
||||
<td>int</td>
|
||||
<td>文件类型 1: 新增 2: 更改 3: 删除 4: 重命名 5: 复制</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.is_created</td>
|
||||
<td>bool</td>
|
||||
<td>是否为新建文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.is_deleted</td>
|
||||
<td>bool</td>
|
||||
<td>是否为删除文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.is_bin</td>
|
||||
<td>bool</td>
|
||||
<td>是否为二进制文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.is_lfs_file</td>
|
||||
<td>bool</td>
|
||||
<td>是否为LFS文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.is_renamed</td>
|
||||
<td>bool</td>
|
||||
<td>是否重命名</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.is_ambiguous</td>
|
||||
<td>bool</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.is_submodule</td>
|
||||
<td>bool</td>
|
||||
<td>是否为子模块</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.sections.file_name</td>
|
||||
<td>string</td>
|
||||
<td>文件名称</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.sections.name</td>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.sections.lines.left_index</td>
|
||||
<td>int</td>
|
||||
<td>文件变动之前所在行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.sections.lines.right_index</td>
|
||||
<td>int</td>
|
||||
<td>文件变动之后所在行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.sections.lines.match</td>
|
||||
<td>int</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.sections.lines.type</td>
|
||||
<td>int</td>
|
||||
<td>文件变更类型</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.sections.lines.content</td>
|
||||
<td>string</td>
|
||||
<td>文件变更内容</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.sections.lines.section_path</td>
|
||||
<td>string</td>
|
||||
<td>文件路径</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.sections.lines.section_last_left_index</td>
|
||||
<td>int</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.sections.lines.section_last_right_index</td>
|
||||
<td>int</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.sections.lines.section_left_index</td>
|
||||
<td>int</td>
|
||||
<td>文件变更之前所在行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.sections.lines.section_right_index</td>
|
||||
<td>int</td>
|
||||
<td>文件变更之后所在行数(即:页面编辑器开始显示的行数)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.sections.lines.section_left_hunk_size</td>
|
||||
<td>int</td>
|
||||
<td>文件变更之前的行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.sections.lines.section_right_hunk_size</td>
|
||||
<td>int</td>
|
||||
<td>文件变更之后的行数(及当前页面编辑器显示的总行数)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.is_incomplete</td>
|
||||
<td>bool</td>
|
||||
<td>是否不完整</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.is_incomplete_line_too_long</td>
|
||||
<td>bool</td>
|
||||
<td>文件是否不完整是因为太长了</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>files.is_protected</td>
|
||||
<td>bool</td>
|
||||
<td>文件是否被保护</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
<blockquote>
|
||||
<p>列表返回的JSON示例:</p>
|
||||
</blockquote>
|
||||
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"file_nums"</span><span class="p">:</span><span class="w"> </span><span class="mi">29</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"total_addition"</span><span class="p">:</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"total_deletion"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"files"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
||||
</span><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"README.md"</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"oldname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"README.md"</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"addition"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"deletion"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_created"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_deleted"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_bin"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_lfs_file"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_renamed"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_ambiguous"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_submodule"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"sections"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
||||
</span><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"file_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"README.md"</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"lines"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
||||
</span><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"left_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"right_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"match"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@ -1,2 +1 @@"</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"README.md"</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_last_left_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_last_right_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_left_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_right_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_left_hunk_size"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_right_hunk_size"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
|
||||
</span><span class="p">},</span><span class="w">
|
||||
</span><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"left_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"right_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"match"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-# ceshi_commit"</span><span class="w">
|
||||
</span><span class="p">},</span><span class="w">
|
||||
</span><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"left_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"right_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"match"</span><span class="p">:</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-"</span><span class="w">
|
||||
</span><span class="p">},</span><span class="w">
|
||||
</span><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"left_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"right_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"match"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"+adsa"</span><span class="w">
|
||||
</span><span class="p">}</span><span class="w">
|
||||
</span><span class="p">]</span><span class="w">
|
||||
</span><span class="p">},</span><span class="w">
|
||||
</span><span class="p">{}</span><span class="w">
|
||||
</span><span class="p">],</span><span class="w">
|
||||
</span><span class="nl">"is_incomplete"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_incomplete_line_too_long"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_protected"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
|
||||
</span><span class="p">}</span><span class="w">
|
||||
</span><span class="p">]</span><span class="w">
|
||||
</span><span class="p">}</span><span class="w">
|
||||
</span></code></pre></div><h3 id='7e3fc7ebbc'>单个文件返回字段说明:</h3>
|
||||
<table><thead>
|
||||
<tr>
|
||||
<th>参数</th>
|
||||
<th>类型</th>
|
||||
<th>字段说明</th>
|
||||
</tr>
|
||||
</thead><tbody>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>string</td>
|
||||
<td>文件名称</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>oldname</td>
|
||||
<td>string</td>
|
||||
<td>文件修改前名称</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>addition</td>
|
||||
<td>int</td>
|
||||
<td>文件新增行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>deletion</td>
|
||||
<td>int</td>
|
||||
<td>文件删除行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>type</td>
|
||||
<td>int</td>
|
||||
<td>文件类型 1: 新增 2: 更改 3: 删除 4: 重命名 5: 复制</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>is_created</td>
|
||||
<td>bool</td>
|
||||
<td>是否为新建文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>is_deleted</td>
|
||||
<td>bool</td>
|
||||
<td>是否为删除文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>is_bin</td>
|
||||
<td>bool</td>
|
||||
<td>是否为二进制文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>is_lfs_file</td>
|
||||
<td>bool</td>
|
||||
<td>是否为LFS文件</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>is_renamed</td>
|
||||
<td>bool</td>
|
||||
<td>是否重命名</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>is_ambiguous</td>
|
||||
<td>bool</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>is_submodule</td>
|
||||
<td>bool</td>
|
||||
<td>是否为子模块</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sections.file_name</td>
|
||||
<td>string</td>
|
||||
<td>文件名称</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sections.name</td>
|
||||
<td>string</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sections.lines.left_index</td>
|
||||
<td>int</td>
|
||||
<td>文件变动之前所在行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sections.lines.right_index</td>
|
||||
<td>int</td>
|
||||
<td>文件变动之后所在行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sections.lines.match</td>
|
||||
<td>int</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sections.lines.type</td>
|
||||
<td>int</td>
|
||||
<td>文件变更类型</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sections.lines.content</td>
|
||||
<td>string</td>
|
||||
<td>文件变更内容</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sections.lines.section_path</td>
|
||||
<td>string</td>
|
||||
<td>文件路径</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sections.lines.section_last_left_index</td>
|
||||
<td>int</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sections.lines.section_last_right_index</td>
|
||||
<td>int</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sections.lines.section_left_index</td>
|
||||
<td>int</td>
|
||||
<td>文件变更之前所在行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sections.lines.section_right_index</td>
|
||||
<td>int</td>
|
||||
<td>文件变更之后所在行数(即:页面编辑器开始显示的行数)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sections.lines.section_left_hunk_size</td>
|
||||
<td>int</td>
|
||||
<td>文件变更之前的行数</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>sections.lines.section_right_hunk_size</td>
|
||||
<td>int</td>
|
||||
<td>文件变更之后的行数(及当前页面编辑器显示的总行数)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>is_incomplete</td>
|
||||
<td>bool</td>
|
||||
<td>是否不完整</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>is_incomplete_line_too_long</td>
|
||||
<td>bool</td>
|
||||
<td>文件是否不完整是因为太长了</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>is_protected</td>
|
||||
<td>bool</td>
|
||||
<td>文件是否被保护</td>
|
||||
</tr>
|
||||
</tbody></table>
|
||||
|
||||
<blockquote>
|
||||
<p>单个文件返回的JSON示例:</p>
|
||||
</blockquote>
|
||||
<div class="highlight"><pre class="highlight json tab-json"><code><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"README.md"</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"oldname"</span><span class="p">:</span><span class="w"> </span><span class="s2">"README.md"</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"addition"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"deletion"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_created"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_deleted"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_bin"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_lfs_file"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_renamed"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_ambiguous"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_submodule"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"sections"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
||||
</span><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"file_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"README.md"</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"lines"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
||||
</span><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"left_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"right_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"match"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"@@ -1,2 +1 @@"</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"README.md"</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_last_left_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_last_right_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_left_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_right_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_left_hunk_size"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_right_hunk_size"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
|
||||
</span><span class="p">},</span><span class="w">
|
||||
</span><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"left_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"right_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"match"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-# ceshi_commit"</span><span class="w">
|
||||
</span><span class="p">},</span><span class="w">
|
||||
</span><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"left_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"right_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"match"</span><span class="p">:</span><span class="w"> </span><span class="mi">-1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"-"</span><span class="w">
|
||||
</span><span class="p">},</span><span class="w">
|
||||
</span><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"left_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"right_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"match"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">"+adsa"</span><span class="w">
|
||||
</span><span class="p">}</span><span class="w">
|
||||
</span><span class="p">]</span><span class="w">
|
||||
</span><span class="p">},</span><span class="w">
|
||||
</span><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"file_name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"README.md"</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">""</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"lines"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
|
||||
</span><span class="p">{</span><span class="w">
|
||||
</span><span class="nl">"left_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"right_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"match"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"content"</span><span class="p">:</span><span class="w"> </span><span class="s2">" "</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_path"</span><span class="p">:</span><span class="w"> </span><span class="s2">"README.md"</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_last_left_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_last_right_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_left_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_right_index"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_left_hunk_size"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"section_right_hunk_size"</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="w">
|
||||
</span><span class="p">}</span><span class="w">
|
||||
</span><span class="p">]</span><span class="w">
|
||||
</span><span class="p">}</span><span class="w">
|
||||
</span><span class="p">],</span><span class="w">
|
||||
</span><span class="nl">"is_incomplete"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_incomplete_line_too_long"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="p">,</span><span class="w">
|
||||
</span><span class="nl">"is_protected"</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
|
||||
</span><span class="p">}</span><span class="w">
|
||||
</span></code></pre></div><h1 id='issues'>Issues</h1><h1 id='organizations'>Organizations</h1><h1 id='teams'>Teams</h1><h1 id='errors'>Errors</h1>
|
||||
<aside class="notice">
|
||||
This error section is stored in a separate file in <code>includes/_errors.md</code>. Slate allows you to optionally separate out your docs into many files...just save them to the <code>includes</code> folder and add them to the top of your <code>index.md</code>'s frontmatter. Files are included in the order listed.
|
||||
|
|
Loading…
Reference in New Issue