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.
generate:
- node scripts/updateAreaPodConfigs.js
+ node updateAreaPodConfigs.js
.DEFAULT_GOAL := generate
\ No newline at end of file
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`
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.
"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
}
}
}
},
{
- "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: 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
}
}
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 = [
{
];
let areaPodConfig = {
- issueRemove: ({pod, areas}) => ({
+ issueMovedToAnotherArea: ({pod, areas}) => ({
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "IssuesOnlyResponder",
"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",
}
]
}))
+ },
+ {
+ "name": "isAction",
+ "parameters": {
+ "action": "unlabeled"
+ }
}
]
},
"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
}
}
}
},
{
- "operator": "not",
- "operands": [
- {
- "name": "isInProjectColumn",
- "parameters": {
- "projectName": `Area Pod: ${pod} - Issue Triage`,
- "columnName": "Triaged"
- }
- }
- ]
- },
- {
"operator": "or",
"operands":
[
"columnName": "Triaged",
"isOrgProject": true
}
+ },
+ {
+ "name": "removeLabel",
+ "parameters": {
+ "label": "untriaged"
+ }
}
]
}
/* Pull Requests */
- pullRequestAdd: ({pod, areas}) => ({
+ pullRequestNeedsChampion: ({pod, areas}) => ({
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
]
}
}),
- pullRequestRemove: ({pod, areas}) => ({
+ pullRequestMovedToAnotherArea: ({pod, areas}) => ({
"taskType": "trigger",
"capabilityId": "IssueResponder",
"subCapability": "PullRequestResponder",
"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",
"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
}
- }
+ },
]
}
})
[
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);
[
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);
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);