@@ -94,7 +94,9 @@ class Backport {
9494 : workflowRepo;
9595 if (repo === undefined)
9696 throw new Error("No repository defined!");
97- const pull_number = this.github.getPullNumber();
97+ const pull_number = this.config.source_pr_number === undefined
98+ ? this.github.getPullNumber()
99+ : this.config.source_pr_number;
98100 const mainpr = yield this.github.getPullRequest(pull_number);
99101 if (!(yield this.github.isMerged(mainpr))) {
100102 const message = "Only merged pull requests can be backported.";
@@ -467,7 +469,7 @@ class Backport {
467469 const suggestionToResolve = this.composeMessageToResolveCommittedConflicts(target, branchname, commitShasToCherryPick, conflictResolution);
468470 return (0, dedent_1.default) `Created backport PR for \`${target}\`:
469471 - ${downstream}#${pr_number} with remaining conflicts!
470-
472+
471473 ${suggestionToResolve}`;
472474 }
473475 createOutput(successByTarget, createdPullRequestNumbers) {
@@ -1078,6 +1080,7 @@ function run() {
10781080 const copy_milestone = core.getInput("copy_milestone");
10791081 const copy_requested_reviewers = core.getInput("copy_requested_reviewers");
10801082 const experimental = JSON.parse(core.getInput("experimental"));
1083+ const source_pr_number = core.getInput("source_pr_number");
10811084 if (cherry_picking !== "auto" && cherry_picking !== "pull_request_head") {
10821085 const message = `Expected input 'cherry_picking' to be either 'auto' or 'pull_request_head', but was '${cherry_picking}'`;
10831086 console.error(message);
@@ -1124,6 +1127,7 @@ function run() {
11241127 copy_milestone: copy_milestone === "true",
11251128 copy_requested_reviewers: copy_requested_reviewers === "true",
11261129 experimental: Object.assign(Object.assign({}, backport_1.experimentalDefaults), experimental),
1130+ source_pr_number: source_pr_number === "" ? undefined : parseInt(source_pr_number),
11271131 };
11281132 const backport = new backport_1.Backport(github, config, git);
11291133 return backport.run();
0 commit comments