Skip to content

Add milestone support to dn issue create #8

Description

@bpmooch

Current State

dn issue create supports title, repository, body, labels, and JSON output, but it cannot assign the new issue to a GitHub milestone.

This was confirmed against the current main implementation in cli/issue.ts: the create argument parser has no milestone option, the help text does not advertise one, and the constructed CreateIssueOptions contains only title, body, and labels.

As a result, workflows that otherwise use dn issue create must fall back to gh or a direct GitHub API request when creating milestone-scoped work.

Expected State

Add milestone assignment to dn issue create.

Suggested interface:

dn issue create --title "Build operator" --milestone "denoise infra launch!"
dn issue create --title "Build operator" --milestone 17

Acceptance criteria:

  • dn issue create accepts --milestone <title|number>
  • A numeric value resolves to the repository milestone number
  • A title resolves against open milestones in the target repository
  • Missing or ambiguous milestone titles fail with an actionable error before issue creation
  • The resolved milestone is passed through the public create-issue SDK options
  • --repo owner/repo resolves milestones in the target repository, not the current repository
  • Omitting --milestone preserves current behavior
  • CLI help and examples document milestone assignment
  • Tests cover numeric IDs, exact titles, missing milestones, ambiguous titles, cross-repository creation, and omission

Additional Context

This was encountered while creating an epic and subtasks in chesapeakedev/chesapeake under the denoise infra launch! milestone. Native sub-issue relationships were handled successfully through dn issue relationship, but milestone assignment required gh.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions