Table of Contents

Interface IIssueService

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

Reads and writes a team's issues on the Quilt4Net server.

public interface IIssueService

Remarks

Every call is scoped to the team owning the configured API key — there is no team argument, because a team key cannot reach another team's issues. Reads need issue:read; writes need issue:write, which is not granted by access level and must be added to the key explicitly.

Unlike IRemoteConfigurationService, these calls do not cache and do not fall back to a default on failure: a tracker read that silently returned stale or empty data would be indistinguishable from a team with no issues.

Methods

AddLinkAsync(int, AddIssueLinkRequest, CancellationToken)

Declares a dependency from one issue to another.

Task<IssueResponse> AddLinkAsync(int number, AddIssueLinkRequest request, CancellationToken cancellationToken = default)

Parameters

number int

The issue the link leaves.

request AddIssueLinkRequest

What the link points at, what it asserts, and why.

cancellationToken CancellationToken

Cancellation token.

Returns

Task<IssueResponse>

CreateAsync(CreateIssueRequest, CancellationToken)

Creates an issue and returns it, including its assigned number.

Task<IssueResponse> CreateAsync(CreateIssueRequest request, CancellationToken cancellationToken = default)

Parameters

request CreateIssueRequest

The issue to create.

cancellationToken CancellationToken

Cancellation token.

Returns

Task<IssueResponse>

DeleteAsync(int, CancellationToken)

Deletes an issue, and every link pointing at it. The number is not reused.

Task DeleteAsync(int number, CancellationToken cancellationToken = default)

Parameters

number int

The issue to delete.

cancellationToken CancellationToken

Cancellation token.

Returns

Task

GetAsync(int, CancellationToken)

Reads one issue by its per-team number, or null when no such issue exists.

Task<IssueResponse> GetAsync(int number, CancellationToken cancellationToken = default)

Parameters

number int

The issue number.

cancellationToken CancellationToken

Cancellation token.

Returns

Task<IssueResponse>

GetAsync(CancellationToken)

Lists every issue on the team.

Task<IssueResponse[]> GetAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<IssueResponse[]>

GetRoadmapAsync(CancellationToken)

Reads the roadmap projection — lanes, bands and edges, already laid out for drawing.

Task<RoadmapResponse> GetRoadmapAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<RoadmapResponse>

GetWorkflowAsync(CancellationToken)

Reads the team's workflow.

Task<IssueWorkflowResponse> GetWorkflowAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task<IssueWorkflowResponse>

RemoveLinkAsync(int, int, CancellationToken)

Removes a dependency.

Task<IssueResponse> RemoveLinkAsync(int number, int targetNumber, CancellationToken cancellationToken = default)

Parameters

number int

The issue the link leaves.

targetNumber int

The issue the link points at.

cancellationToken CancellationToken

Cancellation token.

Returns

Task<IssueResponse>

SetStateAsync(int, SetIssueStateRequest, CancellationToken)

Moves an issue to another state, if the team's workflow permits the transition.

Task<IssueResponse> SetStateAsync(int number, SetIssueStateRequest request, CancellationToken cancellationToken = default)

Parameters

number int

The issue to move.

request SetIssueStateRequest

The state to move to.

cancellationToken CancellationToken

Cancellation token.

Returns

Task<IssueResponse>

SetWorkflowAsync(SetIssueWorkflowRequest, CancellationToken)

Replaces the team's workflow. Rejected when the replacement would orphan issues that are in a state it no longer defines.

Task<IssueWorkflowResponse> SetWorkflowAsync(SetIssueWorkflowRequest request, CancellationToken cancellationToken = default)

Parameters

request SetIssueWorkflowRequest

The workflow to install.

cancellationToken CancellationToken

Cancellation token.

Returns

Task<IssueWorkflowResponse>

UpdateAsync(int, UpdateIssueRequest, CancellationToken)

Replaces an issue's editable fields. See UpdateIssueRequest — this is a replace, so send the whole issue back rather than only what changed.

Task<IssueResponse> UpdateAsync(int number, UpdateIssueRequest request, CancellationToken cancellationToken = default)

Parameters

number int

The issue to update.

request UpdateIssueRequest

The replacement values.

cancellationToken CancellationToken

Cancellation token.

Returns

Task<IssueResponse>