Table of Contents

Class RoadmapItemResponse

Namespace
Quilt4Net.Toolkit.Features.Issue
Assembly
Quilt4Net.Toolkit.dll

One issue as it appears on the map.

public record RoadmapItemResponse : IEquatable<RoadmapItemResponse>
Inheritance
RoadmapItemResponse
Implements
Inherited Members

Properties

AssignedUserKey

Assigned team member key, or empty when unassigned.

public required string AssignedUserKey { get; init; }

Property Value

string

AssignedUserName

The assignee's display name, or empty when unassigned.

public string AssignedUserName { get; init; }

Property Value

string

Remarks

Resolved on the server, because the roster lives there. The component is embeddable by a remote project that holds no team membership at all, so a key is the only thing it could otherwise render — and VdvTrH-RnYRCXeg1OoFB8i… on a card tells a reader nothing. Falls back to the key rather than to blank when a member has since left, for the same reason the board does: an issue parked on somebody who will never see it should look wrong.

Claim

Who says they are working on this, and from which machine; null when nobody holds it or the server predates claims.

public IssueClaimResponse Claim { get; init; }

Property Value

IssueClaimResponse

Remarks

Carried separately from the assignee because they answer different questions: the assignee is who the issue is for, the claim is which session has it open right now. The card draws the claim where the assignee otherwise goes, because a live claim is the more urgent of the two to see.

Effort

Rough size, rendered on the item as · S, · M or · L.

public required IssueEffort? Effort { get; init; }

Property Value

IssueEffort?

IsQuickWin

Whether this is a quick win — small, and with nothing pointing at it. These are what someone picks up with an hour free, and they are invisible in any list sorted by importance.

public required bool IsQuickWin { get; init; }

Property Value

bool

IsTerminal

Whether the issue is in a terminal state. A terminal item is on the map only because it explains an edge, and is drawn as context rather than as work.

public required bool IsTerminal { get; init; }

Property Value

bool

Number

The issue's per-team number.

public required int Number { get; init; }

Property Value

int

Resolution

Why the issue ended, by its team-defined name, or empty when it has not ended.

public string Resolution { get; init; }

Property Value

string

ResolutionIsSuccess

Whether Resolution counts as having delivered the work, or null when there is no resolution to judge.

public bool? ResolutionIsSuccess { get; init; }

Property Value

bool?

Remarks

Three-valued on purpose, and the distinction is the whole point of the field. null covers both "still open" and "a server that predates resolutions", and a renderer must treat it as it treated everything before this existed — a terminal item drawn as delivered. Only an explicit false licenses drawing an ending as abandoned, because inferring that from absence would repaint every finished issue on every older server.

State

Current workflow state, by its team-defined name.

public required string State { get; init; }

Property Value

string

StateKind

Where State sits in the workflow, for a map that cannot know a team's state names. See RoadmapStateKind.

public RoadmapStateKind StateKind { get; init; }

Property Value

RoadmapStateKind

Remarks

Not required: against a server that predates this field every item reads NotStarted, which asserts no progress rather than inventing any, and IsTerminal still fades finished items correctly.

Title

Short one-line summary.

public required string Title { get; init; }

Property Value

string