From 45aa45aec5ba98a45a0a31fc78549e7a5267123e Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Mon, 23 May 2022 14:02:02 -0700 Subject: [PATCH] Move to configuring the fabric bot via JSON (#17411) --- .github/fabricbot.json | 2096 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2096 insertions(+) create mode 100644 .github/fabricbot.json diff --git a/.github/fabricbot.json b/.github/fabricbot.json new file mode 100644 index 0000000000..6cff68d8c2 --- /dev/null +++ b/.github/fabricbot.json @@ -0,0 +1,2096 @@ +[ + { + "taskType": "trigger", + "capabilityId": "AutoMerge", + "subCapability": "AutoMerge", + "version": "1.0", + "config": { + "taskName": "AutoMerge", + "minMinutesOpen": "1440", + "mergeType": "squash", + "deleteBranches": true, + "label": "AutoMerge", + "minimumNumberOfStatuses": 6, + "requireAllStatuses": false, + "removeLabelOnPush": true, + "requireSpecificCheckRuns": false, + "requireAllStatuses_exemptList": [ + "CodeFactor", + "Codacy/PR Quality Review" + ], + "requireSpecificCheckRunsList": [ + "PowerShell-CI-linux", + "PowerShell-CI-macos", + "PowerShell-CI-static-analysis", + "PowerShell-CI-windows", + "WIP" + ], + "usePrDescriptionAsCommitMessage": true + }, + "disabled": false + }, + { + "taskType": "trigger", + "capabilityId": "ReleaseAnnouncement", + "subCapability": "ReleaseAnnouncement", + "version": "1.0", + "config": { + "taskName": "Announce a fix has been released", + "prReply": ":tada:`${version}` has been released which incorporates this pull request.:tada:\n\nHandy links:\n* [Release Notes](https://github.com/${owner}/${repo}/releases/tag/${version})\n", + "issueReply": ":tada:This issue was addressed in #${prNumber}, which has now been successfully released as `${version}`.:tada:\n\nHandy links:\n* [Release Notes](https://github.com/${owner}/${repo}/releases/tag/${version})\n", + "packageRegex": "(v\\d+\\.\\d+\\.\\d+(-\\w+(\\.\\d+)?)?)", + "referencedPrsRegex": "\\(#(\\d+)\\)", + "packageVersionGroup": 0, + "packageNameGroup": 1 + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "PullRequestReviewResponder", + "version": "1.0", + "config": { + "taskName": "Add needs author feedback label to pull requests when changes are requested", + "conditions": { + "operator": "and", + "operands": [ + { + "name": "isAction", + "parameters": { + "action": "submitted" + } + }, + { + "name": "isReviewState", + "parameters": { + "state": "changes_requested" + } + } + ] + }, + "actions": [ + { + "name": "addLabel", + "parameters": { + "label": "Waiting on Author" + } + }, + { + "name": "removeMilestone", + "parameters": {} + }, + { + "name": "removeLabel", + "parameters": { + "label": "Review - Needed" + } + } + ], + "eventType": "pull_request", + "eventNames": [ + "pull_request_review" + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "PullRequestResponder", + "version": "1.0", + "config": { + "taskName": "Remove needs author feedback label when the author responds to a pull request", + "conditions": { + "operator": "and", + "operands": [ + { + "name": "isActivitySender", + "parameters": { + "user": { + "type": "author" + } + } + }, + { + "operator": "not", + "operands": [ + { + "name": "isAction", + "parameters": { + "action": "closed" + } + } + ] + }, + { + "name": "hasLabel", + "parameters": { + "label": "Waiting on Author" + } + }, + { + "operator": "not", + "operands": [ + { + "name": "titleContains", + "parameters": { + "isRegex": true, + "titlePattern": "(WIP|Work in progress|🚧)" + } + } + ] + } + ] + }, + "actions": [ + { + "name": "removeLabel", + "parameters": { + "label": "Waiting on Author" + } + } + ], + "eventType": "pull_request", + "eventNames": [ + "pull_request", + "issues", + "project_card" + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "PullRequestCommentResponder", + "version": "1.0", + "config": { + "taskName": "Remove needs author feedback label when the author comments on a pull request", + "conditions": { + "operator": "and", + "operands": [ + { + "name": "isActivitySender", + "parameters": { + "user": { + "type": "author" + } + } + }, + { + "name": "hasLabel", + "parameters": { + "label": "Waiting on Author" + } + } + ] + }, + "actions": [ + { + "name": "removeLabel", + "parameters": { + "label": "Waiting on Author" + } + } + ], + "eventType": "pull_request", + "eventNames": [ + "issue_comment" + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "PullRequestReviewResponder", + "version": "1.0", + "config": { + "taskName": "Remove needs author feedback label when the author responds to a pull request review comment", + "conditions": { + "operator": "and", + "operands": [ + { + "name": "isActivitySender", + "parameters": { + "user": { + "type": "author" + } + } + }, + { + "name": "hasLabel", + "parameters": { + "label": "Waiting on Author" + } + } + ] + }, + "actions": [ + { + "name": "removeLabel", + "parameters": { + "label": "Waiting on Author" + } + } + ], + "eventType": "pull_request", + "eventNames": [ + "pull_request_review" + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "PullRequestResponder", + "version": "1.0", + "config": { + "taskName": "Remove no recent activity label from pull requests", + "conditions": { + "operator": "and", + "operands": [ + { + "operator": "not", + "operands": [ + { + "name": "isAction", + "parameters": { + "action": "closed" + } + } + ] + }, + { + "name": "hasLabel", + "parameters": { + "label": "Stale" + } + }, + { + "name": "isActivitySender", + "parameters": { + "user": { + "type": "author" + } + } + } + ] + }, + "actions": [ + { + "name": "removeLabel", + "parameters": { + "label": "Stale" + } + } + ], + "eventType": "pull_request", + "eventNames": [ + "pull_request", + "issues", + "project_card" + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "PullRequestCommentResponder", + "version": "1.0", + "config": { + "taskName": "Remove no recent activity label when a pull request is commented on", + "conditions": { + "operator": "and", + "operands": [ + { + "name": "hasLabel", + "parameters": { + "label": "Stale" + } + } + ] + }, + "actions": [ + { + "name": "removeLabel", + "parameters": { + "label": "Stale" + } + } + ], + "eventType": "pull_request", + "eventNames": [ + "issue_comment" + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "PullRequestReviewResponder", + "version": "1.0", + "config": { + "taskName": "Remove no recent activity label when a pull request is reviewed", + "conditions": { + "operator": "and", + "operands": [ + { + "name": "hasLabel", + "parameters": { + "label": "Stale" + } + } + ] + }, + "actions": [ + { + "name": "removeLabel", + "parameters": { + "label": "Stale" + } + } + ], + "eventType": "pull_request", + "eventNames": [ + "pull_request_review" + ] + } + }, + { + "taskType": "scheduled", + "capabilityId": "ScheduledSearch", + "subCapability": "ScheduledSearch", + "version": "1.1", + "config": { + "taskName": "Close stale pull requests", + "frequency": [ + { + "weekDay": 0, + "hours": [ + 10, + 22 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 1, + "hours": [ + 10, + 22 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 2, + "hours": [ + 10, + 22 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 3, + "hours": [ + 10, + 22 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 4, + "hours": [ + 10, + 22 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 5, + "hours": [ + 10, + 22 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 6, + "hours": [ + 10, + 22 + ], + "timezoneOffset": -8 + } + ], + "searchTerms": [ + { + "name": "isPr", + "parameters": {} + }, + { + "name": "isOpen", + "parameters": {} + }, + { + "name": "hasLabel", + "parameters": { + "label": "Waiting on Author" + } + }, + { + "name": "hasLabel", + "parameters": { + "label": "Stale" + } + }, + { + "name": "noActivitySince", + "parameters": { + "days": 10 + } + } + ], + "actions": [ + { + "name": "closeIssue", + "parameters": {} + } + ] + } + }, + { + "taskType": "scheduled", + "capabilityId": "ScheduledSearch", + "subCapability": "ScheduledSearch", + "version": "1.1", + "config": { + "taskName": "Add no recent activity label to pull requests", + "frequency": [ + { + "weekDay": 0, + "hours": [ + 1, + 4, + 7, + 10, + 13, + 16, + 19, + 22 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 1, + "hours": [ + 1, + 4, + 7, + 10, + 13, + 16, + 19, + 22 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 2, + "hours": [ + 1, + 4, + 7, + 10, + 13, + 16, + 19, + 22 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 3, + "hours": [ + 1, + 4, + 7, + 10, + 13, + 16, + 19, + 22 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 4, + "hours": [ + 1, + 4, + 7, + 10, + 13, + 16, + 19, + 22 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 5, + "hours": [ + 1, + 4, + 7, + 10, + 13, + 16, + 19, + 22 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 6, + "hours": [ + 1, + 4, + 7, + 10, + 13, + 16, + 19, + 22 + ], + "timezoneOffset": -7 + } + ], + "searchTerms": [ + { + "name": "isPr", + "parameters": {} + }, + { + "name": "isOpen", + "parameters": {} + }, + { + "name": "hasLabel", + "parameters": { + "label": "Waiting on Author" + } + }, + { + "name": "noActivitySince", + "parameters": { + "days": 15 + } + }, + { + "name": "noLabel", + "parameters": { + "label": "Stale" + } + } + ], + "actions": [ + { + "name": "addLabel", + "parameters": { + "label": "Stale" + } + }, + { + "name": "addReply", + "parameters": { + "comment": "This pull request has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for **15 days**. It will be closed if no further activity occurs **within 10 days of this comment**." + } + }, + { + "name": "removeMilestone", + "parameters": {} + } + ] + } + }, + { + "taskType": "scheduled", + "capabilityId": "ScheduledSearch", + "subCapability": "ScheduledSearch", + "version": "1.1", + "config": { + "taskName": "Close duplicate issues", + "frequency": [ + { + "weekDay": 0, + "hours": [ + 0, + 3, + 6, + 9, + 12, + 15, + 18, + 21 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 1, + "hours": [ + 0, + 3, + 6, + 9, + 12, + 15, + 18, + 21 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 2, + "hours": [ + 0, + 3, + 6, + 9, + 12, + 15, + 18, + 21 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 3, + "hours": [ + 0, + 3, + 6, + 9, + 12, + 15, + 18, + 21 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 4, + "hours": [ + 0, + 3, + 6, + 9, + 12, + 15, + 18, + 21 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 5, + "hours": [ + 0, + 3, + 6, + 9, + 12, + 15, + 18, + 21 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 6, + "hours": [ + 0, + 3, + 6, + 9, + 12, + 15, + 18, + 21 + ], + "timezoneOffset": -8 + } + ], + "searchTerms": [ + { + "name": "isIssue", + "parameters": {} + }, + { + "name": "isOpen", + "parameters": {} + }, + { + "name": "hasLabel", + "parameters": { + "label": "Resolution-Duplicate" + } + }, + { + "name": "noActivitySince", + "parameters": { + "days": 1 + } + } + ], + "actions": [ + { + "name": "addReply", + "parameters": { + "comment": "This issue has been marked as duplicate and has not had any activity for **1 day**. It has been closed for housekeeping purposes." + } + }, + { + "name": "closeIssue", + "parameters": {} + } + ] + }, + "disabled": false + }, + { + "taskType": "scheduled", + "capabilityId": "ScheduledSearch", + "subCapability": "ScheduledSearch", + "version": "1.1", + "config": { + "taskName": "Close external issues", + "frequency": [ + { + "weekDay": 0, + "hours": [ + 2, + 5, + 8, + 11, + 14, + 17, + 20, + 23 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 1, + "hours": [ + 2, + 5, + 8, + 11, + 14, + 17, + 20, + 23 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 2, + "hours": [ + 2, + 5, + 8, + 11, + 14, + 17, + 20, + 23 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 3, + "hours": [ + 2, + 5, + 8, + 11, + 14, + 17, + 20, + 23 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 4, + "hours": [ + 2, + 5, + 8, + 11, + 14, + 17, + 20, + 23 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 5, + "hours": [ + 2, + 5, + 8, + 11, + 14, + 17, + 20, + 23 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 6, + "hours": [ + 2, + 5, + 8, + 11, + 14, + 17, + 20, + 23 + ], + "timezoneOffset": -8 + } + ], + "searchTerms": [ + { + "name": "isIssue", + "parameters": {} + }, + { + "name": "isOpen", + "parameters": {} + }, + { + "name": "hasLabel", + "parameters": { + "label": "Resolution-External" + } + }, + { + "name": "noActivitySince", + "parameters": { + "days": 1 + } + } + ], + "actions": [ + { + "name": "addReply", + "parameters": { + "comment": "This issue has been marked as external and has not had any activity for **1 day**. It has been be closed for housekeeping purposes." + } + }, + { + "name": "closeIssue", + "parameters": {} + } + ] + } + }, + { + "taskType": "scheduled", + "capabilityId": "ScheduledSearch", + "subCapability": "ScheduledSearch", + "version": "1.1", + "config": { + "taskName": "Close answered issues", + "frequency": [ + { + "weekDay": 0, + "hours": [ + 0, + 12 + ] + }, + { + "weekDay": 1, + "hours": [ + 0, + 12 + ] + }, + { + "weekDay": 2, + "hours": [ + 0, + 12 + ] + }, + { + "weekDay": 3, + "hours": [ + 0, + 12 + ] + }, + { + "weekDay": 4, + "hours": [ + 0, + 12 + ] + }, + { + "weekDay": 5, + "hours": [ + 0, + 12 + ] + }, + { + "weekDay": 6, + "hours": [ + 0, + 12 + ] + } + ], + "searchTerms": [ + { + "name": "isIssue", + "parameters": {} + }, + { + "name": "isOpen", + "parameters": {} + }, + { + "name": "hasLabel", + "parameters": { + "label": "Resolution-Answered" + } + }, + { + "name": "noActivitySince", + "parameters": { + "days": 1 + } + } + ], + "actions": [ + { + "name": "addReply", + "parameters": { + "comment": "This issue has been marked as answered and has not had any activity for **1 day**. It has been closed for housekeeping purposes." + } + }, + { + "name": "closeIssue", + "parameters": {} + } + ] + } + }, + { + "taskType": "scheduled", + "capabilityId": "ScheduledSearch", + "subCapability": "ScheduledSearch", + "version": "1.1", + "config": { + "taskName": "Close fixed issues", + "frequency": [ + { + "weekDay": 0, + "hours": [ + 8, + 20 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 1, + "hours": [ + 8, + 20 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 2, + "hours": [ + 8, + 20 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 3, + "hours": [ + 8, + 20 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 4, + "hours": [ + 8, + 20 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 5, + "hours": [ + 8, + 20 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 6, + "hours": [ + 8, + 20 + ], + "timezoneOffset": -8 + } + ], + "searchTerms": [ + { + "name": "isIssue", + "parameters": {} + }, + { + "name": "isOpen", + "parameters": {} + }, + { + "name": "hasLabel", + "parameters": { + "label": "Resolution-Fixed" + } + }, + { + "name": "noActivitySince", + "parameters": { + "days": 1 + } + } + ], + "actions": [ + { + "name": "addReply", + "parameters": { + "comment": "This issue has been marked as fixed and has not had any activity for **1 day**. It has been closed for housekeeping purposes." + } + }, + { + "name": "closeIssue", + "parameters": {} + } + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "PullRequestResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "operator": "not", + "operands": [ + { + "name": "isAssignedToSomeone", + "parameters": {} + } + ] + }, + { + "name": "isAction", + "parameters": { + "action": "opened" + } + } + ] + }, + "eventType": "pull_request", + "eventNames": [ + "pull_request", + "issues", + "project_card" + ], + "actions": [ + { + "name": "assignToGitHubUserGroup", + "parameters": { + "groupId": "5dd8713b90bf2e113c0e885e", + "skipOpener": true + } + } + ], + "taskName": "Assign unassigned PRs - on push" + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "PullRequestCommentResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "operator": "not", + "operands": [ + { + "name": "isAssignedToSomeone", + "parameters": {} + } + ] + } + ] + }, + "eventType": "pull_request", + "eventNames": [ + "issue_comment" + ], + "taskName": "Assign unassigned PRs - on comments", + "actions": [ + { + "name": "assignToGitHubUserGroup", + "parameters": { + "groupId": "5dd8713b90bf2e113c0e885e" + } + } + ] + }, + "disabled": true + }, + { + "taskType": "trigger", + "capabilityId": "EmailCleanser", + "subCapability": "EmailCleanser", + "version": "1.0", + "config": { + "taskName": "Email reply cleanser" + } + }, + { + "taskType": "scheduled", + "capabilityId": "ScheduledSearch", + "subCapability": "ScheduledSearch", + "version": "1.1", + "config": { + "taskName": "Needs attention", + "frequency": [ + { + "weekDay": 0, + "hours": [ + 6, + 18 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 1, + "hours": [ + 6, + 18 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 2, + "hours": [ + 6, + 18 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 3, + "hours": [ + 6, + 18 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 4, + "hours": [ + 6, + 18 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 5, + "hours": [ + 6, + 18 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 6, + "hours": [ + 6, + 18 + ], + "timezoneOffset": -8 + } + ], + "searchTerms": [ + { + "name": "isPr", + "parameters": {} + }, + { + "name": "isOpen", + "parameters": {} + }, + { + "name": "noLabel", + "parameters": { + "label": "Waiting on Author" + } + }, + { + "name": "noActivitySince", + "parameters": { + "days": 7 + } + }, + { + "name": "noLabel", + "parameters": { + "label": "Stale" + } + }, + { + "name": "noLabel", + "parameters": { + "label": "Review - Needed" + } + }, + { + "name": "noLabel", + "parameters": { + "label": "Review - Committee" + } + }, + { + "name": "isDraftPr", + "parameters": { + "value": "false" + } + } + ], + "actions": [ + { + "name": "addLabel", + "parameters": { + "label": "Review - Needed" + } + }, + { + "name": "addReply", + "parameters": { + "comment": "This pull request has been automatically marked as Review Needed because it has been there has not been any activity for **7 days**.\nMaintainer, please provide feedback and/or mark it as `Waiting on Author`" + } + } + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "PullRequestResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "name": "hasLabel", + "parameters": { + "label": "Review - Needed" + } + }, + { + "operator": "or", + "operands": [ + { + "name": "isAction", + "parameters": { + "action": "merged" + } + }, + { + "name": "isAction", + "parameters": { + "action": "closed" + } + }, + { + "name": "isAction", + "parameters": { + "action": "reopened" + } + }, + { + "name": "isAction", + "parameters": { + "action": "assigned" + } + }, + { + "name": "isAction", + "parameters": { + "action": "unassigned" + } + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } + } + ] + }, + { + "operator": "or", + "operands": [ + { + "name": "activitySenderHasPermissions", + "parameters": { + "association": "MEMBER", + "permissions": "admin" + } + }, + { + "name": "isActivitySender", + "parameters": { + "user": "iSazonov" + } + } + ] + } + ] + }, + "eventType": "pull_request", + "eventNames": [ + "pull_request", + "issues", + "project_card" + ], + "actions": [ + { + "name": "removeLabel", + "parameters": { + "label": "Review - Needed" + } + } + ], + "taskName": "remove review - need when PR updated" + }, + "disabled": false + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "PullRequestCommentResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "name": "hasLabel", + "parameters": { + "label": "Review - Needed" + } + }, + { + "operator": "or", + "operands": [ + { + "name": "activitySenderHasPermissions", + "parameters": { + "association": "MEMBER", + "permissions": "admin" + } + }, + { + "name": "isActivitySender", + "parameters": { + "user": "iSazonov" + } + } + ] + } + ] + }, + "eventType": "pull_request", + "eventNames": [ + "issue_comment" + ], + "taskName": "remove review - need when PR updated - comment created", + "actions": [ + { + "name": "removeLabel", + "parameters": { + "label": "Review - Needed" + } + } + ] + } + }, + { + "taskType": "scheduled", + "capabilityId": "ScheduledSearch", + "subCapability": "ScheduledSearch", + "version": "1.1", + "config": { + "frequency": [ + { + "weekDay": 0, + "hours": [ + 0, + 12 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 1, + "hours": [ + 0, + 12 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 2, + "hours": [ + 0, + 12 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 3, + "hours": [ + 0, + 12 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 4, + "hours": [ + 0, + 12 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 5, + "hours": [ + 0, + 12 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 6, + "hours": [ + 0, + 12 + ], + "timezoneOffset": -7 + } + ], + "searchTerms": [ + { + "name": "isOpen", + "parameters": {} + }, + { + "name": "isDraftPr", + "parameters": { + "value": "true" + } + }, + { + "name": "noLabel", + "parameters": { + "label": "Review - Committee" + } + }, + { + "name": "noLabel", + "parameters": { + "label": "Waiting on Author" + } + }, + { + "name": "noLabel", + "parameters": { + "label": "Stale" + } + }, + { + "name": "noActivitySince", + "parameters": { + "days": 3 + } + } + ], + "actions": [ + { + "name": "addLabel", + "parameters": { + "label": "Waiting on Author" + } + } + ], + "taskName": "Label draft PRs as waiting on author" + }, + "disabled": false + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "PullRequestResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "name": "addedToMilestone", + "parameters": {} + }, + { + "name": "isOpen", + "parameters": {} + } + ] + }, + "eventType": "pull_request", + "eventNames": [ + "pull_request", + "issues", + "project_card" + ], + "actions": [ + { + "name": "removeMilestone", + "parameters": {} + }, + { + "name": "addReply", + "parameters": { + "comment": "Open PRs should not be assigned to milestone, so they are not assigned to the wrong milestone after they are merged. For backport consideration, use a `backport` label. " + } + } + ], + "taskName": "Remove label on Open PRs" + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "IssuesOnlyResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "name": "isAction", + "parameters": { + "action": "closed" + } + } + ] + }, + "eventType": "issue", + "eventNames": [ + "issues", + "project_card" + ], + "taskName": "Remove 'Needs-Triage' label when an issue is closed", + "actions": [ + { + "name": "removeLabel", + "parameters": { + "label": "Needs-Triage" + } + } + ] + } + }, + { + "taskType": "scheduled", + "capabilityId": "ScheduledSearch", + "subCapability": "ScheduledSearch", + "version": "1.1", + "config": { + "frequency": [ + { + "weekDay": 0, + "hours": [ + 3, + 15 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 1, + "hours": [ + 3, + 15 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 2, + "hours": [ + 3, + 15 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 3, + "hours": [ + 3, + 15 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 4, + "hours": [ + 3, + 15 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 5, + "hours": [ + 3, + 15 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 6, + "hours": [ + 3, + 15 + ], + "timezoneOffset": -7 + } + ], + "searchTerms": [ + { + "name": "isIssue", + "parameters": {} + }, + { + "name": "isOpen", + "parameters": {} + }, + { + "name": "hasLabel", + "parameters": { + "label": "Resolution-Declined" + } + }, + { + "name": "noActivitySince", + "parameters": { + "days": 1 + } + } + ], + "taskName": "Close declined issues", + "actions": [ + { + "name": "addReply", + "parameters": { + "comment": "This issue has been marked as declined and has not had any activity for **1 day**. It has been closed for housekeeping purposes." + } + }, + { + "name": "closeIssue", + "parameters": {} + } + ] + } + }, + { + "taskType": "scheduled", + "capabilityId": "ScheduledSearch", + "subCapability": "ScheduledSearch", + "version": "1.1", + "config": { + "frequency": [ + { + "weekDay": 0, + "hours": [ + 2, + 14 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 1, + "hours": [ + 2, + 14 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 2, + "hours": [ + 2, + 14 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 3, + "hours": [ + 2, + 14 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 4, + "hours": [ + 2, + 14 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 5, + "hours": [ + 2, + 14 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 6, + "hours": [ + 2, + 14 + ], + "timezoneOffset": -7 + } + ], + "searchTerms": [ + { + "name": "isIssue", + "parameters": {} + }, + { + "name": "isOpen", + "parameters": {} + }, + { + "name": "hasLabel", + "parameters": { + "label": "Resolution-By Design" + } + }, + { + "name": "noActivitySince", + "parameters": { + "days": 1 + } + } + ], + "taskName": "Close by-design issues", + "actions": [ + { + "name": "addReply", + "parameters": { + "comment": "This issue has been marked as by-design and has not had any activity for **1 day**. It has been closed for housekeeping purposes." + } + }, + { + "name": "closeIssue", + "parameters": {} + } + ] + } + }, + { + "taskType": "scheduled", + "capabilityId": "ScheduledSearch", + "subCapability": "ScheduledSearch", + "version": "1.1", + "config": { + "frequency": [ + { + "weekDay": 0, + "hours": [ + 2, + 14 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 1, + "hours": [ + 2, + 14 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 2, + "hours": [ + 2, + 14 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 3, + "hours": [ + 2, + 14 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 4, + "hours": [ + 2, + 14 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 5, + "hours": [ + 2, + 14 + ], + "timezoneOffset": -7 + }, + { + "weekDay": 6, + "hours": [ + 2, + 14 + ], + "timezoneOffset": -7 + } + ], + "searchTerms": [ + { + "name": "isIssue", + "parameters": {} + }, + { + "name": "isOpen", + "parameters": {} + }, + { + "name": "hasLabel", + "parameters": { + "label": "Resolution-Won't Fix" + } + }, + { + "name": "noActivitySince", + "parameters": { + "days": 1 + } + } + ], + "taskName": "Close won't fix issues", + "actions": [ + { + "name": "addReply", + "parameters": { + "comment": "This issue has been marked as won't fix and has not had any activity for **1 day**. It has been closed for housekeeping purposes." + } + }, + { + "name": "closeIssue", + "parameters": {} + } + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "InPrLabel", + "subCapability": "InPrLabel", + "version": "1.0", + "config": { + "taskName": "Add 'In-PR' label to issue", + "label_inPr": "In-PR", + "fixedLabelEnabled": true, + "label_fixed": "Resolution-Fixed" + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "IssueCommentResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "name": "isActivitySender", + "parameters": { + "user": { + "type": "author" + } + } + }, + { + "name": "hasLabel", + "parameters": { + "label": "Waiting on Author" + } + } + ] + }, + "eventType": "issue", + "eventNames": [ + "issue_comment" + ], + "taskName": "Remove needs author feedback label when the author comments on an issue", + "actions": [ + { + "name": "removeLabel", + "parameters": { + "label": "Waiting on Author" + } + } + ] + } + }, + { + "taskType": "scheduled", + "capabilityId": "ScheduledSearch", + "subCapability": "ScheduledSearch", + "version": "1.1", + "config": { + "frequency": [ + { + "weekDay": 0, + "hours": [ + 8, + 20 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 1, + "hours": [ + 8, + 20 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 2, + "hours": [ + 8, + 20 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 3, + "hours": [ + 8, + 20 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 4, + "hours": [ + 8, + 20 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 5, + "hours": [ + 8, + 20 + ], + "timezoneOffset": -8 + }, + { + "weekDay": 6, + "hours": [ + 8, + 20 + ], + "timezoneOffset": -8 + } + ], + "searchTerms": [ + { + "name": "isOpen", + "parameters": {} + }, + { + "name": "isIssue", + "parameters": {} + }, + { + "name": "hasLabel", + "parameters": { + "label": "Waiting on Author" + } + }, + { + "name": "noActivitySince", + "parameters": { + "days": 7 + } + } + ], + "taskName": "Close stale issues", + "actions": [ + { + "name": "addReply", + "parameters": { + "comment": "This issue has been marked as \"Waiting on Author\" and has not had any activity for **7 day**. It has been closed for housekeeping purposes." + } + }, + { + "name": "closeIssue", + "parameters": {} + } + ] + } + } +]