feat(issues): gitea_issue_create cannot set labels, assignee or milestone #6
Labels
No labels
area/dsh
area/forgejo
experiment
priority/later
priority/next
priority/now
type/bug
type/task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
dsh-plugins/dsh-gitea#6
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom
gitea_issue_createcannot attach labels — nor assignee or milestone — at creation. An extralabels: ["type/bug"]argument is silently dropped and the issue opens unlabeled. The workaround is create-then-gitea_labels {action:"set"}with numeric ids, which is two calls and one chance to forget.Observed 2026-10-23 on
dsh-plugins/dsh-giteaandpvlb-infra/issue-tracker.Root cause
Only two fields are forwarded. The tool definition does not declare
labels,assigneeormilestoneeither, so the harness discards them before the handler runs. This is a feature gap, not a formatter bug.Fix
gitea_issue_createtool definition withlabels(array),assignee(string),milestone(number) andconfirm-free optional fields.labels, accept numeric ids and optionally resolve names againstlistLabels(case-insensitive), failing loudly on an unknown name instead of dropping it.#42 opened with labels [type/bug, area/forgejo].Acceptance
Fixed in
6941048(PR #17).gitea_issue_createnow declares and forwardslabels,assigneeandmilestone. Label names are resolved case-insensitively againstlistLabels, numeric ids pass through, order is preserved and duplicates collapse. An unknown name fails the call before creating anything; a non-numeric milestone is rejected. The echo shows what was attached.Live on
ml-lab/tardits:labels: ["TYPE/BUG", "does-not-exist"]→unknown label name(s): does-not-exist. Create them first or pass numeric ids.(no issue created)labels: ["TYPE/BUG"], assignee: "dsh", milestone: 2→#1 "probe: create with labels/assignee/milestone (#6)" opened with labels [type/bug] assigned to @dsh milestone #2 (Probe #6)type/buglabel remains on the lab repo.Tests:
test/issue-create.test.mjs;npm test74/74.