Skip to content
SDKProductBuild and shipIssue

Issue methods: estimate, reopen, resolve

The Issue Verbs estimate, reopen, resolve as typed SDK methods, with inputs, result, refusals and an example.

Reference for Issue, one group of Issue methods.

Issue.estimate

Estimate records the effort an Issue needs, in days, so a week holds only what fits. Verb page.

TypeScript
interface IssueVerbs {
  estimate(input: IssueEstimateInput, options?: SB.CallOptions): SB.Call<Issue>
}

Emits Issue.estimated.

Inputs

InputTypeRequiredDescription
issueIssuerequiredThe Issue to size.
daysnumberrequiredThe effort in working days.

Returns

OutputTypeRequiredDescription
issueIssuerequiredThe estimated Issue.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

TypeScript
import { $ } from 'startup-builder'

const issue = await $.Issue.estimate({ issue: 'issue_vWekeqrXCN', days: 1 })

Issue.reopen

Reopen returns a resolved Issue to its owning Role when the fix does not hold. Verb page.

TypeScript
interface IssueVerbs {
  reopen(input: IssueReopenInput, options?: SB.CallOptions): SB.Call<Issue>
}

Emits Issue.reopened.

Inputs

InputTypeRequiredDescription
issueIssuerequiredThe resolved Issue.
reasontextrequiredWhat still fails.

Returns

OutputTypeRequiredDescription
issueIssuerequiredThe reopened Issue.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.

Example

TypeScript
import { $ } from 'startup-builder'

const issue = await $.Issue.reopen({ issue: 'issue_vWekeqrXCN', reason: 'Example reason' })

Issue.resolve

Resolve closes an Issue with its fix recorded and tells every Customer who reported it. Verb page.

TypeScript
interface IssueVerbs {
  resolve(input: IssueResolveInput, options?: SB.CallOptions): SB.Call<Issue>
}

Emits Issue.resolved.

Inputs

InputTypeRequiredDescription
issueIssuerequiredThe Issue to close.
resolutiontextrequiredWhat fixed it.
changeChangeThe Change whose full rollout fixed the Issue; its Version is recorded as the resolution.

Returns

OutputTypeRequiredDescription
issueIssuerequiredThe resolved Issue.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.

Example

TypeScript
import { $ } from 'startup-builder'

const issue = await $.Issue.resolve({ issue: 'issue_vWekeqrXCN', resolution: 'Example resolution' })