fix: match label_trigger case-insensitively (#1576)

label_trigger used a case-sensitive exact comparison, so a workflow
configured with label_trigger: "claude-task" did not fire when an issue
received a label named "Claude-Task" (the same label name with different
casing).

GitHub label names are unique without regard to case, so comparing without
case is unambiguous. It also matches the trigger_phrase check in the same
function, which is already case-insensitive.

Compare labelName and labelTrigger with toLowerCase(), and add a test
covering a mixed-case label.

Fixes #1571
This commit is contained in:
Sahil Gupta
2026-08-07 07:55:32 -07:00
committed by GitHub
parent d573b167d3
commit 2df67d2c33
2 changed files with 18 additions and 1 deletions
+4 -1
View File
@@ -38,7 +38,10 @@ export function checkContainsTrigger(context: ParsedGitHubContext): boolean {
if (isIssuesEvent(context) && context.eventAction === "labeled") {
const labelName = (context.payload as any).label?.name || "";
if (labelTrigger && labelName === labelTrigger) {
if (
labelTrigger &&
labelName.toLowerCase() === labelTrigger.toLowerCase()
) {
console.log(`Issue labeled with trigger label '${labelTrigger}'`);
return true;
}