mirror of
https://code.forgejo.org/actions/cascading-pr.git
synced 2025-04-24 01:30:50 +00:00
get origin_head from the PR
This commit is contained in:
parent
36e8cdcda4
commit
756e6eacb8
2 changed files with 11 additions and 4 deletions
|
@ -37,17 +37,23 @@ function upsert_branch() {
|
||||||
function upsert_pr() {
|
function upsert_pr() {
|
||||||
local repo_api=${options[destination_url]}/api/v1/repos/${options[destination_repo]}
|
local repo_api=${options[destination_url]}/api/v1/repos/${options[destination_repo]}
|
||||||
local title="cascading-pr from ${options[origin_url]}/${options[origin_repo]}/pulls/${options[origin_pr]}"
|
local title="cascading-pr from ${options[origin_url]}/${options[origin_repo]}/pulls/${options[origin_pr]}"
|
||||||
repo_curl ${options[destination_repo]} api --get --data state=open --data type=pulls --data-urlencode q="$title" $repo_api/issues | jq --raw-output .[0] > $TMPDIR/pr.json
|
repo_curl ${options[destination_repo]} api --get --data state=open --data type=pulls --data-urlencode q="$title" $repo_api/issues | jq --raw-output .[0] > $TMPDIR/destination-pr.json
|
||||||
url=$(jq --raw-output .url < $TMPDIR/pr.json)
|
url=$(jq --raw-output .url < $TMPDIR/destination-pr.json)
|
||||||
if test "$url" != "null"; then
|
if test "$url" != "null"; then
|
||||||
log_info "PR already exists $url"
|
log_info "PR already exists $url"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
repo_curl ${options[destination_repo]} api_json --data-raw '{"title":"'"$title"'","base":"'${options[destination_base]}'","head":"'${options[destination_head]}'"}' $repo_api/pulls > $TMPDIR/pr.json
|
repo_curl ${options[destination_repo]} api_json --data-raw '{"title":"'"$title"'","base":"'${options[destination_base]}'","head":"'${options[destination_head]}'"}' $repo_api/pulls > $TMPDIR/destination-pr.json
|
||||||
url=$(jq --raw-output .url < $TMPDIR/pr.json)
|
url=$(jq --raw-output .url < $TMPDIR/destination-pr.json)
|
||||||
log_info "PR created $url"
|
log_info "PR created $url"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function origin_pr_head() {
|
||||||
|
local repo_api=${options[origin_url]}/api/v1/repos/${options[origin_repo]}
|
||||||
|
repo_curl ${options[origin_repo]} api_json $repo_api/pulls/${options[origin_pr]} > $TMPDIR/origin-pr.json
|
||||||
|
jq --raw-output .head.ref < $TMPDIR/origin-pr.json
|
||||||
|
}
|
||||||
|
|
||||||
function upsert_clone() {
|
function upsert_clone() {
|
||||||
local direction=$1 branch=$2 clone=$3
|
local direction=$1 branch=$2 clone=$3
|
||||||
|
|
||||||
|
@ -103,6 +109,7 @@ function finalize_options() {
|
||||||
options[origin_scheme]=$(scheme ${options[origin_url]})
|
options[origin_scheme]=$(scheme ${options[origin_url]})
|
||||||
options[origin_host_port]=$(host_port ${options[origin_url]})
|
options[origin_host_port]=$(host_port ${options[origin_url]})
|
||||||
options[origin_clone]=${options[origin_scheme]}://:${options[origin_token]}@${options[origin_host_port]}/${options[origin_repo]}
|
options[origin_clone]=${options[origin_scheme]}://:${options[origin_token]}@${options[origin_host_port]}/${options[origin_repo]}
|
||||||
|
options[origin_head]=$(origin_pr_head)
|
||||||
options[destination_scheme]=$(scheme ${options[destination_url]})
|
options[destination_scheme]=$(scheme ${options[destination_url]})
|
||||||
options[destination_host_port]=$(host_port ${options[destination_url]})
|
options[destination_host_port]=$(host_port ${options[destination_url]})
|
||||||
options[destination_clone]=${options[destination_scheme]}://:${options[destination_token]}@${options[destination_host_port]}/${options[destination_repo]}
|
options[destination_clone]=${options[destination_scheme]}://:${options[destination_token]}@${options[destination_host_port]}/${options[destination_repo]}
|
||||||
|
|
0
tests/originrepo/upgraded
Normal file → Executable file
0
tests/originrepo/upgraded
Normal file → Executable file
Loading…
Add table
Reference in a new issue