From dd3e4e00d2123a2587991c60f29d3edec3c2fc5c Mon Sep 17 00:00:00 2001 From: Marco Stuurman Date: Fri, 13 Jun 2025 21:08:17 +0200 Subject: [PATCH] Add option for using a file as input for the issue body (#140) * Add option for using a file as input for the issue body * Revert irrelevant version bumps --- action.yaml | 3 +++ constants.go | 1 + main.go | 12 +++++++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/action.yaml b/action.yaml index 0126c0a..7918c1b 100644 --- a/action.yaml +++ b/action.yaml @@ -19,6 +19,9 @@ inputs: issue-body: description: The custom body for the issue required: false + issue-body-file-path: + description: The file path to a custom body for the issue + required: false exclude-workflow-initiator-as-approver: description: Whether or not to filter out the user who initiated the workflow as an approver if they are in the approvers list required: false diff --git a/constants.go b/constants.go index 027aafa..88867e3 100644 --- a/constants.go +++ b/constants.go @@ -18,6 +18,7 @@ const ( envVarMinimumApprovals string = "INPUT_MINIMUM-APPROVALS" envVarIssueTitle string = "INPUT_ISSUE-TITLE" envVarIssueBody string = "INPUT_ISSUE-BODY" + envVarIssueBodyFilePath string = "INPUT_ISSUE-BODY-FILE-PATH" envVarExcludeWorkflowInitiatorAsApprover string = "INPUT_EXCLUDE-WORKFLOW-INITIATOR-AS-APPROVER" envVarAdditionalApprovedWords string = "INPUT_ADDITIONAL-APPROVED-WORDS" envVarAdditionalDeniedWords string = "INPUT_ADDITIONAL-DENIED-WORDS" diff --git a/main.go b/main.go index e439961..e18a395 100644 --- a/main.go +++ b/main.go @@ -199,7 +199,17 @@ func main() { } issueTitle := os.Getenv(envVarIssueTitle) - issueBody := os.Getenv(envVarIssueBody) + var issueBody string + if os.Getenv(envVarIssueBodyFilePath) != "" { + fileContents, err := os.ReadFile(os.Getenv(envVarIssueBodyFilePath)) + if err != nil { + fmt.Printf("error reading issue body file: %v\n", err) + os.Exit(1) + } + issueBody = string(fileContents) + } else { + issueBody = os.Getenv(envVarIssueBody) + } minimumApprovalsRaw := os.Getenv(envVarMinimumApprovals) minimumApprovals := 0 if minimumApprovalsRaw != "" {