extensions/.github/fabricbot.json

1137 строки
27 KiB
JSON

{
"version": "1.0",
"tasks": [
{
"taskType": "trigger",
"capabilityId": "CodeFlowLink",
"subCapability": "CodeFlowLink",
"version": "1.0",
"config": {
"taskName": "Add a CodeFlow link to new pull requests"
}
},
{
"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-author-feedback :mailbox_with_no_mail:"
}
}
],
"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-author-feedback :mailbox_with_no_mail:"
}
}
]
},
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "waiting-author-feedback :mailbox_with_no_mail:"
}
}
],
"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-author-feedback :mailbox_with_no_mail:"
}
}
]
},
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "waiting-author-feedback :mailbox_with_no_mail:"
}
}
],
"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-author-feedback :mailbox_with_no_mail:"
}
}
]
},
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "waiting-author-feedback :mailbox_with_no_mail:"
}
}
],
"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": "no-recent-activity :zzz:"
}
}
]
},
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "no-recent-activity :zzz:"
}
}
],
"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": "no-recent-activity :zzz:"
}
}
]
},
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "no-recent-activity :zzz:"
}
}
],
"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": "no-recent-activity :zzz:"
}
}
]
},
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "no-recent-activity :zzz:"
}
}
],
"eventType": "pull_request",
"eventNames": [
"pull_request_review"
]
}
},
{
"taskType": "scheduled",
"capabilityId": "ScheduledSearch",
"subCapability": "ScheduledSearch",
"version": "1.1",
"config": {
"taskName": "Close stale issues and pull requests",
"frequency": [
{
"weekDay": 0,
"hours": [
2,
14
],
"timezoneOffset": 11
},
{
"weekDay": 1,
"hours": [
2,
14
],
"timezoneOffset": 11
},
{
"weekDay": 2,
"hours": [
2,
14
],
"timezoneOffset": 11
},
{
"weekDay": 3,
"hours": [
2,
14
],
"timezoneOffset": 11
},
{
"weekDay": 4,
"hours": [
2,
14
],
"timezoneOffset": 11
},
{
"weekDay": 5,
"hours": [
2,
14
],
"timezoneOffset": 11
},
{
"weekDay": 6,
"hours": [
2,
14
],
"timezoneOffset": 11
}
],
"searchTerms": [
{
"name": "isPr",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
},
{
"name": "hasLabel",
"parameters": {
"label": "waiting-author-feedback :mailbox_with_no_mail:"
}
},
{
"name": "hasLabel",
"parameters": {
"label": "no-recent-activity :zzz:"
}
},
{
"name": "noActivitySince",
"parameters": {
"days": 7
}
},
{
"name": "isIssue",
"parameters": {}
}
],
"actions": [
{
"name": "closeIssue",
"parameters": {}
},
{
"name": "removeMilestone",
"parameters": {}
}
]
}
},
{
"taskType": "scheduled",
"capabilityId": "ScheduledSearch",
"subCapability": "ScheduledSearch",
"version": "1.1",
"config": {
"taskName": "Add no recent activity label to issues and pull requests",
"frequency": [
{
"weekDay": 0,
"hours": [
2,
5,
8,
11,
14,
17,
20,
23
],
"timezoneOffset": 10
},
{
"weekDay": 1,
"hours": [
2,
5,
8,
11,
14,
17,
20,
23
],
"timezoneOffset": 10
},
{
"weekDay": 2,
"hours": [
2,
5,
8,
11,
14,
17,
20,
23
],
"timezoneOffset": 10
},
{
"weekDay": 3,
"hours": [
2,
5,
8,
11,
14,
17,
20,
23
],
"timezoneOffset": 10
},
{
"weekDay": 4,
"hours": [
2,
5,
8,
11,
14,
17,
20,
23
],
"timezoneOffset": 10
},
{
"weekDay": 5,
"hours": [
2,
5,
8,
11,
14,
17,
20,
23
],
"timezoneOffset": 10
},
{
"weekDay": 6,
"hours": [
2,
5,
8,
11,
14,
17,
20,
23
],
"timezoneOffset": 10
}
],
"searchTerms": [
{
"name": "isOpen",
"parameters": {}
},
{
"name": "hasLabel",
"parameters": {
"label": "waiting-author-feedback :mailbox_with_no_mail:"
}
},
{
"name": "noActivitySince",
"parameters": {
"days": 14
}
},
{
"name": "noLabel",
"parameters": {
"label": "no-recent-activity :zzz:"
}
}
],
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "no-recent-activity :zzz:"
}
},
{
"name": "addReply",
"parameters": {
"comment": "This submission has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for **14 days**. \n\nIt will be closed if no further activity occurs **within 7 days of this comment**."
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "AutoMerge",
"subCapability": "AutoMerge",
"version": "1.0",
"config": {
"taskName": "Automatically merge pull requests",
"label": "automerge :octocat:",
"silentMode": false,
"minMinutesOpen": "60",
"mergeType": "squash",
"deleteBranches": true,
"requireAllStatuses": false,
"removeLabelOnPush": true,
"allowAutoMergeInstructionsWithoutLabel": true,
"conditionalMergeTypes": [
{
"mergeType": "squash",
"condition": {
"placeholder": ""
}
}
],
"usePrDescriptionAsCommitMessage": true
},
"disabled": false
},
{
"taskType": "trigger",
"capabilityId": "ReleaseAnnouncement",
"subCapability": "ReleaseAnnouncement",
"version": "1.0",
"config": {
"taskName": "Release announcement",
"prReply": "The fix is included in ${pkgName} ${version}.",
"issueReply": "Fixed in ${pkgName} ${version}."
}
},
{
"taskType": "trigger",
"capabilityId": "InPrLabel",
"subCapability": "InPrLabel",
"version": "1.0",
"config": {
"taskName": "In-PR label",
"label_inPr": "work in progress :construction:",
"fixedLabelEnabled": false,
"label_fixed": "tell-mode"
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "prTargetsBranch",
"parameters": {
"branchName": "main"
}
},
{
"operator": "and",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "merged"
}
},
{
"operator": "not",
"operands": [
{
"name": "titleContains",
"parameters": {
"titlePattern": "[main] Update dependencies"
}
}
]
}
]
}
]
},
"eventType": "pull_request",
"eventNames": [
"pull_request",
"issues",
"project_card"
],
"actions": [
{
"name": "addMilestone",
"parameters": {
"milestoneName": "8.0 Preview5"
}
}
],
"taskName": "Apply milestone to PRs on the main branch",
"dangerZone": {
"respondToBotActions": true,
"acceptRespondToBotActions": true
}
},
"disabled": true
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "isActivitySender",
"parameters": {
"user": "dotnet-maestro[bot]"
}
},
{
"name": "isAction",
"parameters": {
"action": "opened"
}
}
]
},
"eventType": "pull_request",
"eventNames": [
"pull_request",
"issues",
"project_card"
],
"taskName": "Auto-approve maestro PRs",
"actions": [
{
"name": "approvePullRequest",
"parameters": {
"comment": "Go, you big red fire engine!"
}
}
]
},
"disabled": true
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "labelAdded",
"parameters": {
"label": "automerge :octocat:"
}
},
{
"operator": "or",
"operands": [
{
"name": "activitySenderHasPermissions",
"parameters": {
"permissions": "admin"
}
},
{
"name": "activitySenderHasPermissions",
"parameters": {
"permissions": "write"
}
}
]
}
]
},
"eventType": "pull_request",
"eventNames": [
"pull_request",
"issues",
"project_card"
],
"taskName": "Auto-approve auto-merge PRs",
"actions": [
{
"name": "approvePullRequest",
"parameters": {
"comment": "Happy to oblige"
}
}
]
},
"disabled": true
},
{
"taskType": "trigger",
"capabilityId": "EmailCleanser",
"subCapability": "EmailCleanser",
"version": "1.0",
"config": {
"taskName": "Cleanse emails"
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": []
},
"eventType": "pull_request",
"eventNames": [
"pull_request",
"issues",
"project_card"
],
"actions": [
{
"name": "assignToUser",
"parameters": {
"user": {
"type": "prAuthor"
}
}
}
],
"taskName": "Assign PRs to authors"
}
},
{
"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-author-feedback :mailbox_with_no_mail:"
}
}
]
},
"eventType": "issue",
"eventNames": [
"issue_comment"
],
"taskName": "Remove needs author feedback label when the author comments on an issue",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "waiting-author-feedback :mailbox_with_no_mail:"
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssueCommentResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "hasLabel",
"parameters": {
"label": "no-recent-activity :zzz:"
}
}
]
},
"eventType": "issue",
"eventNames": [
"issue_comment"
],
"taskName": "Remove no recent activity label when an issue is commented on",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "no-recent-activity :zzz:"
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssuesOnlyResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"operator": "not",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "closed"
}
}
]
},
{
"name": "hasLabel",
"parameters": {
"label": "no-recent-activity :zzz:"
}
}
]
},
"eventType": "issue",
"eventNames": [
"issues",
"project_card"
],
"taskName": "Remove no recent activity label from issue",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "no-recent-activity :zzz:"
}
}
]
}
},
{
"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 closed issues from milestones",
"actions": [
{
"name": "removeMilestone",
"parameters": {}
}
]
}
},
{
"taskType": "scheduled",
"capabilityId": "ScheduledSearch",
"subCapability": "ScheduledSearch",
"version": "1.1",
"config": {
"frequency": [
{
"weekDay": 0,
"hours": [
1,
7,
13,
19
],
"timezoneOffset": 0
},
{
"weekDay": 1,
"hours": [
1,
7,
13,
19
],
"timezoneOffset": 0
},
{
"weekDay": 2,
"hours": [
1,
7,
13,
19
],
"timezoneOffset": 0
},
{
"weekDay": 3,
"hours": [
1,
7,
13,
19
],
"timezoneOffset": 0
},
{
"weekDay": 4,
"hours": [
1,
7,
13,
19
],
"timezoneOffset": 0
},
{
"weekDay": 5,
"hours": [
1,
7,
13,
19
],
"timezoneOffset": 0
},
{
"weekDay": 6,
"hours": [
1,
7,
13,
19
],
"timezoneOffset": 0
}
],
"searchTerms": [
{
"name": "isClosed",
"parameters": {}
},
{
"name": "noActivitySince",
"parameters": {
"days": 30
}
},
{
"name": "isUnlocked",
"parameters": {}
}
],
"actions": [
{
"name": "lockIssue",
"parameters": {
"reason": "resolved",
"label": "will_lock_this"
}
}
],
"taskName": "Lock stale issues and PRs"
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "or",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "merged"
}
},
{
"name": "isAction",
"parameters": {
"action": "closed"
}
}
]
},
"eventType": "pull_request",
"eventNames": [
"pull_request",
"issues",
"project_card"
],
"taskName": "Remove intermediate labels after PR is closed or merged",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "work in progress :construction:"
}
},
{
"name": "removeLabel",
"parameters": {
"label": "waiting-author-feedback :mailbox_with_no_mail:"
}
},
{
"name": "removeLabel",
"parameters": {
"label": "waiting-on-team :wave:"
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssuesOnlyResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "or",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "closed"
}
}
]
},
"eventType": "issue",
"eventNames": [
"issues",
"project_card"
],
"taskName": "Remove intermediate labels from closed issue",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "untriaged"
}
},
{
"name": "removeLabel",
"parameters": {
"label": "waiting-author-feedback :mailbox_with_no_mail:"
}
}
]
}
}
],
"userGroups": []
}