Description
The --assignee option on issues create and issues update does not resolve human-friendly identifiers (name, email) to a UUID before passing the value to the GraphQL API. All other identifier options (team, project, labels, cycle, status, parent) go through a resolver, but assignee is passed through as-is.
Steps to Reproduce
linearis issues create "Fix login bug" --team ENG --assignee "John Doe"
Expected Behavior
The assignee name is resolved to a user UUID and the issue is created with the correct assignee.
Actual Behavior
{
"error": "GraphQL request failed: Argument Validation Error - assigneeId must be a UUID."
}
Root Cause
In the issues command, the --assignee value is assigned directly to input.assigneeId without resolution:
if (options.assignee) {
input.assigneeId = options.assignee; // raw string, no resolution
}
A resolveUserId() resolver is missing. All other identifiers (team, project, labels, cycle, status) have dedicated resolvers that convert human-friendly input to UUIDs, but no equivalent exists for users/assignees.
Environment
Description
The
--assigneeoption onissues createandissues updatedoes not resolve human-friendly identifiers (name, email) to a UUID before passing the value to the GraphQL API. All other identifier options (team, project, labels, cycle, status, parent) go through a resolver, but assignee is passed through as-is.Steps to Reproduce
Expected Behavior
The assignee name is resolved to a user UUID and the issue is created with the correct assignee.
Actual Behavior
{ "error": "GraphQL request failed: Argument Validation Error - assigneeId must be a UUID." }Root Cause
In the issues command, the
--assigneevalue is assigned directly toinput.assigneeIdwithout resolution:A
resolveUserId()resolver is missing. All other identifiers (team, project, labels, cycle, status) have dedicated resolvers that convert human-friendly input to UUIDs, but no equivalent exists for users/assignees.Environment
next(PR feat!: complete architecture redesign with GraphQL codegen, auth system, and developer tooling #45)issues createandissues updatewith--assignee