diff --git a/cmd/commenter/connector.go b/cmd/commenter/connector.go index bf8e40d..1ee6a5a 100644 --- a/cmd/commenter/connector.go +++ b/cmd/commenter/connector.go @@ -94,13 +94,7 @@ For more information, see https://tfsec.dev/docs/%s/%s/`, result.code, result.de } } - comment := &github.PullRequestComment{ - Line: &result.startLine, - Path: &result.fileName, - CommitID: &result.sha, - Body: &errorMessage, - Position: &result.position, - } + comment := createComment(result, errorMessage) fmt.Printf("%+v\n", comment) _, _, err := gc.client.PullRequests.CreateComment(gc.ctx, gc.owner, gc.repo, gc.prNumber, comment) if err != nil { @@ -108,6 +102,26 @@ For more information, see https://tfsec.dev/docs/%s/%s/`, result.code, result.de } } +func createComment(result *commentBlock, errorMessage string) *github.PullRequestComment { + if result.startLine == result.endLine { + return &github.PullRequestComment{ + Line: &result.startLine, + Path: &result.fileName, + CommitID: &result.sha, + Body: &errorMessage, + Position: &result.position, + } + } + return &github.PullRequestComment{ + StartLine: &result.startLine, + Line: &result.endLine, + Path: &result.fileName, + CommitID: &result.sha, + Body: &errorMessage, + Position: &result.position, + } +} + func getPrNumber() (int, error) { file, err := ioutil.ReadFile("/github/workflow/event.json") if err != nil { diff --git a/pr_commenter.png b/pr_commenter.png new file mode 100644 index 0000000..77a9636 Binary files /dev/null and b/pr_commenter.png differ