mirror of
https://gitlink.org.cn/Gitlink/forgeplus.git
synced 2026-05-20 11:45:57 +08:00
ADD some api
* api/v1/repos/{owner}/{repo}/pulls/{number}/commits
* api/v1/repos/{owner}/{repo}/pulls/{number}/files
* api/v1/repos/{owner}/{repo}/compare/{base}...{head}
This commit is contained in:
40
app/services/gitea/pull_request/commits_service.rb
Normal file
40
app/services/gitea/pull_request/commits_service.rb
Normal file
@@ -0,0 +1,40 @@
|
||||
# List commits on a pull request
|
||||
class Gitea::PullRequest::CommitsService < Gitea::ClientService
|
||||
attr_reader :owner, :repo, :pull_number, :token
|
||||
|
||||
# GET /repos/{owner}/{repo}/pulls/{pull_number}/commits
|
||||
# owner: 用户
|
||||
# repo: 仓库名称/标识
|
||||
# pull_number: pull request主键id
|
||||
# eg:
|
||||
# Gitea::PullRequest::FilesService.call('jasder', 'repo_identifier', 1)
|
||||
def initialize(owner, repo, pull_number, token=nil)
|
||||
@owner = owner
|
||||
@repo = repo
|
||||
@token = token
|
||||
@pull_number = pull_number
|
||||
end
|
||||
|
||||
def call
|
||||
response = get(url, params)
|
||||
render_result(response)
|
||||
end
|
||||
|
||||
private
|
||||
def params
|
||||
Hash.new.merge(token: owner)
|
||||
end
|
||||
|
||||
def url
|
||||
"/repos/#{owner}/#{repo}/pulls/#{pull_number}/commits".freeze
|
||||
end
|
||||
|
||||
def render_result(response)
|
||||
case response.status
|
||||
when 200
|
||||
JSON.parse(response.body)
|
||||
else
|
||||
nil
|
||||
end
|
||||
end
|
||||
end
|
||||
40
app/services/gitea/pull_request/files_service.rb
Normal file
40
app/services/gitea/pull_request/files_service.rb
Normal file
@@ -0,0 +1,40 @@
|
||||
# List pull requests files
|
||||
class Gitea::PullRequest::FilesService < Gitea::ClientService
|
||||
attr_reader :owner, :repo, :pull_number, :token
|
||||
|
||||
# GET /repos/{owner}/{repo}/pulls/{pull_number}/files
|
||||
# owner: 用户
|
||||
# repo: 仓库名称/标识
|
||||
# pull_number: pull request主键id
|
||||
# eg:
|
||||
# Gitea::PullRequest::FilesService.call('jasder', 'repo_identifier', 1)
|
||||
def initialize(owner, repo, pull_number, token=nil)
|
||||
@owner = owner
|
||||
@repo = repo
|
||||
@token = token
|
||||
@pull_number = pull_number
|
||||
end
|
||||
|
||||
def call
|
||||
response = get(url, params)
|
||||
render_result(response)
|
||||
end
|
||||
|
||||
private
|
||||
def params
|
||||
Hash.new.merge(token: token)
|
||||
end
|
||||
|
||||
def url
|
||||
"/repos/#{owner}/#{repo}/pulls/#{pull_number}/files".freeze
|
||||
end
|
||||
|
||||
def render_result(response)
|
||||
case response.status
|
||||
when 200
|
||||
JSON.parse(response.body)
|
||||
else
|
||||
nil
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user