jira

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2026 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const CreateIssuePayloadType = "jira.issue"

Variables

This section is empty.

Functions

This section is empty.

Types

type ADFDoc

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

ADFDoc represents an Atlassian Document Format document.

func WrapInADF

func WrapInADF(text string) *ADFDoc

WrapInADF wraps plain text in a minimal ADF document.

type ADFNode

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

ADFNode represents a node in an ADF document.

type ADFText

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

ADFText represents a text node in ADF.

type Client

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

func NewClient

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

func (*Client) CreateIssue

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

CreateIssue creates a new issue in Jira.

func (*Client) GetCurrentUser

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

GetCurrentUser verifies credentials by fetching the authenticated user.

func (*Client) GetIssue

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

GetIssue fetches a single issue by its key.

func (*Client) ListProjects

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

ListProjects returns all projects accessible to the authenticated user.

type Configuration

type Configuration struct {
	BaseURL  string `json:"baseUrl"`
	Email    string `json:"email"`
	APIToken string `json:"apiToken"`
}

type CreateIssue

type CreateIssue struct{}

func (*CreateIssue) Actions

func (c *CreateIssue) Actions() []core.Action

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) HandleAction

func (c *CreateIssue) HandleAction(ctx core.ActionContext) error

func (*CreateIssue) HandleWebhook

func (c *CreateIssue) HandleWebhook(ctx core.WebhookRequestContext) (int, error)

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"`
}

CreateIssueFields contains the fields for creating an issue.

type CreateIssueRequest

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

CreateIssueRequest is the request body for creating an issue.

type CreateIssueResponse

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

CreateIssueResponse is the response from creating an issue.

type CreateIssueSpec

type CreateIssueSpec struct {
	Project     string `json:"project"`
	IssueType   string `json:"issueType"`
	Summary     string `json:"summary"`
	Description string `json:"description"`
}

type Issue

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

Issue represents a Jira issue.

type IssueType

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

IssueType specifies the issue type by name.

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) Components

func (j *Jira) Components() []core.Component

func (*Jira) Configuration

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

func (*Jira) Description

func (j *Jira) Description() string

func (*Jira) HandleAction

func (j *Jira) HandleAction(ctx core.IntegrationActionContext) error

func (*Jira) HandleRequest

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

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 Metadata

type Metadata struct {
	Projects []Project `json:"projects"`
}

type NodeMetadata

type NodeMetadata struct {
	Project *Project `json:"project,omitempty"`
}

NodeMetadata stores metadata on trigger/component nodes.

type Project

type Project struct {
	ID   string `json:"id"`
	Key  string `json:"key"`
	Name string `json:"name"`
}

Project represents a Jira project.

type ProjectRef

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

ProjectRef references a project by key.

type User

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

User represents a Jira user from the /myself endpoint.

Jump to

Keyboard shortcuts

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