diff --git a/app/controllers/api/v1/projects/pulls/journals_controller.rb b/app/controllers/api/v1/projects/pulls/journals_controller.rb index 76fa30c9d..d32474973 100644 --- a/app/controllers/api/v1/projects/pulls/journals_controller.rb +++ b/app/controllers/api/v1/projects/pulls/journals_controller.rb @@ -33,7 +33,8 @@ class Api::V1::Projects::Pulls::JournalsController < Api::V1::Projects::Pulls::B end def find_journal - @journal = Journal.find_by_id(params[:id]) + @journal = @pull_request.journals.find_by_id(params[:id]) + return render_not_found unless @journal.present? end end \ No newline at end of file diff --git a/app/docs/slate/source/includes/_pulls.md b/app/docs/slate/source/includes/_pulls.md index ccc6e0911..adc6e3cc4 100644 --- a/app/docs/slate/source/includes/_pulls.md +++ b/app/docs/slate/source/includes/_pulls.md @@ -501,10 +501,17 @@ await octokit.request('GET /api/v1/yystopf/ceshi_commit/pulls.json') ### 请求参数: 参数 | 必选 | 默认 | 类型 | 字段说明 --------- | ------- | ------- | -------- | ---------- -|owner |是| |string |用户登录名 | -|repo |是| |string |项目标识identifier | - - +|owner |是| |string |用户登录名 | +|repo |是| |string |项目标识identifier | +|keyword |否| |string |搜索关键词| +|status |否| | int | 合并请求类型 0: 开启的, 1: 合并的 2: 关闭的,不传则为全部的 | +|priority_id |否| | int | 优先级ID | +|issue_tag_id |否| |int|标记ID| +|version_id |否| |int|里程碑ID| +|reviewer_id |否| |int| 审查人员ID| +|assign_user_id |否| |int| 指派人员ID| +|sort_by |否| created_at |string| 排序字段,created_at: 创建时间, updated_at: 更新时间| +|sort_direction |否| desc |string| 排序类型 desc: 倒序 asc: 正序| ### 返回字段说明: 参数 | 类型 | 字段说明 --------- | ----------- | ----------- @@ -999,6 +1006,108 @@ await octokit.request('GET /api/v1/yystopf/ceshi_commit/pulls/3/versions/33/diff } ``` +## 获取合并请求审查列表 +获取合并请求版本审查列表 + +> 示例: + +```shell +curl -X GET http://localhost:3000/api/v1/yystopf/ceshi_commit/pulls/3/reviews.json +``` + +```javascript +await octokit.request('GET /api/v1/yystopf/ceshi_commit/pulls/3/reviews.json') +``` + +### HTTP 请求 +`GET /api/v1/:owner/:repo/pulls/:index/reviews.json` + +### 请求参数: +参数 | 必选 | 默认 | 类型 | 字段说明 +--------- | ------- | ------- | -------- | ---------- +|owner |是| |string |用户登录名 | +|repo |是| |string |项目标识identifier | +|index |是| | int |合并请求序号| + +### 返回字段说明: +参数 | 类型 | 字段说明 +--------- | ----------- | ----------- +|total_count |int |审查总数| +|reviews.reviewer |object |审查者 | +|reviews.pull_request.id |integer|合并请求ID| +|reviews.pull_request.title |string|合并请求标题| +|reviews.pull_request.body |string|合并请求内容| +|reviews.pull_request.head |string|合并请求源分支| +|reviews.pull_request.base |string|合并请求目标分支| +|reviews.pull_request.is_original |string|合并请求是否从fork仓库所来| +|reviews.pull_request.fork_project.id |int|fork仓库的id| +|reviews.pull_request.fork_project.identifier|string|fork仓库的标识| +|reviews.pull_request.fork_project.login |string|fork仓库拥有者的标识| +|reviews.pull_request.index |string|合并请求的序号| +|reviews.pull_request.status |string|合并请求的状态,open: 打开的, merged: 合并的, closed: 关闭的| +|reviews.pull_request.issue.id |integer|合并请求下疑修的ID| +|reviews.pull_request.issue.author |object|合并请求以及疑修的创建着| +|reviews.pull_request.issue.priority |string|疑修的优先级| +|reviews.pull_request.issue.version |string|疑修的里程碑| +|reviews.pull_request.issue.journals_count|integer|普通评论数量| +|reviews.pull_request.issue.issue_tags |array|所属标记| +|reviews.pull_request.journals_count |integer|审查评论数量| +|reviews.id |integer|审查ID| +|reviews.commit_id |string|审查的commit ID| +|reviews.content |string|审查的内容| +|reviews.status |string|审查类型,common: 普通, approved: 通过,rejected: 拒绝通过| +|reviews.created_at |string|审查创建时间| + +> 返回的JSON示例: + +```json +{ + "total_count": 1, + "reviews": [ + { + "reviewer": { + "id": 2, + "type": "User", + "name": "heh", + "login": "yystopf", + "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png" + }, + "pull_request": { + "id": 163, + "title": "新合并请求1", + "body": null, + "head": "master_1", + "base": "master", + "is_original": false, + "index": 1, + "status": "closed", + "issue": { + "id": 260, + "author": { + "id": 2, + "type": "User", + "name": "heh", + "login": "yystopf", + "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png" + }, + "priority": null, + "version": null, + "journals_count": 0, + "issue_tags": null + }, + "reviewers": [], + "journals_count": 8 + }, + "id": 5, + "commit_id": null, + "content": "新建一个审查", + "status": "common", + "created_at": "2022-07-25 17:08" + } + ] +} +``` + ## 为合并请求创建一个审查 合并请求创建一个审查 @@ -1108,3 +1217,484 @@ await octokit.request('POST /api/v1/yystopf/ceshi/pulls/1/reviews.json') + + +## 获取合并请求评论列表 +获取合并请求版本评论列表 + +> 示例: + +```shell +curl -X GET http://localhost:3000/api/v1/yystopf/ceshi_commit/pulls/3/journals.json +``` + +```javascript +await octokit.request('GET /api/v1/yystopf/ceshi_commit/pulls/3/journals.json') +``` + +### HTTP 请求 +`GET /api/v1/:owner/:repo/pulls/:index/journals.json` + +### 请求参数: +参数 | 必选 | 默认 | 类型 | 字段说明 +--------- | ------- | ------- | -------- | ---------- +|owner |是| |string |用户登录名 | +|repo |是| |string |项目标识identifier | +|index |是| | int |合并请求序号| +|keyword |否| |string |搜索关键词| +|review_id |否| |integer|审查ID| +|need_respond |否| |bool |是否需要回应| +|state |否| |string |状态, opened: 开启的, resolved: 已解决的, disabled: 无效的| +|parent_id |否| |integer|父评论ID| +|sort_by |否|created_on|string |排序字段 created_on: 创建时间, updated_on: 更新时间| +|sort_direction |否|asc |string |排序类型 desc: 倒序, asc: 正序| + +### 返回字段说明: +参数 | 类型 | 字段说明 +--------- | ----------- | ----------- +|total_count |int |评论总数| +|journals.id |int |评论ID| +|journals.notes |string |评论内容| +|journals.commit_id |string |CommitID| +|journals.line_code |string |评论行数| +|journals.path |string |评论文件路径| +|journals.diff |object |评论文件diff内容| +|journals.need_respond |bool |评论是否要回应| +|journals.state |string |评论状态,opened: 开启的, resolved: 已解决的, disabled: 无效的 | +|journals.parent_id |int |父评论ID| +|journals.user |object |评论创建者| +|journals.review |object |评论所属评审| +|journals.resolveer |object |评论解决者| +|journals.resolve_at |int |评论解决时间| +|journals.created_at |int |评论创建时间| +|journals.updated_at |int |评论更新时间| + +> 返回的JSON示例: + +```json +{ + "total_count": 1, + "journals": [ + { + "id": 200, + "note": "测试评论修改", + "commit_id": null, + "line_code": "70eede447ccc01c1902260fd377af5d90be28e0d_0_29", + "path": "Gemfile.lock", + "diff": {}, + "need_respond": true, + "state": "resolved", + "parent_id": nil, + "user": { + "id": 2, + "type": "User", + "name": "heh", + "login": "yystopf", + "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png" + }, + "review": { + "reviewer": { + "id": 2, + "type": "User", + "name": "heh", + "login": "yystopf", + "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png" + }, + "pull_request": { + "id": 163, + "title": "新合并请求1", + "body": null, + "head": "master_1", + "base": "master", + "is_original": false, + "index": 1, + "status": "closed", + "issue": { + "id": 260, + "author": { + "id": 2, + "type": "User", + "name": "heh", + "login": "yystopf", + "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png" + }, + "priority": null, + "version": null, + "journals_count": 0, + "issue_tags": null + }, + "reviewers": [], + "journals_count": 9 + }, + "id": 10, + "commit_id": "1", + "content": "新建一个审查", + "status": "common", + "created_at": "2022-07-26 11:45" + }, + "resolveer": { + "id": 2, + "type": "User", + "name": "heh", + "login": "yystopf", + "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png" + }, + "resolve_at": "2022-07-27 14:50", + "created_at": "2022-07-27 14:31", + "updated_at": "2022-07-27 14:50" + } + ] +} +``` + +## 创建一个合并请求评论 +为仓库创建一个合并请求的评论 + +> 示例: + +```shell +curl -X POST \ +http://localhost:3000/api/v1/yystopf/ceshi/pulls/1/journals.json +``` + +```javascript +await octokit.request('POST /api/v1/yystopf/ceshi/pulls/1/journals.json') +``` + +### HTTP 请求 +`POST /api/v1/:owner/:repo/pulls/:index/journals.json` + +### 请求参数: +参数 | 必选 | 默认 | 类型 | 字段说明 +--------- | ------- | ------- | -------- | ---------- +|owner |是| | string |用户登录名 | +|repo |是| | string |项目标识identifier | +|index |是| | integer|合并请求序号| +|type |是| | string |评论类型 comment: 普通, problem: 需要回应的评论| +|note |否| | string |评论内容| +|review_id |是| | string |审查ID| +|line_code |否| | string |行号| +|commit_id |否| | bool |commitID| +|path |否| | integer|文件路径| +|parent_id |否| | integer|父评论ID| +|diff |否| | array |文件diff内容| + +> 请求的JSON示例: + +```json +{ + "type": "problem", + "note": "测试评论", + "review_id": "10", + "line_code": "70eede447ccc01c1902260fd377af5d90be28e0d_0_29", + "commit_id": "70eede447ccc01c1902260fd377af5d90be28e0d", + "path": "Gemfile.lock", + "diff": { + "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 + } +} +``` + +> 返回的JSON示例: + +```json +{ + "id": 200, + "note": "测试评论修改", + "commit_id": null, + "line_code": "70eede447ccc01c1902260fd377af5d90be28e0d_0_29", + "path": "Gemfile.lock", + "diff": {}, + "need_respond": true, + "state": "resolved", + "user": { + "id": 2, + "type": "User", + "name": "heh", + "login": "yystopf", + "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png" + }, + "review": { + "reviewer": { + "id": 2, + "type": "User", + "name": "heh", + "login": "yystopf", + "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png" + }, + "pull_request": { + "id": 163, + "title": "新合并请求1", + "body": null, + "head": "master_1", + "base": "master", + "is_original": false, + "index": 1, + "status": "closed", + "issue": { + "id": 260, + "author": { + "id": 2, + "type": "User", + "name": "heh", + "login": "yystopf", + "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png" + }, + "priority": null, + "version": null, + "journals_count": 0, + "issue_tags": null + }, + "reviewers": [], + "journals_count": 9 + }, + "id": 10, + "commit_id": "1", + "content": "新建一个审查", + "status": "common", + "created_at": "2022-07-26 11:45" + }, + "resolveer": { + "id": 2, + "type": "User", + "name": "heh", + "login": "yystopf", + "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png" + }, + "resolve_at": "2022-07-27 14:50", + "created_at": "2022-07-27 14:31", + "updated_at": "2022-07-27 14:50" +} +``` + + +## 修改一个合并请求评论 +修改一个仓库合并请求的评论 + +> 示例: + +```shell +curl -X PATCH \ +http://localhost:3000/api/v1/yystopf/ceshi/pulls/1/journals/200.json +``` + +```javascript +await octokit.request('PATCH /api/v1/yystopf/ceshi/pulls/1/journals/200.json') +``` + +### HTTP 请求 +`PATCH /api/v1/:owner/:repo/pulls/:index/journals/:id.json` + +### 请求参数: +参数 | 必选 | 默认 | 类型 | 字段说明 +--------- | ------- | ------- | -------- | ---------- +|owner |是| | string |用户登录名 | +|repo |是| | string |项目标识identifier | +|index |是| | integer|合并请求序号| +|id |是| | integer|评论ID| +|note |是| | string |评论内容| +|commit_id |是| | string |commitID| +|state |是| | string |评论状态, opened: 开启的, resolved: 已解决的, disabled: 无效的| + +> 请求的JSON示例: + +```json +{ + "note": "测试评论", + "commit_id": "70eede447ccc01c1902260fd377af5d90be28e0d", + "state": "resolved" +} +``` + +> 返回的JSON示例: + +```json +{ + "id": 200, + "note": "测试评论修改", + "commit_id": null, + "line_code": "70eede447ccc01c1902260fd377af5d90be28e0d_0_29", + "path": "Gemfile.lock", + "diff": {}, + "need_respond": true, + "state": "resolved", + "user": { + "id": 2, + "type": "User", + "name": "heh", + "login": "yystopf", + "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png" + }, + "review": { + "reviewer": { + "id": 2, + "type": "User", + "name": "heh", + "login": "yystopf", + "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png" + }, + "pull_request": { + "id": 163, + "title": "新合并请求1", + "body": null, + "head": "master_1", + "base": "master", + "is_original": false, + "index": 1, + "status": "closed", + "issue": { + "id": 260, + "author": { + "id": 2, + "type": "User", + "name": "heh", + "login": "yystopf", + "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png" + }, + "priority": null, + "version": null, + "journals_count": 0, + "issue_tags": null + }, + "reviewers": [], + "journals_count": 9 + }, + "id": 10, + "commit_id": "1", + "content": "新建一个审查", + "status": "common", + "created_at": "2022-07-26 11:45" + }, + "resolveer": { + "id": 2, + "type": "User", + "name": "heh", + "login": "yystopf", + "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png" + }, + "resolve_at": "2022-07-27 14:50", + "created_at": "2022-07-27 14:31", + "updated_at": "2022-07-27 14:50" +} +``` + + +## 删除合并请求的一个评论 +删除合并请求的一个评论 + +> 示例: + +```shell +curl -X DELETE \ +http://localhost:3000/api/v1/yystopf/ceshi/pulls/1/journals/200.json +``` + +```javascript +await octokit.request('DELETE /api/v1/yystopf/ceshi/pulls/1/journals/200.json') +``` + +### HTTP 请求 +`DELETE /api/v1/:owner/:repo/pulls/:index/journals/:id.json` + +### 请求参数: +参数 | 必选 | 默认 | 类型 | 字段说明 +--------- | ------- | ------- | -------- | ---------- +|owner |是| | string |用户登录名 | +|repo |是| | string |项目标识identifier | +|index |是| | integer|合并请求序号| +|id |是| | integer|评论ID | + +### 返回字段说明: + +> 返回的JSON示例: + +```json +{ + "status": 0, + "message": "success" +} +``` + diff --git a/app/models/journal.rb b/app/models/journal.rb index 48721bfd2..e0dbf36d3 100644 --- a/app/models/journal.rb +++ b/app/models/journal.rb @@ -34,6 +34,7 @@ class Journal < ApplicationRecord serialize :diff, JSON + alias_attribute :note, :notes belongs_to :user belongs_to :issue, foreign_key: :journalized_id, :touch => true, optional: true belongs_to :journalized, polymorphic: true diff --git a/app/services/api/v1/projects/pulls/journals/list_service.rb b/app/services/api/v1/projects/pulls/journals/list_service.rb index dd69ead08..30b650f07 100644 --- a/app/services/api/v1/projects/pulls/journals/list_service.rb +++ b/app/services/api/v1/projects/pulls/journals/list_service.rb @@ -1,7 +1,7 @@ class Api::V1::Projects::Pulls::Journals::ListService < ApplicationService include ActiveModel::Model - attr_reader :project, :pull_request, :keyword, :review_id, :need_respond, :state, :sort_by, :sort_direction, :user + attr_reader :project, :pull_request, :keyword, :review_id, :need_respond, :state, :parent_id, :sort_by, :sort_direction, :user attr_accessor :queried_journals validates :sort_by, inclusion: {in: Journal.column_names, message: '请输入正确的SortBy'} @@ -16,6 +16,7 @@ class Api::V1::Projects::Pulls::Journals::ListService < ApplicationService @review_id = params[:review_id] @need_respond = ActiveModel::Type::Boolean.new.cast(params[:need_respond]) @state = params[:state] + @parent_id = params[:parent_id] @sort_by = params[:sort_by] || 'created_on' @sort_direction = params[:sort_direction] || 'asc' @user = user @@ -30,14 +31,19 @@ class Api::V1::Projects::Pulls::Journals::ListService < ApplicationService private def journal_query_data - journals = @pull_request.journals.parent_journals + journals = @pull_request.journals + if parent_id.present? + journals = journals.where(parent_id: parent_id) + else + journals = journals.parent_journals + end journals = journals.where(review_id: review_id) if review_id.present? journals = journals.where(need_respond: need_respond) if need_respond.present? journals = journals.where(state: state) if state.present? q = journals.ransack(notes_cont: keyword) - scope = q.result.includes(:review) + scope = q.result.includes(:user, :resolveer, review: [:reviewer, pull_request: :issue]) scope = scope.order("journals.#{sort_by} #{sort_direction}") @queried_journals = scope diff --git a/app/views/api/v1/projects/pulls/journals/_simple_detail.json.jbuilder b/app/views/api/v1/projects/pulls/journals/_simple_detail.json.jbuilder index 547db46ed..d418ffdcd 100644 --- a/app/views/api/v1/projects/pulls/journals/_simple_detail.json.jbuilder +++ b/app/views/api/v1/projects/pulls/journals/_simple_detail.json.jbuilder @@ -1,4 +1,4 @@ -json.(journal, :id, :notes, :commit_id, :line_code, :path, :diff, :need_respond, :state) +json.(journal, :id, :note, :commit_id, :line_code, :path, :diff, :need_respond, :state, :parent_id) json.user do json.partial! 'api/v1/users/simple_user', user: journal.user end diff --git a/app/views/api/v1/projects/pulls/reviews/index.json.jbuilder b/app/views/api/v1/projects/pulls/reviews/index.json.jbuilder new file mode 100644 index 000000000..04792d5c6 --- /dev/null +++ b/app/views/api/v1/projects/pulls/reviews/index.json.jbuilder @@ -0,0 +1,4 @@ +json.total_count @reviews.total_count +json.reviews @reviews.each do |review| + json.partial! 'api/v1/projects/pulls/reviews/simple_detail', review: review +end \ No newline at end of file diff --git a/public/docs/api.html b/public/docs/api.html index 0a6847430..50b1c12a4 100644 --- a/public/docs/api.html +++ b/public/docs/api.html @@ -618,9 +618,24 @@
  • 获取合并请求版本Diff
  • +
  • + 获取合并请求审查列表 +
  • 为合并请求创建一个审查
  • +
  • + 获取合并请求评论列表 +
  • +
  • + 创建一个合并请求评论 +
  • +
  • + 修改一个合并请求评论 +
  • +
  • + 删除合并请求的一个评论 +
  • @@ -13112,6 +13127,69 @@ http://localhost:3000/api/Jason/test-txt/compare/master...Jason/test-txt:develop string 项目标识identifier + +keyword +否 + +string +搜索关键词 + + +status +否 + +int +合并请求类型 0: 开启的, 1: 合并的 2: 关闭的,不传则为全部的 + + +priority_id +否 + +int +优先级ID + + +issue_tag_id +否 + +int +标记ID + + +version_id +否 + +int +里程碑ID + + +reviewer_id +否 + +int +审查人员ID + + +assign_user_id +否 + +int +指派人员ID + + +sort_by +否 +created_at +string +排序字段,created_at: 创建时间, updated_at: 更新时间 + + +sort_direction +否 +desc +string +排序类型 desc: 倒序 asc: 正序 +

    返回字段说明:

    @@ -14123,6 +14201,231 @@ http://localhost:3000/api/v1/yystopf/ceshi_commit/pulls/3/versions/33/diff.json "is_incomplete_line_too_long": false, "is_protected": false } +

    获取合并请求审查列表

    +

    获取合并请求版本审查列表

    + +
    +

    示例:

    +
    +
    curl -X GET http://localhost:3000/api/v1/yystopf/ceshi_commit/pulls/3/reviews.json
    +
    await octokit.request('GET /api/v1/yystopf/ceshi_commit/pulls/3/reviews.json')
    +

    HTTP 请求

    +

    GET /api/v1/:owner/:repo/pulls/:index/reviews.json

    +

    请求参数:

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    参数必选默认类型字段说明
    ownerstring用户登录名
    repostring项目标识identifier
    indexint合并请求序号
    +

    返回字段说明:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    参数类型字段说明
    total_countint审查总数
    reviews.reviewerobject审查者
    reviews.pull_request.idinteger合并请求ID
    reviews.pull_request.titlestring合并请求标题
    reviews.pull_request.bodystring合并请求内容
    reviews.pull_request.headstring合并请求源分支
    reviews.pull_request.basestring合并请求目标分支
    reviews.pull_request.is_originalstring合并请求是否从fork仓库所来
    reviews.pull_request.fork_project.idintfork仓库的id
    reviews.pull_request.fork_project.identifierstringfork仓库的标识
    reviews.pull_request.fork_project.loginstringfork仓库拥有者的标识
    reviews.pull_request.indexstring合并请求的序号
    reviews.pull_request.statusstring合并请求的状态,open: 打开的, merged: 合并的, closed: 关闭的
    reviews.pull_request.issue.idinteger合并请求下疑修的ID
    reviews.pull_request.issue.authorobject合并请求以及疑修的创建着
    reviews.pull_request.issue.prioritystring疑修的优先级
    reviews.pull_request.issue.versionstring疑修的里程碑
    reviews.pull_request.issue.journals_countinteger普通评论数量
    reviews.pull_request.issue.issue_tagsarray所属标记
    reviews.pull_request.journals_countinteger审查评论数量
    reviews.idinteger审查ID
    reviews.commit_idstring审查的commit ID
    reviews.contentstring审查的内容
    reviews.statusstring审查类型,common: 普通, approved: 通过,rejected: 拒绝通过
    reviews.created_atstring审查创建时间
    + +
    +

    返回的JSON示例:

    +
    +
    {
    +    "total_count": 1,
    +    "reviews": [
    +        {
    +            "reviewer": {
    +                "id": 2,
    +                "type": "User",
    +                "name": "heh",
    +                "login": "yystopf",
    +                "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
    +            },
    +            "pull_request": {
    +                "id": 163,
    +                "title": "新合并请求1",
    +                "body": null,
    +                "head": "master_1",
    +                "base": "master",
    +                "is_original": false,
    +                "index": 1,
    +                "status": "closed",
    +                "issue": {
    +                    "id": 260,
    +                    "author": {
    +                        "id": 2,
    +                        "type": "User",
    +                        "name": "heh",
    +                        "login": "yystopf",
    +                        "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
    +                    },
    +                    "priority": null,
    +                    "version": null,
    +                    "journals_count": 0,
    +                    "issue_tags": null
    +                },
    +                "reviewers": [],
    +                "journals_count": 8
    +            },
    +            "id": 5,
    +            "commit_id": null,
    +            "content": "新建一个审查",
    +            "status": "common",
    +            "created_at": "2022-07-25 17:08"
    +        }
    +    ]
    +}
     

    为合并请求创建一个审查

    合并请求创建一个审查

    @@ -14132,9 +14435,9 @@ http://localhost:3000/api/v1/yystopf/ceshi_commit/pulls/3/versions/33/diff.json
    curl -X POST \
     http://localhost:3000/api/v1/yystopf/ceshi/pulls/1/reviews.json
     
    await octokit.request('POST /api/v1/yystopf/ceshi/pulls/1/reviews.json')
    -

    HTTP 请求

    +

    HTTP 请求

    POST /api/v1/:owner/:repo/pulls/:index/reviews.json

    -

    请求参数:

    +

    请求参数:

    @@ -14196,7 +14499,7 @@ http://localhost:3000/api/v1/yystopf/ceshi/pulls/1/reviews.json "commit_id": "e506844b2467ce25a35dd46dad8236a1595a02da", "status": "common" } -

    返回字段说明:

    +

    返回字段说明:

    参数
    @@ -14370,6 +14673,746 @@ http://localhost:3000/api/v1/yystopf/ceshi/pulls/1/reviews.json +

    获取合并请求评论列表

    +

    获取合并请求版本评论列表

    + +
    +

    示例:

    +
    +
    curl -X GET http://localhost:3000/api/v1/yystopf/ceshi_commit/pulls/3/journals.json
    +
    await octokit.request('GET /api/v1/yystopf/ceshi_commit/pulls/3/journals.json')
    +

    HTTP 请求

    +

    GET /api/v1/:owner/:repo/pulls/:index/journals.json

    +

    请求参数:

    +
    参数
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    参数必选默认类型字段说明
    ownerstring用户登录名
    repostring项目标识identifier
    indexint合并请求序号
    keywordstring搜索关键词
    review_idinteger审查ID
    need_respondbool是否需要回应
    statestring状态, opened: 开启的, resolved: 已解决的, disabled: 无效的
    parent_idinteger父评论ID
    sort_bycreated_onstring排序字段 created_on: 创建时间, updated_on: 更新时间
    sort_directionascstring排序类型 desc: 倒序, asc: 正序
    +

    返回字段说明:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    参数类型字段说明
    total_countint评论总数
    journals.idint评论ID
    journals.notesstring评论内容
    journals.commit_idstringCommitID
    journals.line_codestring评论行数
    journals.pathstring评论文件路径
    journals.diffobject评论文件diff内容
    journals.need_respondbool评论是否要回应
    journals.statestring评论状态,opened: 开启的, resolved: 已解决的, disabled: 无效的
    journals.parent_idint父评论ID
    journals.userobject评论创建者
    journals.reviewobject评论所属评审
    journals.resolveerobject评论解决者
    journals.resolve_atint评论解决时间
    journals.created_atint评论创建时间
    journals.updated_atint评论更新时间
    + +
    +

    返回的JSON示例:

    +
    +
    {
    +    "total_count": 1,
    +    "journals": [
    +        {
    +            "id": 200,
    +            "note": "测试评论修改",
    +            "commit_id": null,
    +            "line_code": "70eede447ccc01c1902260fd377af5d90be28e0d_0_29",
    +            "path": "Gemfile.lock",
    +            "diff": {},
    +            "need_respond": true,
    +            "state": "resolved",
    +            "parent_id": nil,
    +            "user": {
    +                "id": 2,
    +                "type": "User",
    +                "name": "heh",
    +                "login": "yystopf",
    +                "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
    +            },
    +            "review": {
    +                "reviewer": {
    +                    "id": 2,
    +                    "type": "User",
    +                    "name": "heh",
    +                    "login": "yystopf",
    +                    "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
    +                },
    +                "pull_request": {
    +                    "id": 163,
    +                    "title": "新合并请求1",
    +                    "body": null,
    +                    "head": "master_1",
    +                    "base": "master",
    +                    "is_original": false,
    +                    "index": 1,
    +                    "status": "closed",
    +                    "issue": {
    +                        "id": 260,
    +                        "author": {
    +                            "id": 2,
    +                            "type": "User",
    +                            "name": "heh",
    +                            "login": "yystopf",
    +                            "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
    +                        },
    +                        "priority": null,
    +                        "version": null,
    +                        "journals_count": 0,
    +                        "issue_tags": null
    +                    },
    +                    "reviewers": [],
    +                    "journals_count": 9
    +                },
    +                "id": 10,
    +                "commit_id": "1",
    +                "content": "新建一个审查",
    +                "status": "common",
    +                "created_at": "2022-07-26 11:45"
    +            },
    +            "resolveer": {
    +                "id": 2,
    +                "type": "User",
    +                "name": "heh",
    +                "login": "yystopf",
    +                "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
    +            },
    +            "resolve_at": "2022-07-27 14:50",
    +            "created_at": "2022-07-27 14:31",
    +            "updated_at": "2022-07-27 14:50"
    +        }
    +    ]
    +}
    +

    创建一个合并请求评论

    +

    为仓库创建一个合并请求的评论

    + +
    +

    示例:

    +
    +
    curl -X POST \
    +http://localhost:3000/api/v1/yystopf/ceshi/pulls/1/journals.json
    +
    await octokit.request('POST /api/v1/yystopf/ceshi/pulls/1/journals.json')
    +

    HTTP 请求

    +

    POST /api/v1/:owner/:repo/pulls/:index/journals.json

    +

    请求参数:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    参数必选默认类型字段说明
    ownerstring用户登录名
    repostring项目标识identifier
    indexinteger合并请求序号
    typestring评论类型 comment: 普通, problem: 需要回应的评论
    notestring评论内容
    review_idstring审查ID
    line_codestring行号
    commit_idboolcommitID
    pathinteger文件路径
    parent_idinteger父评论ID
    diffarray文件diff内容
    + +
    +

    请求的JSON示例:

    +
    +
    {
    +    "type": "problem",
    +    "note": "测试评论",
    +    "review_id": "10",
    +    "line_code": "70eede447ccc01c1902260fd377af5d90be28e0d_0_29",
    +    "commit_id": "70eede447ccc01c1902260fd377af5d90be28e0d",
    +    "path": "Gemfile.lock",
    +    "diff": {
    +        "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
    +    }
    +}
    +
    +
    +

    返回的JSON示例:

    +
    +
    {
    +    "id": 200,
    +    "note": "测试评论修改",
    +    "commit_id": null,
    +    "line_code": "70eede447ccc01c1902260fd377af5d90be28e0d_0_29",
    +    "path": "Gemfile.lock",
    +    "diff": {},
    +    "need_respond": true,
    +    "state": "resolved",
    +    "user": {
    +        "id": 2,
    +        "type": "User",
    +        "name": "heh",
    +        "login": "yystopf",
    +        "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
    +    },
    +    "review": {
    +        "reviewer": {
    +            "id": 2,
    +            "type": "User",
    +            "name": "heh",
    +            "login": "yystopf",
    +            "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
    +        },
    +        "pull_request": {
    +            "id": 163,
    +            "title": "新合并请求1",
    +            "body": null,
    +            "head": "master_1",
    +            "base": "master",
    +            "is_original": false,
    +            "index": 1,
    +            "status": "closed",
    +            "issue": {
    +                "id": 260,
    +                "author": {
    +                    "id": 2,
    +                    "type": "User",
    +                    "name": "heh",
    +                    "login": "yystopf",
    +                    "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
    +                },
    +                "priority": null,
    +                "version": null,
    +                "journals_count": 0,
    +                "issue_tags": null
    +            },
    +            "reviewers": [],
    +            "journals_count": 9
    +        },
    +        "id": 10,
    +        "commit_id": "1",
    +        "content": "新建一个审查",
    +        "status": "common",
    +        "created_at": "2022-07-26 11:45"
    +    },
    +    "resolveer": {
    +        "id": 2,
    +        "type": "User",
    +        "name": "heh",
    +        "login": "yystopf",
    +        "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
    +    },
    +    "resolve_at": "2022-07-27 14:50",
    +    "created_at": "2022-07-27 14:31",
    +    "updated_at": "2022-07-27 14:50"
    +}
    +
    + +

    修改一个合并请求评论

    +

    修改一个仓库合并请求的评论

    + +
    +

    示例:

    +
    +
    curl -X PATCH \
    +http://localhost:3000/api/v1/yystopf/ceshi/pulls/1/journals/200.json
    +
    await octokit.request('PATCH /api/v1/yystopf/ceshi/pulls/1/journals/200.json')
    +

    HTTP 请求

    +

    PATCH /api/v1/:owner/:repo/pulls/:index/journals/:id.json

    +

    请求参数:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    参数必选默认类型字段说明
    ownerstring用户登录名
    repostring项目标识identifier
    indexinteger合并请求序号
    idinteger评论ID
    notestring评论内容
    commit_idstringcommitID
    statestring评论状态, opened: 开启的, resolved: 已解决的, disabled: 无效的
    + +
    +

    请求的JSON示例:

    +
    +
    {
    +    "note": "测试评论",
    +    "commit_id": "70eede447ccc01c1902260fd377af5d90be28e0d",
    +    "state": "resolved"
    +}
    +
    +
    +

    返回的JSON示例:

    +
    +
    {
    +    "id": 200,
    +    "note": "测试评论修改",
    +    "commit_id": null,
    +    "line_code": "70eede447ccc01c1902260fd377af5d90be28e0d_0_29",
    +    "path": "Gemfile.lock",
    +    "diff": {},
    +    "need_respond": true,
    +    "state": "resolved",
    +    "user": {
    +        "id": 2,
    +        "type": "User",
    +        "name": "heh",
    +        "login": "yystopf",
    +        "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
    +    },
    +    "review": {
    +        "reviewer": {
    +            "id": 2,
    +            "type": "User",
    +            "name": "heh",
    +            "login": "yystopf",
    +            "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
    +        },
    +        "pull_request": {
    +            "id": 163,
    +            "title": "新合并请求1",
    +            "body": null,
    +            "head": "master_1",
    +            "base": "master",
    +            "is_original": false,
    +            "index": 1,
    +            "status": "closed",
    +            "issue": {
    +                "id": 260,
    +                "author": {
    +                    "id": 2,
    +                    "type": "User",
    +                    "name": "heh",
    +                    "login": "yystopf",
    +                    "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
    +                },
    +                "priority": null,
    +                "version": null,
    +                "journals_count": 0,
    +                "issue_tags": null
    +            },
    +            "reviewers": [],
    +            "journals_count": 9
    +        },
    +        "id": 10,
    +        "commit_id": "1",
    +        "content": "新建一个审查",
    +        "status": "common",
    +        "created_at": "2022-07-26 11:45"
    +    },
    +    "resolveer": {
    +        "id": 2,
    +        "type": "User",
    +        "name": "heh",
    +        "login": "yystopf",
    +        "image_url": "system/lets/letter_avatars/2/H/188_239_142/120.png"
    +    },
    +    "resolve_at": "2022-07-27 14:50",
    +    "created_at": "2022-07-27 14:31",
    +    "updated_at": "2022-07-27 14:50"
    +}
    +
    + +

    删除合并请求的一个评论

    +

    删除合并请求的一个评论

    + +
    +

    示例:

    +
    +
    curl -X DELETE \
    +http://localhost:3000/api/v1/yystopf/ceshi/pulls/1/journals/200.json
    +
    await octokit.request('DELETE /api/v1/yystopf/ceshi/pulls/1/journals/200.json')
    +

    HTTP 请求

    +

    DELETE /api/v1/:owner/:repo/pulls/:index/journals/:id.json

    +

    请求参数:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    参数必选默认类型字段说明
    ownerstring用户登录名
    repostring项目标识identifier
    indexinteger合并请求序号
    idinteger评论ID
    +

    返回字段说明:

    +
    +

    返回的JSON示例:

    +
    +
    {
    +    "status": 0,
    +    "message": "success"
    +}
    +
    +

    Issues

    Organizations

    Teams

    Errors