Address feedback on fabricbot config for area pods (#66137)
authorJeff Handley <jeffhandley@users.noreply.github.com>
Sat, 5 Mar 2022 05:05:01 +0000 (21:05 -0800)
committerGitHub <noreply@github.com>
Sat, 5 Mar 2022 05:05:01 +0000 (21:05 -0800)
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
.github/fabricbot/README.md
.github/fabricbot/generated/areapods-dotnet-api-docs.json
.github/fabricbot/generated/areapods-machinelearning.json
.github/fabricbot/generated/areapods-runtime.json
.github/fabricbot/updateAreaPodConfigs.js [moved from .github/fabricbot/scripts/updateAreaPodConfigs.js with 89% similarity]

index 86b05f7..ed7bd37 100644 (file)
@@ -1,4 +1,4 @@
 generate:
-       node scripts/updateAreaPodConfigs.js
+       node updateAreaPodConfigs.js
 
 .DEFAULT_GOAL := generate
\ No newline at end of file
index 46b606d..2365295 100644 (file)
@@ -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.
index c3f23b0..c83e997 100644 (file)
         "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",
                 ]
               }
             ]
+          },
+          {
+            "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"
+                }
+              }
+            ]
           }
         ]
       },
         "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"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
         "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",
                 ]
               }
             ]
+          },
+          {
+            "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"
+                }
+              }
+            ]
           }
         ]
       },
         "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"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
         "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",
                 ]
               }
             ]
+          },
+          {
+            "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"
+                }
+              }
+            ]
           }
         ]
       },
         "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"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
         "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",
                 ]
               }
             ]
+          },
+          {
+            "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"
+                }
+              }
+            ]
           }
         ]
       },
         "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"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
         "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",
                 ]
               }
             ]
+          },
+          {
+            "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"
+                }
+              }
+            ]
           }
         ]
       },
         "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"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
         "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",
                 ]
               }
             ]
+          },
+          {
+            "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"
+                }
+              }
+            ]
           }
         ]
       },
         "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"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
         "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",
                 ]
               }
             ]
+          },
+          {
+            "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"
+                }
+              }
+            ]
           }
         ]
       },
         "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"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
         "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",
                 ]
               }
             ]
+          },
+          {
+            "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"
+                }
+              }
+            ]
           }
         ]
       },
         "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"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
index adcc63e..ee8ca06 100644 (file)
             }
           },
           {
-            "operator": "not",
-            "operands": [
-              {
-                "name": "isInProjectColumn",
-                "parameters": {
-                  "projectName": "Area Pod: Michael / Tanner - Issue Triage",
-                  "columnName": "Triaged"
-                }
-              }
-            ]
-          },
-          {
             "operator": "or",
             "operands": [
               {
             "columnName": "Triaged",
             "isOrgProject": true
           }
+        },
+        {
+          "name": "removeLabel",
+          "parameters": {
+            "label": "untriaged"
+          }
         }
       ]
     }
index be15ef3..c83e997 100644 (file)
         "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",
                 ]
               }
             ]
+          },
+          {
+            "name": "isAction",
+            "parameters": {
+              "action": "unlabeled"
+            }
           }
         ]
       },
         "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
           }
         }
             }
           },
           {
-            "operator": "not",
-            "operands": [
-              {
-                "name": "isInProjectColumn",
-                "parameters": {
-                  "projectName": "Area Pod: Eric / Jeff - Issue Triage",
-                  "columnName": "Triaged"
-                }
-              }
-            ]
-          },
-          {
             "operator": "or",
             "operands": [
               {
             "columnName": "Triaged",
             "isOrgProject": true
           }
+        },
+        {
+          "name": "removeLabel",
+          "parameters": {
+            "label": "untriaged"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
         "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",
                 ]
               }
             ]
+          },
+          {
+            "name": "isAction",
+            "parameters": {
+              "action": "unlabeled"
+            }
           }
         ]
       },
         "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
           }
         }
             }
           },
           {
-            "operator": "not",
-            "operands": [
-              {
-                "name": "isInProjectColumn",
-                "parameters": {
-                  "projectName": "Area Pod: Buyaa / Jose / Steve - Issue Triage",
-                  "columnName": "Triaged"
-                }
-              }
-            ]
-          },
-          {
             "operator": "or",
             "operands": [
               {
             "columnName": "Triaged",
             "isOrgProject": true
           }
+        },
+        {
+          "name": "removeLabel",
+          "parameters": {
+            "label": "untriaged"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
         "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",
                 ]
               }
             ]
+          },
+          {
+            "name": "isAction",
+            "parameters": {
+              "action": "unlabeled"
+            }
           }
         ]
       },
         "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
           }
         }
             }
           },
           {
-            "operator": "not",
-            "operands": [
-              {
-                "name": "isInProjectColumn",
-                "parameters": {
-                  "projectName": "Area Pod: Eirik / Krzysztof / Layomi - Issue Triage",
-                  "columnName": "Triaged"
-                }
-              }
-            ]
-          },
-          {
             "operator": "or",
             "operands": [
               {
             "columnName": "Triaged",
             "isOrgProject": true
           }
+        },
+        {
+          "name": "removeLabel",
+          "parameters": {
+            "label": "untriaged"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
         "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",
                 ]
               }
             ]
+          },
+          {
+            "name": "isAction",
+            "parameters": {
+              "action": "unlabeled"
+            }
           }
         ]
       },
         "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
           }
         }
             }
           },
           {
-            "operator": "not",
-            "operands": [
-              {
-                "name": "isInProjectColumn",
-                "parameters": {
-                  "projectName": "Area Pod: Eric / Maryam / Tarek - Issue Triage",
-                  "columnName": "Triaged"
-                }
-              }
-            ]
-          },
-          {
             "operator": "or",
             "operands": [
               {
             "columnName": "Triaged",
             "isOrgProject": true
           }
+        },
+        {
+          "name": "removeLabel",
+          "parameters": {
+            "label": "untriaged"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
         "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",
                 ]
               }
             ]
+          },
+          {
+            "name": "isAction",
+            "parameters": {
+              "action": "unlabeled"
+            }
           }
         ]
       },
         "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
           }
         }
             }
           },
           {
-            "operator": "not",
-            "operands": [
-              {
-                "name": "isInProjectColumn",
-                "parameters": {
-                  "projectName": "Area Pod: Carlos / Jeremy - Issue Triage",
-                  "columnName": "Triaged"
-                }
-              }
-            ]
-          },
-          {
             "operator": "or",
             "operands": [
               {
             "columnName": "Triaged",
             "isOrgProject": true
           }
+        },
+        {
+          "name": "removeLabel",
+          "parameters": {
+            "label": "untriaged"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
         "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",
                 ]
               }
             ]
+          },
+          {
+            "name": "isAction",
+            "parameters": {
+              "action": "unlabeled"
+            }
           }
         ]
       },
         "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
           }
         }
             }
           },
           {
-            "operator": "not",
-            "operands": [
-              {
-                "name": "isInProjectColumn",
-                "parameters": {
-                  "projectName": "Area Pod: Adam / David - Issue Triage",
-                  "columnName": "Triaged"
-                }
-              }
-            ]
-          },
-          {
             "operator": "or",
             "operands": [
               {
             "columnName": "Triaged",
             "isOrgProject": true
           }
+        },
+        {
+          "name": "removeLabel",
+          "parameters": {
+            "label": "untriaged"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
         "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",
                 ]
               }
             ]
+          },
+          {
+            "name": "isAction",
+            "parameters": {
+              "action": "unlabeled"
+            }
           }
         ]
       },
         "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
           }
         }
             }
           },
           {
-            "operator": "not",
-            "operands": [
-              {
-                "name": "isInProjectColumn",
-                "parameters": {
-                  "projectName": "Area Pod: Michael / Tanner - Issue Triage",
-                  "columnName": "Triaged"
-                }
-              }
-            ]
-          },
-          {
             "operator": "or",
             "operands": [
               {
             "columnName": "Triaged",
             "isOrgProject": true
           }
+        },
+        {
+          "name": "removeLabel",
+          "parameters": {
+            "label": "untriaged"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
         "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",
                 ]
               }
             ]
+          },
+          {
+            "name": "isAction",
+            "parameters": {
+              "action": "unlabeled"
+            }
           }
         ]
       },
         "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
           }
         }
             }
           },
           {
-            "operator": "not",
-            "operands": [
-              {
-                "name": "isInProjectColumn",
-                "parameters": {
-                  "projectName": "Area Pod: Jeremy / Levi - Issue Triage",
-                  "columnName": "Triaged"
-                }
-              }
-            ]
-          },
-          {
             "operator": "or",
             "operands": [
               {
             "columnName": "Triaged",
             "isOrgProject": true
           }
+        },
+        {
+          "name": "removeLabel",
+          "parameters": {
+            "label": "untriaged"
+          }
         }
       ]
     }
         "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",
         "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
           }
         }
@@ -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);