Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
111 lines
3.2 KiB
VimL
111 lines
3.2 KiB
VimL
""
|
|
" @public
|
|
" List all the PRs of a repo.
|
|
"
|
|
" Github API : GET /repos/:owner/:repo/pulls
|
|
function! github#api#pulls#ListAllPRs(owner,repo) abort
|
|
return github#api#util#Get(join(['repos', a:owner, a:repo, 'pulls'], '/'), [])
|
|
endfunction
|
|
|
|
""
|
|
" @public
|
|
" Get a single pull request
|
|
"
|
|
" Github API : GET /repos/:owner/:repo/pulls/:number
|
|
function! github#api#pulls#Get(owner,repo,number) abort
|
|
return github#api#util#Get(join(['repos', a:owner, a:repo, 'pulls', a:number], '/'), [])
|
|
endfunction
|
|
|
|
""
|
|
" @public
|
|
" Create a pull request
|
|
"
|
|
" Input: >
|
|
" {
|
|
" "title": "Amazing new feature",
|
|
" "body": "Please pull this in!",
|
|
" "head": "octocat:new-feature",
|
|
" "base": "master"
|
|
" }
|
|
" <
|
|
" or: >
|
|
" {
|
|
" "issue": 5,
|
|
" "head": "octocat:new-feature",
|
|
" "base": "master"
|
|
" }
|
|
" <
|
|
" Github API : POST /repos/:owner/:repo/pulls
|
|
function! github#api#pulls#create(owner,repo,user,password,pull) abort
|
|
return github#api#util#Get(join(['repos', a:owner, a:repo, 'pulls'], '/'),
|
|
\ ['-X', 'POST',
|
|
\ '-d', json_encode(a:pull),
|
|
\ '-u', a:user . ':' . a:password])
|
|
endfunction
|
|
|
|
""
|
|
" @public
|
|
" Update a pull request
|
|
"
|
|
" Input: >
|
|
" {
|
|
" "title": "new title",
|
|
" "body": "updated body",
|
|
" "state": "open"
|
|
" }
|
|
" <
|
|
" Github API : PATCH /repos/:owner/:repo/pulls/:number
|
|
function! github#api#pulls#update(owner,repo,number,pull,user,password) abort
|
|
return github#api#util#Get(join(['repos', a:owner, a:repo, 'pulls', a:number], '/'),
|
|
\ ['-X', 'PATCH',
|
|
\ '-d', json_encode(a:pull),
|
|
\ '-u', a:user . ':' . a:password])
|
|
endfunction
|
|
|
|
""
|
|
" @public
|
|
" List commits on a pull request
|
|
"
|
|
" Github API : GET /repos/:owner/:repo/pulls/:number/commits
|
|
function! github#api#pulls#ListCommits(owner,repo,number) abort
|
|
return github#api#util#Get(join(['repos', a:owner, a:repo, 'pulls', a:number, 'commits'], '/'), [])
|
|
endfunction
|
|
|
|
""
|
|
" @public
|
|
" List pull requests files
|
|
"
|
|
" Github API : GET /repos/:owner/:repo/pulls/:number/files
|
|
function! github#api#pulls#ListFiles(owner,repo,number) abort
|
|
let page_key = '?page='
|
|
let issues = []
|
|
for i in range(1,github#api#util#GetLastPage(join(['repos', a:owner, a:repo, 'pulls', a:number, 'files'], '/')))
|
|
let iss = github#api#util#Get(join(['repos', a:owner, a:repo, 'pulls', a:number, 'files'], '/') . page_key . i, [])
|
|
if !empty(iss) && type(iss) == 3
|
|
call extend(issues, iss)
|
|
endif
|
|
endfor
|
|
return issues
|
|
endfunction
|
|
|
|
""
|
|
" @public
|
|
" Get if a pull request has been merged
|
|
"
|
|
" Github API : GET /repos/:owner/:repo/pulls/:number/merge
|
|
function! github#api#pulls#CheckMerged(owner,repo,number) abort
|
|
return github#api#util#GetStatus(join(['repos', a:owner, a:repo , 'pulls', a:number, 'merge'], '/'), []) == 204
|
|
endfunction
|
|
|
|
""
|
|
" @public
|
|
" Merge a pull request (Merge Button)
|
|
"
|
|
" Github API : PUT /repos/:owner/:repo/pulls/:number/merge
|
|
function! github#api#pulls#Merge(owner,repo,number,msg,user,password) abort
|
|
return github#api#util#Get(join(['repos', a:owner, a:repo, 'pulls', a:number, 'merge'], '/'),
|
|
\ ['-X', 'PUT',
|
|
\ '-d', json_encode(a:msg),
|
|
\ '-u', a:user . ':' . a:password])
|
|
endfunction
|