jira

package
v0.26.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 19, 2026 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const ApproveWorkflowPayloadType = "jira.approval"
View Source
const CreateIssuePayloadType = "jira.issue"
View Source
const CreateJiraAlertPayloadType = "jira.alert.created"
View Source
const CreateJiraHeartbeatPayloadType = "jira.heartbeat.created"
View Source
const CreateJiraIncidentPayloadType = "jira.incident.created"
View Source
const DeleteIssuePayloadType = "jira.issueDeleted"
View Source
const DeleteJiraAlertPayloadType = "jira.alert.deleted"
View Source
const DeleteJiraHeartbeatPayloadType = "jira.heartbeat.deleted"
View Source
const DeleteJiraIncidentPayloadType = "jira.incident.deleted"
View Source
const GetIssuePayloadType = "jira.issue"
View Source
const GetJiraAlertPayloadType = "jira.alert.fetched"
View Source
const GetJiraIncidentPayloadType = "jira.incident.fetched"
View Source
const GetWorkflowPayloadType = "jira.workflow"
View Source
const PingJiraHeartbeatPayloadType = "jira.heartbeat.pinged"
View Source
const TransitionIssuePayloadType = "jira.issue"
View Source
const UpdateIssuePayloadType = "jira.issue"
View Source
const UpdateJiraAlertPayloadType = "jira.alert.updated"
View Source
const UpdateJiraHeartbeatPayloadType = "jira.heartbeat.updated"

Variables

This section is empty.

Functions

func ConfigurationAsSliceMap added in v0.25.0

func ConfigurationAsSliceMap(cfg any) map[string]any

ConfigurationAsSliceMap returns slice-style configuration as map[string]any if possible.

func IsIncidentManagementRequestPractice added in v0.22.0

func IsIncidentManagementRequestPractice(practice string) bool

IsIncidentManagementRequestPractice reports whether a JSM request type's `practice` field corresponds to the Incident management work category. The JSM Incidents REST API rejects create calls when the request type is not in that category.

Types

type ADFDoc

type ADFDoc struct {
	Type    string    `json:"type"`
	Version int       `json:"version"`
	Content []ADFNode `json:"content"`
}

func WrapInADF

func WrapInADF(text string) *ADFDoc

type ADFNode

type ADFNode struct {
	Type    string    `json:"type"`
	Content []ADFText `json:"content,omitempty"`
}

type ADFText

type ADFText struct {
	Type string `json:"type"`
	Text string `json:"text"`
}

type Approval added in v0.25.0

type Approval struct {
	ID            FlexibleString `json:"id"`
	Name          string         `json:"name,omitempty"`
	FinalDecision string         `json:"finalDecision,omitempty"`
	Approvers     []Approver     `json:"approvers,omitempty"`
	CreatedDate   map[string]any `json:"createdDate,omitempty"`
	CompletedDate map[string]any `json:"completedDate,omitempty"`
	Links         map[string]any `json:"_links,omitempty"`
}

type ApproveWorkflow added in v0.25.0

type ApproveWorkflow struct{}

func (*ApproveWorkflow) Cancel added in v0.25.0

func (c *ApproveWorkflow) Cancel(ctx core.ExecutionContext) error

func (*ApproveWorkflow) Cleanup added in v0.25.0

func (c *ApproveWorkflow) Cleanup(ctx core.SetupContext) error

func (*ApproveWorkflow) Color added in v0.25.0

func (c *ApproveWorkflow) Color() string

func (*ApproveWorkflow) Configuration added in v0.25.0

func (c *ApproveWorkflow) Configuration() []configuration.Field

func (*ApproveWorkflow) Description added in v0.25.0

func (c *ApproveWorkflow) Description() string

func (*ApproveWorkflow) Documentation added in v0.25.0

func (c *ApproveWorkflow) Documentation() string

func (*ApproveWorkflow) ExampleOutput added in v0.25.0

func (c *ApproveWorkflow) ExampleOutput() map[string]any

func (*ApproveWorkflow) Execute added in v0.25.0

func (c *ApproveWorkflow) Execute(ctx core.ExecutionContext) error

func (*ApproveWorkflow) HandleHook added in v0.25.0

func (c *ApproveWorkflow) HandleHook(ctx core.ActionHookContext) error

func (*ApproveWorkflow) HandleWebhook added in v0.25.0

func (*ApproveWorkflow) Hooks added in v0.25.0

func (c *ApproveWorkflow) Hooks() []core.Hook

func (*ApproveWorkflow) Icon added in v0.25.0

func (c *ApproveWorkflow) Icon() string

func (*ApproveWorkflow) Label added in v0.25.0

func (c *ApproveWorkflow) Label() string

func (*ApproveWorkflow) Name added in v0.25.0

func (c *ApproveWorkflow) Name() string

func (*ApproveWorkflow) OutputChannels added in v0.25.0

func (c *ApproveWorkflow) OutputChannels(configuration any) []core.OutputChannel

func (*ApproveWorkflow) ProcessQueueItem added in v0.25.0

func (c *ApproveWorkflow) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*ApproveWorkflow) Setup added in v0.25.0

func (c *ApproveWorkflow) Setup(ctx core.SetupContext) error

type ApproveWorkflowSpec added in v0.25.0

type ApproveWorkflowSpec struct {
	IssueKey         string `json:"issueKey" mapstructure:"issueKey"`
	Decision         string `json:"decision" mapstructure:"decision"`
	ApprovalSelector string `json:"approvalSelector" mapstructure:"approvalSelector"`
	ApprovalID       string `json:"approvalId" mapstructure:"approvalId"`
	Comment          string `json:"comment" mapstructure:"comment"`
}

type Approver added in v0.25.0

type Approver struct {
	Approver         User   `json:"approver,omitempty"`
	ApproverDecision string `json:"approverDecision,omitempty"`
}

type Client

type Client struct {
	SiteURL string
	Email   string
	Token   string
	// contains filtered or unexported fields
}

Client speaks to Jira Cloud directly using the user's site URL and Basic Auth (email + API token). Endpoints resolve to `{siteUrl}/rest/api/3/...`.

func NewClient

func NewClient(httpCtx core.HTTPContext, ctx core.IntegrationContext) (*Client, error)

func (*Client) AcknowledgeOpsAlert added in v0.25.0

func (c *Client) AcknowledgeOpsAlert(cloudID, alertID string) (*OpsAsyncSuccessResponse, error)

AcknowledgeOpsAlert acknowledges an alert (POST /v1/alerts/{id}/acknowledge).

func (*Client) AddCustomerRequestComment added in v0.25.0

func (c *Client) AddCustomerRequestComment(issueKey, body string, public bool) error

func (*Client) AddOpsAlertNote added in v0.25.0

func (c *Client) AddOpsAlertNote(cloudID, alertID, note string) (map[string]any, error)

AddOpsAlertNote adds a note (POST /v1/alerts/{id}/notes).

func (*Client) AssignOpsAlert added in v0.25.0

func (c *Client) AssignOpsAlert(cloudID, alertID, accountID string) (*OpsAsyncSuccessResponse, error)

AssignOpsAlert assigns an alert to a user via POST /v1/alerts/{id}/assign.

func (*Client) CloseOpsAlert added in v0.25.0

func (c *Client) CloseOpsAlert(cloudID, alertID string) (*OpsAsyncSuccessResponse, error)

CloseOpsAlert closes an alert (POST /v1/alerts/{id}/close).

func (*Client) CreateHeartbeat added in v0.24.0

func (c *Client) CreateHeartbeat(cloudID, teamID string, req *CreateHeartbeatRequest) (*Heartbeat, error)

CreateHeartbeat creates a heartbeat in JSM Operations.

func (*Client) CreateIncident added in v0.22.0

func (c *Client) CreateIncident(cloudID string, req *CreateIncidentAPIRequest) (*CreateIncidentAPIResponse, error)

CreateIncident creates an incident via the JSM Incidents API.

func (*Client) CreateIssue

func (c *Client) CreateIssue(req *CreateIssueRequest) (*CreateIssueResponse, error)

func (*Client) CreateOpsAlert added in v0.25.0

func (c *Client) CreateOpsAlert(cloudID string, req *OpsCreateAlertRequest) (*OpsAsyncSuccessResponse, error)

CreateOpsAlert creates an alert via the JSM Ops REST API (asynchronous processing; see SuccessResponse).

func (*Client) DeleteHeartbeat added in v0.24.0

func (c *Client) DeleteHeartbeat(cloudID, teamID, name string) error

DeleteHeartbeat deletes a heartbeat by name.

func (*Client) DeleteIncident added in v0.22.0

func (c *Client) DeleteIncident(cloudID, issueID string) error

DeleteIncident deletes an incident via the JSM Incidents API.

func (*Client) DeleteIssue added in v0.22.0

func (c *Client) DeleteIssue(issueKey string, opts DeleteIssueOptions) error

func (*Client) DeleteOpsAlert added in v0.25.0

func (c *Client) DeleteOpsAlert(cloudID, alertID string) (*OpsAsyncSuccessResponse, error)

DeleteOpsAlert deletes an alert by id (DELETE /v1/alerts/{id}).

func (*Client) DoTransition added in v0.22.0

func (c *Client) DoTransition(issueKey, id string) error

DoTransition advances an issue along the given workflow transition.

func (*Client) DoTransitionWithOptions added in v0.25.0

func (c *Client) DoTransitionWithOptions(issueKey, id string, opts DoTransitionOptions) error

DoTransitionWithOptions advances an issue and optionally applies transition-scoped fields. The caller is responsible for ensuring that any fields it sets are actually on the chosen transition's screen — Jira returns a 400 with "Field 'X' cannot be set. It is not on the appropriate screen, or unknown." otherwise. applyStatusWithOptions handles that pre-check.

func (*Client) FetchCloudID added in v0.22.0

func (c *Client) FetchCloudID() (string, error)

FetchCloudID returns the Atlassian cloud id for the configured Jira site (required for the JSM Incidents API).

func (*Client) GetCurrentUser

func (c *Client) GetCurrentUser() (*User, error)

func (*Client) GetCustomerRequest added in v0.25.0

func (c *Client) GetCustomerRequest(issueKey string) (*CustomerRequest, error)

func (*Client) GetIncident added in v0.22.0

func (c *Client) GetIncident(cloudID, issueID string) (map[string]any, error)

GetIncident returns the incident from the JSM Incidents API (issueID must be the numeric Jira issue id).

func (*Client) GetIssue

func (c *Client) GetIssue(issueKey string) (*Issue, error)

func (*Client) GetIssueTransitions added in v0.22.0

func (c *Client) GetIssueTransitions(issueKey string) ([]Transition, error)

GetIssueTransitions returns the transitions available from an issue's current workflow state, expanded with each transition's per-screen fields so callers can decide whether a given field (for example resolution) can be set during the transition.

func (*Client) GetIssueWithOptions added in v0.22.0

func (c *Client) GetIssueWithOptions(issueKey string, opts GetIssueOptions) (*Issue, error)

func (*Client) GetOpsAlert added in v0.25.0

func (c *Client) GetOpsAlert(cloudID, alertID string) (map[string]any, error)

GetOpsAlert returns one alert by id (GET /v1/alerts/{id}).

func (*Client) GetOpsAlertRequestStatus added in v0.25.0

func (c *Client) GetOpsAlertRequestStatus(cloudID, requestID string) (map[string]any, error)

GetOpsAlertRequestStatus returns async request status GET /v1/alerts/requests/{id}.

func (*Client) GetProject added in v0.25.0

func (c *Client) GetProject(projectKey string) (*Project, error)

func (*Client) GetProjectIssueTypes added in v0.22.0

func (c *Client) GetProjectIssueTypes(projectKey string) ([]IssueTypeMeta, error)

GetProjectIssueTypes returns the issue types available for creating issues in the given project. Uses the create-metadata endpoint which scopes the list to types the user is permitted to create.

func (*Client) GetProjectStatuses added in v0.22.0

func (c *Client) GetProjectStatuses(projectKey string) ([]Status, error)

GetProjectStatuses returns the unique set of statuses across all issue types in a project. /rest/api/3/project/{key}/statuses returns an entry per issue type, each with its own status list — we flatten and dedupe by status name.

func (*Client) GetRequestType added in v0.22.0

func (c *Client) GetRequestType(serviceDeskID, requestTypeID string) (*RequestType, error)

GetRequestType returns one request type, optionally expanded (always requests expand=practice).

func (*Client) GetWorkflowScheme added in v0.25.0

func (c *Client) GetWorkflowScheme(schemeID string) (*WorkflowSchemeDetail, error)

GetWorkflowScheme returns details for one workflow scheme.

func (*Client) GetWorkflowSchemeForProject added in v0.25.0

func (c *Client) GetWorkflowSchemeForProject(projectID string) (*WorkflowSchemeDetail, error)

GetWorkflowSchemeForProject returns the workflow scheme assigned to a company-managed project. For team-managed projects Jira may return an empty list (their workflow lives directly on the project), so callers should handle a nil result.

func (*Client) GetWorkflowStatusesByName added in v0.25.0

func (c *Client) GetWorkflowStatusesByName(workflowName string) ([]Status, error)

GetWorkflowStatusesByName returns the statuses of the workflow with the given exact name. Jira's /rest/api/3/workflow/search?workflowName=... does a prefix-style match server-side and can return multiple workflows, so we filter for an exact name match here and refuse to guess if none of the returned workflows match — returning a different workflow's statuses would silently mis-describe the issue's state machine.

func (*Client) ListApprovals added in v0.25.0

func (c *Client) ListApprovals(issueKey string) ([]Approval, error)

func (*Client) ListAssignableUsers added in v0.22.0

func (c *Client) ListAssignableUsers(projectKey string) ([]User, error)

ListAssignableUsers returns the users assignable to issues in a given project. /rest/api/3/user/assignable/search is paginated; we cap at 50 entries, which matches the picker's practical UX.

func (*Client) ListCustomFieldOptions added in v0.22.0

func (c *Client) ListCustomFieldOptions(fieldID, projectKey, fieldLabel string) []RequestTypeFieldValue

ListCustomFieldOptions returns select options for a Jira field on Cloud using best-effort fallbacks.

func (*Client) ListCustomerRequestsByServiceDesk added in v0.22.0

func (c *Client) ListCustomerRequestsByServiceDesk(serviceDeskID string, maxTotal int) ([]CustomerRequestListed, error)

ListCustomerRequestsByServiceDesk pages through customer requests for a service desk. Agents often see JSM work here even when Jira platform issue search returns no rows for the same project.

func (*Client) ListFields added in v0.22.0

func (c *Client) ListFields() ([]JiraFieldInfo, error)

ListFields returns all fields visible to the integration (Jira REST API v3).

func (*Client) ListGlobalStatuses added in v0.25.0

func (c *Client) ListGlobalStatuses() ([]Status, error)

ListGlobalStatuses returns every workflow status visible to the caller via /rest/api/3/statuses/search. Used by the issueStatus resource picker when no project context is available (e.g. when defining a global workflow) and to look up status categories at workflow-create time.

func (*Client) ListHeartbeats added in v0.24.0

func (c *Client) ListHeartbeats(cloudID, teamID string) ([]Heartbeat, error)

ListHeartbeats returns all heartbeats for an operations team, following links.next pagination.

func (*Client) ListOpsAlerts added in v0.25.0

func (c *Client) ListOpsAlerts(cloudID string, size int) ([]map[string]any, error)

ListOpsAlerts returns recent Ops alerts from GET /v1/alerts (newest batches only; capped by size).

func (*Client) ListOpsTeams added in v0.24.0

func (c *Client) ListOpsTeams(cloudID string) ([]OpsTeam, error)

ListOpsTeams returns JSM Operations teams visible to the authenticated user.

func (*Client) ListPriorities added in v0.22.0

func (c *Client) ListPriorities() ([]Priority, error)

ListPriorities returns all priorities configured on the Jira site. Priorities are instance-level, not project-scoped.

func (*Client) ListProjects

func (c *Client) ListProjects() ([]Project, error)

func (*Client) ListRequestTypeFields added in v0.22.0

func (c *Client) ListRequestTypeFields(serviceDeskID, requestTypeID string) ([]RequestTypeField, error)

ListRequestTypeFields returns fields for a service desk request type (including hidden fields).

func (*Client) ListRequestTypes added in v0.22.0

func (c *Client) ListRequestTypes(serviceDeskID string) ([]RequestType, error)

ListRequestTypes returns customer request types for a service desk.

func (*Client) ListResolutions added in v0.25.0

func (c *Client) ListResolutions() ([]Resolution, error)

ListResolutions returns all resolutions configured on the Jira site. Resolutions are instance-level, not project-scoped.

func (*Client) ListServiceDesks added in v0.22.0

func (c *Client) ListServiceDesks() ([]ServiceDesk, error)

ListServiceDesks returns service desks the authenticated user can access.

func (*Client) PatchOpsAlertDescription added in v0.25.0

func (c *Client) PatchOpsAlertDescription(cloudID, alertID, description string) (*OpsAsyncSuccessResponse, error)

PatchOpsAlertDescription updates the alert description (PATCH /v1/alerts/{id}/description).

func (*Client) PatchOpsAlertMessage added in v0.25.0

func (c *Client) PatchOpsAlertMessage(cloudID, alertID, message string) (*OpsAsyncSuccessResponse, error)

PatchOpsAlertMessage updates the alert message (PATCH /v1/alerts/{id}/message).

func (*Client) PatchOpsAlertNote added in v0.25.0

func (c *Client) PatchOpsAlertNote(cloudID, alertID, noteID, note string) (map[string]any, error)

PatchOpsAlertNote updates an existing note (PATCH /v1/alerts/{alertId}/notes/{id}).

func (*Client) PatchOpsAlertPriority added in v0.25.0

func (c *Client) PatchOpsAlertPriority(cloudID, alertID, priority string) (*OpsAsyncSuccessResponse, error)

PatchOpsAlertPriority updates alert priority (PATCH /v1/alerts/{id}/priority).

func (*Client) PingHeartbeat added in v0.24.0

func (c *Client) PingHeartbeat(cloudID, teamID, name string) (*PingHeartbeatResponse, error)

PingHeartbeat sends a ping for the named heartbeat.

func (*Client) ResolveAlertIDAfterOpsRequest added in v0.25.0

func (c *Client) ResolveAlertIDAfterOpsRequest(cloudID, requestID, knownAlertID string) (string, error)

ResolveAlertIDAfterOpsRequest polls GET alerts/requests until the async request is fully processed.

func (*Client) ResolveNumericIssueID added in v0.22.0

func (c *Client) ResolveNumericIssueID(ref string) (string, error)

ResolveNumericIssueID returns the numeric issue id for the Incidents API path. If ref is all digits it is returned unchanged; otherwise ref is treated as an issue key and resolved with the Jira platform REST API.

func (*Client) SearchIssues added in v0.22.0

func (c *Client) SearchIssues(jql string, maxResults int) ([]IssueSearchHit, error)

SearchIssues runs a JQL search and returns the first page of issues (maxResults is capped at 100).

func (*Client) SearchIssuesUpTo added in v0.22.0

func (c *Client) SearchIssuesUpTo(jql string, maxIssues int) ([]IssueSearchHit, error)

SearchIssuesUpTo pages through POST /rest/api/3/search until maxIssues are collected, a page is short, or Jira reports no further results. Jira caps each request at 100 issues; busy service projects often need more than one page so incident pickers are not dominated by recently updated non-incident work.

func (*Client) SubmitApprovalDecision added in v0.25.0

func (c *Client) SubmitApprovalDecision(issueKey, approvalID, decision string) (*Approval, error)

func (*Client) UpdateHeartbeat added in v0.24.0

func (c *Client) UpdateHeartbeat(cloudID, teamID, name string, req *UpdateHeartbeatRequest) (*Heartbeat, error)

UpdateHeartbeat updates a heartbeat identified by name (name cannot be changed).

func (*Client) UpdateIssue added in v0.22.0

func (c *Client) UpdateIssue(issueKey string, req *UpdateIssueRequest, opts UpdateIssueOptions) error

type CreateAlert added in v0.25.0

type CreateAlert struct{}

func (*CreateAlert) Cancel added in v0.25.0

func (c *CreateAlert) Cancel(ctx core.ExecutionContext) error

func (*CreateAlert) Cleanup added in v0.25.0

func (c *CreateAlert) Cleanup(ctx core.SetupContext) error

func (*CreateAlert) Color added in v0.25.0

func (c *CreateAlert) Color() string

func (*CreateAlert) Configuration added in v0.25.0

func (c *CreateAlert) Configuration() []configuration.Field

func (*CreateAlert) Description added in v0.25.0

func (c *CreateAlert) Description() string

func (*CreateAlert) Documentation added in v0.25.0

func (c *CreateAlert) Documentation() string

func (*CreateAlert) ExampleOutput added in v0.25.0

func (c *CreateAlert) ExampleOutput() map[string]any

func (*CreateAlert) Execute added in v0.25.0

func (c *CreateAlert) Execute(ctx core.ExecutionContext) error

func (*CreateAlert) HandleHook added in v0.25.0

func (c *CreateAlert) HandleHook(ctx core.ActionHookContext) error

func (*CreateAlert) HandleWebhook added in v0.25.0

func (*CreateAlert) Hooks added in v0.25.0

func (c *CreateAlert) Hooks() []core.Hook

func (*CreateAlert) Icon added in v0.25.0

func (c *CreateAlert) Icon() string

func (*CreateAlert) Label added in v0.25.0

func (c *CreateAlert) Label() string

func (*CreateAlert) Name added in v0.25.0

func (c *CreateAlert) Name() string

func (*CreateAlert) OutputChannels added in v0.25.0

func (c *CreateAlert) OutputChannels(configuration any) []core.OutputChannel

func (*CreateAlert) ProcessQueueItem added in v0.25.0

func (c *CreateAlert) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*CreateAlert) Setup added in v0.25.0

func (c *CreateAlert) Setup(ctx core.SetupContext) error

type CreateAlertSpec added in v0.25.0

type CreateAlertSpec struct {
	Message string `json:"message" mapstructure:"message"`

	Description string `json:"description,omitempty" mapstructure:"description"`
	Note        string `json:"note,omitempty" mapstructure:"note"`
	Alias       string `json:"alias,omitempty" mapstructure:"alias"`
	Entity      string `json:"entity,omitempty" mapstructure:"entity"`
	Source      string `json:"source,omitempty" mapstructure:"source"`
	Priority    string `json:"priority,omitempty" mapstructure:"priority"`

	Tags            []any               `json:"tags,omitempty" mapstructure:"tags"`
	Actions         []any               `json:"actions,omitempty" mapstructure:"actions"`
	Responders      []ResponderPairSpec `json:"responders,omitempty" mapstructure:"responders"`
	VisibleTo       []ResponderPairSpec `json:"visibleTo,omitempty" mapstructure:"visibleTo"`
	ExtraProperties map[string]any      `json:"extraProperties,omitempty" mapstructure:"extraProperties"`
}

CreateAlertSpec configures JSM Ops Alerts API create (see Atlassian JSM Ops Alerts REST reference).

type CreateHeartbeat added in v0.24.0

type CreateHeartbeat struct{}

func (*CreateHeartbeat) Cancel added in v0.24.0

func (c *CreateHeartbeat) Cancel(ctx core.ExecutionContext) error

func (*CreateHeartbeat) Cleanup added in v0.24.0

func (c *CreateHeartbeat) Cleanup(ctx core.SetupContext) error

func (*CreateHeartbeat) Color added in v0.24.0

func (c *CreateHeartbeat) Color() string

func (*CreateHeartbeat) Configuration added in v0.24.0

func (c *CreateHeartbeat) Configuration() []configuration.Field

func (*CreateHeartbeat) Description added in v0.24.0

func (c *CreateHeartbeat) Description() string

func (*CreateHeartbeat) Documentation added in v0.24.0

func (c *CreateHeartbeat) Documentation() string

func (*CreateHeartbeat) ExampleOutput added in v0.24.0

func (c *CreateHeartbeat) ExampleOutput() map[string]any

func (*CreateHeartbeat) Execute added in v0.24.0

func (c *CreateHeartbeat) Execute(ctx core.ExecutionContext) error

func (*CreateHeartbeat) HandleHook added in v0.24.0

func (c *CreateHeartbeat) HandleHook(ctx core.ActionHookContext) error

func (*CreateHeartbeat) HandleWebhook added in v0.24.0

func (*CreateHeartbeat) Hooks added in v0.24.0

func (c *CreateHeartbeat) Hooks() []core.Hook

func (*CreateHeartbeat) Icon added in v0.24.0

func (c *CreateHeartbeat) Icon() string

func (*CreateHeartbeat) Label added in v0.24.0

func (c *CreateHeartbeat) Label() string

func (*CreateHeartbeat) Name added in v0.24.0

func (c *CreateHeartbeat) Name() string

func (*CreateHeartbeat) OutputChannels added in v0.24.0

func (c *CreateHeartbeat) OutputChannels(configuration any) []core.OutputChannel

func (*CreateHeartbeat) ProcessQueueItem added in v0.24.0

func (c *CreateHeartbeat) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*CreateHeartbeat) Setup added in v0.24.0

func (c *CreateHeartbeat) Setup(ctx core.SetupContext) error

type CreateHeartbeatNodeMetadata added in v0.24.0

type CreateHeartbeatNodeMetadata struct {
	TeamName string `json:"teamName,omitempty"`
}

type CreateHeartbeatRequest added in v0.24.0

type CreateHeartbeatRequest struct {
	Name          string   `json:"name"`
	Description   string   `json:"description,omitempty"`
	Interval      int      `json:"interval"`
	IntervalUnit  string   `json:"intervalUnit"`
	Enabled       *bool    `json:"enabled,omitempty"`
	AlertMessage  string   `json:"alertMessage,omitempty"`
	AlertTags     []string `json:"alertTags,omitempty"`
	AlertPriority string   `json:"alertPriority,omitempty"`
}

CreateHeartbeatRequest is the JSON body for POST .../heartbeats.

type CreateHeartbeatSpec added in v0.24.0

type CreateHeartbeatSpec struct {
	Team          string `json:"team" mapstructure:"team"`
	Name          string `json:"name" mapstructure:"name"`
	Description   string `json:"description,omitempty" mapstructure:"description"`
	Interval      int    `json:"interval" mapstructure:"interval"`
	IntervalUnit  string `json:"intervalUnit" mapstructure:"intervalUnit"`
	Enabled       *bool  `json:"enabled,omitempty" mapstructure:"enabled"`
	AlertMessage  string `json:"alertMessage,omitempty" mapstructure:"alertMessage"`
	AlertTags     []any  `json:"alertTags,omitempty" mapstructure:"alertTags"`
	AlertPriority string `json:"alertPriority,omitempty" mapstructure:"alertPriority"`
}

type CreateIncident added in v0.22.0

type CreateIncident struct{}

func (*CreateIncident) Cancel added in v0.22.0

func (c *CreateIncident) Cancel(ctx core.ExecutionContext) error

func (*CreateIncident) Cleanup added in v0.22.0

func (c *CreateIncident) Cleanup(ctx core.SetupContext) error

func (*CreateIncident) Color added in v0.22.0

func (c *CreateIncident) Color() string

func (*CreateIncident) Configuration added in v0.22.0

func (c *CreateIncident) Configuration() []configuration.Field

func (*CreateIncident) Description added in v0.22.0

func (c *CreateIncident) Description() string

func (*CreateIncident) Documentation added in v0.22.0

func (c *CreateIncident) Documentation() string

func (*CreateIncident) ExampleOutput added in v0.22.0

func (c *CreateIncident) ExampleOutput() map[string]any

func (*CreateIncident) Execute added in v0.22.0

func (c *CreateIncident) Execute(ctx core.ExecutionContext) error

func (*CreateIncident) HandleHook added in v0.22.0

func (c *CreateIncident) HandleHook(ctx core.ActionHookContext) error

func (*CreateIncident) HandleWebhook added in v0.22.0

func (*CreateIncident) Hooks added in v0.22.0

func (c *CreateIncident) Hooks() []core.Hook

func (*CreateIncident) Icon added in v0.22.0

func (c *CreateIncident) Icon() string

func (*CreateIncident) Label added in v0.22.0

func (c *CreateIncident) Label() string

func (*CreateIncident) Name added in v0.22.0

func (c *CreateIncident) Name() string

func (*CreateIncident) OutputChannels added in v0.22.0

func (c *CreateIncident) OutputChannels(configuration any) []core.OutputChannel

func (*CreateIncident) ProcessQueueItem added in v0.22.0

func (c *CreateIncident) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*CreateIncident) Setup added in v0.22.0

func (c *CreateIncident) Setup(ctx core.SetupContext) error

type CreateIncidentAPIRequest added in v0.22.0

type CreateIncidentAPIRequest struct {
	ServiceDeskID string         `json:"serviceDeskId"`
	RequestTypeID string         `json:"requestTypeId"`
	Fields        map[string]any `json:"fields"`
	Update        map[string]any `json:"update,omitempty"`
	AlertIDs      []string       `json:"alertIds,omitempty"`
}

CreateIncidentAPIRequest is the JSON body for JSM Incidents POST /v1/incident.

type CreateIncidentAPIResponse added in v0.22.0

type CreateIncidentAPIResponse struct {
	ID   string `json:"id"`
	Key  string `json:"key"`
	Self string `json:"self"`
}

CreateIncidentAPIResponse is returned when an incident is created successfully.

type CreateIncidentNodeMetadata added in v0.22.0

type CreateIncidentNodeMetadata struct {
	ServiceDeskName string `json:"serviceDeskName,omitempty"`
	RequestTypeName string `json:"requestTypeName,omitempty"`
	ImpactFieldID   string `json:"impactFieldId,omitempty"`
	UrgencyFieldID  string `json:"urgencyFieldId,omitempty"`
}

CreateIncidentNodeMetadata is stored on create-incident nodes at setup for canvas labels and field mapping.

type CreateIncidentSpec added in v0.22.0

type CreateIncidentSpec struct {
	ServiceDesk            string `json:"serviceDesk" mapstructure:"serviceDesk"`
	ServiceDeskRequestType string `json:"serviceDeskRequestType" mapstructure:"serviceDeskRequestType"`
	Summary                string `json:"summary" mapstructure:"summary"`

	Description      string `json:"description,omitempty" mapstructure:"description"`
	DueDate          string `json:"dueDate,omitempty" mapstructure:"dueDate"`
	Priority         string `json:"priority,omitempty" mapstructure:"priority"`
	Impact           string `json:"impact,omitempty" mapstructure:"impact"`
	Urgency          string `json:"urgency,omitempty" mapstructure:"urgency"`
	OriginalEstimate string `json:"originalEstimate,omitempty" mapstructure:"originalEstimate"`

	AdditionalFields map[string]any `json:"additionalFields,omitempty" mapstructure:"additionalFields"`
	Update           map[string]any `json:"update,omitempty" mapstructure:"update"`
	AlertIDs         []any          `json:"alertIds,omitempty" mapstructure:"alertIds"`

	CustomFieldValues []IncidentCustomFieldRow `json:"customFieldValues,omitempty" mapstructure:"customFieldValues"`
}

CreateIncidentSpec configures JSM Incidents API create (see Atlassian JSM Incidents REST reference).

type CreateIssue

type CreateIssue struct{}

func (*CreateIssue) Cancel

func (c *CreateIssue) Cancel(ctx core.ExecutionContext) error

func (*CreateIssue) Cleanup

func (c *CreateIssue) Cleanup(ctx core.SetupContext) error

func (*CreateIssue) Color

func (c *CreateIssue) Color() string

func (*CreateIssue) Configuration

func (c *CreateIssue) Configuration() []configuration.Field

func (*CreateIssue) Description

func (c *CreateIssue) Description() string

func (*CreateIssue) Documentation

func (c *CreateIssue) Documentation() string

func (*CreateIssue) ExampleOutput

func (c *CreateIssue) ExampleOutput() map[string]any

func (*CreateIssue) Execute

func (c *CreateIssue) Execute(ctx core.ExecutionContext) error

func (*CreateIssue) HandleHook added in v0.18.0

func (c *CreateIssue) HandleHook(ctx core.ActionHookContext) error

func (*CreateIssue) HandleWebhook

func (*CreateIssue) Hooks added in v0.18.0

func (c *CreateIssue) Hooks() []core.Hook

func (*CreateIssue) Icon

func (c *CreateIssue) Icon() string

func (*CreateIssue) Label

func (c *CreateIssue) Label() string

func (*CreateIssue) Name

func (c *CreateIssue) Name() string

func (*CreateIssue) OutputChannels

func (c *CreateIssue) OutputChannels(configuration any) []core.OutputChannel

func (*CreateIssue) ProcessQueueItem

func (c *CreateIssue) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*CreateIssue) Setup

func (c *CreateIssue) Setup(ctx core.SetupContext) error

type CreateIssueFields

type CreateIssueFields struct {
	Project     ProjectRef `json:"project"`
	IssueType   IssueType  `json:"issuetype"`
	Summary     string     `json:"summary"`
	Description *ADFDoc    `json:"description,omitempty"`
	Assignee    *UserRef   `json:"assignee,omitempty"`
}

type CreateIssueRequest

type CreateIssueRequest struct {
	Fields CreateIssueFields `json:"fields"`
}

type CreateIssueResponse

type CreateIssueResponse struct {
	ID   string `json:"id"`
	Key  string `json:"key"`
	Self string `json:"self"`
}

type CreateIssueSpec

type CreateIssueSpec struct {
	Project     string `json:"project" mapstructure:"project"`
	IssueType   string `json:"issueType" mapstructure:"issueType"`
	Summary     string `json:"summary" mapstructure:"summary"`
	Description string `json:"description" mapstructure:"description"`
	Assignee    string `json:"assignee" mapstructure:"assignee"`
	Status      string `json:"status" mapstructure:"status"`
}

type CustomerRequest added in v0.25.0

type CustomerRequest struct {
	IssueID       string `json:"issueId,omitempty"`
	IssueKey      string `json:"issueKey,omitempty"`
	ServiceDeskID string `json:"serviceDeskId,omitempty"`
	RequestTypeID string `json:"requestTypeId,omitempty"`
}

CustomerRequest is returned by GET /rest/servicedeskapi/request/{issueIdOrKey}.

type CustomerRequestListed added in v0.22.0

type CustomerRequestListed struct {
	IssueKey string `json:"issueKey"`
	Summary  string `json:"summary"`
}

CustomerRequestListed is one row from GET /rest/servicedeskapi/request (Jira Service Management).

type DeleteAlert added in v0.25.0

type DeleteAlert struct{}

func (*DeleteAlert) Cancel added in v0.25.0

func (c *DeleteAlert) Cancel(ctx core.ExecutionContext) error

func (*DeleteAlert) Cleanup added in v0.25.0

func (c *DeleteAlert) Cleanup(ctx core.SetupContext) error

func (*DeleteAlert) Color added in v0.25.0

func (c *DeleteAlert) Color() string

func (*DeleteAlert) Configuration added in v0.25.0

func (c *DeleteAlert) Configuration() []configuration.Field

func (*DeleteAlert) Description added in v0.25.0

func (c *DeleteAlert) Description() string

func (*DeleteAlert) Documentation added in v0.25.0

func (c *DeleteAlert) Documentation() string

func (*DeleteAlert) ExampleOutput added in v0.25.0

func (c *DeleteAlert) ExampleOutput() map[string]any

func (*DeleteAlert) Execute added in v0.25.0

func (c *DeleteAlert) Execute(ctx core.ExecutionContext) error

func (*DeleteAlert) HandleHook added in v0.25.0

func (c *DeleteAlert) HandleHook(ctx core.ActionHookContext) error

func (*DeleteAlert) HandleWebhook added in v0.25.0

func (*DeleteAlert) Hooks added in v0.25.0

func (c *DeleteAlert) Hooks() []core.Hook

func (*DeleteAlert) Icon added in v0.25.0

func (c *DeleteAlert) Icon() string

func (*DeleteAlert) Label added in v0.25.0

func (c *DeleteAlert) Label() string

func (*DeleteAlert) Name added in v0.25.0

func (c *DeleteAlert) Name() string

func (*DeleteAlert) OutputChannels added in v0.25.0

func (c *DeleteAlert) OutputChannels(configuration any) []core.OutputChannel

func (*DeleteAlert) ProcessQueueItem added in v0.25.0

func (c *DeleteAlert) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*DeleteAlert) Setup added in v0.25.0

func (c *DeleteAlert) Setup(ctx core.SetupContext) error

type DeleteAlertSpec added in v0.25.0

type DeleteAlertSpec struct {
	Alert string `json:"alert" mapstructure:"alert"`
}

type DeleteHeartbeat added in v0.24.0

type DeleteHeartbeat struct{}

func (*DeleteHeartbeat) Cancel added in v0.24.0

func (c *DeleteHeartbeat) Cancel(ctx core.ExecutionContext) error

func (*DeleteHeartbeat) Cleanup added in v0.24.0

func (c *DeleteHeartbeat) Cleanup(ctx core.SetupContext) error

func (*DeleteHeartbeat) Color added in v0.24.0

func (c *DeleteHeartbeat) Color() string

func (*DeleteHeartbeat) Configuration added in v0.24.0

func (c *DeleteHeartbeat) Configuration() []configuration.Field

func (*DeleteHeartbeat) Description added in v0.24.0

func (c *DeleteHeartbeat) Description() string

func (*DeleteHeartbeat) Documentation added in v0.24.0

func (c *DeleteHeartbeat) Documentation() string

func (*DeleteHeartbeat) ExampleOutput added in v0.24.0

func (c *DeleteHeartbeat) ExampleOutput() map[string]any

func (*DeleteHeartbeat) Execute added in v0.24.0

func (c *DeleteHeartbeat) Execute(ctx core.ExecutionContext) error

func (*DeleteHeartbeat) HandleHook added in v0.24.0

func (c *DeleteHeartbeat) HandleHook(ctx core.ActionHookContext) error

func (*DeleteHeartbeat) HandleWebhook added in v0.24.0

func (*DeleteHeartbeat) Hooks added in v0.24.0

func (c *DeleteHeartbeat) Hooks() []core.Hook

func (*DeleteHeartbeat) Icon added in v0.24.0

func (c *DeleteHeartbeat) Icon() string

func (*DeleteHeartbeat) Label added in v0.24.0

func (c *DeleteHeartbeat) Label() string

func (*DeleteHeartbeat) Name added in v0.24.0

func (c *DeleteHeartbeat) Name() string

func (*DeleteHeartbeat) OutputChannels added in v0.24.0

func (c *DeleteHeartbeat) OutputChannels(configuration any) []core.OutputChannel

func (*DeleteHeartbeat) ProcessQueueItem added in v0.24.0

func (c *DeleteHeartbeat) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*DeleteHeartbeat) Setup added in v0.24.0

func (c *DeleteHeartbeat) Setup(ctx core.SetupContext) error

type DeleteHeartbeatNodeMetadata added in v0.24.0

type DeleteHeartbeatNodeMetadata struct {
	TeamName string `json:"teamName,omitempty"`
}

type DeleteHeartbeatSpec added in v0.24.0

type DeleteHeartbeatSpec struct {
	Team      string `json:"team" mapstructure:"team"`
	Heartbeat string `json:"heartbeat" mapstructure:"heartbeat"`
}

type DeleteIncident added in v0.22.0

type DeleteIncident struct{}

func (*DeleteIncident) Cancel added in v0.22.0

func (c *DeleteIncident) Cancel(ctx core.ExecutionContext) error

func (*DeleteIncident) Cleanup added in v0.22.0

func (c *DeleteIncident) Cleanup(ctx core.SetupContext) error

func (*DeleteIncident) Color added in v0.22.0

func (c *DeleteIncident) Color() string

func (*DeleteIncident) Configuration added in v0.22.0

func (c *DeleteIncident) Configuration() []configuration.Field

func (*DeleteIncident) Description added in v0.22.0

func (c *DeleteIncident) Description() string

func (*DeleteIncident) Documentation added in v0.22.0

func (c *DeleteIncident) Documentation() string

func (*DeleteIncident) ExampleOutput added in v0.22.0

func (c *DeleteIncident) ExampleOutput() map[string]any

func (*DeleteIncident) Execute added in v0.22.0

func (c *DeleteIncident) Execute(ctx core.ExecutionContext) error

func (*DeleteIncident) HandleHook added in v0.22.0

func (c *DeleteIncident) HandleHook(ctx core.ActionHookContext) error

func (*DeleteIncident) HandleWebhook added in v0.22.0

func (*DeleteIncident) Hooks added in v0.22.0

func (c *DeleteIncident) Hooks() []core.Hook

func (*DeleteIncident) Icon added in v0.22.0

func (c *DeleteIncident) Icon() string

func (*DeleteIncident) Label added in v0.22.0

func (c *DeleteIncident) Label() string

func (*DeleteIncident) Name added in v0.22.0

func (c *DeleteIncident) Name() string

func (*DeleteIncident) OutputChannels added in v0.22.0

func (c *DeleteIncident) OutputChannels(configuration any) []core.OutputChannel

func (*DeleteIncident) ProcessQueueItem added in v0.22.0

func (c *DeleteIncident) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*DeleteIncident) Setup added in v0.22.0

func (c *DeleteIncident) Setup(ctx core.SetupContext) error

type DeleteIncidentSpec added in v0.22.0

type DeleteIncidentSpec struct {
	Project string `json:"project,omitempty"`
	Issue   string `json:"issue"`
}

type DeleteIssue added in v0.22.0

type DeleteIssue struct{}

func (*DeleteIssue) Cancel added in v0.22.0

func (c *DeleteIssue) Cancel(ctx core.ExecutionContext) error

func (*DeleteIssue) Cleanup added in v0.22.0

func (c *DeleteIssue) Cleanup(ctx core.SetupContext) error

func (*DeleteIssue) Color added in v0.22.0

func (c *DeleteIssue) Color() string

func (*DeleteIssue) Configuration added in v0.22.0

func (c *DeleteIssue) Configuration() []configuration.Field

func (*DeleteIssue) Description added in v0.22.0

func (c *DeleteIssue) Description() string

func (*DeleteIssue) Documentation added in v0.22.0

func (c *DeleteIssue) Documentation() string

func (*DeleteIssue) ExampleOutput added in v0.22.0

func (c *DeleteIssue) ExampleOutput() map[string]any

func (*DeleteIssue) Execute added in v0.22.0

func (c *DeleteIssue) Execute(ctx core.ExecutionContext) error

func (*DeleteIssue) HandleHook added in v0.22.0

func (c *DeleteIssue) HandleHook(ctx core.ActionHookContext) error

func (*DeleteIssue) HandleWebhook added in v0.22.0

func (*DeleteIssue) Hooks added in v0.22.0

func (c *DeleteIssue) Hooks() []core.Hook

func (*DeleteIssue) Icon added in v0.22.0

func (c *DeleteIssue) Icon() string

func (*DeleteIssue) Label added in v0.22.0

func (c *DeleteIssue) Label() string

func (*DeleteIssue) Name added in v0.22.0

func (c *DeleteIssue) Name() string

func (*DeleteIssue) OutputChannels added in v0.22.0

func (c *DeleteIssue) OutputChannels(configuration any) []core.OutputChannel

func (*DeleteIssue) ProcessQueueItem added in v0.22.0

func (c *DeleteIssue) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*DeleteIssue) Setup added in v0.22.0

func (c *DeleteIssue) Setup(ctx core.SetupContext) error

type DeleteIssueOptions added in v0.22.0

type DeleteIssueOptions struct {
	DeleteSubtasks bool
}

type DeleteIssueOutput added in v0.22.0

type DeleteIssueOutput struct {
	ID      string `json:"id"`
	Key     string `json:"key"`
	Deleted bool   `json:"deleted"`
}

type DeleteIssueSpec added in v0.22.0

type DeleteIssueSpec struct {
	Project        string `json:"project" mapstructure:"project"`
	IssueKey       string `json:"issueKey" mapstructure:"issueKey"`
	DeleteSubtasks bool   `json:"deleteSubtasks" mapstructure:"deleteSubtasks"`
}

type DoTransitionOptions added in v0.25.0

type DoTransitionOptions struct {
	Comment    string
	Resolution string
}

type FlexibleString added in v0.25.0

type FlexibleString string

func (FlexibleString) String added in v0.25.0

func (s FlexibleString) String() string

func (*FlexibleString) UnmarshalJSON added in v0.25.0

func (s *FlexibleString) UnmarshalJSON(b []byte) error

type GetAlert added in v0.25.0

type GetAlert struct{}

func (*GetAlert) Cancel added in v0.25.0

func (c *GetAlert) Cancel(ctx core.ExecutionContext) error

func (*GetAlert) Cleanup added in v0.25.0

func (c *GetAlert) Cleanup(ctx core.SetupContext) error

func (*GetAlert) Color added in v0.25.0

func (c *GetAlert) Color() string

func (*GetAlert) Configuration added in v0.25.0

func (c *GetAlert) Configuration() []configuration.Field

func (*GetAlert) Description added in v0.25.0

func (c *GetAlert) Description() string

func (*GetAlert) Documentation added in v0.25.0

func (c *GetAlert) Documentation() string

func (*GetAlert) ExampleOutput added in v0.25.0

func (c *GetAlert) ExampleOutput() map[string]any

func (*GetAlert) Execute added in v0.25.0

func (c *GetAlert) Execute(ctx core.ExecutionContext) error

func (*GetAlert) HandleHook added in v0.25.0

func (c *GetAlert) HandleHook(ctx core.ActionHookContext) error

func (*GetAlert) HandleWebhook added in v0.25.0

func (*GetAlert) Hooks added in v0.25.0

func (c *GetAlert) Hooks() []core.Hook

func (*GetAlert) Icon added in v0.25.0

func (c *GetAlert) Icon() string

func (*GetAlert) Label added in v0.25.0

func (c *GetAlert) Label() string

func (*GetAlert) Name added in v0.25.0

func (c *GetAlert) Name() string

func (*GetAlert) OutputChannels added in v0.25.0

func (c *GetAlert) OutputChannels(configuration any) []core.OutputChannel

func (*GetAlert) ProcessQueueItem added in v0.25.0

func (c *GetAlert) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*GetAlert) Setup added in v0.25.0

func (c *GetAlert) Setup(ctx core.SetupContext) error

type GetAlertSpec added in v0.25.0

type GetAlertSpec struct {
	Alert string `json:"alert" mapstructure:"alert"`
}

type GetIncident added in v0.22.0

type GetIncident struct{}

func (*GetIncident) Cancel added in v0.22.0

func (c *GetIncident) Cancel(ctx core.ExecutionContext) error

func (*GetIncident) Cleanup added in v0.22.0

func (c *GetIncident) Cleanup(ctx core.SetupContext) error

func (*GetIncident) Color added in v0.22.0

func (c *GetIncident) Color() string

func (*GetIncident) Configuration added in v0.22.0

func (c *GetIncident) Configuration() []configuration.Field

func (*GetIncident) Description added in v0.22.0

func (c *GetIncident) Description() string

func (*GetIncident) Documentation added in v0.22.0

func (c *GetIncident) Documentation() string

func (*GetIncident) ExampleOutput added in v0.22.0

func (c *GetIncident) ExampleOutput() map[string]any

func (*GetIncident) Execute added in v0.22.0

func (c *GetIncident) Execute(ctx core.ExecutionContext) error

func (*GetIncident) HandleHook added in v0.22.0

func (c *GetIncident) HandleHook(ctx core.ActionHookContext) error

func (*GetIncident) HandleWebhook added in v0.22.0

func (*GetIncident) Hooks added in v0.22.0

func (c *GetIncident) Hooks() []core.Hook

func (*GetIncident) Icon added in v0.22.0

func (c *GetIncident) Icon() string

func (*GetIncident) Label added in v0.22.0

func (c *GetIncident) Label() string

func (*GetIncident) Name added in v0.22.0

func (c *GetIncident) Name() string

func (*GetIncident) OutputChannels added in v0.22.0

func (c *GetIncident) OutputChannels(configuration any) []core.OutputChannel

func (*GetIncident) ProcessQueueItem added in v0.22.0

func (c *GetIncident) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*GetIncident) Setup added in v0.22.0

func (c *GetIncident) Setup(ctx core.SetupContext) error

type GetIncidentSpec added in v0.22.0

type GetIncidentSpec struct {
	Project string `json:"project,omitempty"`
	Issue   string `json:"issue"`
}

type GetIssue added in v0.22.0

type GetIssue struct{}

func (*GetIssue) Cancel added in v0.22.0

func (c *GetIssue) Cancel(ctx core.ExecutionContext) error

func (*GetIssue) Cleanup added in v0.22.0

func (c *GetIssue) Cleanup(ctx core.SetupContext) error

func (*GetIssue) Color added in v0.22.0

func (c *GetIssue) Color() string

func (*GetIssue) Configuration added in v0.22.0

func (c *GetIssue) Configuration() []configuration.Field

func (*GetIssue) Description added in v0.22.0

func (c *GetIssue) Description() string

func (*GetIssue) Documentation added in v0.22.0

func (c *GetIssue) Documentation() string

func (*GetIssue) ExampleOutput added in v0.22.0

func (c *GetIssue) ExampleOutput() map[string]any

func (*GetIssue) Execute added in v0.22.0

func (c *GetIssue) Execute(ctx core.ExecutionContext) error

func (*GetIssue) HandleHook added in v0.22.0

func (c *GetIssue) HandleHook(ctx core.ActionHookContext) error

func (*GetIssue) HandleWebhook added in v0.22.0

func (*GetIssue) Hooks added in v0.22.0

func (c *GetIssue) Hooks() []core.Hook

func (*GetIssue) Icon added in v0.22.0

func (c *GetIssue) Icon() string

func (*GetIssue) Label added in v0.22.0

func (c *GetIssue) Label() string

func (*GetIssue) Name added in v0.22.0

func (c *GetIssue) Name() string

func (*GetIssue) OutputChannels added in v0.22.0

func (c *GetIssue) OutputChannels(configuration any) []core.OutputChannel

func (*GetIssue) ProcessQueueItem added in v0.22.0

func (c *GetIssue) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*GetIssue) Setup added in v0.22.0

func (c *GetIssue) Setup(ctx core.SetupContext) error

type GetIssueOptions added in v0.22.0

type GetIssueOptions struct {
	Fields string
	Expand string
}

type GetIssueSpec added in v0.22.0

type GetIssueSpec struct {
	Project  string `json:"project" mapstructure:"project"`
	IssueKey string `json:"issueKey" mapstructure:"issueKey"`
	Expand   string `json:"expand" mapstructure:"expand"`
}

type GetWorkflow added in v0.25.0

type GetWorkflow struct{}

func (*GetWorkflow) Cancel added in v0.25.0

func (c *GetWorkflow) Cancel(ctx core.ExecutionContext) error

func (*GetWorkflow) Cleanup added in v0.25.0

func (c *GetWorkflow) Cleanup(ctx core.SetupContext) error

func (*GetWorkflow) Color added in v0.25.0

func (c *GetWorkflow) Color() string

func (*GetWorkflow) Configuration added in v0.25.0

func (c *GetWorkflow) Configuration() []configuration.Field

func (*GetWorkflow) Description added in v0.25.0

func (c *GetWorkflow) Description() string

func (*GetWorkflow) Documentation added in v0.25.0

func (c *GetWorkflow) Documentation() string

func (*GetWorkflow) ExampleOutput added in v0.25.0

func (c *GetWorkflow) ExampleOutput() map[string]any

func (*GetWorkflow) Execute added in v0.25.0

func (c *GetWorkflow) Execute(ctx core.ExecutionContext) error

func (*GetWorkflow) HandleHook added in v0.25.0

func (c *GetWorkflow) HandleHook(ctx core.ActionHookContext) error

func (*GetWorkflow) HandleWebhook added in v0.25.0

func (*GetWorkflow) Hooks added in v0.25.0

func (c *GetWorkflow) Hooks() []core.Hook

func (*GetWorkflow) Icon added in v0.25.0

func (c *GetWorkflow) Icon() string

func (*GetWorkflow) Label added in v0.25.0

func (c *GetWorkflow) Label() string

func (*GetWorkflow) Name added in v0.25.0

func (c *GetWorkflow) Name() string

func (*GetWorkflow) OutputChannels added in v0.25.0

func (c *GetWorkflow) OutputChannels(configuration any) []core.OutputChannel

func (*GetWorkflow) ProcessQueueItem added in v0.25.0

func (c *GetWorkflow) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*GetWorkflow) Setup added in v0.25.0

func (c *GetWorkflow) Setup(ctx core.SetupContext) error

type GetWorkflowOutput added in v0.25.0

type GetWorkflowOutput struct {
	IssueKey             string                        `json:"issueKey"`
	IssueType            string                        `json:"issueType,omitempty"`
	ProjectKey           string                        `json:"projectKey,omitempty"`
	WorkflowName         string                        `json:"workflowName,omitempty"`
	WorkflowSchemeID     string                        `json:"workflowSchemeId,omitempty"`
	WorkflowSchemeName   string                        `json:"workflowSchemeName,omitempty"`
	CurrentStatus        string                        `json:"currentStatus,omitempty"`
	CurrentStatusID      string                        `json:"currentStatusId,omitempty"`
	Statuses             []WorkflowStatus              `json:"statuses,omitempty"`
	AvailableTransitions []WorkflowAvailableTransition `json:"availableTransitions,omitempty"`
}

GetWorkflowOutput summarizes the workflow currently bound to an issue: where the issue is now, every status the workflow defines, and every transition it can take from the current state.

type GetWorkflowSpec added in v0.25.0

type GetWorkflowSpec struct {
	Project  string `json:"project" mapstructure:"project"`
	IssueKey string `json:"issueKey" mapstructure:"issueKey"`
}

type Heartbeat added in v0.24.0

type Heartbeat struct {
	Name          string   `json:"name"`
	Description   string   `json:"description,omitempty"`
	Interval      int      `json:"interval"`
	IntervalUnit  string   `json:"intervalUnit"`
	Enabled       bool     `json:"enabled"`
	Status        string   `json:"status,omitempty"`
	OwnerTeamID   string   `json:"ownerTeamId,omitempty"`
	AlertMessage  string   `json:"alertMessage,omitempty"`
	AlertTags     []string `json:"alertTags,omitempty"`
	AlertPriority string   `json:"alertPriority,omitempty"`
}

Heartbeat is a JSM Operations heartbeat monitor.

type IncidentCustomFieldRow added in v0.22.0

type IncidentCustomFieldRow struct {
	FieldID   string `json:"fieldId" mapstructure:"fieldId"`
	ValueJSON string `json:"valueJson" mapstructure:"valueJson"`
}

IncidentCustomFieldRow maps one Jira field id to a JSON value (object or string) as expected by the Jira API.

type Issue

type Issue struct {
	ID     string         `json:"id"`
	Key    string         `json:"key"`
	Self   string         `json:"self"`
	Fields map[string]any `json:"fields"`
}

type IssueSearchHit added in v0.22.0

type IssueSearchHit struct {
	ID     string         `json:"id"`
	Key    string         `json:"key"`
	Fields map[string]any `json:"fields"`
}

IssueSearchHit is one element from GET /rest/api/3/search.

type IssueType

type IssueType struct {
	Name string `json:"name"`
}

type IssueTypeMeta added in v0.22.0

type IssueTypeMeta struct {
	ID      string `json:"id"`
	Name    string `json:"name"`
	Subtask bool   `json:"subtask"`
}

type Jira

type Jira struct{}

func (*Jira) Actions

func (j *Jira) Actions() []core.Action

func (*Jira) Cleanup

func (j *Jira) Cleanup(ctx core.IntegrationCleanupContext) error

func (*Jira) Configuration

func (j *Jira) Configuration() []configuration.Field

func (*Jira) Description

func (j *Jira) Description() string

func (*Jira) HandleHook added in v0.18.0

func (j *Jira) HandleHook(ctx core.IntegrationHookContext) error

func (*Jira) HandleRequest

func (j *Jira) HandleRequest(ctx core.HTTPRequestContext)

func (*Jira) Hooks added in v0.18.0

func (j *Jira) Hooks() []core.Hook

func (*Jira) Icon

func (j *Jira) Icon() string

func (*Jira) Instructions

func (j *Jira) Instructions() string

func (*Jira) Label

func (j *Jira) Label() string

func (*Jira) ListResources

func (j *Jira) ListResources(resourceType string, ctx core.ListResourcesContext) ([]core.IntegrationResource, error)

func (*Jira) Name

func (j *Jira) Name() string

func (*Jira) Sync

func (j *Jira) Sync(ctx core.SyncContext) error

func (*Jira) Triggers

func (j *Jira) Triggers() []core.Trigger

type JiraFieldInfo added in v0.22.0

type JiraFieldInfo struct {
	ID     string         `json:"id"`
	Name   string         `json:"name"`
	Custom bool           `json:"custom"`
	Schema map[string]any `json:"schema,omitempty"`
}

func FindGlobalFieldByLabel added in v0.22.0

func FindGlobalFieldByLabel(fields []JiraFieldInfo, fieldLabel string) *JiraFieldInfo

FindGlobalFieldByLabel finds a field id by display name (e.g. "Urgency").

type Metadata

type Metadata struct {
	User     *User     `json:"user,omitempty" mapstructure:"user,omitempty"`
	Projects []Project `json:"projects" mapstructure:"projects"`
	CloudID  string    `json:"cloudId,omitempty" mapstructure:"cloudId,omitempty"`
}

type NodeMetadata

type NodeMetadata struct {
	Project   *Project `json:"project,omitempty"`
	IssueType string   `json:"issueType,omitempty"`
	Status    string   `json:"status,omitempty"`
}

NodeMetadata stores metadata on action component nodes.

type OpsAlertPickerMetadata added in v0.25.0

type OpsAlertPickerMetadata struct {
	AlertLabel string `json:"alertLabel,omitempty"`
}

OpsAlertPickerMetadata summarizes the Ops alert referenced on picker-driven components.

type OpsAlertResponder added in v0.25.0

type OpsAlertResponder struct {
	ID   string `json:"id"`
	Type string `json:"type"`
}

OpsAlertResponder is a responder or visibleTo entry for the Jira Service Management Ops Alerts API.

type OpsAsyncSuccessResponse added in v0.25.0

type OpsAsyncSuccessResponse struct {
	Result    string  `json:"result"`
	RequestID string  `json:"requestId"`
	Took      float64 `json:"took"`
}

OpsAsyncSuccessResponse is returned by create/delete and several mutating Ops alert endpoints (often with HTTP 202).

type OpsCreateAlertRequest added in v0.25.0

type OpsCreateAlertRequest struct {
	Message         string              `json:"message"`
	Responders      []OpsAlertResponder `json:"responders,omitempty"`
	VisibleTo       []OpsAlertResponder `json:"visibleTo,omitempty"`
	Note            string              `json:"note,omitempty"`
	Alias           string              `json:"alias,omitempty"`
	Entity          string              `json:"entity,omitempty"`
	Source          string              `json:"source,omitempty"`
	Tags            []string            `json:"tags,omitempty"`
	Actions         []string            `json:"actions,omitempty"`
	Description     string              `json:"description,omitempty"`
	Priority        string              `json:"priority,omitempty"`
	ExtraProperties map[string]any      `json:"extraProperties,omitempty"`
}

OpsCreateAlertRequest is the JSON body for POST /v1/alerts.

type OpsTeam added in v0.24.0

type OpsTeam struct {
	TeamID   string `json:"teamId"`
	TeamName string `json:"teamName"`
}

OpsTeam is one JSM Operations team from GET /v1/teams.

type PingHeartbeat added in v0.24.0

type PingHeartbeat struct{}

func (*PingHeartbeat) Cancel added in v0.24.0

func (c *PingHeartbeat) Cancel(ctx core.ExecutionContext) error

func (*PingHeartbeat) Cleanup added in v0.24.0

func (c *PingHeartbeat) Cleanup(ctx core.SetupContext) error

func (*PingHeartbeat) Color added in v0.24.0

func (c *PingHeartbeat) Color() string

func (*PingHeartbeat) Configuration added in v0.24.0

func (c *PingHeartbeat) Configuration() []configuration.Field

func (*PingHeartbeat) Description added in v0.24.0

func (c *PingHeartbeat) Description() string

func (*PingHeartbeat) Documentation added in v0.24.0

func (c *PingHeartbeat) Documentation() string

func (*PingHeartbeat) ExampleOutput added in v0.24.0

func (c *PingHeartbeat) ExampleOutput() map[string]any

func (*PingHeartbeat) Execute added in v0.24.0

func (c *PingHeartbeat) Execute(ctx core.ExecutionContext) error

func (*PingHeartbeat) HandleHook added in v0.24.0

func (c *PingHeartbeat) HandleHook(ctx core.ActionHookContext) error

func (*PingHeartbeat) HandleWebhook added in v0.24.0

func (*PingHeartbeat) Hooks added in v0.24.0

func (c *PingHeartbeat) Hooks() []core.Hook

func (*PingHeartbeat) Icon added in v0.24.0

func (c *PingHeartbeat) Icon() string

func (*PingHeartbeat) Label added in v0.24.0

func (c *PingHeartbeat) Label() string

func (*PingHeartbeat) Name added in v0.24.0

func (c *PingHeartbeat) Name() string

func (*PingHeartbeat) OutputChannels added in v0.24.0

func (c *PingHeartbeat) OutputChannels(configuration any) []core.OutputChannel

func (*PingHeartbeat) ProcessQueueItem added in v0.24.0

func (c *PingHeartbeat) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*PingHeartbeat) Setup added in v0.24.0

func (c *PingHeartbeat) Setup(ctx core.SetupContext) error

type PingHeartbeatNodeMetadata added in v0.24.0

type PingHeartbeatNodeMetadata struct {
	TeamName string `json:"teamName,omitempty"`
}

type PingHeartbeatResponse added in v0.24.0

type PingHeartbeatResponse struct {
	Message string `json:"message"`
}

PingHeartbeatResponse is returned when a heartbeat ping succeeds.

type PingHeartbeatSpec added in v0.24.0

type PingHeartbeatSpec struct {
	Team      string `json:"team" mapstructure:"team"`
	Heartbeat string `json:"heartbeat" mapstructure:"heartbeat"`
}

type Priority added in v0.22.0

type Priority struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

type Project

type Project struct {
	ID         string `json:"id"`
	Key        string `json:"key"`
	Name       string `json:"name"`
	Style      string `json:"style,omitempty"`
	Simplified bool   `json:"simplified,omitempty"`
}

type ProjectRef

type ProjectRef struct {
	Key string `json:"key"`
}

type RequestType added in v0.22.0

type RequestType struct {
	ID       string `json:"id"`
	Name     string `json:"name"`
	Practice string `json:"practice,omitempty"`
}

RequestType is returned by GET /rest/servicedeskapi/servicedesk/{id}/requesttype (use expand=practice for the practice field).

type RequestTypeField added in v0.22.0

type RequestTypeField struct {
	FieldID     string                  `json:"fieldId"`
	Name        string                  `json:"name"`
	Required    bool                    `json:"required"`
	ValidValues []RequestTypeFieldValue `json:"validValues"`
}

RequestTypeField is returned by GET .../requesttype/{id}/field.

type RequestTypeFieldValue added in v0.22.0

type RequestTypeFieldValue struct {
	Label string `json:"label"`
	Value string `json:"value"`
}

RequestTypeFieldValue is an allowed option on a request type field.

type Resolution added in v0.25.0

type Resolution struct {
	ID   string `json:"id"`
	Name string `json:"name"`
}

type ResponderPairSpec added in v0.25.0

type ResponderPairSpec struct {
	ID   string `json:"id" mapstructure:"id"`
	Type string `json:"type" mapstructure:"type"`
}

type ServiceDesk added in v0.22.0

type ServiceDesk struct {
	ID          string `json:"id"`
	ProjectName string `json:"projectName"`
	ProjectKey  string `json:"projectKey"`
}

ServiceDesk is returned by GET /rest/servicedeskapi/servicedesk (Jira Service Management).

type Status added in v0.22.0

type Status struct {
	ID       string `json:"id"`
	Name     string `json:"name"`
	Category string `json:"-"`
}

Status represents a Jira workflow status. Category is the normalized statusCategory value used by Jira's workflow APIs: "TODO", "IN_PROGRESS", "DONE", or "UNDEFINED". It is populated from either the flat string returned by /rest/api/3/statuses/search or the nested statusCategory.key returned by /rest/api/3/project/{key}/statuses.

type Transition added in v0.22.0

type Transition struct {
	ID   string `json:"id"`
	Name string `json:"name"`
	To   Status `json:"to"`
	// Fields lists the fields that are present on this transition's screen,
	// keyed by Jira field id (for example "resolution", "customfield_10010").
	// Populated by GetIssueTransitions because we always pass
	// expand=transitions.fields — needed to know whether a transition supports
	// setting fields like resolution. Empty when no screen is configured.
	Fields map[string]any `json:"fields,omitempty"`
}

func (Transition) HasField added in v0.25.0

func (t Transition) HasField(fieldID string) bool

HasField reports whether this transition's screen includes the named Jira field id. Used to avoid the "Field 'X' cannot be set. It is not on the appropriate screen" error from Jira when the user supplies a field that the chosen transition doesn't actually accept.

type TransitionIssue added in v0.25.0

type TransitionIssue struct{}

func (*TransitionIssue) Cancel added in v0.25.0

func (c *TransitionIssue) Cancel(ctx core.ExecutionContext) error

func (*TransitionIssue) Cleanup added in v0.25.0

func (c *TransitionIssue) Cleanup(ctx core.SetupContext) error

func (*TransitionIssue) Color added in v0.25.0

func (c *TransitionIssue) Color() string

func (*TransitionIssue) Configuration added in v0.25.0

func (c *TransitionIssue) Configuration() []configuration.Field

func (*TransitionIssue) Description added in v0.25.0

func (c *TransitionIssue) Description() string

func (*TransitionIssue) Documentation added in v0.25.0

func (c *TransitionIssue) Documentation() string

func (*TransitionIssue) ExampleOutput added in v0.25.0

func (c *TransitionIssue) ExampleOutput() map[string]any

func (*TransitionIssue) Execute added in v0.25.0

func (c *TransitionIssue) Execute(ctx core.ExecutionContext) error

func (*TransitionIssue) HandleHook added in v0.25.0

func (c *TransitionIssue) HandleHook(ctx core.ActionHookContext) error

func (*TransitionIssue) HandleWebhook added in v0.25.0

func (*TransitionIssue) Hooks added in v0.25.0

func (c *TransitionIssue) Hooks() []core.Hook

func (*TransitionIssue) Icon added in v0.25.0

func (c *TransitionIssue) Icon() string

func (*TransitionIssue) Label added in v0.25.0

func (c *TransitionIssue) Label() string

func (*TransitionIssue) Name added in v0.25.0

func (c *TransitionIssue) Name() string

func (*TransitionIssue) OutputChannels added in v0.25.0

func (c *TransitionIssue) OutputChannels(configuration any) []core.OutputChannel

func (*TransitionIssue) ProcessQueueItem added in v0.25.0

func (c *TransitionIssue) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*TransitionIssue) Setup added in v0.25.0

func (c *TransitionIssue) Setup(ctx core.SetupContext) error

type TransitionIssueSpec added in v0.25.0

type TransitionIssueSpec struct {
	Project      string `json:"project" mapstructure:"project"`
	IssueKey     string `json:"issueKey" mapstructure:"issueKey"`
	TargetStatus string `json:"targetStatus" mapstructure:"targetStatus"`
	Comment      string `json:"comment" mapstructure:"comment"`
	Resolution   string `json:"resolution" mapstructure:"resolution"`
}

type UpdateAlert added in v0.25.0

type UpdateAlert struct{}

func (*UpdateAlert) Cancel added in v0.25.0

func (c *UpdateAlert) Cancel(ctx core.ExecutionContext) error

func (*UpdateAlert) Cleanup added in v0.25.0

func (c *UpdateAlert) Cleanup(ctx core.SetupContext) error

func (*UpdateAlert) Color added in v0.25.0

func (c *UpdateAlert) Color() string

func (*UpdateAlert) Configuration added in v0.25.0

func (c *UpdateAlert) Configuration() []configuration.Field

func (*UpdateAlert) Description added in v0.25.0

func (c *UpdateAlert) Description() string

func (*UpdateAlert) Documentation added in v0.25.0

func (c *UpdateAlert) Documentation() string

func (*UpdateAlert) ExampleOutput added in v0.25.0

func (c *UpdateAlert) ExampleOutput() map[string]any

func (*UpdateAlert) Execute added in v0.25.0

func (c *UpdateAlert) Execute(ctx core.ExecutionContext) error

func (*UpdateAlert) HandleHook added in v0.25.0

func (c *UpdateAlert) HandleHook(ctx core.ActionHookContext) error

func (*UpdateAlert) HandleWebhook added in v0.25.0

func (*UpdateAlert) Hooks added in v0.25.0

func (c *UpdateAlert) Hooks() []core.Hook

func (*UpdateAlert) Icon added in v0.25.0

func (c *UpdateAlert) Icon() string

func (*UpdateAlert) Label added in v0.25.0

func (c *UpdateAlert) Label() string

func (*UpdateAlert) Name added in v0.25.0

func (c *UpdateAlert) Name() string

func (*UpdateAlert) OutputChannels added in v0.25.0

func (c *UpdateAlert) OutputChannels(configuration any) []core.OutputChannel

func (*UpdateAlert) ProcessQueueItem added in v0.25.0

func (c *UpdateAlert) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*UpdateAlert) Setup added in v0.25.0

func (c *UpdateAlert) Setup(ctx core.SetupContext) error

type UpdateAlertNodeMetadata added in v0.25.0

type UpdateAlertNodeMetadata struct {
	AlertLabel      string   `json:"alertLabel,omitempty"`
	UpdateSummaries []string `json:"updateSummaries,omitempty"`
}

UpdateAlertNodeMetadata summarizes configured update operations for workflow cards.

type UpdateAlertSpec added in v0.25.0

type UpdateAlertSpec struct {
	Alert            string         `json:"alert" mapstructure:"alert"`
	Description      string         `json:"description,omitempty" mapstructure:"description"`
	Message          string         `json:"message,omitempty" mapstructure:"message"`
	Priority         string         `json:"priority,omitempty" mapstructure:"priority"`
	Assignee         string         `json:"assignee,omitempty" mapstructure:"assignee"`
	NewNote          string         `json:"newNote,omitempty" mapstructure:"newNote"`
	PatchNote        map[string]any `json:"patchExistingNote,omitempty" mapstructure:"patchExistingNote"`
	AcknowledgeAlert bool           `json:"acknowledgeAlert,omitempty" mapstructure:"acknowledgeAlert"`
	CloseAlert       bool           `json:"closeAlert,omitempty" mapstructure:"closeAlert"`
}

UpdateAlertSpec applies one or more optional Ops alert mutations in a single workflow step.

type UpdateHeartbeat added in v0.24.0

type UpdateHeartbeat struct{}

func (*UpdateHeartbeat) Cancel added in v0.24.0

func (c *UpdateHeartbeat) Cancel(ctx core.ExecutionContext) error

func (*UpdateHeartbeat) Cleanup added in v0.24.0

func (c *UpdateHeartbeat) Cleanup(ctx core.SetupContext) error

func (*UpdateHeartbeat) Color added in v0.24.0

func (c *UpdateHeartbeat) Color() string

func (*UpdateHeartbeat) Configuration added in v0.24.0

func (c *UpdateHeartbeat) Configuration() []configuration.Field

func (*UpdateHeartbeat) Description added in v0.24.0

func (c *UpdateHeartbeat) Description() string

func (*UpdateHeartbeat) Documentation added in v0.24.0

func (c *UpdateHeartbeat) Documentation() string

func (*UpdateHeartbeat) ExampleOutput added in v0.24.0

func (c *UpdateHeartbeat) ExampleOutput() map[string]any

func (*UpdateHeartbeat) Execute added in v0.24.0

func (c *UpdateHeartbeat) Execute(ctx core.ExecutionContext) error

func (*UpdateHeartbeat) HandleHook added in v0.24.0

func (c *UpdateHeartbeat) HandleHook(ctx core.ActionHookContext) error

func (*UpdateHeartbeat) HandleWebhook added in v0.24.0

func (*UpdateHeartbeat) Hooks added in v0.24.0

func (c *UpdateHeartbeat) Hooks() []core.Hook

func (*UpdateHeartbeat) Icon added in v0.24.0

func (c *UpdateHeartbeat) Icon() string

func (*UpdateHeartbeat) Label added in v0.24.0

func (c *UpdateHeartbeat) Label() string

func (*UpdateHeartbeat) Name added in v0.24.0

func (c *UpdateHeartbeat) Name() string

func (*UpdateHeartbeat) OutputChannels added in v0.24.0

func (c *UpdateHeartbeat) OutputChannels(configuration any) []core.OutputChannel

func (*UpdateHeartbeat) ProcessQueueItem added in v0.24.0

func (c *UpdateHeartbeat) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*UpdateHeartbeat) Setup added in v0.24.0

func (c *UpdateHeartbeat) Setup(ctx core.SetupContext) error

type UpdateHeartbeatNodeMetadata added in v0.24.0

type UpdateHeartbeatNodeMetadata struct {
	TeamName string `json:"teamName,omitempty"`
}

type UpdateHeartbeatRequest added in v0.24.0

type UpdateHeartbeatRequest struct {
	Description   string   `json:"description,omitempty"`
	Interval      *int     `json:"interval,omitempty"`
	IntervalUnit  string   `json:"intervalUnit,omitempty"`
	Enabled       *bool    `json:"enabled,omitempty"`
	AlertMessage  string   `json:"alertMessage,omitempty"`
	AlertTags     []string `json:"alertTags,omitempty"`
	AlertPriority string   `json:"alertPriority,omitempty"`
}

UpdateHeartbeatRequest is the JSON body for PATCH .../heartbeats?name=...

type UpdateHeartbeatSpec added in v0.24.0

type UpdateHeartbeatSpec struct {
	Team          string  `json:"team" mapstructure:"team"`
	Heartbeat     string  `json:"heartbeat" mapstructure:"heartbeat"`
	Description   *string `json:"description,omitempty" mapstructure:"description"`
	Interval      *int    `json:"interval,omitempty" mapstructure:"interval"`
	IntervalUnit  *string `json:"intervalUnit,omitempty" mapstructure:"intervalUnit"`
	Enabled       *bool   `json:"enabled,omitempty" mapstructure:"enabled"`
	AlertMessage  *string `json:"alertMessage,omitempty" mapstructure:"alertMessage"`
	AlertTags     []any   `json:"alertTags,omitempty" mapstructure:"alertTags"`
	AlertPriority *string `json:"alertPriority,omitempty" mapstructure:"alertPriority"`
}

type UpdateIssue added in v0.22.0

type UpdateIssue struct{}

func (*UpdateIssue) Cancel added in v0.22.0

func (c *UpdateIssue) Cancel(ctx core.ExecutionContext) error

func (*UpdateIssue) Cleanup added in v0.22.0

func (c *UpdateIssue) Cleanup(ctx core.SetupContext) error

func (*UpdateIssue) Color added in v0.22.0

func (c *UpdateIssue) Color() string

func (*UpdateIssue) Configuration added in v0.22.0

func (c *UpdateIssue) Configuration() []configuration.Field

func (*UpdateIssue) Description added in v0.22.0

func (c *UpdateIssue) Description() string

func (*UpdateIssue) Documentation added in v0.22.0

func (c *UpdateIssue) Documentation() string

func (*UpdateIssue) ExampleOutput added in v0.22.0

func (c *UpdateIssue) ExampleOutput() map[string]any

func (*UpdateIssue) Execute added in v0.22.0

func (c *UpdateIssue) Execute(ctx core.ExecutionContext) error

func (*UpdateIssue) HandleHook added in v0.22.0

func (c *UpdateIssue) HandleHook(ctx core.ActionHookContext) error

func (*UpdateIssue) HandleWebhook added in v0.22.0

func (*UpdateIssue) Hooks added in v0.22.0

func (c *UpdateIssue) Hooks() []core.Hook

func (*UpdateIssue) Icon added in v0.22.0

func (c *UpdateIssue) Icon() string

func (*UpdateIssue) Label added in v0.22.0

func (c *UpdateIssue) Label() string

func (*UpdateIssue) Name added in v0.22.0

func (c *UpdateIssue) Name() string

func (*UpdateIssue) OutputChannels added in v0.22.0

func (c *UpdateIssue) OutputChannels(configuration any) []core.OutputChannel

func (*UpdateIssue) ProcessQueueItem added in v0.22.0

func (c *UpdateIssue) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*UpdateIssue) Setup added in v0.22.0

func (c *UpdateIssue) Setup(ctx core.SetupContext) error

type UpdateIssueOptions added in v0.22.0

type UpdateIssueOptions struct {
	NotifyUsers *bool
}

type UpdateIssueRequest added in v0.22.0

type UpdateIssueRequest struct {
	Fields map[string]any `json:"fields,omitempty"`
}

type UpdateIssueSpec added in v0.22.0

type UpdateIssueSpec struct {
	Project     string    `json:"project" mapstructure:"project"`
	IssueKey    string    `json:"issueKey" mapstructure:"issueKey"`
	Summary     *string   `json:"summary,omitempty" mapstructure:"summary"`
	Description *string   `json:"description,omitempty" mapstructure:"description"`
	IssueType   *string   `json:"issueType,omitempty" mapstructure:"issueType"`
	Assignee    *string   `json:"assignee,omitempty" mapstructure:"assignee"`
	Priority    *string   `json:"priority,omitempty" mapstructure:"priority"`
	Labels      *[]string `json:"labels,omitempty" mapstructure:"labels"`
	NotifyUsers *bool     `json:"notifyUsers,omitempty" mapstructure:"notifyUsers"`
}

type User

type User struct {
	AccountID   string `json:"accountId"`
	DisplayName string `json:"displayName"`
	EmailAddr   string `json:"emailAddress,omitempty"`
}

type UserRef added in v0.22.0

type UserRef struct {
	AccountID string `json:"accountId"`
}

type WorkflowAvailableTransition added in v0.25.0

type WorkflowAvailableTransition struct {
	ID         string `json:"id"`
	Name       string `json:"name"`
	ToStatusID string `json:"toStatusId,omitempty"`
	ToStatus   string `json:"toStatus"`
}

WorkflowAvailableTransition is one transition the issue can take right now from its current status.

type WorkflowSchemeDetail added in v0.25.0

type WorkflowSchemeDetail struct {
	ID                FlexibleString    `json:"id"`
	Name              string            `json:"name"`
	DefaultWorkflow   string            `json:"defaultWorkflow"`
	IssueTypeMappings map[string]string `json:"issueTypeMappings"`
}

WorkflowSchemeDetail is returned by GET /rest/api/3/workflowscheme/{id}. It describes which workflow is used per issue type. Used to resolve the workflow bound to an issue (issue type ID -> workflow name).

type WorkflowStatus added in v0.25.0

type WorkflowStatus struct {
	ID        string `json:"id,omitempty"`
	Name      string `json:"name"`
	Category  string `json:"category,omitempty"`
	IsCurrent bool   `json:"isCurrent,omitempty"`
}

WorkflowStatus is a status inside a workflow definition. Includes whether it's the issue's current status so the canvas can render the workflow as a state machine with the current location highlighted.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL