|
1 | 1 | $inactivityDelay = [timespan]::FromDays([int]::Parse($Env:NO_RECENT_ACTIVITY_DURATION_IN_DAYS))
|
2 |
| -$oldIssues = gh issue list --label "$Env:NEEDS_AUTHOR_FEEDBACK_LABEL" --state open --limit 100 --json number,author,createdAt | ConvertFrom-Json |
| 2 | +$oldIssues = gh issue list --label "$Env:NEEDS_AUTHOR_FEEDBACK_LABEL" --state open --limit 100 --json number,author,createdAt,labels | ConvertFrom-Json | Where-Object {$_.labels.name -notcontains $Env:NO_RECENT_ACTIVITY_LABEL } |
3 | 3 | foreach($oldIssue in $oldIssues) {
|
4 | 4 | $lastComment = gh issue view $oldIssue.number --json comments | ConvertFrom-Json | Select-Object -ExpandProperty comments | Where-Object {$_.author.login -eq $oldIssue.author.login} | Select-Object -Last 1
|
5 | 5 | if($null -eq $lastComment) {
|
6 |
| - $lastCommentDate = [datetime]::Parse($oldIssue.createdAt) |
7 |
| - |
| 6 | + $lastCommentDate = [datetime]$null |
8 | 7 | } else {
|
9 |
| - $lastCommentDate = [datetime]::Parse($lastComment.createdAt) |
| 8 | + $lastCommentDate = $lastComment.createdAt #powershell already parses the date for us with the json conversion |
10 | 9 | }
|
11 | 10 | $lastLabelEvent = gh api -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" "/repos/$($Env:ORG_NAME)/$($Env:REPO_NAME)/issues/$($oldIssue.number)/events?per_page=100" | ConvertFrom-Json | Where-Object {$_.event -eq "labeled" -and $_.label.name -eq "$Env:NEEDS_AUTHOR_FEEDBACK_LABEL"} | Select-Object -Last 1
|
12 |
| - $lastLabelEventDate = [datetime]::Parse($lastLabelEvent.created_at) |
13 |
| - if ($lastCommentDate -gt $lastLabelEventDate) { |
| 11 | + $lastLabelEventDate = $lastLabelEvent.created_at |
| 12 | + if ($null -ne $lastCommentDate -and $lastCommentDate -gt $lastLabelEventDate) { |
14 | 13 | gh issue edit $oldIssue.number --remove-label "$Env:NO_RECENT_ACTIVITY_LABEL" --remove-label "$Env:NEEDS_AUTHOR_FEEDBACK_LABEL" --add-label "$Env:NEEDS_ATTENTION_LABEL"
|
15 |
| - } elseif (($lastLabelEventDate -$lastCommentDate) -ge $inactivityDelay) { |
| 14 | + } elseif (([datetime]::UtcNow - $lastLabelEventDate) -ge $inactivityDelay) { |
16 | 15 | gh issue edit $oldIssue.number --add-label "$Env:NO_RECENT_ACTIVITY_LABEL" --remove-label "$Env:NEEDS_ATTENTION_LABEL"
|
17 | 16 | gh issue comment $oldIssue.number -b "$Env:NO_RECENT_ACTIVITY_COMMENT"
|
18 | 17 | }
|
|
0 commit comments