From 65bdc907651a48a11ee721d514769c3998a075f4 Mon Sep 17 00:00:00 2001 From: Jeff Handley Date: Fri, 4 Mar 2022 21:05:01 -0800 Subject: [PATCH] Address feedback on fabricbot config for area pods (#66137) Automatically remove the `untriaged` label when a triage action is performed. When an issue/PR is moved to another area, consider it done on the original board instead of removing it. --- .github/fabricbot/Makefile | 2 +- .github/fabricbot/README.md | 4 +- .../generated/areapods-dotnet-api-docs.json | 952 ++++++++++++++++++--- .../generated/areapods-machinelearning.json | 18 +- .github/fabricbot/generated/areapods-runtime.json | 544 +++++++----- .../{scripts => }/updateAreaPodConfigs.js | 109 +-- 6 files changed, 1214 insertions(+), 415 deletions(-) rename .github/fabricbot/{scripts => }/updateAreaPodConfigs.js (89%) diff --git a/.github/fabricbot/Makefile b/.github/fabricbot/Makefile index 86b05f7..ed7bd37 100644 --- a/.github/fabricbot/Makefile +++ b/.github/fabricbot/Makefile @@ -1,4 +1,4 @@ generate: - node scripts/updateAreaPodConfigs.js + node updateAreaPodConfigs.js .DEFAULT_GOAL := generate \ No newline at end of file diff --git a/.github/fabricbot/README.md b/.github/fabricbot/README.md index 46b606d..2365295 100644 --- a/.github/fabricbot/README.md +++ b/.github/fabricbot/README.md @@ -3,7 +3,7 @@ Contains scripts used for generating FabricBot automation for the area pod issue/PR project boards. Scripts require nodejs to run: ```bash -$ node scripts/updateAreaPodConfigs.js +$ node updateAreaPodConfigs.js ``` or if your system has `make` @@ -14,4 +14,4 @@ $ make Running the script will generate JSON configuration files under the `generated/` subfolder. The generated files are being tracked by git to simplify auditing changes of the generator script. When making changes to the generator script, please ensure that you have run the script and have committed the new generated files. -Please note that the generated files themselves have no impact on live FabricBot configuration. The changes need to be merged into the `.github/fabricbot.json` file at the root of the `runtime` and `dotnet-api-docs` repos. Merging the generated config into those files relies on manual editing to preserve other configuration blocks not affected by this script. +Please note that the generated files themselves have no impact on live FabricBot configuration. The changes need to be merged into the `.github/fabricbot.json` file at the root of the `runtime`, `dotnet-api-docs`, and `machinelearning` repos. Merging the generated config into those files relies on manual editing to preserve other configuration blocks not affected by this script. diff --git a/.github/fabricbot/generated/areapods-dotnet-api-docs.json b/.github/fabricbot/generated/areapods-dotnet-api-docs.json index c3f23b0..c83e997 100644 --- a/.github/fabricbot/generated/areapods-dotnet-api-docs.json +++ b/.github/fabricbot/generated/areapods-dotnet-api-docs.json @@ -203,12 +203,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Eric / Jeff - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Eric / Jeff - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -225,6 +230,75 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } + } + ] + }, + "eventType": "issue", + "eventNames": [ + "issues", + "project_card" + ], + "taskName": "[Area Pod: Eric / Jeff - Issue Triage] Mark relabeled issues as Triaged", + "actions": [ + { + "name": "addToProject", + "parameters": { + "projectName": "Area Pod: Eric / Jeff - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "IssuesOnlyResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "name": "isInProject", + "parameters": { + "projectName": "Area Pod: Eric / Jeff - Issue Triage", + "isOrgProject": true + } + }, + { + "operator": "or", + "operands": [ + { + "name": "addedToMilestone", + "parameters": {} + }, + { + "name": "labelAdded", + "parameters": { + "label": "needs-author-action" + } + }, + { + "name": "labelAdded", + "parameters": { + "label": "api-ready-for-review" + } + }, + { + "name": "isAction", + "parameters": { + "action": "closed" + } + } + ] } ] }, @@ -233,14 +307,21 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Eric / Jeff - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Eric / Jeff - Issue Triage] Move to Triaged Column", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Eric / Jeff - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -308,12 +389,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Eric / Jeff - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Eric / Jeff - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -339,12 +425,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Eric / Jeff - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Eric / Jeff - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Eric / Jeff - PRs", + "columnName": "Done", "isOrgProject": true } } @@ -735,12 +822,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Buyaa / Jose / Steve - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Buyaa / Jose / Steve - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -867,6 +959,75 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } + } + ] + }, + "eventType": "issue", + "eventNames": [ + "issues", + "project_card" + ], + "taskName": "[Area Pod: Buyaa / Jose / Steve - Issue Triage] Mark relabeled issues as Triaged", + "actions": [ + { + "name": "addToProject", + "parameters": { + "projectName": "Area Pod: Buyaa / Jose / Steve - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "IssuesOnlyResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "name": "isInProject", + "parameters": { + "projectName": "Area Pod: Buyaa / Jose / Steve - Issue Triage", + "isOrgProject": true + } + }, + { + "operator": "or", + "operands": [ + { + "name": "addedToMilestone", + "parameters": {} + }, + { + "name": "labelAdded", + "parameters": { + "label": "needs-author-action" + } + }, + { + "name": "labelAdded", + "parameters": { + "label": "api-ready-for-review" + } + }, + { + "name": "isAction", + "parameters": { + "action": "closed" + } + } + ] } ] }, @@ -875,14 +1036,21 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Buyaa / Jose / Steve - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Buyaa / Jose / Steve - Issue Triage] Move to Triaged Column", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Buyaa / Jose / Steve - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -1010,12 +1178,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Buyaa / Jose / Steve - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Buyaa / Jose / Steve - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -1151,12 +1324,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Buyaa / Jose / Steve - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Buyaa / Jose / Steve - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Buyaa / Jose / Steve - PRs", + "columnName": "Done", "isOrgProject": true } } @@ -1421,12 +1595,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Eirik / Krzysztof / Layomi - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Eirik / Krzysztof / Layomi - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -1476,6 +1655,75 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } + } + ] + }, + "eventType": "issue", + "eventNames": [ + "issues", + "project_card" + ], + "taskName": "[Area Pod: Eirik / Krzysztof / Layomi - Issue Triage] Mark relabeled issues as Triaged", + "actions": [ + { + "name": "addToProject", + "parameters": { + "projectName": "Area Pod: Eirik / Krzysztof / Layomi - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "IssuesOnlyResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "name": "isInProject", + "parameters": { + "projectName": "Area Pod: Eirik / Krzysztof / Layomi - Issue Triage", + "isOrgProject": true + } + }, + { + "operator": "or", + "operands": [ + { + "name": "addedToMilestone", + "parameters": {} + }, + { + "name": "labelAdded", + "parameters": { + "label": "needs-author-action" + } + }, + { + "name": "labelAdded", + "parameters": { + "label": "api-ready-for-review" + } + }, + { + "name": "isAction", + "parameters": { + "action": "closed" + } + } + ] } ] }, @@ -1484,14 +1732,21 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Eirik / Krzysztof / Layomi - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Eirik / Krzysztof / Layomi - Issue Triage] Move to Triaged Column", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Eirik / Krzysztof / Layomi - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -1577,12 +1832,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Eirik / Krzysztof / Layomi - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Eirik / Krzysztof / Layomi - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -1641,12 +1901,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Eirik / Krzysztof / Layomi - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Eirik / Krzysztof / Layomi - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Eirik / Krzysztof / Layomi - PRs", + "columnName": "Done", "isOrgProject": true } } @@ -2073,12 +2334,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Eric / Maryam / Tarek - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Eric / Maryam / Tarek - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -2227,6 +2493,75 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } + } + ] + }, + "eventType": "issue", + "eventNames": [ + "issues", + "project_card" + ], + "taskName": "[Area Pod: Eric / Maryam / Tarek - Issue Triage] Mark relabeled issues as Triaged", + "actions": [ + { + "name": "addToProject", + "parameters": { + "projectName": "Area Pod: Eric / Maryam / Tarek - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "IssuesOnlyResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "name": "isInProject", + "parameters": { + "projectName": "Area Pod: Eric / Maryam / Tarek - Issue Triage", + "isOrgProject": true + } + }, + { + "operator": "or", + "operands": [ + { + "name": "addedToMilestone", + "parameters": {} + }, + { + "name": "labelAdded", + "parameters": { + "label": "needs-author-action" + } + }, + { + "name": "labelAdded", + "parameters": { + "label": "api-ready-for-review" + } + }, + { + "name": "isAction", + "parameters": { + "action": "closed" + } + } + ] } ] }, @@ -2235,14 +2570,21 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Eric / Maryam / Tarek - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Eric / Maryam / Tarek - Issue Triage] Move to Triaged Column", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Eric / Maryam / Tarek - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -2382,12 +2724,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Eric / Maryam / Tarek - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Eric / Maryam / Tarek - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -2545,12 +2892,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Eric / Maryam / Tarek - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Eric / Maryam / Tarek - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Eric / Maryam / Tarek - PRs", + "columnName": "Done", "isOrgProject": true } } @@ -2887,12 +3235,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Carlos / Jeremy - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Carlos / Jeremy - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -2986,6 +3339,75 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } + } + ] + }, + "eventType": "issue", + "eventNames": [ + "issues", + "project_card" + ], + "taskName": "[Area Pod: Carlos / Jeremy - Issue Triage] Mark relabeled issues as Triaged", + "actions": [ + { + "name": "addToProject", + "parameters": { + "projectName": "Area Pod: Carlos / Jeremy - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "IssuesOnlyResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "name": "isInProject", + "parameters": { + "projectName": "Area Pod: Carlos / Jeremy - Issue Triage", + "isOrgProject": true + } + }, + { + "operator": "or", + "operands": [ + { + "name": "addedToMilestone", + "parameters": {} + }, + { + "name": "labelAdded", + "parameters": { + "label": "needs-author-action" + } + }, + { + "name": "labelAdded", + "parameters": { + "label": "api-ready-for-review" + } + }, + { + "name": "isAction", + "parameters": { + "action": "closed" + } + } + ] } ] }, @@ -2994,14 +3416,21 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Carlos / Jeremy - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Carlos / Jeremy - Issue Triage] Move to Triaged Column", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Carlos / Jeremy - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -3111,12 +3540,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Carlos / Jeremy - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Carlos / Jeremy - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -3219,12 +3653,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Carlos / Jeremy - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Carlos / Jeremy - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Carlos / Jeremy - PRs", + "columnName": "Done", "isOrgProject": true } } @@ -3543,12 +3978,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Adam / David - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Adam / David - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -3631,6 +4071,75 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } + } + ] + }, + "eventType": "issue", + "eventNames": [ + "issues", + "project_card" + ], + "taskName": "[Area Pod: Adam / David - Issue Triage] Mark relabeled issues as Triaged", + "actions": [ + { + "name": "addToProject", + "parameters": { + "projectName": "Area Pod: Adam / David - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "IssuesOnlyResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "name": "isInProject", + "parameters": { + "projectName": "Area Pod: Adam / David - Issue Triage", + "isOrgProject": true + } + }, + { + "operator": "or", + "operands": [ + { + "name": "addedToMilestone", + "parameters": {} + }, + { + "name": "labelAdded", + "parameters": { + "label": "needs-author-action" + } + }, + { + "name": "labelAdded", + "parameters": { + "label": "api-ready-for-review" + } + }, + { + "name": "isAction", + "parameters": { + "action": "closed" + } + } + ] } ] }, @@ -3639,14 +4148,21 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Adam / David - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Adam / David - Issue Triage] Move to Triaged Column", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Adam / David - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -3750,12 +4266,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Adam / David - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Adam / David - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -3847,12 +4368,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Adam / David - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Adam / David - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Adam / David - PRs", + "columnName": "Done", "isOrgProject": true } } @@ -4135,12 +4657,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Michael / Tanner - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Michael / Tanner - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -4201,6 +4728,75 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } + } + ] + }, + "eventType": "issue", + "eventNames": [ + "issues", + "project_card" + ], + "taskName": "[Area Pod: Michael / Tanner - Issue Triage] Mark relabeled issues as Triaged", + "actions": [ + { + "name": "addToProject", + "parameters": { + "projectName": "Area Pod: Michael / Tanner - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "IssuesOnlyResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "name": "isInProject", + "parameters": { + "projectName": "Area Pod: Michael / Tanner - Issue Triage", + "isOrgProject": true + } + }, + { + "operator": "or", + "operands": [ + { + "name": "addedToMilestone", + "parameters": {} + }, + { + "name": "labelAdded", + "parameters": { + "label": "needs-author-action" + } + }, + { + "name": "labelAdded", + "parameters": { + "label": "api-ready-for-review" + } + }, + { + "name": "isAction", + "parameters": { + "action": "closed" + } + } + ] } ] }, @@ -4209,14 +4805,21 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Michael / Tanner - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Michael / Tanner - Issue Triage] Move to Triaged Column", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Michael / Tanner - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -4308,12 +4911,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Michael / Tanner - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Michael / Tanner - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -4383,12 +4991,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Michael / Tanner - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Michael / Tanner - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Michael / Tanner - PRs", + "columnName": "Done", "isOrgProject": true } } @@ -4671,12 +5280,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Jeremy / Levi - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Jeremy / Levi - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -4737,6 +5351,75 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } + } + ] + }, + "eventType": "issue", + "eventNames": [ + "issues", + "project_card" + ], + "taskName": "[Area Pod: Jeremy / Levi - Issue Triage] Mark relabeled issues as Triaged", + "actions": [ + { + "name": "addToProject", + "parameters": { + "projectName": "Area Pod: Jeremy / Levi - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] + } + }, + { + "taskType": "trigger", + "capabilityId": "IssueResponder", + "subCapability": "IssuesOnlyResponder", + "version": "1.0", + "config": { + "conditions": { + "operator": "and", + "operands": [ + { + "name": "isInProject", + "parameters": { + "projectName": "Area Pod: Jeremy / Levi - Issue Triage", + "isOrgProject": true + } + }, + { + "operator": "or", + "operands": [ + { + "name": "addedToMilestone", + "parameters": {} + }, + { + "name": "labelAdded", + "parameters": { + "label": "needs-author-action" + } + }, + { + "name": "labelAdded", + "parameters": { + "label": "api-ready-for-review" + } + }, + { + "name": "isAction", + "parameters": { + "action": "closed" + } + } + ] } ] }, @@ -4745,14 +5428,21 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Jeremy / Levi - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Jeremy / Levi - Issue Triage] Move to Triaged Column", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Jeremy / Levi - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -4844,12 +5534,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Jeremy / Levi - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Jeremy / Levi - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -4919,12 +5614,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Jeremy / Levi - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Jeremy / Levi - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Jeremy / Levi - PRs", + "columnName": "Done", "isOrgProject": true } } diff --git a/.github/fabricbot/generated/areapods-machinelearning.json b/.github/fabricbot/generated/areapods-machinelearning.json index adcc63e..ee8ca06 100644 --- a/.github/fabricbot/generated/areapods-machinelearning.json +++ b/.github/fabricbot/generated/areapods-machinelearning.json @@ -177,18 +177,6 @@ } }, { - "operator": "not", - "operands": [ - { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Michael / Tanner - Issue Triage", - "columnName": "Triaged" - } - } - ] - }, - { "operator": "or", "operands": [ { @@ -231,6 +219,12 @@ "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } diff --git a/.github/fabricbot/generated/areapods-runtime.json b/.github/fabricbot/generated/areapods-runtime.json index be15ef3..c83e997 100644 --- a/.github/fabricbot/generated/areapods-runtime.json +++ b/.github/fabricbot/generated/areapods-runtime.json @@ -203,12 +203,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Eric / Jeff - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Eric / Jeff - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -225,6 +230,12 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } } ] }, @@ -233,12 +244,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Eric / Jeff - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Eric / Jeff - Issue Triage] Mark relabeled issues as Triaged", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Eric / Jeff - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } } @@ -262,18 +274,6 @@ } }, { - "operator": "not", - "operands": [ - { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Eric / Jeff - Issue Triage", - "columnName": "Triaged" - } - } - ] - }, - { "operator": "or", "operands": [ { @@ -316,6 +316,12 @@ "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -383,12 +389,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Eric / Jeff - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Eric / Jeff - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -414,12 +425,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Eric / Jeff - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Eric / Jeff - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Eric / Jeff - PRs", + "columnName": "Done", "isOrgProject": true } } @@ -810,12 +822,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Buyaa / Jose / Steve - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Buyaa / Jose / Steve - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -942,6 +959,12 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } } ] }, @@ -950,12 +973,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Buyaa / Jose / Steve - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Buyaa / Jose / Steve - Issue Triage] Mark relabeled issues as Triaged", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Buyaa / Jose / Steve - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } } @@ -979,18 +1003,6 @@ } }, { - "operator": "not", - "operands": [ - { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Buyaa / Jose / Steve - Issue Triage", - "columnName": "Triaged" - } - } - ] - }, - { "operator": "or", "operands": [ { @@ -1033,6 +1045,12 @@ "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -1160,12 +1178,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Buyaa / Jose / Steve - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Buyaa / Jose / Steve - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -1301,12 +1324,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Buyaa / Jose / Steve - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Buyaa / Jose / Steve - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Buyaa / Jose / Steve - PRs", + "columnName": "Done", "isOrgProject": true } } @@ -1571,12 +1595,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Eirik / Krzysztof / Layomi - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Eirik / Krzysztof / Layomi - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -1626,6 +1655,12 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } } ] }, @@ -1634,12 +1669,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Eirik / Krzysztof / Layomi - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Eirik / Krzysztof / Layomi - Issue Triage] Mark relabeled issues as Triaged", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Eirik / Krzysztof / Layomi - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } } @@ -1663,18 +1699,6 @@ } }, { - "operator": "not", - "operands": [ - { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Eirik / Krzysztof / Layomi - Issue Triage", - "columnName": "Triaged" - } - } - ] - }, - { "operator": "or", "operands": [ { @@ -1717,6 +1741,12 @@ "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -1802,12 +1832,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Eirik / Krzysztof / Layomi - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Eirik / Krzysztof / Layomi - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -1866,12 +1901,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Eirik / Krzysztof / Layomi - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Eirik / Krzysztof / Layomi - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Eirik / Krzysztof / Layomi - PRs", + "columnName": "Done", "isOrgProject": true } } @@ -2298,12 +2334,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Eric / Maryam / Tarek - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Eric / Maryam / Tarek - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -2452,6 +2493,12 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } } ] }, @@ -2460,12 +2507,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Eric / Maryam / Tarek - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Eric / Maryam / Tarek - Issue Triage] Mark relabeled issues as Triaged", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Eric / Maryam / Tarek - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } } @@ -2489,18 +2537,6 @@ } }, { - "operator": "not", - "operands": [ - { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Eric / Maryam / Tarek - Issue Triage", - "columnName": "Triaged" - } - } - ] - }, - { "operator": "or", "operands": [ { @@ -2543,6 +2579,12 @@ "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -2682,12 +2724,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Eric / Maryam / Tarek - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Eric / Maryam / Tarek - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -2845,12 +2892,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Eric / Maryam / Tarek - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Eric / Maryam / Tarek - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Eric / Maryam / Tarek - PRs", + "columnName": "Done", "isOrgProject": true } } @@ -3187,12 +3235,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Carlos / Jeremy - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Carlos / Jeremy - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -3286,6 +3339,12 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } } ] }, @@ -3294,12 +3353,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Carlos / Jeremy - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Carlos / Jeremy - Issue Triage] Mark relabeled issues as Triaged", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Carlos / Jeremy - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } } @@ -3323,18 +3383,6 @@ } }, { - "operator": "not", - "operands": [ - { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Carlos / Jeremy - Issue Triage", - "columnName": "Triaged" - } - } - ] - }, - { "operator": "or", "operands": [ { @@ -3377,6 +3425,12 @@ "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -3486,12 +3540,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Carlos / Jeremy - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Carlos / Jeremy - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -3594,12 +3653,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Carlos / Jeremy - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Carlos / Jeremy - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Carlos / Jeremy - PRs", + "columnName": "Done", "isOrgProject": true } } @@ -3918,12 +3978,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Adam / David - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Adam / David - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -4006,6 +4071,12 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } } ] }, @@ -4014,12 +4085,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Adam / David - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Adam / David - Issue Triage] Mark relabeled issues as Triaged", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Adam / David - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } } @@ -4043,18 +4115,6 @@ } }, { - "operator": "not", - "operands": [ - { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Adam / David - Issue Triage", - "columnName": "Triaged" - } - } - ] - }, - { "operator": "or", "operands": [ { @@ -4097,6 +4157,12 @@ "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -4200,12 +4266,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Adam / David - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Adam / David - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -4297,12 +4368,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Adam / David - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Adam / David - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Adam / David - PRs", + "columnName": "Done", "isOrgProject": true } } @@ -4585,12 +4657,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Michael / Tanner - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Michael / Tanner - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -4651,6 +4728,12 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } } ] }, @@ -4659,12 +4742,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Michael / Tanner - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Michael / Tanner - Issue Triage] Mark relabeled issues as Triaged", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Michael / Tanner - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } } @@ -4688,18 +4772,6 @@ } }, { - "operator": "not", - "operands": [ - { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Michael / Tanner - Issue Triage", - "columnName": "Triaged" - } - } - ] - }, - { "operator": "or", "operands": [ { @@ -4742,6 +4814,12 @@ "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -4833,12 +4911,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Michael / Tanner - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Michael / Tanner - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -4908,12 +4991,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Michael / Tanner - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Michael / Tanner - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Michael / Tanner - PRs", + "columnName": "Done", "isOrgProject": true } } @@ -5196,12 +5280,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Jeremy / Levi - Issue Triage", - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Jeremy / Levi - Issue Triage", + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -5262,6 +5351,12 @@ ] } ] + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } } ] }, @@ -5270,12 +5365,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Jeremy / Levi - Issue Triage] Remove relabeled issues", + "taskName": "[Area Pod: Jeremy / Levi - Issue Triage] Mark relabeled issues as Triaged", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Jeremy / Levi - Issue Triage", + "columnName": "Triaged", "isOrgProject": true } } @@ -5299,18 +5395,6 @@ } }, { - "operator": "not", - "operands": [ - { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Jeremy / Levi - Issue Triage", - "columnName": "Triaged" - } - } - ] - }, - { "operator": "or", "operands": [ { @@ -5353,6 +5437,12 @@ "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -5444,12 +5534,17 @@ "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": "Area Pod: Jeremy / Levi - PRs", - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": "Area Pod: Jeremy / Levi - PRs", + "columnName": "Done", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -5519,12 +5614,13 @@ "issues", "project_card" ], - "taskName": "[Area Pod: Jeremy / Levi - PRs] Remove relabeled PRs", + "taskName": "[Area Pod: Jeremy / Levi - PRs] Mark relabeled PRs as Done", "actions": [ { - "name": "removeFromProject", + "name": "addToProject", "parameters": { "projectName": "Area Pod: Jeremy / Levi - PRs", + "columnName": "Done", "isOrgProject": true } } diff --git a/.github/fabricbot/scripts/updateAreaPodConfigs.js b/.github/fabricbot/updateAreaPodConfigs.js similarity index 89% rename from .github/fabricbot/scripts/updateAreaPodConfigs.js rename to .github/fabricbot/updateAreaPodConfigs.js index cf992ff..63e57f8 100644 --- a/.github/fabricbot/scripts/updateAreaPodConfigs.js +++ b/.github/fabricbot/updateAreaPodConfigs.js @@ -7,9 +7,9 @@ const path = require('path'); const fs = require('fs'); -let generatedRuntimeConfigsFile = path.join(__dirname, '..', 'generated', 'areapods-runtime.json'); -let generatedApiDocsConfigsFile = path.join(__dirname, '..', 'generated', 'areapods-dotnet-api-docs.json'); -let generatedMachineLearningConfigsFile = path.join(__dirname, '..', 'generated', 'areapods-machinelearning.json'); +let generatedRuntimeConfigsFile = path.join(__dirname, 'generated', 'areapods-runtime.json'); +let generatedApiDocsConfigsFile = path.join(__dirname, 'generated', 'areapods-dotnet-api-docs.json'); +let generatedMachineLearningConfigsFile = path.join(__dirname, 'generated', 'areapods-machinelearning.json'); let areaPods = [ { @@ -120,7 +120,7 @@ let areaPods = [ ]; let areaPodConfig = { - issueRemove: ({pod, areas}) => ({ + issueMovedToAnotherArea: ({pod, areas}) => ({ "taskType": "trigger", "capabilityId": "IssueResponder", "subCapability": "IssuesOnlyResponder", @@ -130,12 +130,17 @@ let areaPodConfig = { "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": `Area Pod: ${pod} - Issue Triage`, - "columnName": "Needs Triage", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": `Area Pod: ${pod} - Issue Triage`, + "columnName": "Triaged", + "isOrgProject": true + } + } + ] }, { "operator": "and", @@ -148,6 +153,12 @@ let areaPodConfig = { } ] })) + }, + { + "name": "isAction", + "parameters": { + "action": "unlabeled" + } } ] }, @@ -156,12 +167,14 @@ let areaPodConfig = { "issues", "project_card" ], - "taskName": `[Area Pod: ${pod} - Issue Triage] Remove relabeled issues`, + "taskName": `[Area Pod: ${pod} - Issue Triage] Mark relabeled issues as Triaged`, "actions": [ { - "name": "removeFromProject", - "parameters": { + "name": "addToProject", + "parameters": + { "projectName": `Area Pod: ${pod} - Issue Triage`, + "columnName": "Triaged", "isOrgProject": true } } @@ -398,18 +411,6 @@ let areaPodConfig = { } }, { - "operator": "not", - "operands": [ - { - "name": "isInProjectColumn", - "parameters": { - "projectName": `Area Pod: ${pod} - Issue Triage`, - "columnName": "Triaged" - } - } - ] - }, - { "operator": "or", "operands": [ @@ -460,6 +461,12 @@ let areaPodConfig = { "columnName": "Triaged", "isOrgProject": true } + }, + { + "name": "removeLabel", + "parameters": { + "label": "untriaged" + } } ] } @@ -467,7 +474,7 @@ let areaPodConfig = { /* Pull Requests */ - pullRequestAdd: ({pod, areas}) => ({ + pullRequestNeedsChampion: ({pod, areas}) => ({ "taskType": "trigger", "capabilityId": "IssueResponder", "subCapability": "PullRequestResponder", @@ -516,7 +523,7 @@ let areaPodConfig = { ] } }), - pullRequestRemove: ({pod, areas}) => ({ + pullRequestMovedToAnotherArea: ({pod, areas}) => ({ "taskType": "trigger", "capabilityId": "IssueResponder", "subCapability": "PullRequestResponder", @@ -526,12 +533,17 @@ let areaPodConfig = { "operator": "and", "operands": [ { - "name": "isInProjectColumn", - "parameters": { - "projectName": `Area Pod: ${pod} - PRs`, - "columnName": "Needs Champion", - "isOrgProject": true - } + "operator": "not", + "operands": [ + { + "name": "isInProjectColumn", + "parameters": { + "projectName": `Area Pod: ${pod} - PRs`, + "columnName": "Done", + "isOrgProject": true + } + } + ] }, (!!areas && { "operator": "and", @@ -553,15 +565,17 @@ let areaPodConfig = { "issues", "project_card" ], - "taskName": `[Area Pod: ${pod} - PRs] Remove relabeled PRs`, + "taskName": `[Area Pod: ${pod} - PRs] Mark relabeled PRs as Done`, "actions": [ { - "name": "removeFromProject", - "parameters": { + "name": "addToProject", + "parameters": + { "projectName": `Area Pod: ${pod} - PRs`, + "columnName": "Done", "isOrgProject": true } - } + }, ] } }) @@ -574,10 +588,10 @@ let generatedRuntimeTasks = areaPods [ areaPodConfig.issueNeedsTriage(areaPod), areaPodConfig.issueNeedsFurtherTriage(areaPod), - areaPodConfig.issueRemove(areaPod), + areaPodConfig.issueMovedToAnotherArea(areaPod), areaPodConfig.issueTriaged(areaPod), - areaPodConfig.pullRequestAdd(areaPod), - areaPodConfig.pullRequestRemove(areaPod), + areaPodConfig.pullRequestNeedsChampion(areaPod), + areaPodConfig.pullRequestMovedToAnotherArea(areaPod), ]); let generatedRuntimeJson = JSON.stringify(generatedRuntimeTasks, null, 2); @@ -591,11 +605,10 @@ let generatedApiDocsTasks = areaPods [ areaPodConfig.issueNeedsTriage(areaPod), areaPodConfig.issueNeedsFurtherTriage(areaPod), - areaPodConfig.issueRemove(areaPod), - // We're not using milestones in the dotnet-api-docs repo, so we can't automatically move to triaged - // areaPodConfig.issueTriaged(areaPod), - areaPodConfig.pullRequestAdd(areaPod), - areaPodConfig.pullRequestRemove(areaPod), + areaPodConfig.issueMovedToAnotherArea(areaPod), + areaPodConfig.issueTriaged(areaPod), + areaPodConfig.pullRequestNeedsChampion(areaPod), + areaPodConfig.pullRequestMovedToAnotherArea(areaPod), ]); let generatedApiDocsJson = JSON.stringify(generatedApiDocsTasks, null, 2); @@ -614,9 +627,9 @@ let generatedMachineLearningTasks = areaPods areaPodConfig.issueNeedsTriage(areaPod), areaPodConfig.issueNeedsFurtherTriage(areaPod), areaPodConfig.issueTriaged(areaPod), - areaPodConfig.pullRequestAdd(areaPod) - // Issues and PRs don't get removed from the boards because that - // only applies when moved to a different pod via area label + areaPodConfig.pullRequestNeedsChampion(areaPod) + // The machinelearning repo doesn't have areas, + // so the *MovedToAnotherArea tasks don't apply ]); let generatedMachineLearningJson = JSON.stringify(generatedMachineLearningTasks, null, 2); -- 2.7.4