🔎 Search for potential issue duplicates using Damerau–Levenshtein algorithm and close them
Go to file
2020-09-28 16:43:10 +08:00
.github/workflows perf: ️ init 2020-09-27 21:29:47 +08:00
src feat: support reactions 2020-09-28 16:43:10 +08:00
.editorconfig perf: ️ init 2020-09-27 21:29:47 +08:00
.gitignore perf: ️ init 2020-09-27 21:29:47 +08:00
.prettierignore perf: ️ init 2020-09-27 21:29:47 +08:00
.prettierrc perf: ️ init 2020-09-27 21:29:47 +08:00
action.yml feat: support reactions 2020-09-28 16:43:10 +08:00
LICENSE Initial commit 2020-09-27 14:16:24 +08:00
package.json feat: support reactions 2020-09-28 16:43:10 +08:00
README.md feat: support reactions 2020-09-28 16:43:10 +08:00
tsconfig.json perf: ️ init 2020-09-27 21:29:47 +08:00
tslint.json perf: ️ init 2020-09-27 21:29:47 +08:00
yarn.lock perf: ️ init 2020-09-27 21:29:47 +08:00

Potential Duplicates

A Github Action to search for potential issue duplicates using DamerauLevenshtein algorithm.

Usage

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

name: Potential Duplicates
on:
  issues:
    types: [opened, edited]
jobs:
  run:
    runs-on: ubuntu-latest
    steps:
      - uses: bubkoo/label-commands@v1
        with:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          # 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'
          # Comment to post when potential duplicates are detected.
          comment: >
            Potential duplicates: {{#issues}}
              - [#{{ number }}] {{ title }} ({{ accuracy }}%)
            {{/issues}}            

License

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