[BUG] delegate command issue ref parser does not support gitserver/owner/repo#number format #144

Closed
opened 2026-04-05 09:34:20 +02:00 by shoko · 0 comments
Owner

Bug: delegate command issue ref parser does not support gitserver/owner/repo#number format

Severity: Low - minor ergonomics issue, workaround exists

Description:
The parse_issue_ref_from_message function in kugetsu has two working patterns:

  1. Full URL format: gitserver/owner/repo/(issues|pull)/number
    Example: https://git.fbrns.co/shoko/kugetsu/issues/116

  2. Short format without domain: owner/repo#number
    Example: shoko/kugetsu#116

However, it fails to parse the mixed format gitserver/owner/repo#number:
Example: git.fbrns.co/shoko/kugetsu#116
Example: github.com/shoko/kugetsu#116

The regex for the full URL format specifically requires /issues/ or /pull/ in the path, so the short format with a domain prefix doesn't match.

Location: parse_issue_ref_from_message() function, around lines 1128-1157

Current patterns:

# Pattern 1 - full URL (WORKS)
if echo "$message" | grep -qE '[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+/(issues|pull)/[0-9]+'

# Pattern 2 - short format without domain (WORKS)
elif echo "$message" | grep -qE '[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+#([0-9]+)'

What doesn't work:

# Mixed format with domain prefix (DOES NOT WORK)
git.fbrns.co/shoko/kugetsu#116
github.com/shoko/kugetsu#116

Workaround: Use full URL format instead:

kugetsu delegate "https://git.fbrns.co/shoko/kugetsu/issues/116"

Suggested fix:
Add a third pattern to handle gitserver/owner/repo#number format:

elif echo "$message" | grep -qE '[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+#[0-9]+'

Labels: backport, foundation

**Bug: delegate command issue ref parser does not support gitserver/owner/repo#number format** **Severity:** Low - minor ergonomics issue, workaround exists **Description:** The parse_issue_ref_from_message function in kugetsu has two working patterns: 1. Full URL format: `gitserver/owner/repo/(issues|pull)/number` Example: `https://git.fbrns.co/shoko/kugetsu/issues/116` 2. Short format without domain: `owner/repo#number` Example: `shoko/kugetsu#116` However, it fails to parse the mixed format `gitserver/owner/repo#number`: Example: `git.fbrns.co/shoko/kugetsu#116` Example: `github.com/shoko/kugetsu#116` The regex for the full URL format specifically requires `/issues/` or `/pull/` in the path, so the short format with a domain prefix doesn't match. **Location:** parse_issue_ref_from_message() function, around lines 1128-1157 **Current patterns:** ```bash # Pattern 1 - full URL (WORKS) if echo "$message" | grep -qE '[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+/(issues|pull)/[0-9]+' # Pattern 2 - short format without domain (WORKS) elif echo "$message" | grep -qE '[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+#([0-9]+)' ``` **What doesn't work:** ```bash # Mixed format with domain prefix (DOES NOT WORK) git.fbrns.co/shoko/kugetsu#116 github.com/shoko/kugetsu#116 ``` **Workaround:** Use full URL format instead: ```bash kugetsu delegate "https://git.fbrns.co/shoko/kugetsu/issues/116" ``` **Suggested fix:** Add a third pattern to handle `gitserver/owner/repo#number` format: ```bash elif echo "$message" | grep -qE '[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/[a-zA-Z0-9_.-]+/[a-zA-Z0-9_.-]+#[0-9]+' ``` **Labels:** backport, foundation
shoko added the high label 2026-04-05 09:34:20 +02:00
shoko closed this issue 2026-04-05 12:45:19 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: shoko/kugetsu#144