Repository: DefinitelyTyped/dt-mergebot
Pull request #348 (2021-01-21 18:05:08)

Combine dependent actions
Minor detail but it could be more obvious, when we set `targetColumn`, `shouldUpdateProjectColumn` and `shouldRemoveFromActiveColumns` independently, what the result will be. What do you think about combining these three and replacing `shouldRemoveFromActiveColumns` with "REMOVE"?

Also I replaced "context" with "actions" in `compute-pr-actions.ts`, to match `execute-pr-actions.ts`, etc.


Patch:
diff --git a/src/compute-pr-actions.ts b/src/compute-pr-actions.ts
index eba2314..3ef27ad 100644
--- a/src/compute-pr-actions.ts
+++ b/src/compute-pr-actions.ts
@@ -49,26 +49,22 @@ export const LabelNames = [
 ] as const;
 
 export interface Actions {
-    targetColumn?: ColumnName;
+    projectColumn?: ColumnName | "*REMOVE*";
     labels: LabelName[];
     responseComments: Comments.Comment[];
     shouldClose: boolean;
     shouldMerge: boolean;
     shouldUpdateLabels: boolean;
-    shouldUpdateProjectColumn: boolean;
-    shouldRemoveFromActiveColumns: boolean;
 }
 
 function createDefaultActions(): Actions {
     return {
-        targetColumn: "Other",
+        projectColumn: "Other",
         labels: [],
         responseComments: [],
         shouldClose: false,
         shouldMerge: false,
         shouldUpdateLabels: true,
-        shouldUpdateProjectColumn: true,
-        shouldRemoveFromActiveColumns: false,
     };
 }
 
@@ -79,8 +75,6 @@ function createEmptyActions(): Actions {
         shouldClose: false,
         shouldMerge: false,
         shouldUpdateLabels: false,
-        shouldUpdateProjectColumn: false,
-        shouldRemoveFromActiveColumns: false,
     };
 }
 
@@ -89,7 +83,7 @@ type Staleness = {
     readonly days: number;
     readonly state: "fresh" | "attention" | "nearly" | "done";
     readonly explanation?: string;
-    readonly doTimelineActions: (context: Actions) => void;
+    readonly doTimelineActions: (actions: Actions) => void;
 }
 
 type ApproverKind = "maintainer" | "owner" | "other";
@@ -233,28 +227,20 @@ function extendPrInfo(info: PrInfo): ExtendedPrInfo {
 export function process(prInfo: BotResult,
                         extendedCallback: (info: ExtendedPrInfo) => void = _i => {}): Actions {
     if (prInfo.type === "remove") {
-        if (prInfo.isDraft) {
-            return {
-                ...createEmptyActions(),
-                targetColumn: "Needs Author Action",
-                shouldUpdateProjectColumn: true,
-            };
-        } else {
-            return {
-                ...createEmptyActions(),
-                shouldRemoveFromActiveColumns: true,
-            };
-        }
+        return {
+            ...createEmptyActions(),
+            projectColumn: prInfo.isDraft ? "Needs Author Action" : "*REMOVE*",
+        };
     }
 
-    const context = createDefaultActions();
-    const post = (c: Comments.Comment) => context.responseComments.push(c);
+    const actions = createDefaultActions();
+    const post = (c: Comments.Comment) => actions.responseComments.push(c);
 
     if (prInfo.type === "error") {
-        context.targetColumn = "Other";
-        context.labels.push("Mergebot Error");
+        actions.projectColumn = "Other";
+        actions.labels.push("Mergebot Error");
         post(Comments.HadError(prInfo.author, prInfo.message));
-        return context;
+        return actions;
     }
 
     // Collect some additional info
@@ -263,9 +249,9 @@ export function process(prInfo: BotResult,
 
     // General labelling and housekeeping
     const label = (label: LabelName, cond: unknown = true) => {
-        const i = context.labels.indexOf(label);
-        if (cond && i < 0) context.labels.push(label);
-        else if (!cond && i >= 0) context.labels.splice(i, 1);
+        const i = actions.labels.indexOf(label);
+        if (cond && i < 0) actions.labels.push(label);
+        else if (!cond && i >= 0) actions.labels.splice(i, 1);
     };
     label("Has Merge Conflict", info.hasMergeConflict);
     label("The CI failed", info.failedCI);
@@ -306,18 +292,18 @@ export function process(prInfo: BotResult,
     }
 
     // Some step should override this
-    context.targetColumn = "Other";
+    actions.projectColumn = "Other";
 
     // Needs author attention (bad CI, merge conflicts)
     if (info.needsAuthorAction) {
-        context.targetColumn = "Needs Author Action";
+        actions.projectColumn = "Needs Author Action";
         if (info.hasMergeConflict) post(Comments.MergeConflicted(headCommitAbbrOid, info.author));
         if (info.failedCI) post(Comments.CIFailed(headCommitAbbrOid, info.author, info.ciUrl!));
         if (info.hasChangereqs) post(Comments.ChangesRequest(headCommitAbbrOid, info.author));
     }
     // CI is running; default column is Waiting for Reviewers
     else if (info.ciResult === "unknown") {
-        context.targetColumn = "Waiting for Code Reviews";
+        actions.projectColumn = "Waiting for Code Reviews";
     }
     // CI is missing
     else if (info.ciResult === "missing") {
@@ -327,13 +313,13 @@ export function process(prInfo: BotResult,
         if (dayjs(info.now).diff(info.lastPushDate, "minutes") >= 1) {
             label("Where is GH Actions?");
         } else {
-            delete context.targetColumn;
+            delete actions.projectColumn;
         }
     }
     // CI is green
     else if (info.ciResult === "pass") {
         if (!info.canBeSelfMerged) {
-            context.targetColumn = info.reviewColumn;
+            actions.projectColumn = info.reviewColumn;
         } else {
             label("Self Merge");
             // post even when merging, so it won't get deleted
@@ -341,10 +327,10 @@ export function process(prInfo: BotResult,
                                          (info.tooManyOwners || info.hasMultiplePackages) ? [] : info.otherOwners,
                                          headCommitAbbrOid));
             if (info.hasValidMergeRequest) {
-                context.shouldMerge = true;
-                context.targetColumn = "Recently Merged";
+                actions.shouldMerge = true;
+                actions.projectColumn = "Recently Merged";
             } else {
-                context.targetColumn = "Waiting for Author to Merge";
+                actions.projectColumn = "Waiting for Author to Merge";
             }
         }
         // Ping stale reviewers if any
@@ -355,14 +341,14 @@ export function process(prInfo: BotResult,
         }
     }
 
-    if (!context.shouldMerge && info.mergeRequestUser) {
+    if (!actions.shouldMerge && info.mergeRequestUser) {
         post(Comments.WaitUntilMergeIsOK(info.mergeRequestUser, headCommitAbbrOid, urls.workflow));
     }
 
     // Timeline-related actions
-    info.staleness?.doTimelineActions(context);
+    info.staleness?.doTimelineActions(actions);
 
-    return context;
+    return actions;
 }
 
 function makeStaleness(now: Date, author: string, otherOwners: string[]) { // curried for convenience
@@ -375,18 +361,18 @@ function makeStaleness(now: Date, author: string, otherOwners: string[]) { // cu
         const explanation = Comments.StalenessExplanations[kindAndState];
         const expires = dayjs(now).add(nearDays, "days").format("MMM Do");
         const comment = Comments.StalenessComment(author, otherOwners, expires)[kindAndState];
-        const doTimelineActions = (context: Actions) => {
+        const doTimelineActions = (actions: Actions) => {
             if (comment !== undefined) {
                 const tag = state === "done" ? kindAndState
                     : `${kindAndState}:${since.toISOString().replace(/T.*$/, "")}`;
-                context.responseComments.push({ tag, status: comment });
+                actions.responseComments.push({ tag, status: comment });
             }
             if (state === "done") {
                 if (doneColumn === "CLOSE") {
-                    context.shouldClose = true;
-                    context.shouldRemoveFromActiveColumns = true;
+                    actions.shouldClose = true;
+                    actions.projectColumn = "*REMOVE*";
                 } else {
-                    context.targetColumn = doneColumn;
+                    actions.projectColumn = doneColumn;
                 }
             }
         };
diff --git a/src/execute-pr-actions.ts b/src/execute-pr-actions.ts
index 11f4fc1..d89d9fc 100644
--- a/src/execute-pr-actions.ts
+++ b/src/execute-pr-actions.ts
@@ -45,20 +45,20 @@ async function getMutationsForLabels(actions: Actions, pr: PR_repository_pullReq
 }
 
 async function getMutationsForProjectChanges(actions: Actions, pr: PR_repository_pullRequest) {
-    if (actions.shouldRemoveFromActiveColumns) {
-        const card = pr.projectCards.nodes?.find(card => card?.project.number === ProjectBoardNumber);
-        if (card?.column?.name === "Recently Merged") return [];
-        return [createMutation<schema.DeleteProjectCardInput>("deleteProjectCard", { cardId: card!.id })];
+    if (!actions.projectColumn) return [];
+    const card = pr.projectCards.nodes?.find(card => card?.project.number === ProjectBoardNumber);
+    if (actions.projectColumn === "*REMOVE*") {
+        if (!card || card.column?.name === "Recently Merged") return [];
+        return [createMutation<schema.DeleteProjectCardInput>("deleteProjectCard", { cardId: card.id })];
     }
-    if (!(actions.shouldUpdateProjectColumn && actions.targetColumn)) return [];
-    const existingCard = pr.projectCards.nodes?.find(n => !!n?.column && n.project.number === ProjectBoardNumber);
-    const targetColumnId = await getProjectBoardColumnIdByName(actions.targetColumn);
-    // No existing card => create a new one
-    if (!existingCard) return [createMutation<schema.AddProjectCardInput>("addProjectCard", { contentId: pr.id, projectColumnId: targetColumnId })];
     // Existing card is ok => do nothing
-    if (existingCard.column?.name === actions.targetColumn) return [];
-    // Move existing card
-    return [createMutation<schema.MoveProjectCardInput>("moveProjectCard", { cardId: existingCard.id, columnId: targetColumnId })];
+    if (card?.column?.name === actions.projectColumn) return [];
+    const columnId = await getProjectBoardColumnIdByName(actions.projectColumn);
+    return [card
+            // Move existing card
+            ? createMutation<schema.MoveProjectCardInput>("moveProjectCard", { cardId: card.id, columnId })
+            // No existing card => create a new one
+            : createMutation<schema.AddProjectCardInput>("addProjectCard", { contentId: pr.id, projectColumnId: columnId })];
 }
 
 type ParsedComment = { id: string, body: string, tag: string, status: string };


Test patch:
diff --git a/src/_tests/fixtures/38979/result.json b/src/_tests/fixtures/38979/result.json
index b5080e6..9e4f867 100644
--- a/src/_tests/fixtures/38979/result.json
+++ b/src/_tests/fixtures/38979/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Action",
+  "projectColumn": "Needs Maintainer Action",
   "labels": [
     "Critical package",
     "Other Approved",
@@ -25,7 +25,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/43136/result.json b/src/_tests/fixtures/43136/result.json
index 41273c6..12032f5 100644
--- a/src/_tests/fixtures/43136/result.json
+++ b/src/_tests/fixtures/43136/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Review",
+  "projectColumn": "Needs Maintainer Review",
   "labels": [
     "Critical package"
   ],
@@ -19,7 +19,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/43144/result.json b/src/_tests/fixtures/43144/result.json
index ba3d530..45a4e1b 100644
--- a/src/_tests/fixtures/43144/result.json
+++ b/src/_tests/fixtures/43144/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "Waiting for Author to Merge",
   "labels": [
     "Owner Approved",
     "Self Merge"
@@ -16,7 +16,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/43151/result.json b/src/_tests/fixtures/43151/result.json
index 15118ca..40774eb 100644
--- a/src/_tests/fixtures/43151/result.json
+++ b/src/_tests/fixtures/43151/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Action",
+  "projectColumn": "Needs Maintainer Action",
   "labels": [
     "New Definition"
   ],
@@ -15,7 +15,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/43160/result.json b/src/_tests/fixtures/43160/result.json
index e6a7a64..96f97be 100644
--- a/src/_tests/fixtures/43160/result.json
+++ b/src/_tests/fixtures/43160/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Author Action",
+  "projectColumn": "Needs Author Action",
   "labels": [
     "The CI failed",
     "Owner Approved",
@@ -21,7 +21,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/43175/result.json b/src/_tests/fixtures/43175/result.json
index 97905e9..ed353aa 100644
--- a/src/_tests/fixtures/43175/result.json
+++ b/src/_tests/fixtures/43175/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Review",
+  "projectColumn": "Needs Maintainer Review",
   "labels": [
     "Popular package",
     "Untested Change"
@@ -24,7 +24,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/43235/result.json b/src/_tests/fixtures/43235/result.json
index d95c720..98df323 100644
--- a/src/_tests/fixtures/43235/result.json
+++ b/src/_tests/fixtures/43235/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [],
   "responseComments": [
     {
@@ -13,7 +13,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/43314/result.json b/src/_tests/fixtures/43314/result.json
index a7fd4d2..a24135c 100644
--- a/src/_tests/fixtures/43314/result.json
+++ b/src/_tests/fixtures/43314/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Action",
+  "projectColumn": "Needs Maintainer Action",
   "labels": [
     "New Definition"
   ],
@@ -15,7 +15,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/43695-duplicate-comment/result.json b/src/_tests/fixtures/43695-duplicate-comment/result.json
index 374edbf..635381c 100644
--- a/src/_tests/fixtures/43695-duplicate-comment/result.json
+++ b/src/_tests/fixtures/43695-duplicate-comment/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Action",
+  "projectColumn": "Needs Maintainer Action",
   "labels": [
     "New Definition",
     "Unreviewed"
@@ -24,7 +24,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/43695-post-review/result.json b/src/_tests/fixtures/43695-post-review/result.json
index 51109ca..9b2906d 100644
--- a/src/_tests/fixtures/43695-post-review/result.json
+++ b/src/_tests/fixtures/43695-post-review/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Author Action",
+  "projectColumn": "Needs Author Action",
   "labels": [
     "Revision needed",
     "New Definition"
@@ -16,7 +16,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/43695/result.json b/src/_tests/fixtures/43695/result.json
index 8ee3dae..6584189 100644
--- a/src/_tests/fixtures/43695/result.json
+++ b/src/_tests/fixtures/43695/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Author Action",
+  "projectColumn": "Needs Author Action",
   "labels": [
     "Revision needed",
     "New Definition"
@@ -16,7 +16,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/43960-post-close/result.json b/src/_tests/fixtures/43960-post-close/result.json
index 3a62818..25a0649 100644
--- a/src/_tests/fixtures/43960-post-close/result.json
+++ b/src/_tests/fixtures/43960-post-close/result.json
@@ -4,6 +4,5 @@
   "shouldClose": false,
   "shouldMerge": false,
   "shouldUpdateLabels": false,
-  "shouldUpdateProjectColumn": false,
-  "shouldRemoveFromActiveColumns": true
+  "projectColumn": "*REMOVE*"
 }
diff --git a/src/_tests/fixtures/43960/result.json b/src/_tests/fixtures/43960/result.json
index 0bac2a8..87058c3 100644
--- a/src/_tests/fixtures/43960/result.json
+++ b/src/_tests/fixtures/43960/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Author Action",
+  "projectColumn": "Needs Author Action",
   "labels": [
     "Revision needed",
     "Popular package"
@@ -16,7 +16,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44105/result.json b/src/_tests/fixtures/44105/result.json
index 3a62818..25a0649 100644
--- a/src/_tests/fixtures/44105/result.json
+++ b/src/_tests/fixtures/44105/result.json
@@ -4,6 +4,5 @@
   "shouldClose": false,
   "shouldMerge": false,
   "shouldUpdateLabels": false,
-  "shouldUpdateProjectColumn": false,
-  "shouldRemoveFromActiveColumns": true
+  "projectColumn": "*REMOVE*"
 }
diff --git a/src/_tests/fixtures/44256/result.json b/src/_tests/fixtures/44256/result.json
index 3a62818..25a0649 100644
--- a/src/_tests/fixtures/44256/result.json
+++ b/src/_tests/fixtures/44256/result.json
@@ -4,6 +4,5 @@
   "shouldClose": false,
   "shouldMerge": false,
   "shouldUpdateLabels": false,
-  "shouldUpdateProjectColumn": false,
-  "shouldRemoveFromActiveColumns": true
+  "projectColumn": "*REMOVE*"
 }
diff --git a/src/_tests/fixtures/44267/result.json b/src/_tests/fixtures/44267/result.json
index d97c5d4..07a76aa 100644
--- a/src/_tests/fixtures/44267/result.json
+++ b/src/_tests/fixtures/44267/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Review",
+  "projectColumn": "Needs Maintainer Review",
   "labels": [
     "Owner Approved",
     "Untested Change"
@@ -16,7 +16,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44282/result.json b/src/_tests/fixtures/44282/result.json
index 7df9030..5432fc6 100644
--- a/src/_tests/fixtures/44282/result.json
+++ b/src/_tests/fixtures/44282/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [
     "Edits Owners",
     "No Other Owners"
@@ -16,7 +16,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44288/result.json b/src/_tests/fixtures/44288/result.json
index ff4bc27..430e4a7 100644
--- a/src/_tests/fixtures/44288/result.json
+++ b/src/_tests/fixtures/44288/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [],
   "responseComments": [
     {
@@ -13,7 +13,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44290/result.json b/src/_tests/fixtures/44290/result.json
index c7c9557..29193b4 100644
--- a/src/_tests/fixtures/44290/result.json
+++ b/src/_tests/fixtures/44290/result.json
@@ -4,7 +4,5 @@
   "shouldClose": false,
   "shouldMerge": false,
   "shouldUpdateLabels": false,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false,
-  "targetColumn": "Needs Author Action"
+  "projectColumn": "Needs Author Action"
 }
diff --git a/src/_tests/fixtures/44299-with-files/result.json b/src/_tests/fixtures/44299-with-files/result.json
index c07fdb0..74eb804 100644
--- a/src/_tests/fixtures/44299-with-files/result.json
+++ b/src/_tests/fixtures/44299-with-files/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Action",
+  "projectColumn": "Needs Maintainer Action",
   "labels": [
     "New Definition"
   ],
@@ -15,7 +15,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44299/result.json b/src/_tests/fixtures/44299/result.json
index c07fdb0..74eb804 100644
--- a/src/_tests/fixtures/44299/result.json
+++ b/src/_tests/fixtures/44299/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Action",
+  "projectColumn": "Needs Maintainer Action",
   "labels": [
     "New Definition"
   ],
@@ -15,7 +15,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44316/result.json b/src/_tests/fixtures/44316/result.json
index 55e2ae9..4ab158a 100644
--- a/src/_tests/fixtures/44316/result.json
+++ b/src/_tests/fixtures/44316/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [
     "Author is Owner",
     "No Other Owners"
@@ -16,7 +16,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44343-pending-travis/result.json b/src/_tests/fixtures/44343-pending-travis/result.json
index 909ba1e..4b68d79 100644
--- a/src/_tests/fixtures/44343-pending-travis/result.json
+++ b/src/_tests/fixtures/44343-pending-travis/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [],
   "responseComments": [
     {
@@ -13,7 +13,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44343-pre-travis/result.json b/src/_tests/fixtures/44343-pre-travis/result.json
index 909ba1e..4b68d79 100644
--- a/src/_tests/fixtures/44343-pre-travis/result.json
+++ b/src/_tests/fixtures/44343-pre-travis/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [],
   "responseComments": [
     {
@@ -13,7 +13,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44343/result.json b/src/_tests/fixtures/44343/result.json
index 909ba1e..4b68d79 100644
--- a/src/_tests/fixtures/44343/result.json
+++ b/src/_tests/fixtures/44343/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [],
   "responseComments": [
     {
@@ -13,7 +13,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44402/result.json b/src/_tests/fixtures/44402/result.json
index cc4e244..a4564c7 100644
--- a/src/_tests/fixtures/44402/result.json
+++ b/src/_tests/fixtures/44402/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "Waiting for Author to Merge",
   "labels": [
     "Other Approved",
     "Maintainer Approved",
@@ -18,7 +18,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44411/result.json b/src/_tests/fixtures/44411/result.json
index e5e343d..c59433a 100644
--- a/src/_tests/fixtures/44411/result.json
+++ b/src/_tests/fixtures/44411/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [
     "Edits Owners"
   ],
@@ -15,7 +15,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json b/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json
index bbf1202..c013224 100644
--- a/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json
+++ b/src/_tests/fixtures/44424-1-travis-instantly-finished/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [
     "Author is Owner"
   ],
@@ -15,7 +15,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44424-2-after-travis-second/result.json b/src/_tests/fixtures/44424-2-after-travis-second/result.json
index 4c26fc9..6c78481 100644
--- a/src/_tests/fixtures/44424-2-after-travis-second/result.json
+++ b/src/_tests/fixtures/44424-2-after-travis-second/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [
     "Author is Owner"
   ],
@@ -15,7 +15,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44437/result.json b/src/_tests/fixtures/44437/result.json
index b8894ff..3d5eb75 100644
--- a/src/_tests/fixtures/44437/result.json
+++ b/src/_tests/fixtures/44437/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "Waiting for Author to Merge",
   "labels": [
     "Popular package",
     "Owner Approved",
@@ -18,7 +18,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44439/result.json b/src/_tests/fixtures/44439/result.json
index 7256583..63d6173 100644
--- a/src/_tests/fixtures/44439/result.json
+++ b/src/_tests/fixtures/44439/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Action",
+  "projectColumn": "Needs Maintainer Action",
   "labels": [
     "Edits Owners",
     "Edits Infrastructure"
@@ -16,7 +16,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44631/result.json b/src/_tests/fixtures/44631/result.json
index 97cf271..5f50556 100644
--- a/src/_tests/fixtures/44631/result.json
+++ b/src/_tests/fixtures/44631/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Author Action",
+  "projectColumn": "Needs Author Action",
   "labels": [
     "Has Merge Conflict",
     "Maintainer Approved"
@@ -16,7 +16,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44857/result.json b/src/_tests/fixtures/44857/result.json
index 3ecd031..1e15ff7 100644
--- a/src/_tests/fixtures/44857/result.json
+++ b/src/_tests/fixtures/44857/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Action",
+  "projectColumn": "Needs Maintainer Action",
   "labels": [
     "Critical package",
     "Author is Owner",
@@ -25,7 +25,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44989-14days/result.json b/src/_tests/fixtures/44989-14days/result.json
index c7ca3ae..174b6fd 100644
--- a/src/_tests/fixtures/44989-14days/result.json
+++ b/src/_tests/fixtures/44989-14days/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "Waiting for Author to Merge",
   "labels": [
     "Popular package",
     "Owner Approved",
@@ -22,7 +22,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44989-32days/result.json b/src/_tests/fixtures/44989-32days/result.json
index 519b805..99c96f3 100644
--- a/src/_tests/fixtures/44989-32days/result.json
+++ b/src/_tests/fixtures/44989-32days/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "*REMOVE*",
   "labels": [
     "Popular package",
     "Owner Approved",
@@ -22,7 +22,5 @@
   ],
   "shouldClose": true,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": true
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44989-3days/result.json b/src/_tests/fixtures/44989-3days/result.json
index fc56c02..8e55d84 100644
--- a/src/_tests/fixtures/44989-3days/result.json
+++ b/src/_tests/fixtures/44989-3days/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "Waiting for Author to Merge",
   "labels": [
     "Popular package",
     "Owner Approved",
@@ -17,7 +17,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/44989-7days/result.json b/src/_tests/fixtures/44989-7days/result.json
index 32abc71..1503b80 100644
--- a/src/_tests/fixtures/44989-7days/result.json
+++ b/src/_tests/fixtures/44989-7days/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "Waiting for Author to Merge",
   "labels": [
     "Popular package",
     "Owner Approved",
@@ -17,7 +17,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/45137/result.json b/src/_tests/fixtures/45137/result.json
index d2b05ea..25e52c6 100644
--- a/src/_tests/fixtures/45137/result.json
+++ b/src/_tests/fixtures/45137/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Review",
+  "projectColumn": "Needs Maintainer Review",
   "labels": [
     "Popular package",
     "Owner Approved",
@@ -19,7 +19,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/45627/result.json b/src/_tests/fixtures/45627/result.json
index 8b06249..cf5822f 100644
--- a/src/_tests/fixtures/45627/result.json
+++ b/src/_tests/fixtures/45627/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Recently Merged",
+  "projectColumn": "*REMOVE*",
   "labels": [
     "Critical package",
     "Owner Approved",
@@ -28,7 +28,5 @@
   ],
   "shouldClose": true,
   "shouldMerge": true,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": true
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/45836/result.json b/src/_tests/fixtures/45836/result.json
index f1b7092..af1eff0 100644
--- a/src/_tests/fixtures/45836/result.json
+++ b/src/_tests/fixtures/45836/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Review",
+  "projectColumn": "Needs Maintainer Review",
   "labels": [
     "Owner Approved",
     "Edits Owners",
@@ -17,7 +17,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/45884/result.json b/src/_tests/fixtures/45884/result.json
index a16bdbf..782da86 100644
--- a/src/_tests/fixtures/45884/result.json
+++ b/src/_tests/fixtures/45884/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "Waiting for Author to Merge",
   "labels": [
     "Owner Approved",
     "Untested Change",
@@ -21,7 +21,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/45888/result.json b/src/_tests/fixtures/45888/result.json
index 6d08fb4..85f868d 100644
--- a/src/_tests/fixtures/45888/result.json
+++ b/src/_tests/fixtures/45888/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [
     "Other Approved",
     "Untested Change"
@@ -20,7 +20,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/45890/result.json b/src/_tests/fixtures/45890/result.json
index f37164f..3882a1d 100644
--- a/src/_tests/fixtures/45890/result.json
+++ b/src/_tests/fixtures/45890/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Action",
+  "projectColumn": "Needs Maintainer Action",
   "labels": [
     "Other Approved",
     "New Definition"
@@ -16,7 +16,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/45946/result.json b/src/_tests/fixtures/45946/result.json
index fcd6358..31b5a41 100644
--- a/src/_tests/fixtures/45946/result.json
+++ b/src/_tests/fixtures/45946/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Action",
+  "projectColumn": "Needs Maintainer Action",
   "labels": [
     "Edits Infrastructure",
     "No Other Owners"
@@ -16,7 +16,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/45982/result.json b/src/_tests/fixtures/45982/result.json
index 42b94ac..eef2417 100644
--- a/src/_tests/fixtures/45982/result.json
+++ b/src/_tests/fixtures/45982/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Other",
+  "projectColumn": "Other",
   "labels": [
     "Mergebot Error"
   ],
@@ -11,7 +11,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/45999/result.json b/src/_tests/fixtures/45999/result.json
index b6d714f..11c903a 100644
--- a/src/_tests/fixtures/45999/result.json
+++ b/src/_tests/fixtures/45999/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "Waiting for Author to Merge",
   "labels": [
     "Critical package",
     "Owner Approved",
@@ -17,7 +17,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/46008/result.json b/src/_tests/fixtures/46008/result.json
index a7a7c32..a5e7f0f 100644
--- a/src/_tests/fixtures/46008/result.json
+++ b/src/_tests/fixtures/46008/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "Waiting for Author to Merge",
   "labels": [
     "Owner Approved",
     "Untested Change",
@@ -21,7 +21,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/46019/result.json b/src/_tests/fixtures/46019/result.json
index b84054e..358e85e 100644
--- a/src/_tests/fixtures/46019/result.json
+++ b/src/_tests/fixtures/46019/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "Waiting for Author to Merge",
   "labels": [
     "Maintainer Approved",
     "New Definition",
@@ -17,7 +17,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/46120/result.json b/src/_tests/fixtures/46120/result.json
index 77b39e2..213b5d3 100644
--- a/src/_tests/fixtures/46120/result.json
+++ b/src/_tests/fixtures/46120/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "Waiting for Author to Merge",
   "labels": [
     "Popular package",
     "Owner Approved",
@@ -22,7 +22,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/46191/result.json b/src/_tests/fixtures/46191/result.json
index 7f34630..a35d26b 100644
--- a/src/_tests/fixtures/46191/result.json
+++ b/src/_tests/fixtures/46191/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Author Action",
+  "projectColumn": "Needs Author Action",
   "labels": [
     "The CI failed",
     "Edits Owners",
@@ -25,7 +25,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/46196/result.json b/src/_tests/fixtures/46196/result.json
index ffe777f..7e4dada 100644
--- a/src/_tests/fixtures/46196/result.json
+++ b/src/_tests/fixtures/46196/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [],
   "responseComments": [
     {
@@ -13,7 +13,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/46279/result.json b/src/_tests/fixtures/46279/result.json
index a7d8c86..5d3d5d0 100644
--- a/src/_tests/fixtures/46279/result.json
+++ b/src/_tests/fixtures/46279/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Action",
+  "projectColumn": "Needs Maintainer Action",
   "labels": [
     "Author is Owner",
     "No Other Owners",
@@ -21,7 +21,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/46804/result.json b/src/_tests/fixtures/46804/result.json
index ab7e784..7280f12 100644
--- a/src/_tests/fixtures/46804/result.json
+++ b/src/_tests/fixtures/46804/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [
     "Untested Change"
   ],
@@ -19,7 +19,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/46879/result.json b/src/_tests/fixtures/46879/result.json
index 4b87b1d..a9ffd19 100644
--- a/src/_tests/fixtures/46879/result.json
+++ b/src/_tests/fixtures/46879/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [
     "Popular package"
   ],
@@ -15,7 +15,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/47017-blessed-and-one-owner/result.json b/src/_tests/fixtures/47017-blessed-and-one-owner/result.json
index 14288e8..c56a5cd 100644
--- a/src/_tests/fixtures/47017-blessed-and-one-owner/result.json
+++ b/src/_tests/fixtures/47017-blessed-and-one-owner/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [
     "Critical package",
     "Edits multiple packages"
@@ -12,7 +12,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/47017-blessed-and-two-owner/result.json b/src/_tests/fixtures/47017-blessed-and-two-owner/result.json
index f68fc50..559955c 100644
--- a/src/_tests/fixtures/47017-blessed-and-two-owner/result.json
+++ b/src/_tests/fixtures/47017-blessed-and-two-owner/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "Waiting for Author to Merge",
   "labels": [
     "Critical package",
     "Owner Approved",
@@ -18,7 +18,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/47017-blessed/result.json b/src/_tests/fixtures/47017-blessed/result.json
index 60e0393..757992d 100644
--- a/src/_tests/fixtures/47017-blessed/result.json
+++ b/src/_tests/fixtures/47017-blessed/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [
     "Critical package",
     "Edits multiple packages"
@@ -16,7 +16,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/47017/result.json b/src/_tests/fixtures/47017/result.json
index 69cc799..298b165 100644
--- a/src/_tests/fixtures/47017/result.json
+++ b/src/_tests/fixtures/47017/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Review",
+  "projectColumn": "Needs Maintainer Review",
   "labels": [
     "Critical package",
     "Edits multiple packages"
@@ -16,7 +16,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/48216/result.json b/src/_tests/fixtures/48216/result.json
index 9ba6769..34a015d 100644
--- a/src/_tests/fixtures/48216/result.json
+++ b/src/_tests/fixtures/48216/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [],
   "responseComments": [
     {
@@ -13,7 +13,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/48236/result.json b/src/_tests/fixtures/48236/result.json
index 2195090..36a6bcd 100644
--- a/src/_tests/fixtures/48236/result.json
+++ b/src/_tests/fixtures/48236/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Recently Merged",
+  "projectColumn": "Recently Merged",
   "labels": [
     "Other Approved",
     "Self Merge"
@@ -20,7 +20,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": true,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/48652-merge-offer/result.json b/src/_tests/fixtures/48652-merge-offer/result.json
index aa5a7f6..3811026 100644
--- a/src/_tests/fixtures/48652-merge-offer/result.json
+++ b/src/_tests/fixtures/48652-merge-offer/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "Waiting for Author to Merge",
   "labels": [
     "Owner Approved",
     "Maintainer Approved",
@@ -22,7 +22,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/48652-prereq/result.json b/src/_tests/fixtures/48652-prereq/result.json
index 8d3caa4..2db4cd1 100644
--- a/src/_tests/fixtures/48652-prereq/result.json
+++ b/src/_tests/fixtures/48652-prereq/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "Waiting for Author to Merge",
   "labels": [
     "Owner Approved",
     "Maintainer Approved",
@@ -26,7 +26,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json b/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json
index c7a627d..1896bf2 100644
--- a/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json
+++ b/src/_tests/fixtures/48652-retract-merge-offer-and-prerequest/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Author Action",
+  "projectColumn": "Needs Author Action",
   "labels": [
     "Revision needed",
     "Edits multiple packages"
@@ -20,7 +20,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/48652-retract-merge-offer/result.json b/src/_tests/fixtures/48652-retract-merge-offer/result.json
index 6e96482..d17016a 100644
--- a/src/_tests/fixtures/48652-retract-merge-offer/result.json
+++ b/src/_tests/fixtures/48652-retract-merge-offer/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Author Action",
+  "projectColumn": "Needs Author Action",
   "labels": [
     "Revision needed",
     "Edits multiple packages"
@@ -16,7 +16,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/48708/result.json b/src/_tests/fixtures/48708/result.json
index 75d99cc..b62db71 100644
--- a/src/_tests/fixtures/48708/result.json
+++ b/src/_tests/fixtures/48708/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Author Action",
+  "projectColumn": "Needs Author Action",
   "labels": [
     "Revision needed",
     "Critical package",
@@ -22,7 +22,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/48945/result.json b/src/_tests/fixtures/48945/result.json
index 639edf9..122bdd2 100644
--- a/src/_tests/fixtures/48945/result.json
+++ b/src/_tests/fixtures/48945/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Author Action",
+  "projectColumn": "Needs Author Action",
   "labels": [
     "Revision needed",
     "Author is Owner"
@@ -16,7 +16,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/49417/result.json b/src/_tests/fixtures/49417/result.json
index 7060b73..cacd6c5 100644
--- a/src/_tests/fixtures/49417/result.json
+++ b/src/_tests/fixtures/49417/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Author to Merge",
+  "projectColumn": "Waiting for Author to Merge",
   "labels": [
     "Owner Approved",
     "Author is Owner",
@@ -21,7 +21,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/49548/result.json b/src/_tests/fixtures/49548/result.json
index 8a9272a..fba6c09 100644
--- a/src/_tests/fixtures/49548/result.json
+++ b/src/_tests/fixtures/49548/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Waiting for Code Reviews",
+  "projectColumn": "Waiting for Code Reviews",
   "labels": [
     "Edits Owners",
     "No Other Owners",
@@ -21,7 +21,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/49575/result.json b/src/_tests/fixtures/49575/result.json
index b9a794f..dda9bf8 100644
--- a/src/_tests/fixtures/49575/result.json
+++ b/src/_tests/fixtures/49575/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Maintainer Action",
+  "projectColumn": "Needs Maintainer Action",
   "labels": [
     "Other Approved",
     "Edits Infrastructure"
@@ -20,7 +20,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/49841/result.json b/src/_tests/fixtures/49841/result.json
index c426d58..8adbe35 100644
--- a/src/_tests/fixtures/49841/result.json
+++ b/src/_tests/fixtures/49841/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Author Action",
+  "projectColumn": "Needs Author Action",
   "labels": [
     "The CI failed",
     "New Definition",
@@ -21,7 +21,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/50429/result.json b/src/_tests/fixtures/50429/result.json
index c2c19a9..57bbded 100644
--- a/src/_tests/fixtures/50429/result.json
+++ b/src/_tests/fixtures/50429/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Needs Author Action",
+  "projectColumn": "Needs Author Action",
   "labels": [
     "The CI failed",
     "New Definition",
@@ -21,7 +21,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": false,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }
diff --git a/src/_tests/fixtures/50443/result.json b/src/_tests/fixtures/50443/result.json
index 302c158..5f61307 100644
--- a/src/_tests/fixtures/50443/result.json
+++ b/src/_tests/fixtures/50443/result.json
@@ -1,5 +1,5 @@
 {
-  "targetColumn": "Recently Merged",
+  "projectColumn": "Recently Merged",
   "labels": [
     "Maintainer Approved",
     "New Definition",
@@ -17,7 +17,5 @@
   ],
   "shouldClose": false,
   "shouldMerge": true,
-  "shouldUpdateLabels": true,
-  "shouldUpdateProjectColumn": true,
-  "shouldRemoveFromActiveColumns": false
+  "shouldUpdateLabels": true
 }