Skip to content

Latest commit

History

History
99 lines (84 loc) 路 4.83 KB

README.md

File metadata and controls

99 lines (84 loc) 路 4.83 KB

Potential Duplicates

build MIT License Language PRs Welcome website Language grade: JavaScript

Search for potential issue duplicates using Damerau鈥揕evenshtein algorithm and close it.

Usage

Create .github/workflows/close-potential-duplicates.yml in the default branch:

name: Potential Duplicates
on:
  issues:
    types: [opened, edited]
jobs:
  run:
    runs-on: ubuntu-latest
    steps:
      - uses: iv-org/close-potential-duplicates@v1
        with:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          # Issue title filter work with anymatch https://www.npmjs.com/package/anymatch.
          # Any matched issue will stop detection immediately.
          # You can specify multi filters in each line.
          filter: ''
          # Exclude keywords in title before detecting.
          exclude: ''
          # Label to set, when potential duplicates are detected.
          label: potential-duplicate
          # Get issues with state to compare. Supported state: 'all', 'closed', 'open'.
          state: all
          # If similarity is higher than this threshold([0,1]), issue will be marked as duplicate.
          threshold: 0.6
          # Reactions to be add to comment when potential duplicates are detected.
          # Available reactions: "-1", "+1", "confused", "laugh", "heart", "hooray", "rocket", "eyes"
          reactions: 'eyes, confused'
          # Close or not the issue: false or true
          close: 'false'
          # Comment to post when potential duplicates are detected.
          comment: >
            Potential duplicates: {{#issues}}
              - [#{{ number }}] {{ title }} ({{ accuracy }}%)
            {{/issues}}

Inputs

Various inputs are defined to let you configure the action:

Note: Workflow command and parameter names are not case-sensitive.

Name Description Default
GITHUB_TOKEN The GitHub token for authentication N/A
filter Issue title filter work with anymatch
Any matched issue will stop detection immediately
You can specify multi filters in each line
''
exclude Exclude keywords in title before detecting ''
label Label to set, when potential duplicates are detected 'potential-duplicate'
state Get issues with state to compare. Supported state: 'all' 'closed' 'open' 'all'
threshold If similarity is higher than this threshold([0,1]), issue will be marked as duplicate 0.6
reactions Reactions to be add to comment when potential duplicates are detected
Available reactions: "-1", "+1", "confused", "laugh", "heart", "hooray", "rocket", "eyes"
comment Comment to post when potential duplicates are detected 馃憞
close Close or not the issue when found to be duplicate. false

Available reactions:

content emoji
+1 馃憤
-1 馃憥
laugh 馃槃
confused 馃槙
heart 鉂わ笍
hooray 馃帀
rocket 馃殌
eyes 馃憖

Default comment:

Potential duplicates: {{#issues}}
  - [#{{ number }}] {{ title }} ({{ accuracy }}%)
{{/issues}}

License

The scripts and documentation in this project are released under the MIT License