Files
Jeff Handley 443ece48d0 Prepare the FabricBot config for migration to Policy Service (#98256)
* Remove references to project board automation

* Update milestone conditions to be compatible with policy-service migration

* Remove disabled automation

* Remove 'maintain' permission check (behaves the same as 'write')

* Use the isPr condition everywhere it was implied before

* Use the isIssue condition everywhere it was implied before
2024-02-12 21:54:19 -08:00

2939 lines
66 KiB
JSON

[
{
"taskType": "scheduledAndTrigger",
"capabilityId": "IssueRouting",
"subCapability": "@Mention",
"version": "1.0",
"config": {
"taskName": "Area-owners",
"labelsAndMentions": [
{
"labels": [
"area-AssemblyLoader-coreclr"
],
"mentionees": [
"vitek-karas",
"agocke",
"vsadov"
]
},
{
"labels": [
"area-AssemblyLoader-mono"
],
"mentionees": []
},
{
"labels": [
"area-CodeGen-coreclr"
],
"mentionees": [
"JulieLeeMSFT",
"jakobbotsch"
]
},
{
"labels": [
"area-Codegen-Interpreter-mono"
],
"mentionees": [
"brzvlad",
"kotlarmilos"
]
},
{
"labels": [
"area-Codegen-JIT-Mono"
],
"mentionees": [
"SamMonoRT",
"vargaz"
]
},
{
"labels": [
"area-CodeGen-LLVM-Mono"
],
"mentionees": [
"SamMonoRT",
"vargaz"
]
},
{
"labels": [
"area-Codegen-Intrinsics-mono"
],
"mentionees": [
"SamMonoRT",
"fanyang-mono"
]
},
{
"labels": [
"area-CodeGen-meta-Mono"
],
"mentionees": [
"SamMonoRT",
"vargaz",
"lambdageek"
]
},
{
"labels": [
"area-System.DateTime"
],
"mentionees": [
"dotnet/area-system-datetime"
]
},
{
"labels": [
"area-Debugger-mono"
],
"mentionees": [
"thaystg"
]
},
{
"labels": [
"area-DependencyModel"
],
"mentionees": [
"dotnet/area-dependencymodel"
]
},
{
"labels": [
"area-Diagnostics-coreclr"
],
"mentionees": [
"tommcdon"
]
},
{
"labels": [
"area-Extensions-Caching"
],
"mentionees": [
"dotnet/area-extensions-caching"
]
},
{
"labels": [
"area-Extensions-Configuration"
],
"mentionees": [
"dotnet/area-extensions-configuration"
]
},
{
"labels": [
"area-Extensions-DependencyInjection"
],
"mentionees": [
"dotnet/area-extensions-dependencyinjection"
]
},
{
"labels": [
"area-Extensions-FileSystem"
],
"mentionees": [
"dotnet/area-extensions-filesystem"
]
},
{
"labels": [
"area-Extensions-Hosting"
],
"mentionees": [
"dotnet/area-extensions-hosting"
]
},
{
"labels": [
"area-Extensions-HttpClientFactory"
],
"mentionees": [
"dotnet/ncl"
]
},
{
"labels": [
"area-Extensions-Logging"
],
"mentionees": [
"dotnet/area-extensions-logging"
]
},
{
"labels": [
"area-Extensions-Options"
],
"mentionees": [
"dotnet/area-extensions-options"
]
},
{
"labels": [
"area-Extensions-Primitives"
],
"mentionees": [
"dotnet/area-extensions-primitives"
]
},
{
"labels": [
"area-GC-coreclr"
],
"mentionees": [
"dotnet/gc"
]
},
{
"labels": [
"area-GC-mono"
],
"mentionees": [
"brzvlad"
]
},
{
"labels": [
"area-Host"
],
"mentionees": [
"vitek-karas",
"agocke",
"vsadov"
]
},
{
"labels": [
"area-HostModel"
],
"mentionees": [
"vitek-karas",
"agocke"
]
},
{
"labels": [
"area-ILTools-coreclr"
],
"mentionees": [
"JulieLeeMSFT"
]
},
{
"labels": [
"area-Tools-ILVerification"
],
"mentionees": [
"JulieLeeMSFT"
]
},
{
"labels": [
"area-Infrastructure"
],
"mentionees": [
"dotnet/runtime-infrastructure"
]
},
{
"labels": [
"area-Infrastructure-coreclr"
],
"mentionees": [
"hoyosjs"
]
},
{
"labels": [
"area-Infrastructure-libraries"
],
"mentionees": [
"dotnet/area-infrastructure-libraries"
]
},
{
"labels": [
"area-Infrastructure-mono"
],
"mentionees": [
"directhex"
]
},
{
"labels": [
"area-Meta"
],
"mentionees": [
"dotnet/area-meta"
]
},
{
"labels": [
"area-Microsoft.CSharp"
],
"mentionees": [
"cston"
]
},
{
"labels": [
"area-Microsoft.Extensions"
],
"mentionees": [
"dotnet/area-microsoft-extensions"
]
},
{
"labels": [
"area-Microsoft.VisualBasic"
],
"mentionees": [
"cston"
]
},
{
"labels": [
"area-Microsoft.Win32"
],
"mentionees": [
"dotnet/area-microsoft-win32"
]
},
{
"labels": [
"area-NativeAOT-coreclr"
],
"mentionees": [
"agocke",
"MichalStrehovsky",
"jkotas"
]
},
{
"labels": [
"area-Single-File"
],
"mentionees": [
"agocke",
"vitek-karas",
"vsadov"
]
},
{
"labels": [
"area-System.Buffers"
],
"mentionees": [
"dotnet/area-system-buffers"
]
},
{
"labels": [
"area-System.CodeDom"
],
"mentionees": [
"dotnet/area-system-codedom"
]
},
{
"labels": [
"area-System.Collections"
],
"mentionees": [
"dotnet/area-system-collections"
]
},
{
"labels": [
"area-System.ComponentModel"
],
"mentionees": [
"dotnet/area-system-componentmodel"
]
},
{
"labels": [
"area-System.ComponentModel.Composition"
],
"mentionees": [
"dotnet/area-system-componentmodel-composition"
]
},
{
"labels": [
"area-System.ComponentModel.DataAnnotations"
],
"mentionees": [
"dotnet/area-system-componentmodel-dataannotations"
]
},
{
"labels": [
"area-System.Composition"
],
"mentionees": [
"dotnet/area-system-composition"
]
},
{
"labels": [
"area-System.Configuration"
],
"mentionees": [
"dotnet/area-system-configuration"
]
},
{
"labels": [
"area-System.Console"
],
"mentionees": [
"dotnet/area-system-console"
]
},
{
"labels": [
"area-System.Data"
],
"mentionees": [
"roji",
"ajcvickers"
]
},
{
"labels": [
"area-System.Data.Odbc"
],
"mentionees": [
"roji",
"ajcvickers"
]
},
{
"labels": [
"area-System.Data.OleDB"
],
"mentionees": [
"roji",
"ajcvickers"
]
},
{
"labels": [
"area-System.Data.SqlClient"
],
"mentionees": [
"davoudeshtehari",
"david-engel",
"jrahnama"
]
},
{
"labels": [
"area-System.Diagnostics"
],
"mentionees": [
"tommcdon"
]
},
{
"labels": [
"area-System.Diagnostics.Activity"
],
"mentionees": [
"dotnet/area-system-diagnostics-activity"
]
},
{
"labels": [
"area-System.Diagnostics.EventLog"
],
"mentionees": [
"dotnet/area-system-diagnostics-eventlog"
]
},
{
"labels": [
"area-System.Diagnostics.PerformanceCounter"
],
"mentionees": [
"dotnet/area-system-diagnostics-performancecounter"
]
},
{
"labels": [
"area-System.Diagnostics.Process"
],
"mentionees": [
"dotnet/area-system-diagnostics-process"
]
},
{
"labels": [
"area-System.Diagnostics.TraceSource"
],
"mentionees": [
"dotnet/area-system-diagnostics-tracesource"
]
},
{
"labels": [
"area-System.Diagnostics.Tracing"
],
"mentionees": [
"tarekgh",
"tommcdon",
"pjanotti"
]
},
{
"labels": [
"area-System.DirectoryServices"
],
"mentionees": [
"dotnet/area-system-directoryservices",
"jay98014"
]
},
{
"labels": [
"area-System.Drawing"
],
"mentionees": [
"dotnet/area-system-drawing"
]
},
{
"labels": [
"area-System.Dynamic.Runtime"
],
"mentionees": [
"cston"
]
},
{
"labels": [
"area-System.Formats.Asn1"
],
"mentionees": [
"dotnet/area-system-formats-asn1",
"bartonjs",
"vcsjones"
]
},
{
"labels": [
"area-System.Formats.Cbor"
],
"mentionees": [
"dotnet/area-system-formats-cbor",
"bartonjs",
"vcsjones"
]
},
{
"labels": [
"area-System.Formats.Tar"
],
"mentionees": [
"dotnet/area-system-formats-tar"
]
},
{
"labels": [
"area-System.Globalization"
],
"mentionees": [
"dotnet/area-system-globalization"
]
},
{
"labels": [
"area-System.IO"
],
"mentionees": [
"dotnet/area-system-io"
]
},
{
"labels": [
"area-System.IO.Compression"
],
"mentionees": [
"dotnet/area-system-io-compression"
]
},
{
"labels": [
"area-System.IO.Hashing"
],
"mentionees": [
"dotnet/area-system-io-hashing",
"bartonjs",
"vcsjones"
]
},
{
"labels": [
"area-System.IO.Ports"
],
"mentionees": [
"dotnet/area-system-io-ports"
]
},
{
"labels": [
"area-System.Linq"
],
"mentionees": [
"dotnet/area-system-linq"
]
},
{
"labels": [
"area-System.Linq.Expressions"
],
"mentionees": [
"cston"
]
},
{
"labels": [
"area-System.Linq.Parallel"
],
"mentionees": [
"dotnet/area-system-linq-parallel"
]
},
{
"labels": [
"area-System.Management"
],
"mentionees": [
"dotnet/area-system-management"
]
},
{
"labels": [
"area-System.Memory"
],
"mentionees": [
"dotnet/area-system-memory"
]
},
{
"labels": [
"area-System.Net"
],
"mentionees": [
"dotnet/ncl"
]
},
{
"labels": [
"area-System.Net.Http"
],
"mentionees": [
"dotnet/ncl"
]
},
{
"labels": [
"area-System.Net.Quic"
],
"mentionees": [
"dotnet/ncl"
]
},
{
"labels": [
"area-System.Net.Security"
],
"mentionees": [
"dotnet/ncl",
"bartonjs",
"vcsjones"
]
},
{
"labels": [
"area-System.Net.Sockets"
],
"mentionees": [
"dotnet/ncl"
]
},
{
"labels": [
"area-System.Numerics"
],
"mentionees": [
"dotnet/area-system-numerics"
]
},
{
"labels": [
"area-System.Numerics.Tensors"
],
"mentionees": [
"dotnet/area-system-numerics-tensors"
]
},
{
"labels": [
"area-System.Reflection"
],
"mentionees": [
"dotnet/area-system-reflection"
]
},
{
"labels": [
"area-System.Reflection.Emit"
],
"mentionees": [
"dotnet/area-system-reflection-emit"
]
},
{
"labels": [
"area-System.Reflection.Metadata"
],
"mentionees": [
"dotnet/area-system-reflection-metadata"
]
},
{
"labels": [
"area-System.Resources"
],
"mentionees": [
"dotnet/area-system-resources"
]
},
{
"labels": [
"area-System.Runtime"
],
"mentionees": [
"dotnet/area-system-runtime"
]
},
{
"labels": [
"area-System.Runtime.CompilerServices"
],
"mentionees": [
"dotnet/area-system-runtime-compilerservices"
]
},
{
"labels": [
"area-System.Runtime.InteropServices"
],
"mentionees": [
"dotnet/interop-contrib"
]
},
{
"labels": [
"area-System.Runtime.Intrinsics"
],
"mentionees": [
"dotnet/area-system-runtime-intrinsics"
]
},
{
"labels": [
"area-System.Security"
],
"mentionees": [
"dotnet/area-system-security",
"bartonjs",
"vcsjones"
]
},
{
"labels": [
"area-System.ServiceProcess"
],
"mentionees": [
"dotnet/area-system-serviceprocess"
]
},
{
"labels": [
"area-System.Speech"
],
"mentionees": [
"dotnet/area-system-speech"
]
},
{
"labels": [
"area-System.Text.Encoding"
],
"mentionees": [
"dotnet/area-system-text-encoding"
]
},
{
"labels": [
"area-System.Text.Encodings.Web"
],
"mentionees": [
"dotnet/area-system-text-encodings-web"
]
},
{
"labels": [
"area-System.Text.Json"
],
"mentionees": [
"dotnet/area-system-text-json",
"gregsdennis"
]
},
{
"labels": [
"area-System.Text.RegularExpressions"
],
"mentionees": [
"dotnet/area-system-text-regularexpressions"
]
},
{
"labels": [
"area-System.Threading"
],
"mentionees": [
"mangod9"
]
},
{
"labels": [
"area-System.Threading.Channels"
],
"mentionees": [
"dotnet/area-system-threading-channels"
]
},
{
"labels": [
"area-System.Threading.Tasks"
],
"mentionees": [
"dotnet/area-system-threading-tasks"
]
},
{
"labels": [
"area-System.Transactions"
],
"mentionees": [
"roji",
"ajcvickers"
]
},
{
"labels": [
"area-System.Xml"
],
"mentionees": [
"dotnet/area-system-xml"
]
},
{
"labels": [
"area-Tools-ILLink"
],
"mentionees": [
"agocke",
"sbomer",
"vitek-karas"
]
},
{
"labels": [
"area-vm-coreclr"
],
"mentionees": [
"mangod9"
]
}
],
"replyTemplate": "Tagging subscribers to this area: ${mentionees}\nSee info in [area-owners.md](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you want to be subscribed.",
"enableForPullRequests": true
},
"disabled": false
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssuesOnlyResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "labelAdded",
"parameters": {
"label": "breaking-change"
}
}
]
},
"eventType": "issue",
"eventNames": [
"issues"
],
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "needs-breaking-change-doc-created"
}
},
{
"name": "addReply",
"parameters": {
"comment": "Added `needs-breaking-change-doc-created` label because this issue has the `breaking-change` label. \n\n1. [ ] Create and link to this issue a matching issue in the dotnet/docs repo using the [breaking change documentation template](https://aka.ms/dotnet/docs/new-breaking-change-issue), then remove this `needs-breaking-change-doc-created` label.\n\nTagging @dotnet/compat for awareness of the breaking change."
}
}
],
"taskName": "Add breaking change doc label to issue"
},
"disabled": false
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "labelAdded",
"parameters": {
"label": "breaking-change"
}
},
{
"name": "isPr",
"parameters": {}
}
]
},
"eventType": "pull_request",
"eventNames": [
"pull_request",
"issues"
],
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "needs-breaking-change-doc-created"
}
},
{
"name": "addReply",
"parameters": {
"comment": "Added `needs-breaking-change-doc-created` label because this PR has the `breaking-change` label. \n\nWhen you commit this breaking change:\n\n1. [ ] Create and link to this PR and the issue a matching issue in the dotnet/docs repo using the [breaking change documentation template](https://aka.ms/dotnet/docs/new-breaking-change-issue), then remove this `needs-breaking-change-doc-created` label.\n2. [ ] Ask a committer to mail the `.NET Breaking Change Notification` DL.\n\nTagging @dotnet/compat for awareness of the breaking change."
}
}
],
"taskName": "Add breaking change doc label to PR"
},
"disabled": false
},
{
"taskType": "scheduledAndTrigger",
"capabilityId": "IssueRouting",
"subCapability": "@Mention",
"version": "1.0",
"config": {
"taskName": "@Mention for linkable-framework",
"labelsAndMentions": [
{
"labels": [
"linkable-framework"
],
"mentionees": [
"eerhardt",
"vitek-karas",
"LakshanF",
"sbomer",
"joperezr",
"marek-safar"
]
}
],
"replyTemplate": "Tagging subscribers to 'linkable-framework': ${mentionees}\nSee info in area-owners.md if you want to be subscribed.",
"enableForPullRequests": true
}
},
{
"taskType": "scheduledAndTrigger",
"capabilityId": "IssueRouting",
"subCapability": "@Mention",
"version": "1.0",
"config": {
"taskName": "@Mention for size-reduction",
"replyTemplate": "Tagging subscribers to 'size-reduction': ${mentionees}\nSee info in area-owners.md if you want to be subscribed.",
"labelsAndMentions": [
{
"labels": [
"size-reduction"
],
"mentionees": [
"eerhardt",
"SamMonoRT",
"marek-safar"
]
}
],
"enableForPullRequests": true
}
},
{
"taskType": "scheduledAndTrigger",
"capabilityId": "IssueRouting",
"subCapability": "@Mention",
"version": "1.0",
"config": {
"taskName": "@Mention for wasm",
"labelsAndMentions": [
{
"labels": [
"arch-wasm"
],
"mentionees": [
"lewing"
]
}
],
"replyTemplate": "Tagging subscribers to 'arch-wasm': ${mentionees}\nSee info in area-owners.md if you want to be subscribed.",
"enableForPullRequests": true
}
},
{
"taskType": "scheduledAndTrigger",
"capabilityId": "IssueRouting",
"subCapability": "@Mention",
"version": "1.0",
"config": {
"taskName": "@Mention for ios",
"labelsAndMentions": [
{
"labels": [
"os-ios"
],
"mentionees": [
"steveisok",
"akoeplinger",
"kotlarmilos"
]
}
],
"enableForPullRequests": true,
"replyTemplate": "Tagging subscribers to 'os-ios': ${mentionees}\nSee info in area-owners.md if you want to be subscribed."
}
},
{
"taskType": "scheduledAndTrigger",
"capabilityId": "IssueRouting",
"subCapability": "@Mention",
"version": "1.0",
"config": {
"taskName": "@Mention for android",
"labelsAndMentions": [
{
"labels": [
"os-android"
],
"mentionees": [
"steveisok",
"akoeplinger"
]
}
],
"enableForPullRequests": true,
"replyTemplate": "Tagging subscribers to 'arch-android': ${mentionees}\nSee info in area-owners.md if you want to be subscribed."
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"operator": "or",
"operands": [
{
"name": "prMatchesPattern",
"parameters": {
"matchRegex": ".*ILLink.*"
}
},
{
"name": "prMatchesPattern",
"parameters": {
"matchRegex": ".*illink.*"
}
}
]
},
{
"operator": "not",
"operands": [
{
"name": "hasLabel",
"parameters": {
"label": "linkable-framework"
}
}
]
},
{
"name": "isPr",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
}
]
},
"eventType": "pull_request",
"eventNames": [
"pull_request",
"issues"
],
"taskName": "[Linkable-framework workgroup] Add linkable-framework label to new Prs that touch files with *ILLink* that not have it already",
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "linkable-framework"
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"operator": "or",
"operands": [
{
"name": "prMatchesPattern",
"parameters": {
"matchRegex": ".*ILLink.*"
}
},
{
"name": "prMatchesPattern",
"parameters": {
"matchRegex": ".*illink.*"
}
}
]
},
{
"operator": "not",
"operands": [
{
"name": "hasLabel",
"parameters": {
"label": "linkable-framework"
}
}
]
},
{
"name": "isPr",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
},
{
"name": "isAction",
"parameters": {
"action": "synchronize"
}
}
]
},
"eventType": "pull_request",
"eventNames": [
"pull_request",
"issues"
],
"taskName": "[Linkable-framework workgroup] Add linkable-framework label to Prs that get changes pushed where they touch *ILLInk* files",
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "linkable-framework"
}
}
]
}
},
{
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssuesOnlyResponder",
"version": "1.0",
"config": {
"conditions": {
"operator": "and",
"operands": [
{
"name": "labelAdded",
"parameters": {
"label": "backlog-cleanup-candidate"
}
}
]
},
"eventType": "issue",
"eventNames": [
"issues"
],
"taskName": "Manual Issue Cleanup",
"actions": [
{
"name": "addReply",
"parameters": {
"comment": "Due to lack of recent activity, this issue has been marked as a candidate for backlog cleanup. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process.\n\nThis process is part of our [issue cleanup automation](https://github.com/dotnet/runtime/blob/main/docs/issue-cleanup.md)."
}
},
{
"name": "addLabel",
"parameters": {
"label": "no-recent-activity"
}
}
]
}
},
{
"taskType": "scheduled",
"capabilityId": "ScheduledSearch",
"subCapability": "ScheduledSearch",
"version": "1.1",
"config": {
"frequency": [
{
"weekDay": 0,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 1,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 2,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 3,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 4,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 5,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 6,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
}
],
"searchTerms": [
{
"name": "noActivitySince",
"parameters": {
"days": 1644
}
},
{
"name": "isIssue",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
},
{
"name": "noLabel",
"parameters": {
"label": "backlog-cleanup-candidate"
}
}
],
"taskName": "Automated Issue cleanup",
"actions": [
{
"name": "addReply",
"parameters": {
"comment": "Due to lack of recent activity, this issue has been marked as a candidate for backlog cleanup. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will undo this process.\n\nThis process is part of our [issue cleanup automation](https://github.com/dotnet/runtime/blob/main/docs/issue-cleanup.md)."
}
},
{
"name": "addLabel",
"parameters": {
"label": "backlog-cleanup-candidate"
}
},
{
"name": "addLabel",
"parameters": {
"label": "no-recent-activity"
}
}
]
}
},
{
"taskType": "scheduledAndTrigger",
"capabilityId": "IssueRouting",
"subCapability": "@Mention",
"version": "1.0",
"config": {
"taskName": "@Mention for tvos",
"labelsAndMentions": [
{
"labels": [
"os-tvos"
],
"mentionees": [
"steveisok",
"akoeplinger"
]
}
],
"enableForPullRequests": true,
"replyTemplate": "Tagging subscribers to 'os-tvos': ${mentionees}\nSee info in area-owners.md if you want to be subscribed."
}
},
{
"taskType": "scheduledAndTrigger",
"capabilityId": "IssueRouting",
"subCapability": "@Mention",
"version": "1.0",
"config": {
"labelsAndMentions": [
{
"labels": [
"os-maccatalyst"
],
"mentionees": [
"steveisok",
"akoeplinger"
]
}
],
"replyTemplate": "Tagging subscribers to 'os-maccatalyst': ${mentionees}\nSee info in area-owners.md if you want to be subscribed.",
"enableForPullRequests": true,
"taskName": "@Mention for maccatalyst"
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssuesOnlyResponder",
"version": "1.0",
"config": {
"taskName": "Add untriaged label to new/reopened issues without a milestone",
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "untriaged"
}
}
],
"eventType": "issue",
"eventNames": [
"issues"
],
"conditions": {
"operator": "and",
"operands": [
{
"operator": "or",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "opened"
}
},
{
"name": "isAction",
"parameters": {
"action": "reopened"
}
}
]
},
{
"name": "isOpen",
"parameters": {}
},
{
"operator": "not",
"operands": [
{
"name": "isInMilestone",
"parameters": {}
}
]
},
{
"operator": "not",
"operands": [
{
"name": "hasLabel",
"parameters": {
"label": "untriaged"
}
}
]
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssuesOnlyResponder",
"version": "1.0",
"config": {
"taskName": "Remove untriaged label from issues when closed or added to a milestone",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "untriaged"
}
}
],
"eventType": "issue",
"eventNames": [
"issues"
],
"conditions": {
"operator": "and",
"operands": [
{
"operator": "or",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "closed"
}
},
{
"name": "isInMilestone",
"parameters": {}
}
]
},
{
"name": "hasLabel",
"parameters": {
"label": "untriaged"
}
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "InPrLabel",
"subCapability": "InPrLabel",
"version": "1.0",
"config": {
"taskName": "Add `in-pr` label on issue when an open pull request is targeting it",
"inPrLabelText": "There is an active PR which will close this issue when it is merged",
"fixedLabelEnabled": false,
"label_inPr": "in-pr"
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"taskName": "Assign Team PRs to author",
"actions": [
{
"name": "assignToUser",
"parameters": {
"user": {
"type": "prAuthor"
}
}
}
],
"eventType": "pull_request",
"eventNames": [
"pull_request"
],
"conditions": {
"operator": "and",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "opened"
}
},
{
"operator": "not",
"operands": [
{
"name": "activitySenderHasPermissions",
"parameters": {
"permissions": "read"
}
}
]
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"taskName": "Label community PRs",
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "community-contribution"
}
}
],
"eventType": "pull_request",
"eventNames": [
"pull_request"
],
"conditions": {
"operator": "and",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "opened"
}
},
{
"name": "isPr",
"parameters": {}
},
{
"operator": "and",
"operands": [
{
"operator": "not",
"operands": [
{
"name": "activitySenderHasPermissions",
"parameters": {
"permissions": "admin"
}
}
]
},
{
"operator": "not",
"operands": [
{
"name": "activitySenderHasPermissions",
"parameters": {
"permissions": "write"
}
}
]
},
{
"operator": "not",
"operands": [
{
"name": "isActivitySender",
"parameters": {
"user": "github-actions[bot]"
}
}
]
},
{
"operator": "not",
"operands": [
{
"name": "isActivitySender",
"parameters": {
"user": "dotnet-maestro[bot]"
}
}
]
},
{
"operator": "not",
"operands": [
{
"name": "isActivitySender",
"parameters": {
"user": "dotnet-maestro-bot[bot]"
}
}
]
},
{
"operator": "not",
"operands": [
{
"name": "isActivitySender",
"parameters": {
"user": "dotnet-maestro-bot"
}
}
]
},
{
"operator": "not",
"operands": [
{
"name": "isActivitySender",
"parameters": {
"user": "dotnet-maestro"
}
}
]
},
{
"operator": "not",
"operands": [
{
"name": "isActivitySender",
"parameters": {
"user": "github-actions"
}
}
]
}
]
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssuesOnlyResponder",
"version": "1.0",
"config": {
"taskName": "Needs-author-action notification",
"actions": [
{
"name": "addReply",
"parameters": {
"comment": "This issue has been marked `needs-author-action` and may be missing some important information."
}
}
],
"eventType": "issue",
"eventNames": [
"issues"
],
"conditions": {
"operator": "and",
"operands": [
{
"name": "labelAdded",
"parameters": {
"label": "needs-author-action"
}
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestReviewResponder",
"version": "1.0",
"config": {
"taskName": "PR reviews with \"changes requested\" applies the needs-author-action label",
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "needs-author-action"
}
}
],
"eventType": "pull_request",
"eventNames": [
"pull_request_review"
],
"conditions": {
"operator": "and",
"operands": [
{
"operator": "not",
"operands": [
{
"name": "activitySenderHasPermissions",
"parameters": {
"state": "changes_requested",
"permissions": "read"
}
}
]
},
{
"name": "isPr",
"parameters": {}
},
{
"name": "isAction",
"parameters": {
"action": "submitted"
}
},
{
"name": "isReviewState",
"parameters": {
"state": "changes_requested"
}
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssueCommentResponder",
"version": "1.0",
"config": {
"taskName": "Replace `needs-author-action` label with `needs-further-triage` label when the author comments on an issue that is not still untriaged",
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "needs-further-triage"
}
},
{
"name": "removeLabel",
"parameters": {
"label": "needs-author-action"
}
}
],
"eventType": "issue",
"eventNames": [
"issue_comment"
],
"conditions": {
"operator": "and",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "created"
}
},
{
"name": "isActivitySender",
"parameters": {
"user": {
"type": "author"
}
}
},
{
"name": "hasLabel",
"parameters": {
"label": "needs-author-action"
}
},
{
"operator": "not",
"operands": [
{
"name": "hasLabel",
"parameters": {
"label": "untriaged"
}
}
]
},
{
"name": "isIssue",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssueCommentResponder",
"version": "1.0",
"config": {
"taskName": "Remove `needs-author-action` label when the author comments on an `untriaged` issue",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "needs-author-action"
}
}
],
"eventType": "issue",
"eventNames": [
"issue_comment"
],
"conditions": {
"operator": "and",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "created"
}
},
{
"name": "isActivitySender",
"parameters": {
"user": {
"type": "author"
}
}
},
{
"name": "hasLabel",
"parameters": {
"label": "needs-author-action"
}
},
{
"name": "hasLabel",
"parameters": {
"label": "untriaged"
}
},
{
"name": "isIssue",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"taskName": "Pushing changes to PR branch removes the needs-author-action label",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "needs-author-action"
}
}
],
"eventType": "pull_request",
"eventNames": [
"pull_request"
],
"conditions": {
"operator": "and",
"operands": [
{
"name": "isPr",
"parameters": {}
},
{
"name": "isAction",
"parameters": {
"action": "synchronize"
}
},
{
"name": "hasLabel",
"parameters": {
"label": "needs-author-action"
}
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestCommentResponder",
"version": "1.0",
"config": {
"taskName": "Author commenting in PR removes the needs-author-action label",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "needs-author-action"
}
}
],
"eventType": "pull_request",
"eventNames": [
"issue_comment"
],
"conditions": {
"operator": "and",
"operands": [
{
"name": "isActivitySender",
"parameters": {
"user": {
"type": "author"
}
}
},
{
"name": "isAction",
"parameters": {
"action": "created"
}
},
{
"name": "hasLabel",
"parameters": {
"label": "needs-author-action"
}
},
{
"name": "isPr",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestReviewResponder",
"version": "1.0",
"config": {
"taskName": "Author responding to a pull request review comment removes the needs-author-action label",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "needs-author-action"
}
}
],
"eventType": "pull_request",
"eventNames": [
"pull_request_review"
],
"conditions": {
"operator": "and",
"operands": [
{
"name": "isActivitySender",
"parameters": {
"user": {
"type": "author"
}
}
},
{
"name": "hasLabel",
"parameters": {
"label": "needs-author-action"
}
},
{
"name": "isAction",
"parameters": {
"action": "submitted"
}
},
{
"name": "isPr",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "scheduled",
"capabilityId": "ScheduledSearch",
"subCapability": "ScheduledSearch",
"version": "1.1",
"config": {
"taskName": "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 `no-recent-activity` because it has not had any activity for 14 days. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will remove `no-recent-activity`."
}
}
],
"frequency": [
{
"weekDay": 0,
"hours": [
4,
10,
16,
22
],
"timezoneOffset": 1
},
{
"weekDay": 1,
"hours": [
4,
10,
16,
22
],
"timezoneOffset": 1
},
{
"weekDay": 2,
"hours": [
4,
10,
16,
22
],
"timezoneOffset": 1
},
{
"weekDay": 3,
"hours": [
4,
10,
16,
22
],
"timezoneOffset": 1
},
{
"weekDay": 4,
"hours": [
4,
10,
16,
22
],
"timezoneOffset": 1
},
{
"weekDay": 5,
"hours": [
4,
10,
16,
22
],
"timezoneOffset": 1
},
{
"weekDay": 6,
"hours": [
4,
10,
16,
22
],
"timezoneOffset": 1
}
],
"searchTerms": [
{
"name": "isIssue",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
},
{
"name": "hasLabel",
"parameters": {
"label": "needs-author-action"
}
},
{
"name": "noActivitySince",
"parameters": {
"days": 14
}
},
{
"name": "noLabel",
"parameters": {
"label": "no-recent-activity"
}
}
]
}
},
{
"taskSource": "fabricbot-config",
"taskType": "scheduled",
"capabilityId": "ScheduledSearch",
"subCapability": "ScheduledSearch",
"version": "1.1",
"config": {
"taskName": "Add no-recent-activity label to PRs",
"actions": [
{
"name": "addLabel",
"parameters": {
"label": "no-recent-activity"
}
},
{
"name": "addReply",
"parameters": {
"comment": "This pull request has been automatically marked `no-recent-activity` because it has not had any activity for 14 days. It will be closed if no further activity occurs within 14 more days. Any new comment (by anyone, not necessarily the author) will remove `no-recent-activity`."
}
}
],
"frequency": [
{
"weekDay": 0,
"hours": [
4,
10,
16,
22
],
"timezoneOffset": 1
},
{
"weekDay": 1,
"hours": [
4,
10,
16,
22
],
"timezoneOffset": 1
},
{
"weekDay": 2,
"hours": [
4,
10,
16,
22
],
"timezoneOffset": 1
},
{
"weekDay": 3,
"hours": [
4,
10,
16,
22
],
"timezoneOffset": 1
},
{
"weekDay": 4,
"hours": [
4,
10,
16,
22
],
"timezoneOffset": 1
},
{
"weekDay": 5,
"hours": [
4,
10,
16,
22
],
"timezoneOffset": 1
},
{
"weekDay": 6,
"hours": [
4,
10,
16,
22
],
"timezoneOffset": 1
}
],
"searchTerms": [
{
"name": "isPr",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
},
{
"name": "hasLabel",
"parameters": {
"label": "needs-author-action"
}
},
{
"name": "noActivitySince",
"parameters": {
"days": 14
}
},
{
"name": "noLabel",
"parameters": {
"label": "no-recent-activity"
}
}
]
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssuesOnlyResponder",
"version": "1.0",
"config": {
"taskName": "Remove `no-recent-activity` label from issues when issue is modified",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "no-recent-activity"
}
},
{
"name": "removeLabel",
"parameters": {
"label": "backlog-cleanup-candidate"
}
}
],
"eventType": "issue",
"eventNames": [
"issues"
],
"conditions": {
"operator": "and",
"operands": [
{
"operator": "not",
"operands": [
{
"name": "isAction",
"parameters": {
"action": "closed"
}
}
]
},
{
"name": "hasLabel",
"parameters": {
"label": "no-recent-activity"
}
},
{
"operator": "not",
"operands": [
{
"name": "labelAdded",
"parameters": {
"label": "no-recent-activity"
}
}
]
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssueCommentResponder",
"version": "1.0",
"config": {
"taskName": "Remove `no-recent-activity` label when an issue is commented on",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "no-recent-activity"
}
},
{
"name": "removeLabel",
"parameters": {
"label": "backlog-cleanup-candidate"
}
}
],
"eventType": "issue",
"eventNames": [
"issue_comment"
],
"conditions": {
"operator": "and",
"operands": [
{
"name": "hasLabel",
"parameters": {
"label": "no-recent-activity"
}
},
{
"name": "isIssue",
"parameters": {}
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"version": "1.0",
"config": {
"taskName": "Remove `no-recent-activity` label from PRs when modified",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "no-recent-activity"
}
},
{
"name": "removeLabel",
"parameters": {
"label": "backlog-cleanup-candidate"
}
}
],
"eventType": "pull_request",
"eventNames": [
"pull_request"
],
"conditions": {
"operator": "and",
"operands": [
{
"name": "isPr",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
},
{
"name": "hasLabel",
"parameters": {
"label": "no-recent-activity"
}
},
{
"operator": "not",
"operands": [
{
"name": "labelAdded",
"parameters": {
"label": "no-recent-activity"
}
}
]
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestCommentResponder",
"version": "1.0",
"config": {
"taskName": "Remove `no-recent-activity` label from PRs when commented on",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "no-recent-activity"
}
},
{
"name": "removeLabel",
"parameters": {
"label": "backlog-cleanup-candidate"
}
}
],
"eventType": "pull_request",
"eventNames": [
"issue_comment"
],
"conditions": {
"operator": "and",
"operands": [
{
"name": "hasLabel",
"parameters": {
"label": "no-recent-activity"
}
},
{
"name": "isPr",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestReviewResponder",
"version": "1.0",
"config": {
"taskName": "Remove `no-recent-activity` label from PRs when new review is added",
"actions": [
{
"name": "removeLabel",
"parameters": {
"label": "no-recent-activity"
}
},
{
"name": "removeLabel",
"parameters": {
"label": "backlog-cleanup-candidate"
}
}
],
"eventType": "pull_request",
"eventNames": [
"pull_request_review"
],
"conditions": {
"operator": "and",
"operands": [
{
"name": "hasLabel",
"parameters": {
"label": "no-recent-activity"
}
},
{
"name": "isPr",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
}
]
}
}
},
{
"taskSource": "fabricbot-config",
"taskType": "scheduled",
"capabilityId": "ScheduledSearch",
"subCapability": "ScheduledSearch",
"version": "1.1",
"config": {
"taskName": "Close issues with no recent activity",
"actions": [
{
"name": "addReply",
"parameters": {
"comment": "This issue will now be closed since it had been marked `no-recent-activity` but received no further activity in the past 14 days. It is still possible to reopen or comment on the issue, but please note that the issue will be locked if it remains inactive for another 30 days."
}
},
{
"name": "closeIssue",
"parameters": {}
}
],
"frequency": [
{
"weekDay": 0,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 1,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 2,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 3,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 4,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 5,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 6,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
}
],
"searchTerms": [
{
"name": "isIssue",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
},
{
"name": "hasLabel",
"parameters": {
"label": "no-recent-activity"
}
},
{
"name": "noActivitySince",
"parameters": {
"days": 14
}
}
]
}
},
{
"taskSource": "fabricbot-config",
"taskType": "scheduled",
"capabilityId": "ScheduledSearch",
"subCapability": "ScheduledSearch",
"version": "1.1",
"config": {
"taskName": "Close PRs with no-recent-activity",
"actions": [
{
"name": "addReply",
"parameters": {
"comment": "This pull request will now be closed since it had been marked `no-recent-activity` but received no further activity in the past 14 days. It is still possible to reopen or comment on the pull request, but please note that it will be locked if it remains inactive for another 30 days."
}
},
{
"name": "closeIssue",
"parameters": {}
}
],
"frequency": [
{
"weekDay": 0,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 1,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 2,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 3,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 4,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 5,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
},
{
"weekDay": 6,
"hours": [
0,
6,
12,
18
],
"timezoneOffset": 0
}
],
"searchTerms": [
{
"name": "isPr",
"parameters": {}
},
{
"name": "isOpen",
"parameters": {}
},
{
"name": "hasLabel",
"parameters": {
"label": "no-recent-activity"
}
},
{
"name": "noActivitySince",
"parameters": {
"days": 14
}
}
]
}
},
{
"taskSource": "fabricbot-config",
"taskType": "scheduled",
"capabilityId": "ScheduledSearch",
"subCapability": "ScheduledSearch",
"version": "1.1",
"config": {
"taskName": "Close inactive Draft PRs",
"actions": [
{
"name": "closeIssue",
"parameters": {}
},
{
"name": "addReply",
"parameters": {
"comment": "Draft Pull Request was automatically closed for 30 days of inactivity. Please [let us know](https://github.com/dotnet/runtime/blob/main/docs/area-owners.md) if you'd like to reopen it."
}
}
],
"frequency": [
{
"weekDay": 0,
"hours": [
5,
11,
17,
23
],
"timezoneOffset": 0
},
{
"weekDay": 1,
"hours": [
5,
11,
17,
23
],
"timezoneOffset": 0
},
{
"weekDay": 2,
"hours": [
5,
11,
17,
23
],
"timezoneOffset": 0
},
{
"weekDay": 3,
"hours": [
5,
11,
17,
23
],
"timezoneOffset": 0
},
{
"weekDay": 4,
"hours": [
5,
11,
17,
23
],
"timezoneOffset": 0
},
{
"weekDay": 5,
"hours": [
5,
11,
17,
23
],
"timezoneOffset": 0
},
{
"weekDay": 6,
"hours": [
5,
11,
17,
23
],
"timezoneOffset": 0
}
],
"searchTerms": [
{
"name": "isDraftPr",
"parameters": {
"value": "true"
}
},
{
"name": "isOpen",
"parameters": {}
},
{
"name": "noActivitySince",
"parameters": {
"days": 30
}
}
]
}
}
]