diff --git a/actions/setup/js/safe_output_helpers.cjs b/actions/setup/js/safe_output_helpers.cjs index 0d97fa86b55..3dc9897fb14 100644 --- a/actions/setup/js/safe_output_helpers.cjs +++ b/actions/setup/js/safe_output_helpers.cjs @@ -69,7 +69,7 @@ function resolveTarget(params) { // Check context type const isIssueContext = context.eventName === "issues" || context.eventName === "issue_comment"; - const isPRContext = context.eventName === "pull_request" || context.eventName === "pull_request_review" || context.eventName === "pull_request_review_comment"; + const isPRContext = context.eventName === "pull_request" || context.eventName === "pull_request_target" || context.eventName === "pull_request_review" || context.eventName === "pull_request_review_comment"; // Default target is "triggering" const target = targetConfig || "triggering"; diff --git a/actions/setup/js/safe_output_helpers.test.cjs b/actions/setup/js/safe_output_helpers.test.cjs index b7296a9ef2d..6cc63b22912 100644 --- a/actions/setup/js/safe_output_helpers.test.cjs +++ b/actions/setup/js/safe_output_helpers.test.cjs @@ -200,6 +200,19 @@ describe("safe_output_helpers", () => { expect(result.contextType).toBe("pull request"); }); + it("should handle pull_request_target event", () => { + const result = helpers.resolveTarget({ + ...baseParams, + context: { + eventName: "pull_request_target", + payload: { pull_request: { number: 654 } }, + }, + }); + expect(result.success).toBe(true); + expect(result.number).toBe(654); + expect(result.contextType).toBe("pull request"); + }); + it("should fail when issue context but no issue in payload", () => { const result = helpers.resolveTarget({ ...baseParams, @@ -246,6 +259,19 @@ describe("safe_output_helpers", () => { expect(result.contextType).toBe("pull request"); }); + it("should resolve triggering pull_request_target context", () => { + const result = helpers.resolveTarget({ + ...baseParams, + context: { + eventName: "pull_request_target", + payload: { pull_request: { number: 987 } }, + }, + }); + expect(result.success).toBe(true); + expect(result.number).toBe(987); + expect(result.contextType).toBe("pull request"); + }); + it("should fail when triggering and not in PR context", () => { const result = helpers.resolveTarget({ ...baseParams,