mirror of
https://github.com/unsplash/comment-on-pr.git
synced 2024-09-20 07:36:02 +08:00
Merge pull request #25 from ClearVoyage/master
Add option for specifying a pattern to use for checking for duplicates
This commit is contained in:
commit
c8a724fe18
|
@ -9,12 +9,16 @@ inputs:
|
||||||
description: Comment's message
|
description: Comment's message
|
||||||
required: true
|
required: true
|
||||||
check_for_duplicate_msg:
|
check_for_duplicate_msg:
|
||||||
description: If false, action doesn't check for duplicate msg.
|
description: If false, action doesn't check for duplicate message.
|
||||||
required: false
|
required: false
|
||||||
default: true
|
default: true
|
||||||
|
duplicate_msg_pattern:
|
||||||
|
description: Optional pattern to use when checking for duplicate message.
|
||||||
|
required: false
|
||||||
runs:
|
runs:
|
||||||
using: 'docker'
|
using: 'docker'
|
||||||
image: 'Dockerfile'
|
image: 'Dockerfile'
|
||||||
args:
|
args:
|
||||||
- ${{ inputs.msg }}
|
- ${{ inputs.msg }}
|
||||||
- ${{ inputs.check_for_duplicate_msg }}
|
- ${{ inputs.check_for_duplicate_msg }}
|
||||||
|
- ${{ inputs.duplicate_msg_pattern }}
|
||||||
|
|
|
@ -20,6 +20,8 @@ end
|
||||||
|
|
||||||
message = ARGV[0]
|
message = ARGV[0]
|
||||||
check_duplicate_msg = ARGV[1]
|
check_duplicate_msg = ARGV[1]
|
||||||
|
duplicate_msg_pattern = ARGV[2]
|
||||||
|
|
||||||
repo = event["repository"]["full_name"]
|
repo = event["repository"]["full_name"]
|
||||||
|
|
||||||
if ENV.fetch("GITHUB_EVENT_NAME") == "pull_request"
|
if ENV.fetch("GITHUB_EVENT_NAME") == "pull_request"
|
||||||
|
@ -40,7 +42,11 @@ end
|
||||||
coms = github.issue_comments(repo, pr_number)
|
coms = github.issue_comments(repo, pr_number)
|
||||||
|
|
||||||
if check_duplicate_msg == "true"
|
if check_duplicate_msg == "true"
|
||||||
duplicate = coms.find { |c| c["body"] == message }
|
if duplicate_msg_pattern != nil
|
||||||
|
duplicate = coms.find { |c| (c["body"] =~ (Regexp.new duplicate_msg_pattern)) != nil }
|
||||||
|
else
|
||||||
|
duplicate = coms.find { |c| c["body"] == message }
|
||||||
|
end
|
||||||
|
|
||||||
if duplicate
|
if duplicate
|
||||||
puts "The PR already contains this message"
|
puts "The PR already contains this message"
|
||||||
|
|
Loading…
Reference in a new issue