suspend fun createIssue(authorizationContext: GropiusAuthorizationContext, input: CreateIssueInput): Issue

Creates an Issue. Checks the authorization status, checks that the type, state and templatedFields are compatible with the template

Return

the saved crated Issue

Parameters

authorizationContext

used to check for the required permission

input

defines the created Issue


suspend fun createIssue(trackables: List<Trackable>, template: IssueTemplate, title: String, body: String, type: IssueType, state: IssueState, templatedFields: List<JSONFieldInput>, atTime: OffsetDateTime, byUser: User, updateContext: NodeBatchUpdateContext): Issue

Creates an Issue at atTime as byUser on trackables. Also creates the Body of the Issue. Does not check the authorization status. Checks that trackables is not empty, checks that the type, state and templatedFields are compatible with template. Does not save the created Issue, it is required to save the returned Issue afterwards.

Return

the created Issue

Parameters

trackables

the Trackables on which the Issue is created

template

the initial template

title

the initial title

body

the initial body, used to create the Body

type

the initial type, must be compatible with template

state

the initial state, must be compatible with template

templatedFields

the initial templated fields, must be compatible with template

atTime

the point in time when the Issue is created

byUser

the User who creates the Issue

updateContext

context used for the aggregation updater