Skip to content

Commit e1b9981

Browse files
committed
fix(jira): address remaining CodeRabbit nitpicks
- Remove dead lower() helper from score_candidates.py - Simplify redundant elif guard in component check - Add defensive .lower() in find_lower for case-insensitive matching - Guard against empty target_release in build_jql.py - Add from __future__ import annotations to all scripts for Python 3.9+ Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Enrique Llorente Pastora <ellorent@redhat.com>
1 parent 4423b5d commit e1b9981

7 files changed

Lines changed: 17 additions & 7 deletions

File tree

plugins/jira/skills/candidates-from-pr/scripts/build_jql.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
derive_filters.py ... | build_jql.py [--project OCPBUGS]
1010
"""
1111

12+
from __future__ import annotations
13+
1214
import argparse
1315
import json
1416
import sys
@@ -32,7 +34,7 @@ def main() -> None:
3234
parts.append(f"component in ({comps})")
3335

3436
target_release = filters.get("target_release")
35-
if target_release:
37+
if target_release and target_release.strip():
3638
parts.append(
3739
f'("Target Version" = {quote(target_release)} '
3840
f"OR fixVersion = {quote(target_release)})"

plugins/jira/skills/candidates-from-pr/scripts/derive_filters.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
}
2222
"""
2323

24+
from __future__ import annotations
25+
2426
import argparse
2527
import json
2628
import re

plugins/jira/skills/candidates-from-pr/scripts/extract_jira_keys.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
validate via mcp__atlassian__jira_get_issue.
1616
"""
1717

18+
from __future__ import annotations
19+
1820
import argparse
1921
import json
2022
import re

plugins/jira/skills/candidates-from-pr/scripts/extract_signals.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
}
2020
"""
2121

22+
from __future__ import annotations
23+
2224
import json
2325
import re
2426
import sys

plugins/jira/skills/candidates-from-pr/scripts/fetch_pr.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
diff (capped), diff_truncated (bool), diff_total_lines
1515
"""
1616

17+
from __future__ import annotations
18+
1719
import argparse
1820
import json
1921
import re

plugins/jira/skills/candidates-from-pr/scripts/render_report.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
list of matched signal values.
2020
"""
2121

22+
from __future__ import annotations
23+
2224
import argparse
2325
import json
2426
import sys

plugins/jira/skills/candidates-from-pr/scripts/score_candidates.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
sentence rationale.
3737
"""
3838

39+
from __future__ import annotations
40+
3941
import argparse
4042
import json
4143
import sys
@@ -45,10 +47,6 @@
4547
DROP_STATUSES = {"Verified", "Closed"}
4648

4749

48-
def lower(value: str | None) -> str:
49-
return (value or "").lower()
50-
51-
5250
def load(path: str) -> object:
5351
with open(path) as f:
5452
return json.load(f)
@@ -65,7 +63,7 @@ def find_in_text(needles: list[str], text: str) -> list[str]:
6563
def find_lower(needles: list[str], text_lower: str) -> list[str]:
6664
if not needles or not text_lower:
6765
return []
68-
return [n for n in needles if n and n in text_lower]
66+
return [n for n in needles if n and n.lower() in text_lower]
6967

7068

7169
def score_one(
@@ -120,7 +118,7 @@ def score_one(
120118
"value": next(iter(cand_components & derived_components)),
121119
}
122120
)
123-
elif component_filter_used and not (cand_components & derived_components):
121+
elif component_filter_used:
124122
# JQL should have prevented this; guard anyway.
125123
score = 0
126124
return score, matched

0 commit comments

Comments
 (0)