razor-tooling/.github/fabricbot.json

1604 строки
35 KiB
JSON

{
"version": "1.0",
"tasks": [
{
"taskType": "trigger",
"capabilityId": "AutoMerge",
"subCapability": "AutoMerge",
"version": "1.0",
"config": {
"taskName": "[PR Automerge] Automatically merge Pull Requests with the 'auto-merge' label",
"label": "auto-merge",
"mergeType": "squash",
"deleteBranches": true,
"removeLabelOnPush": true,
"minMinutesOpen": "12",
"conditionalMergeTypes": [
{
"mergeType": "merge",
"condition": {
"placeholder": "labels",
"operator": "contains",
"label_name": "type-merge forward :fast_forward:"
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "opened"
}
},
{
"name": "isActivitySender",
"parameters": {
"user": "dotnet-maestro[bot]"
}
},
{
"name": "titleContains",
"parameters": {
"titlePattern": "Update dependencies"
}
}
]
},
"eventType": "pull_request",
"eventNames": [
"pull_request",
"issues",
"project_card"
],
"taskName": "[Infrastructure PRs] Add area-infrastructure label to dependency update Pull Requests",
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "area-infrastructure"
}
},
{
"name": "addLabel",
"parameters": {
"label": "type-dependency update :arrow_up_small:"
}
},
{
"name": "approvePullRequest",
"parameters": {
"comment": "Auto-approving dependency update."
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "opened"
}
},
{
"name": "isActivitySender",
"parameters": {
"user": "dotnet-maestro-bot"
}
},
{
"name": "titleContains",
"parameters": {
"titlePattern": "Merge branch"
}
}
]
},
"eventType": "pull_request",
"eventNames": [
"pull_request",
"issues",
"project_card"
],
"taskName": "[Infrastructure PRs] Add area-infrastructure label to auto-merge Pull Requests",
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "area-infrastructure"
}
},
{
"name": "addLabel",
"parameters": {
"label": "type-merge forward :fast_forward:"
}
},
{
"name": "addLabel",
"parameters": {
"label": "auto-merge"
}
},
{
"name": "approvePullRequest",
"parameters": {
"comment": "Auto-approving branch merge."
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssuesOnlyResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "or",
"operands": [
{
"operator": "and",
"operands": [
{
"name": "isOpen",
"parameters": {}
},
{
"operator": "not",
"operands": [
{
"name": "isInMilestone",
"parameters": {}
}
]
},
{
"operator": "not",
"operands": [
{
"name": "hasLabel",
"parameters": {
"label": "needs more info"
}
}
]
}
]
},
{
"operator": "and",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "opened"
}
},
{
"operator": "not",
"operands": [
{
"name": "isInMilestone",
"parameters": {}
}
]
},
{
"operator": "not",
"operands": [
{
"name": "hasLabel",
"parameters": {
"label": "needs more info"
}
}
]
}
]
}
]
},
"eventType": "issue",
"eventNames": [
"issues",
"project_card"
],
"taskName": "[Issues] Tag all non-milestone issues as \"untriaged\"",
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "untriaged"
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssuesOnlyResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "opened"
}
},
{
"operator": "or",
"operands": [
{
"name": "isActivitySender",
"parameters": {
"user": "vsfeedback"
}
},
{
"name": "bodyContains",
"parameters": {
"bodyPattern": "Copied from original issue"
}
}
]
}
]
},
"eventType": "issue",
"eventNames": [
"issues",
"project_card"
],
"taskName": "[Issues] Tag vsfeedback issues with bot label",
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "author: migration bot :robot:"
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssuesOnlyResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "or",
"operands": [
{
"name": "addedToMilestone",
"parameters": {}
},
{
"name": "isAction",
"parameters": {
"action": "closed"
}
}
]
},
"eventType": "issue",
"eventNames": [
"issues",
"project_card"
],
"taskName": "[Issues] Issues with milestone should be removed from 'untriaged' tag",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "untriaged"
}
}
]
}
},
{
"taskType": "scheduled",
"capabilityId": "ScheduledSearch",
"subCapability": "ScheduledSearch",
"version": "1.1",
"config": {
"frequency": [
{
"weekDay": 0,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 1,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 2,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 3,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 4,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 5,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 6,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
}
],
"searchTerms": [
{
"name": "isClosed",
"parameters": {}
},
{
"name": "noActivitySince",
"parameters": {
"days": 30
}
},
{
"name": "isIssue",
"parameters": {}
},
{
"name": "isUnlocked",
"parameters": {}
}
],
"taskName": "[Closed Issue Management] Lock issues closed without activity for over 30 days",
"actions": [
{
"name": "lockIssue",
"parameters": {
"reason": "resolved"
}
}
]
}
},
{
"taskType": "scheduled",
"capabilityId": "ScheduledSearch",
"subCapability": "ScheduledSearch",
"version": "1.1",
"config": {
"frequency": [
{
"weekDay": 1,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 2,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 3,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 4,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 5,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
}
],
"searchTerms": [
{
"name": "isOpen",
"parameters": {}
},
{
"name": "isIssue",
"parameters": {}
},
{
"name": "hasLabel",
"parameters": {
"label": "needs more info"
}
},
{
"name": "noActivitySince",
"parameters": {
"days": 7
}
},
{
"name": "noLabel",
"parameters": {
"label": "no recent activity"
}
}
],
"taskName": "[Idle Issue Management] Add no recent activity label to issues",
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "no recent activity"
}
},
{
"name": "addReply",
"parameters": {
"comment": "This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for **7 days**. It will be closed if no further activity occurs **within 7 days of this comment**. If it *is* closed, feel free to comment when you are able to provide the additional information and we will re-investigate.\n\nPlease see our [Issue Management Policies](https://github.com/dotnet/razor-tooling/blob/main/docs/IssueManagementPolicies.md) for more information."
}
}
]
}
},
{
"taskType": "scheduled",
"capabilityId": "ScheduledSearch",
"subCapability": "ScheduledSearch",
"version": "1.1",
"config": {
"frequency": [
{
"weekDay": 1,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 2,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 3,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 4,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 5,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
}
],
"searchTerms": [
{
"name": "isIssue",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
},
{
"name": "hasLabel",
"parameters": {
"label": "needs more info"
}
},
{
"name": "hasLabel",
"parameters": {
"label": "no recent activity"
}
},
{
"name": "noActivitySince",
"parameters": {
"days": 7
}
}
],
"taskName": "[Idle Issue Management] Close stale issues",
"actions": [
{
"name": "closeIssue",
"parameters": {}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssueCommentResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "created"
}
},
{
"name": "hasLabel",
"parameters": {
"label": "needs more info"
}
},
{
"name": "isOpen",
"parameters": {}
},
{
"operator": "or",
"operands": [
{
"name": "isActivitySender",
"parameters": {
"user": {
"type": "author"
}
}
},
{
"operator": "and",
"operands": [
{
"name": "hasLabel",
"parameters": {
"label": "author: migration bot :robot:"
}
},
{
"operator": "not",
"operands": [
{
"name": "activitySenderHasPermissions",
"parameters": {
"permissions": "write"
}
}
]
}
]
}
]
}
]
},
"eventType": "issue",
"eventNames": [
"issue_comment"
],
"taskName": "[Idle Issue Management] Remove 'needs more info' and 'no recent activity' label when the author comments on an issue",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "no recent activity"
}
},
{
"name": "removeLabel",
"parameters": {
"label": "needs more info"
}
},
{
"name": "addLabel",
"parameters": {
"label": "untriaged"
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssueCommentResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"operator": "not",
"operands": [
{
"name": "isOpen",
"parameters": {}
}
]
},
{
"name": "isAction",
"parameters": {
"action": "created"
}
},
{
"name": "hasLabel",
"parameters": {
"label": "no recent activity"
}
},
{
"name": "hasLabel",
"parameters": {
"label": "needs more info"
}
},
{
"operator": "not",
"operands": [
{
"name": "noActivitySince",
"parameters": {
"days": 7
}
}
]
},
{
"operator": "not",
"operands": [
{
"name": "isCloseAndComment",
"parameters": {}
}
]
},
{
"operator": "or",
"operands": [
{
"name": "isActivitySender",
"parameters": {
"user": {
"type": "author"
}
}
},
{
"operator": "and",
"operands": [
{
"name": "hasLabel",
"parameters": {
"label": "author: migration bot :robot:"
}
},
{
"operator": "not",
"operands": [
{
"name": "activitySenderHasPermissions",
"parameters": {
"permissions": "write"
}
}
]
}
]
}
]
}
]
},
"eventType": "issue",
"eventNames": [
"issue_comment"
],
"taskName": "[Idle Issue Management] For issues closed due to inactivity, re-open an issue if issue author posts a reply within 7 days",
"actions": [
{
"name": "reopenIssue",
"parameters": {}
},
{
"name": "removeLabel",
"parameters": {
"label": "needs more info"
}
},
{
"name": "removeLabel",
"parameters": {
"label": "no recent activity"
}
},
{
"name": "addLabel",
"parameters": {
"label": "untriaged"
}
}
]
}
},
{
"taskType": "scheduled",
"capabilityId": "ScheduledSearch",
"subCapability": "ScheduledSearch",
"version": "1.1",
"config": {
"frequency": [
{
"weekDay": 0,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 1,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 2,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 3,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 4,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 5,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
},
{
"weekDay": 6,
"hours": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23
],
"timezoneOffset": -7
}
],
"searchTerms": [
{
"name": "isOpen",
"parameters": {}
},
{
"name": "isIssue",
"parameters": {}
},
{
"name": "hasLabel",
"parameters": {
"label": ":heavy_check_mark: resolution: answered"
}
},
{
"name": "noActivitySince",
"parameters": {
"days": 1
}
}
],
"taskName": "[Resolved Issue Management] Close answered issues after 1 day of inactivity",
"actions": [
{
"name": "closeIssue",
"parameters": {}
},
{
"name": "addReply",
"parameters": {
"comment": "This issue has been resolved and has not had any activity for **1 day**. It will be closed for housekeeping purposes.\n\nPlease see our [Issue Management Policies](https://github.com/dotnet/razor-tooling/blob/main/docs/IssueManagementPolicies.md) for more information."
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "opened"
}
},
{
"name": "isActivitySender",
"parameters": {
"user": "dotnet-maestro-bot"
}
},
{
"name": "titleContains",
"parameters": {
"titlePattern": "Merge branch"
}
},
{
"name": "prTargetsBranch",
"parameters": {
"branchName": "main"
}
}
]
},
"eventType": "pull_request",
"eventNames": [
"pull_request",
"issues",
"project_card"
],
"taskName": "[Infrastructure PRs] Add auto-merge label to branch merge Pull Requests in main",
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "auto-merge"
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssuesOnlyResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "hasLabel",
"parameters": {
"label": "needs more info"
}
}
]
},
"eventType": "issue",
"eventNames": [
"issues",
"project_card"
],
"taskName": "[Issues] 'needs more info' tag removes 'untriaged' tag",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "untriaged"
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssuesOnlyResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "hasLabel",
"parameters": {
"label": "vs-insertion"
}
},
{
"name": "titleContains",
"parameters": {
"titlePattern": "[Automated] PRs inserted in VS build"
}
}
]
},
"eventType": "issue",
"eventNames": [
"issues",
"project_card"
],
"taskName": "Close automatically generated PR tagger issues",
"actions": [
{
"name": "closeIssue",
"parameters": {}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "merged"
}
},
{
"name": "prTargetsBranch",
"parameters": {
"branchName": "main"
}
}
]
},
"eventType": "pull_request",
"eventNames": [
"pull_request",
"issues",
"project_card"
],
"taskName": "[PRs] Milestone tracking",
"actions": [
{
"name": "addMilestone",
"parameters": {
"milestoneName": "Next"
}
}
]
}
}
],
"userGroups": []
}