aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/stale-issue-bot.yaml
blob: 1d6534faa2d651eff1370f7ba85ba06a9b54c480 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# Enable the github stale issue bot tracker
name: "Close stale issues"
on:
  schedule:
    - cron: '0 0 * * *'
jobs:
  stale:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/stale@v3
      with:
        repo-token: ${{ secrets.GITHUB_TOKEN }}
        stale-issue-message: |
          Hello,

          It looks like there hasn't been any recent updates on this
          Klipper github issue.  If you created this issue and no
          longer consider it open, then please login to github and
          close the issue.  Otherwise, if there is no further activity
          on this thread then it will be automatically closed in a few
          days.

          Best regards,

          ~ Your friendly GitIssueBot

          PS: I'm just an automated script, not a human being.

        exempt-issue-labels: 'enhancement,bug'
        days-before-stale: 35
        days-before-close: 7
  close_resolved:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/github-script@v3
        with:
          script: |
            const issues = await github.issues.listForRepo({
              owner: context.repo.owner,
              repo: context.repo.repo,
              state: 'open',
              labels: 'resolved',
              per_page: 100,
              page: 1
            });
            const expireMillis = 1000 * 60 * 60 * 24 * 7;
            const curtime = new Date().getTime();
            for (var issue of issues.data.values()) {
              const updatetime = new Date(issue.updated_at).getTime();
              if (curtime < updatetime + expireMillis)
                continue;
              msg = "This ticket is being closed because the underlying issue"
                  + " is now thought to be resolved."
                  + "\n\n"
                  + "Best regards,\n"
                  + "~ Your friendly GitIssueBot"
                  + "\n\n"
                  + "PS: I'm just an automated script, not a human being.";
              await github.issues.createComment({
                owner: context.repo.owner,
                repo: context.repo.repo,
                issue_number: issue.number,
                body: msg
              });
              await github.issues.update({
                owner: context.repo.owner,
                repo: context.repo.repo,
                issue_number: issue.number,
                state: 'closed'
              });
            }