jira

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2021 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DateFormatJira = "2006-01-02T15:04:05.999-0700"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplicationRoleScheme

type ApplicationRoleScheme struct {
	Key                  string   `json:"key,omitempty"`
	Groups               []string `json:"groups,omitempty"`
	Name                 string   `json:"name,omitempty"`
	DefaultGroups        []string `json:"defaultGroups,omitempty"`
	SelectedByDefault    bool     `json:"selectedByDefault,omitempty"`
	Defined              bool     `json:"defined,omitempty"`
	NumberOfSeats        int      `json:"numberOfSeats,omitempty"`
	RemainingSeats       int      `json:"remainingSeats,omitempty"`
	UserCount            int      `json:"userCount,omitempty"`
	UserCountDescription string   `json:"userCountDescription,omitempty"`
	HasUnlimitedSeats    bool     `json:"hasUnlimitedSeats,omitempty"`
	Platform             bool     `json:"platform,omitempty"`
}

type ApplicationRoleService

type ApplicationRoleService struct {
	// contains filtered or unexported fields
}

func (*ApplicationRoleService) Get

func (a *ApplicationRoleService) Get(ctx context.Context, key string) (result *ApplicationRoleScheme, response *Response, err error)

Returns an application role. Docs: https://docs.go-atlassian.io/jira-software-cloud/application-roles#application-role

func (*ApplicationRoleService) Gets

func (a *ApplicationRoleService) Gets(ctx context.Context) (result *[]ApplicationRoleScheme, response *Response, err error)

Returns all application roles. Docs: https://docs.go-atlassian.io/jira-software-cloud/application-roles#application-roles

type AttachmentHumanMetadataScheme

type AttachmentHumanMetadataScheme struct {
	ID      int    `json:"id"`
	Name    string `json:"name"`
	Entries []struct {
		Path      string `json:"path"`
		Index     int    `json:"index"`
		Size      string `json:"size"`
		MediaType string `json:"mediaType"`
		Label     string `json:"label"`
	} `json:"entries"`
	TotalEntryCount int    `json:"totalEntryCount"`
	MediaType       string `json:"mediaType"`
}

type AttachmentMetadataScheme

type AttachmentMetadataScheme struct {
	ID        int        `json:"id"`
	Self      string     `json:"self"`
	Filename  string     `json:"filename"`
	Author    UserScheme `json:"author"`
	Created   string     `json:"created"`
	Size      int        `json:"size"`
	MimeType  string     `json:"mimeType"`
	Content   string     `json:"content"`
	Thumbnail string     `json:"thumbnail"`
}

type AttachmentScheme

type AttachmentScheme struct {
	Self      string     `json:"self"`
	ID        string     `json:"id,omitempty"`
	Filename  string     `json:"filename"`
	Author    UserScheme `json:"author"`
	Created   string     `json:"created"`
	Size      int        `json:"size"`
	MimeType  string     `json:"mimeType"`
	Content   string     `json:"content"`
	Thumbnail string     `json:"thumbnail,omitempty"`
}

type AttachmentService

type AttachmentService struct {
	// contains filtered or unexported fields
}

func (*AttachmentService) Add

func (a *AttachmentService) Add(issueKeyOrID string, path string) (result *[]AttachmentScheme, response *Response, err error)

Adds one or more attachments to an issue. Attachments are posted as multipart/form-data (RFC 1867). Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/attachments#add-attachment

func (*AttachmentService) Delete

func (a *AttachmentService) Delete(ctx context.Context, attachmentID string) (response *Response, err error)

Deletes an attachment from an issue. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/attachments#delete-attachment

func (*AttachmentService) Human

func (a *AttachmentService) Human(ctx context.Context, attachmentID string) (result *AttachmentHumanMetadataScheme, response *Response, err error)

Returns the metadata for the contents of an attachment, if it is an archive, and metadata for the attachment itself. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned and metadata for the ZIP archive. Currently, only the ZIP archive format is supported. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/attachments#get-all-metadata-for-an-expanded-attachment

func (*AttachmentService) Metadata

func (a *AttachmentService) Metadata(ctx context.Context, attachmentID string) (result *AttachmentMetadataScheme, response *Response, err error)

Returns the metadata for an attachment. Note that the attachment itself is not returned. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/attachments#get-attachment-metadata

func (*AttachmentService) Settings

func (a *AttachmentService) Settings(ctx context.Context) (result *AttachmentSettingScheme, response *Response, err error)

Returns the attachment settings, that is, whether attachments are enabled and the maximum attachment size allowed. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/attachments#get-jira-attachment-settings

type AttachmentSettingScheme

type AttachmentSettingScheme struct {
	Enabled     bool `json:"enabled"`
	UploadLimit int  `json:"uploadLimit"`
}

type AuditRecordGetOptions

type AuditRecordGetOptions struct {
	Filter string
	From   string
	To     string
}

type AuditRecordScheme

type AuditRecordScheme struct {
	Offset  int `json:"offset,omitempty"`
	Limit   int `json:"limit,omitempty"`
	Total   int `json:"total,omitempty"`
	Records []struct {
		ID            int    `json:"id,omitempty"`
		Summary       string `json:"summary,omitempty"`
		RemoteAddress string `json:"remoteAddress,omitempty"`
		AuthorKey     string `json:"authorKey,omitempty"`
		Created       string `json:"created,omitempty"`
		Category      string `json:"category,omitempty"`
		EventSource   string `json:"eventSource,omitempty"`
		Description   string `json:"description,omitempty"`
		ObjectItem    struct {
			ID         string `json:"id,omitempty"`
			Name       string `json:"name,omitempty"`
			TypeName   string `json:"typeName,omitempty"`
			ParentID   string `json:"parentId,omitempty"`
			ParentName string `json:"parentName,omitempty"`
		} `json:"objectItem,omitempty"`
		ChangedValues []struct {
			FieldName   string `json:"fieldName,omitempty"`
			ChangedFrom string `json:"changedFrom,omitempty"`
			ChangedTo   string `json:"changedTo,omitempty"`
		} `json:"changedValues,omitempty"`
		AssociatedItems []struct {
			ID         string `json:"id,omitempty"`
			Name       string `json:"name,omitempty"`
			TypeName   string `json:"typeName,omitempty"`
			ParentID   string `json:"parentId,omitempty"`
			ParentName string `json:"parentName,omitempty"`
		} `json:"associatedItems,omitempty"`
	} `json:"records,omitempty"`
}

type AuditService

type AuditService struct {
	// contains filtered or unexported fields
}

func (*AuditService) Get

func (a *AuditService) Get(ctx context.Context, options *AuditRecordGetOptions, offset, limit int) (result *AuditRecordScheme, response *Response, err error)

Returns a list of audit records. The list can be filtered to include items: Docs: https://docs.go-atlassian.io/jira-software-cloud/audit-records#get-audit-records

type AuthenticationService

type AuthenticationService struct {
	// contains filtered or unexported fields
}

func (*AuthenticationService) SetBasicAuth

func (a *AuthenticationService) SetBasicAuth(mail, token string)

func (*AuthenticationService) SetUserAgent

func (a *AuthenticationService) SetUserAgent(agent string)

type AvailableScreenFieldScheme

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

type AvatarURLScheme

type AvatarURLScheme struct {
	Four8X48  string `json:"48x48,omitempty"`
	Two4X24   string `json:"24x24,omitempty"`
	One6X16   string `json:"16x16,omitempty"`
	Three2X32 string `json:"32x32,omitempty"`
}

type BulkGroupScheme

type BulkGroupScheme struct {
	MaxResults int  `json:"maxResults,omitempty"`
	StartAt    int  `json:"startAt,omitempty"`
	Total      int  `json:"total,omitempty"`
	IsLast     bool `json:"isLast,omitempty"`
	Values     []struct {
		Name    string `json:"name,omitempty"`
		GroupID string `json:"groupId,omitempty"`
	} `json:"values,omitempty"`
}

type BulkIssueScheme

type BulkIssueScheme struct {
	Issues []IssueScheme `json:"issues"`
}

type Client

type Client struct {
	HTTP *http.Client
	Site *url.URL

	Role       *ApplicationRoleService
	Audit      *AuditService
	Auth       *AuthenticationService
	Dashboard  *DashboardService
	Filter     *FilterService
	Group      *GroupService
	Issue      *IssueService
	Permission *PermissionService
	Project    *ProjectService
	Screen     *ScreenService
	Server     *ServerService
	Task       *TaskService
	User       *UserService
}

func New

func New(httpClient *http.Client, site string) (client *Client, err error)

New

func (*Client) Do

func (c *Client) Do(request *http.Request) (response *Response, err error)

type CommentScheme

type CommentScheme struct {
	Self   string      `json:"self"`
	ID     string      `json:"id"`
	Author *UserScheme `json:"author"`
	Body   struct {
		Version int    `json:"version"`
		Type    string `json:"type"`
		Content []struct {
			Type    string `json:"type"`
			Content []struct {
				Type string `json:"type"`
				Text string `json:"text"`
			} `json:"content"`
		} `json:"content"`
	} `json:"body"`
	JSDPublic    bool `json:"jsdPublic"`
	UpdateAuthor struct {
		Self        string `json:"self"`
		AccountID   string `json:"accountId"`
		DisplayName string `json:"displayName"`
		Active      bool   `json:"active"`
	} `json:"updateAuthor"`
	Created    string `json:"created"`
	Updated    string `json:"updated"`
	Visibility struct {
		Type  string `json:"type"`
		Value string `json:"value"`
	} `json:"visibility"`
}

type CommentService

type CommentService struct {
	// contains filtered or unexported fields
}

func (*CommentService) Delete

func (c *CommentService) Delete(ctx context.Context, issueKeyOrID, commentID string) (response *Response, err error)

Deletes a comment. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/comments#delete-comment

func (*CommentService) Get

func (c *CommentService) Get(ctx context.Context, issueKeyOrID, commentID string) (result *CommentScheme, response *Response, err error)

Returns a comment. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/comments#get-comment

func (*CommentService) Gets

func (c *CommentService) Gets(ctx context.Context, issueKeyOrID, orderBy string, expands []string, startAt, maxResults int) (result *IssueCommentScheme, response *Response, err error)

Returns all comments for an issue. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/comments#get-comments

type CustomFieldOptionPayloadScheme

type CustomFieldOptionPayloadScheme struct {
	Options []FieldContextOptionValueScheme `json:"options"`
}

type CustomFieldScheme

type CustomFieldScheme struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	FieldType   string `json:"type,omitempty"`
	SearcherKey string `json:"searcherKey,omitempty"`
}

func (*CustomFieldScheme) Format

func (c *CustomFieldScheme) Format()

type CustomFields

type CustomFields struct{ Fields []map[string]interface{} }

func (*CustomFields) Cascading

func (c *CustomFields) Cascading(customFieldID, parent, child string) (err error)

func (*CustomFields) CheckBox

func (c *CustomFields) CheckBox(customFieldID string, options []string) (err error)

func (*CustomFields) Date

func (c *CustomFields) Date(customFieldID string, dateTimeValue time.Time) (err error)

func (*CustomFields) DateTime

func (c *CustomFields) DateTime(customFieldID string, dateValue time.Time) (err error)

func (*CustomFields) Group

func (c *CustomFields) Group(customFieldID, group string) (err error)

func (*CustomFields) Groups

func (c *CustomFields) Groups(customFieldID string, groups []string) (err error)

func (*CustomFields) MultiSelect

func (c *CustomFields) MultiSelect(customFieldID string, options []string) (err error)

func (*CustomFields) Number

func (c *CustomFields) Number(customFieldID string, numberValue float64) (err error)

func (*CustomFields) RadioButton

func (c *CustomFields) RadioButton(customFieldID, button string) (err error)

func (*CustomFields) Select

func (c *CustomFields) Select(customFieldID string, option string) (err error)

func (*CustomFields) Text

func (c *CustomFields) Text(customFieldID, textValue string) (err error)

func (*CustomFields) URL

func (c *CustomFields) URL(customFieldID, URL string) (err error)

func (*CustomFields) User

func (c *CustomFields) User(customFieldID string, accountID string) (err error)

func (*CustomFields) Users

func (c *CustomFields) Users(customFieldID string, accountIDs []string) (err error)

type DashboardScheme

type DashboardScheme struct {
	ID               string                   `json:"id,omitempty"`
	IsFavourite      bool                     `json:"isFavourite,omitempty"`
	Name             string                   `json:"name,omitempty"`
	Popularity       int                      `json:"popularity,omitempty"`
	Self             string                   `json:"self,omitempty"`
	SharePermissions []*SharePermissionScheme `json:"sharePermissions,omitempty"`
	View             string                   `json:"view,omitempty"`
}

type DashboardSearchOptionsScheme

type DashboardSearchOptionsScheme struct {
	DashboardName       string
	OwnerAccountID      string
	GroupPermissionName string
	OrderBy             string
	Expand              []string
}

type DashboardSearchScheme

type DashboardSearchScheme struct {
	Self       string `json:"self"`
	MaxResults int    `json:"maxResults"`
	StartAt    int    `json:"startAt"`
	Total      int    `json:"total"`
	IsLast     bool   `json:"isLast"`
	Values     []struct {
		Description      string                   `json:"description,omitempty"`
		ID               string                   `json:"id"`
		IsFavourite      bool                     `json:"isFavourite"`
		Name             string                   `json:"name"`
		Owner            *UserScheme              `json:"owner,omitempty"`
		Popularity       int                      `json:"popularity"`
		Self             string                   `json:"self"`
		SharePermissions []*SharePermissionScheme `json:"sharePermissions"`
		View             string                   `json:"view"`
	} `json:"values"`
}

type DashboardService

type DashboardService struct {
	// contains filtered or unexported fields
}

func (*DashboardService) Copy

func (d *DashboardService) Copy(ctx context.Context, dashboardID, newDashboardName, newDashboardDescription string, permissions *[]SharePermissionScheme) (result *DashboardScheme, response *Response, err error)

Copies a dashboard. Docs: https://docs.go-atlassian.io/jira-software-cloud/dashboards#copy-dashboard

func (*DashboardService) Create

func (d *DashboardService) Create(ctx context.Context, name, description string, permissions *[]SharePermissionScheme) (result *DashboardScheme, response *Response, err error)

Creates a dashboard. Docs: https://docs.go-atlassian.io/jira-software-cloud/dashboards#create-dashboard

func (*DashboardService) Delete

func (d *DashboardService) Delete(ctx context.Context, dashboardID string) (response *Response, err error)

Deletes a dashboard. Docs: https://docs.go-atlassian.io/jira-software-cloud/dashboards#delete-dashboard

func (*DashboardService) Get

func (d *DashboardService) Get(ctx context.Context, dashboardID string) (result *DashboardScheme, response *Response, err error)

Returns a dashboard. Docs: https://docs.go-atlassian.io/jira-software-cloud/dashboards#get-dashboard

func (*DashboardService) Gets

func (d *DashboardService) Gets(ctx context.Context, startAt, maxResults int, filter string) (result *DashboardsSchemeResult, response *Response, err error)

Returns a list of dashboards owned by or shared with the user. The list may be filtered to include only favorite or owned dashboards. Docs: https://docs.go-atlassian.io/jira-software-cloud/dashboards#get-dashboards

func (*DashboardService) Search

func (d *DashboardService) Search(ctx context.Context, opts *DashboardSearchOptionsScheme, startAt, maxResults int) (result *DashboardSearchScheme, response *Response, err error)

Returns a paginated list of dashboards. This operation is similar to Get dashboards except that the results can be refined to include dashboards that have specific attributes. Docs: https://docs.go-atlassian.io/jira-software-cloud/dashboards#search-for-dashboards

func (*DashboardService) Update

func (d *DashboardService) Update(ctx context.Context, dashboardID, newDashboardName, newDashboardDescription string, permissions *[]SharePermissionScheme) (result *DashboardScheme, response *Response, err error)

Updates a dashboard Docs: https://docs.go-atlassian.io/jira-software-cloud/dashboards#update-dashboard

type DashboardsSchemeResult

type DashboardsSchemeResult struct {
	StartAt    int               `json:"startAt,omitempty"`
	MaxResults int               `json:"maxResults,omitempty"`
	Total      int               `json:"total,omitempty"`
	Dashboards []DashboardScheme `json:"dashboards,omitempty"`
}

type DefaultValueScheme

type DefaultValueScheme struct {
	ContextID         string   `json:"contextId,omitempty"`
	OptionID          string   `json:"optionId,omitempty"`
	CascadingOptionID string   `json:"cascadingOptionId,omitempty"`
	Type              string   `json:"type,omitempty"`
	OptionIds         []string `json:"optionIds,omitempty"`
}

type FieldConfigItemSearchScheme

type FieldConfigItemSearchScheme struct {
	MaxResults int  `json:"maxResults"`
	StartAt    int  `json:"startAt"`
	Total      int  `json:"total"`
	IsLast     bool `json:"isLast"`
	Values     []struct {
		ID          string `json:"id"`
		IsHidden    bool   `json:"isHidden"`
		IsRequired  bool   `json:"isRequired"`
		Description string `json:"description,omitempty"`
	} `json:"values"`
}

type FieldConfigScheme

type FieldConfigScheme struct {
	ID          int    `json:"id"`
	Name        string `json:"name"`
	Description string `json:"description"`
	IsDefault   bool   `json:"isDefault,omitempty"`
}

type FieldConfigSchemeItemsScheme

type FieldConfigSchemeItemsScheme struct {
	MaxResults int  `json:"maxResults"`
	StartAt    int  `json:"startAt"`
	Total      int  `json:"total"`
	IsLast     bool `json:"isLast"`
	Values     []struct {
		FieldConfigurationSchemeID string `json:"fieldConfigurationSchemeId"`
		IssueTypeID                string `json:"issueTypeId"`
		FieldConfigurationID       string `json:"fieldConfigurationId"`
	} `json:"values"`
}

type FieldConfigSchemeScheme

type FieldConfigSchemeScheme struct {
	MaxResults int  `json:"maxResults"`
	StartAt    int  `json:"startAt"`
	Total      int  `json:"total"`
	IsLast     bool `json:"isLast"`
	Values     []struct {
		ID          string `json:"id"`
		Name        string `json:"name"`
		Description string `json:"description"`
	} `json:"values"`
}

type FieldConfigSearchScheme

type FieldConfigSearchScheme struct {
	MaxResults int                 `json:"maxResults"`
	StartAt    int                 `json:"startAt"`
	Total      int                 `json:"total"`
	IsLast     bool                `json:"isLast"`
	Values     []FieldConfigScheme `json:"values"`
}

type FieldConfigurationService

type FieldConfigurationService struct {
	// contains filtered or unexported fields
}

func (*FieldConfigurationService) Gets

func (f *FieldConfigurationService) Gets(ctx context.Context, IDs []int, isDefault bool, startAt, maxResults int) (result *FieldConfigSearchScheme, response *Response, err error)

Returns a paginated list of all field configurations. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/configuration#get-all-field-configurations

func (*FieldConfigurationService) IssueTypeItems

func (f *FieldConfigurationService) IssueTypeItems(ctx context.Context, fieldConfigIDs []int, startAt, maxResults int) (result *FieldConfigSchemeItemsScheme, response *Response, err error)

Returns a paginated list of field configuration issue type items. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/configuration#get-field-configuration-issue-type-items

func (*FieldConfigurationService) Items

func (f *FieldConfigurationService) Items(ctx context.Context, fieldConfigID int, startAt, maxResults int) (result *FieldConfigItemSearchScheme, response *Response, err error)

Returns a paginated list of all fields for a configuration. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/configuration#get-field-configuration-items

func (*FieldConfigurationService) Schemes

func (f *FieldConfigurationService) Schemes(ctx context.Context, IDs []int, startAt, maxResults int) (result *FieldConfigSchemeScheme, response *Response, err error)

Returns a paginated list of field configuration schemes. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/configuration#get-all-field-configuration-schemes

func (*FieldConfigurationService) SchemesByProject

func (f *FieldConfigurationService) SchemesByProject(ctx context.Context, projectIDs []int, startAt, maxResults int) (result *FieldProjectSchemeScheme, response *Response, err error)

Returns a paginated list of field configuration schemes and, for each scheme, a list of the projects that use it. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/configuration#get-field-configuration-schemes-for-projects

type FieldContextDefaultPayloadScheme

type FieldContextDefaultPayloadScheme struct {
	DefaultValues []*DefaultValueScheme `json:"defaultValues"`
}

type FieldContextOptionListScheme

type FieldContextOptionListScheme struct {
	Options []FieldContextOptionValueScheme `json:"options"`
}

type FieldContextOptionScheme

type FieldContextOptionScheme struct {
	MaxResults int                             `json:"maxResults,omitempty"`
	StartAt    int                             `json:"startAt,omitempty"`
	Total      int                             `json:"total,omitempty"`
	IsLast     bool                            `json:"isLast,omitempty"`
	Values     []FieldContextOptionValueScheme `json:"values,omitempty"`
}

type FieldContextOptionValueScheme

type FieldContextOptionValueScheme struct {
	ID       string `json:"id,omitempty"`
	Value    string `json:"value,omitempty"`
	Disabled bool   `json:"disabled,omitempty"`
	OptionID string `json:"optionId,omitempty"`
}

type FieldContextOptionsScheme

type FieldContextOptionsScheme struct {
	IsAnyIssueType  bool
	IsGlobalContext bool
	ContextID       []int
}

type FieldContextPayloadScheme

type FieldContextPayloadScheme struct {
	IssueTypeIDs []int  `json:"issueTypeIds,omitempty"`
	ProjectIDs   []int  `json:"projectIds,omitempty"`
	Name         string `json:"name,omitempty"`
	Description  string `json:"description,omitempty"`
}

type FieldContextScheme

type FieldContextScheme struct {
	ID              string        `json:"id"`
	Name            string        `json:"name"`
	Description     string        `json:"description"`
	IsGlobalContext bool          `json:"isGlobalContext"`
	IsAnyIssueType  bool          `json:"isAnyIssueType"`
	ProjectIds      []interface{} `json:"projectIds,omitempty"`
	IssueTypeIds    []string      `json:"issueTypeIds,omitempty"`
}

type FieldContextSearchScheme

type FieldContextSearchScheme struct {
	MaxResults int                  `json:"maxResults"`
	StartAt    int                  `json:"startAt"`
	Total      int                  `json:"total"`
	IsLast     bool                 `json:"isLast"`
	Values     []FieldContextScheme `json:"values"`
}

type FieldContextService

type FieldContextService struct {
	Option *FieldOptionContextService
	// contains filtered or unexported fields
}

func (*FieldContextService) AddIssueTypes

func (f *FieldContextService) AddIssueTypes(ctx context.Context, fieldID string, contextID int, issueTypesIDs []string) (response *Response, err error)

Add issue types Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/context#add-issue-types-to-context

func (*FieldContextService) Create

func (f *FieldContextService) Create(ctx context.Context, fieldID string, payload *FieldContextPayloadScheme) (result *FieldContextScheme, response *Response, err error)

Creates a custom field context. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/context#create-custom-field-context

func (*FieldContextService) Delete

func (f *FieldContextService) Delete(ctx context.Context, fieldID string, contextID int) (response *Response, err error)

Deletes a custom field context. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/context#delete-custom-field-context

func (*FieldContextService) GetDefaultValues

func (f *FieldContextService) GetDefaultValues(ctx context.Context, fieldID string, contextIDs []int, startAt, maxResults int) (result *FieldContextsDefaultValueScheme, response *Response, err error)

Returns a paginated list of defaults for a custom field. The results can be filtered by contextId, otherwise all values are returned. If no defaults are set for a context, nothing is returned. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/context#get-custom-field-contexts-default-values

func (*FieldContextService) Gets

func (f *FieldContextService) Gets(ctx context.Context, fieldID string, opts *FieldContextOptionsScheme, startAt, maxResults int) (result *FieldContextSearchScheme, response *Response, err error)

Returns a paginated list of contexts for a custom field. Contexts can be returned as follows: Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/context#get-custom-field-contexts

func (f *FieldContextService) Link(ctx context.Context, fieldID string, contextID int, projectIDs []string) (response *Response, err error)

Assigns a custom field context to projects. If any project in the request is assigned to any context of the custom field, the operation fails. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/context#assign-custom-field-context-to-projects

func (*FieldContextService) RemoveIssueTypes

func (f *FieldContextService) RemoveIssueTypes(ctx context.Context, fieldID string, contextID int, issueTypesIDs []string) (response *Response, err error)

Removes issue types from a custom field context. A custom field context without any issue types applies to all issue types. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/context#remove-issue-types-from-context

func (*FieldContextService) SetDefaultValue

func (f *FieldContextService) SetDefaultValue(ctx context.Context, fieldID string, values []*DefaultValueScheme) (response *Response, err error)

Sets default for contexts of a custom field. Default are defined using these objects: Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/context#set-custom-field-contexts-default-values

func (f *FieldContextService) UnLink(ctx context.Context, fieldID string, contextID int, projectIDs []string) (response *Response, err error)

Removes a custom field context from projects. A custom field context without any projects applies to all projects. Removing all projects from a custom field context would result in it applying to all projects. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/context#remove-custom-field-context-from-projects

func (*FieldContextService) Update

func (f *FieldContextService) Update(ctx context.Context, fieldID string, contextID int, name, description string) (response *Response, err error)

Updates a custom field context Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/context#update-custom-field-context

type FieldContextsDefaultValueScheme

type FieldContextsDefaultValueScheme struct {
	MaxResults int  `json:"maxResults"`
	StartAt    int  `json:"startAt"`
	Total      int  `json:"total"`
	IsLast     bool `json:"isLast"`
	Values     []struct {
		Type      string `json:"type"`
		ContextID string `json:"contextId"`
		OptionID  string `json:"optionId,omitempty"`
	} `json:"values"`
}

type FieldOptionContextParams

type FieldOptionContextParams struct {
	FieldID     string
	ContextID   int
	OptionID    int
	OnlyOptions bool
}

type FieldOptionContextService

type FieldOptionContextService struct {
	// contains filtered or unexported fields
}

func (*FieldOptionContextService) Create

func (f *FieldOptionContextService) Create(ctx context.Context, fieldID string, contextID int, payload *CustomFieldOptionPayloadScheme) (result *FieldContextOptionListScheme, response *Response, err error)

Creates options and, where the custom select field is of the type Select List (cascading), cascading options for a custom select field. The options are added to a context of the field. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/context/option#create-custom-field-options

func (*FieldOptionContextService) Delete

func (f *FieldOptionContextService) Delete(ctx context.Context, fieldID string, contextID, optionID int) (response *Response, err error)

Deletes a custom field option. Options with cascading options cannot be deleted without deleting the cascading options first. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/context/option#delete-custom-field-options

func (*FieldOptionContextService) Gets

func (f *FieldOptionContextService) Gets(ctx context.Context, opts *FieldOptionContextParams, startAt, maxResults int) (result *FieldContextOptionScheme, response *Response, err error)

Returns a paginated list of all custom field option for a context. Options are returned first then cascading options, in the order they display in Jira. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/context/option#get-custom-field-options

func (*FieldOptionContextService) Update

func (f *FieldOptionContextService) Update(ctx context.Context, fieldID string, contextID int, payload *CustomFieldOptionPayloadScheme) (result *FieldContextOptionListScheme, response *Response, err error)

Updates the options of a custom field. If any of the options are not found, no options are updated. Options where the values in the request match the current values aren't updated and aren't reported in the response. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields/context/option#update-custom-field-options

type FieldProjectSchemeScheme

type FieldProjectSchemeScheme struct {
	MaxResults int  `json:"maxResults"`
	StartAt    int  `json:"startAt"`
	Total      int  `json:"total"`
	IsLast     bool `json:"isLast"`
	Values     []struct {
		ProjectIds               []string `json:"projectIds"`
		FieldConfigurationScheme struct {
			ID          string `json:"id"`
			Name        string `json:"name"`
			Description string `json:"description"`
		} `json:"fieldConfigurationScheme,omitempty"`
	} `json:"values"`
}

type FieldScheme

type FieldScheme struct {
	ID          string   `json:"id"`
	Key         string   `json:"key"`
	Name        string   `json:"name"`
	Custom      bool     `json:"custom"`
	Orderable   bool     `json:"orderable"`
	Navigable   bool     `json:"navigable"`
	Searchable  bool     `json:"searchable"`
	ClauseNames []string `json:"clauseNames"`
	Schema      struct {
		Type   string `json:"type"`
		System string `json:"system"`
	} `json:"schema,omitempty"`
	UntranslatedName string `json:"untranslatedName,omitempty"`
}

type FieldSearchOptionsScheme

type FieldSearchOptionsScheme struct {
	Types   []string
	IDs     []string
	Query   string
	OrderBy string
	Expand  []string
}

type FieldSearchScheme

type FieldSearchScheme struct {
	MaxResults int  `json:"maxResults"`
	StartAt    int  `json:"startAt"`
	Total      int  `json:"total"`
	IsLast     bool `json:"isLast"`
	Values     []struct {
		ID     string `json:"id"`
		Name   string `json:"name"`
		Schema struct {
			Type   string `json:"type"`
			Items  string `json:"items"`
			System string `json:"system"`
		} `json:"schema,omitempty"`
		Description   string `json:"description,omitempty"`
		Key           string `json:"key,omitempty"`
		IsLocked      bool   `json:"isLocked,omitempty"`
		ScreensCount  int    `json:"screensCount,omitempty"`
		ContextsCount int    `json:"contextsCount,omitempty"`
		LastUsed      struct {
			Type string `json:"type,omitempty"`
		} `json:"lastUsed,omitempty"`
	} `json:"values,omitempty"`
}

type FieldService

type FieldService struct {
	Configuration *FieldConfigurationService
	Context       *FieldContextService
	// contains filtered or unexported fields
}

func (*FieldService) Create

func (f *FieldService) Create(ctx context.Context, payload *CustomFieldScheme) (result *FieldScheme, response *Response, err error)

Creates a custom field. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields#create-custom-field

func (*FieldService) Gets

func (f *FieldService) Gets(ctx context.Context) (result *[]FieldScheme, response *Response, err error)

Returns system and custom issue fields according to the following rules: Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields#get-fields

func (*FieldService) Search

func (f *FieldService) Search(ctx context.Context, opts *FieldSearchOptionsScheme, startAt, maxResults int) (result *FieldSearchScheme, response *Response, err error)

Returns a paginated list of fields for Classic Jira projects. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/fields#get-fields-paginated

type FilterBodyScheme

type FilterBodyScheme struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	JQL         string `json:"jql,omitempty"`
	Favorite    bool   `json:"favourite,omitempty"`
}

type FilterScheme

type FilterScheme struct {
	Self  string `json:"self,omitempty"`
	ID    string `json:"id,omitempty"`
	Name  string `json:"name,omitempty"`
	Owner struct {
		Self       string `json:"self,omitempty"`
		AccountID  string `json:"accountId,omitempty"`
		AvatarUrls struct {
			Four8X48  string `json:"48x48,omitempty"`
			Two4X24   string `json:"24x24,omitempty"`
			One6X16   string `json:"16x16,omitempty"`
			Three2X32 string `json:"32x32,omitempty"`
		} `json:"avatarUrls,omitempty"`
		DisplayName string `json:"displayName,omitempty"`
		Active      bool   `json:"active,omitempty"`
	} `json:"owner,omitempty"`
	Jql              string `json:"jql,omitempty"`
	ViewURL          string `json:"viewUrl,omitempty"`
	SearchURL        string `json:"searchUrl,omitempty"`
	Favourite        bool   `json:"favourite,omitempty"`
	FavouritedCount  int    `json:"favouritedCount,omitempty"`
	SharePermissions []struct {
		ID      int    `json:"id,omitempty"`
		Type    string `json:"type,omitempty"`
		Project struct {
			Self         string `json:"self,omitempty"`
			ID           string `json:"id,omitempty"`
			Key          string `json:"key,omitempty"`
			AssigneeType string `json:"assigneeType,omitempty"`
			Name         string `json:"name,omitempty"`
			Roles        struct {
			} `json:"roles,omitempty"`
			AvatarUrls struct {
				Four8X48  string `json:"48x48,omitempty"`
				Two4X24   string `json:"24x24,omitempty"`
				One6X16   string `json:"16x16,omitempty"`
				Three2X32 string `json:"32x32,omitempty"`
			} `json:"avatarUrls,omitempty"`
			ProjectTypeKey string `json:"projectTypeKey,omitempty"`
			Simplified     bool   `json:"simplified,omitempty"`
			Style          string `json:"style,omitempty"`
			Properties     struct {
			} `json:"properties,omitempty"`
		} `json:"project,omitempty"`
	} `json:"sharePermissions,omitempty"`
	SharedUsers struct {
		Size  int `json:"size,omitempty"`
		Items []struct {
			Self       string `json:"self,omitempty"`
			AccountID  string `json:"accountId,omitempty"`
			AvatarUrls struct {
				Four8X48  string `json:"48x48,omitempty"`
				Two4X24   string `json:"24x24,omitempty"`
				One6X16   string `json:"16x16,omitempty"`
				Three2X32 string `json:"32x32,omitempty"`
			} `json:"avatarUrls,omitempty"`
			DisplayName string `json:"displayName,omitempty"`
			Active      bool   `json:"active,omitempty"`
		} `json:"items,omitempty"`
		MaxResults int `json:"max-results,omitempty"`
		StartIndex int `json:"start-index,omitempty"`
		EndIndex   int `json:"end-index,omitempty"`
	} `json:"sharedUsers,omitempty"`
	Subscriptions struct {
		Size  int `json:"size,omitempty"`
		Items []struct {
			ID   int `json:"id,omitempty"`
			User struct {
				Self       string `json:"self,omitempty"`
				AccountID  string `json:"accountId,omitempty"`
				AvatarUrls struct {
					Four8X48  string `json:"48x48,omitempty"`
					Two4X24   string `json:"24x24,omitempty"`
					One6X16   string `json:"16x16,omitempty"`
					Three2X32 string `json:"32x32,omitempty"`
				} `json:"avatarUrls,omitempty"`
				DisplayName string `json:"displayName,omitempty"`
				Active      bool   `json:"active,omitempty"`
			} `json:"user,omitempty"`
		} `json:"items,omitempty"`
		MaxResults int `json:"max-results,omitempty"`
		StartIndex int `json:"start-index,omitempty"`
		EndIndex   int `json:"end-index,omitempty"`
	} `json:"subscriptions,omitempty"`
}

type FilterSearchOptionScheme

type FilterSearchOptionScheme struct {
	Name      string
	AccountID string
	Group     string
	ProjectID int
	IDs       []int
	OrderBy   string
	Expand    []string
}

type FilterSearchScheme

type FilterSearchScheme struct {
	Self       string `json:"self"`
	MaxResults int    `json:"maxResults"`
	StartAt    int    `json:"startAt"`
	Total      int    `json:"total"`
	IsLast     bool   `json:"isLast"`
	Values     []struct {
		Self        string `json:"self"`
		ID          string `json:"id"`
		Name        string `json:"name"`
		Description string `json:"description,omitempty"`
		Owner       struct {
			Self       string `json:"self"`
			AccountID  string `json:"accountId"`
			AvatarUrls struct {
				Four8X48  string `json:"48x48"`
				Two4X24   string `json:"24x24"`
				One6X16   string `json:"16x16"`
				Three2X32 string `json:"32x32"`
			} `json:"avatarUrls"`
			DisplayName string `json:"displayName"`
			Active      bool   `json:"active"`
		} `json:"owner"`
		Jql              string        `json:"jql"`
		ViewURL          string        `json:"viewUrl"`
		SearchURL        string        `json:"searchUrl"`
		Favourite        bool          `json:"favourite"`
		FavouritedCount  int           `json:"favouritedCount"`
		SharePermissions []interface{} `json:"sharePermissions"`
		Subscriptions    []interface{} `json:"subscriptions"`
	} `json:"values"`
}

type FilterService

type FilterService struct {
	Share *FilterShareService
	// contains filtered or unexported fields
}

func (*FilterService) Create

func (f *FilterService) Create(ctx context.Context, payload *FilterBodyScheme) (result *FilterScheme, response *Response, err error)

Creates a filter. The filter is shared according to the default share scope. The filter is not selected as a favorite. Docs: https://docs.go-atlassian.io/jira-software-cloud/filters#create-filter

func (*FilterService) Delete

func (f *FilterService) Delete(ctx context.Context, filterID int) (response *Response, err error)

Delete a filter. Docs: https://docs.go-atlassian.io/jira-software-cloud/filters#delete-filter

func (*FilterService) Favorite

func (f *FilterService) Favorite(ctx context.Context) (result *[]FilterScheme, response *Response, err error)

Returns the visible favorite filters of the user. Docs: https://docs.go-atlassian.io/jira-software-cloud/filters#get-favorites

func (*FilterService) Get

func (f *FilterService) Get(ctx context.Context, filterID int, expands []string) (result *FilterScheme, response *Response, err error)

Returns a filter. Docs: https://docs.go-atlassian.io/jira-software-cloud/filters#get-filter

func (*FilterService) My

func (f *FilterService) My(ctx context.Context, favorites bool, expands []string) (result *[]FilterScheme, response *Response, err error)

Returns the filters owned by the user. If includeFavourites is true, the user's visible favorite filters are also returned. Docs: https://docs.go-atlassian.io/jira-software-cloud/filters#get-my-filters

func (*FilterService) Search

func (f *FilterService) Search(ctx context.Context, options *FilterSearchOptionScheme, startAt, maxResults int) (result *FilterSearchScheme, response *Response, err error)

Returns a paginated list of filters. Use this operation to get: Docs: https://docs.go-atlassian.io/jira-software-cloud/filters#search-filters

func (*FilterService) Update

func (f *FilterService) Update(ctx context.Context, filterID int, payload *FilterBodyScheme) (result *FilterScheme, response *Response, err error)

Updates a filter. Use this operation to update a filter's name, description, JQL, or sharing. Docs: https://docs.go-atlassian.io/jira-software-cloud/filters#update-filter

type FilterShareService

type FilterShareService struct {
	// contains filtered or unexported fields
}

func (*FilterShareService) Add

func (f *FilterShareService) Add(ctx context.Context, filterID int, payload *PermissionFilterBodyScheme) (result *[]ShareFilterPermissionScheme, response *Response, err error)

Add a share permissions to a filter. If you add a global share permission (one for all logged-in users or the public) it will overwrite all share permissions for the filter. Docs: https://docs.go-atlassian.io/jira-software-cloud/filters/sharing#add-share-permission

func (*FilterShareService) Delete

func (f *FilterShareService) Delete(ctx context.Context, filterID, permissionID int) (response *Response, err error)

Deletes a share permission from a filter. Docs: https://docs.go-atlassian.io/jira-software-cloud/filters/sharing#delete-share-permission

func (*FilterShareService) Get

func (f *FilterShareService) Get(ctx context.Context, filterID, permissionID int) (result *ShareFilterPermissionScheme, response *Response, err error)

Returns a share permission for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission. Docs: https://docs.go-atlassian.io/jira-software-cloud/filters/sharing#get-share-permission

func (*FilterShareService) Gets

func (f *FilterShareService) Gets(ctx context.Context, filterID int) (result *[]ShareFilterPermissionScheme, response *Response, err error)

Returns the share permissions for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission. Docs: https://docs.go-atlassian.io/jira-software-cloud/filters/sharing#get-share-permissions

func (*FilterShareService) Scope

func (f *FilterShareService) Scope(ctx context.Context) (scope string, response *Response, err error)

Returns the default sharing settings for new filters and dashboards for a user. Docs: https://docs.go-atlassian.io/jira-software-cloud/filters/sharing#get-default-share-scope

func (*FilterShareService) SetScope

func (f *FilterShareService) SetScope(ctx context.Context, scope string) (response *Response, err error)

Sets the default sharing for new filters and dashboards for a user. Docs: https://docs.go-atlassian.io/jira-software-cloud/filters/sharing#set-default-share-scope Valid values: GLOBAL, AUTHENTICATED, PRIVATE

type GlobalPermissionsScheme

type GlobalPermissionsScheme struct {
	Permissions struct {
		AddComments struct {
			Key         string `json:"key"`
			Name        string `json:"name"`
			Type        string `json:"type"`
			Description string `json:"description"`
		} `json:"ADD_COMMENTS"`
		Administer struct {
			Key         string `json:"key"`
			Name        string `json:"name"`
			Type        string `json:"type"`
			Description string `json:"description"`
		} `json:"ADMINISTER"`
		AdministerProjects struct {
			Key         string `json:"key"`
			Name        string `json:"name"`
			Type        string `json:"type"`
			Description string `json:"description"`
		} `json:"ADMINISTER_PROJECTS"`
		AssignableUser struct {
			Key         string `json:"key"`
			Name        string `json:"name"`
			Type        string `json:"type"`
			Description string `json:"description"`
		} `json:"ASSIGNABLE_USER"`
		AssignIssues struct {
			Key         string `json:"key"`
			Name        string `json:"name"`
			Type        string `json:"type"`
			Description string `json:"description"`
		} `json:"ASSIGN_ISSUES"`
		BrowseProjects struct {
			Key         string `json:"key"`
			Name        string `json:"name"`
			Type        string `json:"type"`
			Description string `json:"description"`
		} `json:"BROWSE_PROJECTS"`
		BulkChange struct {
			Key         string `json:"key"`
			Name        string `json:"name"`
			Type        string `json:"type"`
			Description string `json:"description"`
		} `json:"BULK_CHANGE"`
		CloseIssues struct {
			Key         string `json:"key"`
			Name        string `json:"name"`
			Type        string `json:"type"`
			Description string `json:"description"`
		} `json:"CLOSE_ISSUES"`
		CreateAttachments struct {
			Key         string `json:"key"`
			Name        string `json:"name"`
			Type        string `json:"type"`
			Description string `json:"description"`
		} `json:"CREATE_ATTACHMENTS"`
		CreateIssues struct {
			Key         string `json:"key"`
			Name        string `json:"name"`
			Type        string `json:"type"`
			Description string `json:"description"`
		} `json:"CREATE_ISSUES"`
		CreateProject struct {
			Key         string `json:"key"`
			Name        string `json:"name"`
			Type        string `json:"type"`
			Description string `json:"description"`
		} `json:"CREATE_PROJECT"`
	} `json:"permissions"`
}

type GroupBulkOptionsScheme

type GroupBulkOptionsScheme struct {
	GroupIDs   []string
	GroupNames []string
}

type GroupScheme

type GroupScheme struct {
	Name  string `json:"name,omitempty"`
	Self  string `json:"self,omitempty"`
	Users struct {
		Size       int           `json:"size,omitempty"`
		Items      []*UserScheme `json:"items,omitempty"`
		MaxResults int           `json:"max-results,omitempty"`
		StartIndex int           `json:"start-index,omitempty"`
		EndIndex   int           `json:"end-index,omitempty"`
	} `json:"users,omitempty"`
	Expand string `json:"expand,omitempty"`
}

type GroupService

type GroupService struct {
	// contains filtered or unexported fields
}

func (*GroupService) Add

func (g *GroupService) Add(ctx context.Context, groupName, accountID string) (result *GroupScheme, response *Response, err error)

Adds a user to a group. Docs: https://docs.go-atlassian.io/jira-software-cloud/groups#add-user-to-group

func (*GroupService) Bulk

func (g *GroupService) Bulk(ctx context.Context, options *GroupBulkOptionsScheme, startAt, maxResults int) (result *BulkGroupScheme, response *Response, err error)

Returns a paginated list of groups. Docs: https://docs.go-atlassian.io/jira-software-cloud/groups#bulk-groups

func (*GroupService) Create

func (g *GroupService) Create(ctx context.Context, groupName string) (result *GroupScheme, response *Response, err error)

Creates a group. Docs: https://docs.go-atlassian.io/jira-software-cloud/groups#create-group

func (*GroupService) Delete

func (g *GroupService) Delete(ctx context.Context, groupName string) (response *Response, err error)

Deletes a group. Docs: https://docs.go-atlassian.io/jira-software-cloud/groups#remove-group

func (*GroupService) Members

func (g *GroupService) Members(ctx context.Context, groupName string, inactive bool, startAt, maxResults int) (result *GroupUsersScheme, response *Response, err error)

Returns a paginated list of all users in a group. Docs: https://docs.go-atlassian.io/jira-software-cloud/groups#get-users-from-groups

func (*GroupService) Remove

func (g *GroupService) Remove(ctx context.Context, groupName, accountID string) (response *Response, err error)

Removes a user from a group. https://docs.go-atlassian.io/jira-software-cloud/groups#remove-user-from-group

type GroupUsersScheme

type GroupUsersScheme struct {
	Self       string `json:"self,omitempty"`
	NextPage   string `json:"nextPage,omitempty"`
	MaxResults int    `json:"maxResults,omitempty"`
	StartAt    int    `json:"startAt,omitempty"`
	Total      int    `json:"total,omitempty"`
	IsLast     bool   `json:"isLast,omitempty"`
	Values     []struct {
		Self         string `json:"self,omitempty"`
		Name         string `json:"name,omitempty"`
		Key          string `json:"key,omitempty"`
		AccountID    string `json:"accountId,omitempty"`
		EmailAddress string `json:"emailAddress,omitempty"`
		AvatarUrls   struct {
		} `json:"avatarUrls,omitempty"`
		DisplayName string `json:"displayName,omitempty"`
		Active      bool   `json:"active,omitempty"`
		TimeZone    string `json:"timeZone,omitempty"`
		AccountType string `json:"accountType,omitempty"`
	} `json:"values,omitempty"`
}

type IssueBulkScheme

type IssueBulkScheme struct {
	Payload      *IssueScheme
	CustomFields *CustomFields
}

type IssueChangelogHistoryItemScheme

type IssueChangelogHistoryItemScheme struct {
	Field      string `json:"field"`
	Fieldtype  string `json:"fieldtype"`
	From       string `json:"from"`
	FromString string `json:"fromString"`
	To         string `json:"to"`
}

type IssueChangelogHistoryScheme

type IssueChangelogHistoryScheme struct {
	ID string `json:"id"`

	Author struct {
		Self         string `json:"self"`
		AccountID    string `json:"accountId"`
		EmailAddress string `json:"emailAddress"`
		AvatarUrls   struct {
			Four8X48  string `json:"48x48"`
			Two4X24   string `json:"24x24"`
			One6X16   string `json:"16x16"`
			Three2X32 string `json:"32x32"`
		} `json:"avatarUrls"`
		DisplayName string `json:"displayName"`
		Active      bool   `json:"active"`
		TimeZone    string `json:"timeZone"`
		AccountType string `json:"accountType"`
	} `json:"author"`

	Created string `json:"created"`

	Items []IssueChangelogHistoryItemScheme `json:"items"`
}

type IssueChangelogScheme

type IssueChangelogScheme struct {
	StartAt    int                           `json:"startAt"`
	MaxResults int                           `json:"maxResults"`
	Total      int                           `json:"total"`
	Histories  []IssueChangelogHistoryScheme `json:"histories"`
}

type IssueCommentScheme

type IssueCommentScheme struct {
	StartAt    int             `json:"startAt"`
	MaxResults int             `json:"maxResults"`
	Total      int             `json:"total"`
	Comments   []CommentScheme `json:"comments"`
}

type IssueFieldsScheme

type IssueFieldsScheme struct {
	IssueType                *IssueTypeScheme          `json:"issuetype,omitempty"`
	IssueLinks               []*IssueLinkScheme        `json:"issuelinks,omitempty"`
	Watcher                  *IssueWatcherScheme       `json:"watches,omitempty"`
	Votes                    *IssueVoteScheme          `json:"votes,omitempty"`
	Versions                 []*ProjectVersionScheme   `json:"versions,omitempty"`
	Project                  *ProjectScheme            `json:"project,omitempty"`
	FixVersions              []*ProjectVersionScheme   `json:"fixVersions,omitempty"`
	Priority                 *PriorityScheme           `json:"priority,omitempty"`
	Components               *[]ProjectComponentScheme `json:"components,omitempty"`
	Creator                  *UserScheme               `json:"creator,omitempty"`
	Reporter                 *UserScheme               `json:"reporter,omitempty"`
	Statuscategorychangedate string                    `json:"statuscategorychangedate,omitempty"`
	LastViewed               string                    `json:"lastViewed,omitempty"`
	Summary                  string                    `json:"summary,omitempty"`
	Created                  string                    `json:"created,omitempty"`
	Labels                   []string                  `json:"labels,omitempty"`
}

type IssueLabelsScheme

type IssueLabelsScheme struct {
	MaxResults int      `json:"maxResults"`
	StartAt    int      `json:"startAt"`
	Total      int      `json:"total"`
	IsLast     bool     `json:"isLast"`
	Values     []string `json:"values"`
}

type IssueLinkScheme

type IssueLinkScheme struct {
	ID   string `json:"id,omitempty"`
	Type struct {
		ID      string `json:"id,omitempty"`
		Name    string `json:"name,omitempty"`
		Inward  string `json:"inward,omitempty"`
		Outward string `json:"outward,omitempty"`
		Self    string `json:"self,omitempty"`
	} `json:"type,omitempty"`
	InwardIssue struct {
		ID     string `json:"id,omitempty"`
		Key    string `json:"key,omitempty"`
		Self   string `json:"self,omitempty"`
		Fields struct {
			Status struct {
				Self           string `json:"self,omitempty"`
				Description    string `json:"description,omitempty"`
				IconURL        string `json:"iconUrl,omitempty"`
				Name           string `json:"name,omitempty"`
				ID             string `json:"id,omitempty"`
				StatusCategory struct {
					Self      string `json:"self,omitempty"`
					ID        int    `json:"id,omitempty"`
					Key       string `json:"key,omitempty"`
					ColorName string `json:"colorName,omitempty"`
				} `json:"statusCategory,omitempty"`
			} `json:"status,omitempty"`
			Priority  PriorityScheme `json:"priority,omitempty"`
			Issuetype struct {
				Self        string `json:"self,omitempty"`
				ID          string `json:"id,omitempty"`
				Description string `json:"description,omitempty"`
				IconURL     string `json:"iconUrl,omitempty"`
				Name        string `json:"name,omitempty"`
				Subtask     bool   `json:"subtask,omitempty"`
				AvatarID    int    `json:"avatarId,omitempty"`
				EntityID    string `json:"entityId,omitempty"`
				Scope       struct {
					Type    string `json:"type,omitempty"`
					Project struct {
						ID   string `json:"id,omitempty"`
						Key  string `json:"key,omitempty"`
						Name string `json:"name,omitempty"`
					} `json:"project,omitempty"`
				} `json:"scope,omitempty"`
			} `json:"issuetype,omitempty"`
		} `json:"fields,omitempty"`
	} `json:"inwardIssue,omitempty"`
	OutwardIssue struct {
		ID     string `json:"id,omitempty"`
		Key    string `json:"key,omitempty"`
		Self   string `json:"self,omitempty"`
		Fields struct {
			Status struct {
				Self           string `json:"self,omitempty"`
				Description    string `json:"description,omitempty"`
				IconURL        string `json:"iconUrl,omitempty"`
				Name           string `json:"name,omitempty"`
				ID             string `json:"id,omitempty"`
				StatusCategory struct {
					Self      string `json:"self,omitempty"`
					ID        int    `json:"id,omitempty"`
					Key       string `json:"key,omitempty"`
					ColorName string `json:"colorName,omitempty"`
					Name      string `json:"name,omitempty"`
				} `json:"statusCategory,omitempty"`
			} `json:"status,omitempty"`
			Priority  PriorityScheme `json:"priority,omitempty"`
			Issuetype struct {
				Self        string `json:"self,omitempty"`
				ID          string `json:"id,omitempty"`
				Description string `json:"description,omitempty"`
				IconURL     string `json:"iconUrl,omitempty"`
				Name        string `json:"name,omitempty"`
				Subtask     bool   `json:"subtask,omitempty"`
				AvatarID    int    `json:"avatarId,omitempty"`
			} `json:"issuetype,omitempty"`
		} `json:"fields,omitempty"`
	} `json:"outwardIssue,omitempty"`
}

type IssueLinkService

type IssueLinkService struct {
	Type *IssueLinkTypeService
	// contains filtered or unexported fields
}

func (*IssueLinkService) Create

func (i *IssueLinkService) Create(ctx context.Context, linkType, inWardIssue, outWardIssue string) (response *Response, err error)

Creates a link between two issues. Use this operation to indicate a relationship between two issues and optionally add a comment to the from (outward) issue. To use this resource the site must have Issue Linking enabled. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/link#create-issue-link

func (*IssueLinkService) Delete

func (i *IssueLinkService) Delete(ctx context.Context, linkID string) (response *Response, err error)

Deletes an issue link. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/link#delete-issue-link

func (*IssueLinkService) Get

func (i *IssueLinkService) Get(ctx context.Context, linkID string) (result *IssueLinkScheme, response *Response, err error)

Returns an issue link. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/link#get-issue-link

func (*IssueLinkService) Gets

func (i *IssueLinkService) Gets(ctx context.Context, issueKeyOrID string) (result *IssueLinksScheme, response *Response, err error)

Get the issue links ID's associated with a Jira Issue Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/link#get-issue-links

type IssueLinkTypePayloadScheme

type IssueLinkTypePayloadScheme struct {
	Inward  string `json:"inward,omitempty" validate:"required"`
	Name    string `json:"name,omitempty" validate:"required"`
	Outward string `json:"outward,omitempty" validate:"required"`
}

type IssueLinkTypeScheme

type IssueLinkTypeScheme struct {
	ID      string `json:"id"`
	Name    string `json:"name"`
	Inward  string `json:"inward"`
	Outward string `json:"outward"`
	Self    string `json:"self"`
}

type IssueLinkTypeSearchScheme

type IssueLinkTypeSearchScheme struct {
	IssueLinkTypes []IssueLinkTypeScheme `json:"issueLinkTypes"`
}

type IssueLinkTypeService

type IssueLinkTypeService struct {
	// contains filtered or unexported fields
}

func (*IssueLinkTypeService) Create

func (i *IssueLinkTypeService) Create(ctx context.Context, payload *IssueLinkTypePayloadScheme) (result *IssueLinkTypeScheme, response *Response, err error)

Creates an issue link type. Use this operation to create descriptions of the reasons why issues are linked. The issue link type consists of a name and descriptions for a link's inward and outward relationships. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/link/types#create-issue-link-type

func (*IssueLinkTypeService) Delete

func (i *IssueLinkTypeService) Delete(ctx context.Context, issueLinkTypeID string) (response *Response, err error)

Deletes an issue link type. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/link/types#delete-issue-link-type

func (*IssueLinkTypeService) Get

func (i *IssueLinkTypeService) Get(ctx context.Context, issueLinkTypeID string) (result *IssueLinkTypeScheme, response *Response, err error)

Returns an issue link type. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/link/types#get-issue-link-type

func (*IssueLinkTypeService) Gets

func (i *IssueLinkTypeService) Gets(ctx context.Context) (result *IssueLinkTypeSearchScheme, response *Response, err error)

Returns a list of all issue link types. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/link/types#get-issue-link-types

func (*IssueLinkTypeService) Update

func (i *IssueLinkTypeService) Update(ctx context.Context, issueLinkTypeID string, payload *IssueLinkTypePayloadScheme) (result *IssueLinkTypeScheme, response *Response, err error)

Updates an issue link type. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/link/types#update-issue-link-type

type IssueLinksScheme

type IssueLinksScheme struct {
	Expand string `json:"expand"`
	ID     string `json:"id"`
	Self   string `json:"self"`
	Key    string `json:"key"`
	Fields struct {
		IssueLinks []IssueLinkScheme `json:"issuelinks"`
	} `json:"fields"`
}

type IssueNotifyGroupScheme

type IssueNotifyGroupScheme struct {
	Name string `json:"name,omitempty"`
}

type IssueNotifyOptionsScheme

type IssueNotifyOptionsScheme struct {
	HTMLBody string                     `json:"htmlBody,omitempty"`
	Subject  string                     `json:"subject,omitempty"`
	TextBody string                     `json:"textBody,omitempty"`
	To       *IssueNotifyToScheme       `json:"to,omitempty"`
	Restrict *IssueNotifyRestrictScheme `json:"restrict,omitempty"`
}

type IssueNotifyPermissionScheme

type IssueNotifyPermissionScheme struct {
	ID  string `json:"id,omitempty"`
	Key string `json:"key,omitempty"`
}

type IssueNotifyRestrictScheme

type IssueNotifyRestrictScheme struct {
	Groups      []*IssueNotifyGroupScheme      `json:"groups,omitempty"`
	Permissions []*IssueNotifyPermissionScheme `json:"permissions,omitempty"`
}

type IssueNotifyToScheme

type IssueNotifyToScheme struct {
	Reporter bool                      `json:"reporter,omitempty"`
	Assignee bool                      `json:"assignee,omitempty"`
	Watchers bool                      `json:"watchers,omitempty"`
	Voters   bool                      `json:"voters,omitempty"`
	Users    []*IssueNotifyUserScheme  `json:"users,omitempty"`
	Groups   []*IssueNotifyGroupScheme `json:"groups,omitempty"`
}

type IssueNotifyUserScheme

type IssueNotifyUserScheme struct {
	AccountID string `json:"accountId,omitempty"`
}

type IssueResolutionScheme

type IssueResolutionScheme struct {
	Self        string `json:"self"`
	ID          string `json:"id"`
	Description string `json:"description"`
	Name        string `json:"name"`
}

type IssueScheme

type IssueScheme struct {
	ID          string                   `json:"id,omitempty"`
	Key         string                   `json:"key,omitempty"`
	Self        string                   `json:"self,omitempty"`
	Transitions []*IssueTransitionScheme `json:"transitions,omitempty"`
	Changelog   *IssueChangelogScheme    `json:"changelog,omitempty"`
	Fields      *IssueFieldsScheme       `json:"fields,omitempty"`
}

func (*IssueScheme) Merge

func (i *IssueScheme) Merge(fields *CustomFields) (result map[string]interface{}, err error)

func (*IssueScheme) ToMap

func (i *IssueScheme) ToMap() (result map[string]interface{}, err error)

type IssueSearchScheme

type IssueSearchScheme struct {
	Expand          string        `json:"expand"`
	StartAt         int           `json:"startAt"`
	MaxResults      int           `json:"maxResults"`
	Total           int           `json:"total"`
	Issues          []IssueScheme `json:"issues"`
	WarningMessages []string      `json:"warningMessages"`
}

type IssueSearchService

type IssueSearchService struct {
	// contains filtered or unexported fields
}

func (*IssueSearchService) Get

func (s *IssueSearchService) Get(ctx context.Context, jql string, fields, expands []string, startAt, maxResults int, validate string) (result *IssueSearchScheme, response *Response, err error)

Search issues using JQL query under the HTTP Method GET Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/search#search-for-issues-using-jql-get

func (*IssueSearchService) Post

func (s *IssueSearchService) Post(ctx context.Context, jql string, fields, expands []string, startAt, maxResults int, validate string) (result *IssueSearchScheme, response *Response, err error)

Search issues using JQL query under the HTTP Method POST Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/search#search-for-issues-using-jql-post

type IssueService

type IssueService struct {
	Attachment *AttachmentService
	Comment    *CommentService
	Field      *FieldService
	Link       *IssueLinkService
	Priority   *PriorityService
	Resolution *ResolutionService
	Type       *IssueTypeService
	Votes      *VoteService
	Watchers   *WatcherService
	Label      *LabelService
	Search     *IssueSearchService
	// contains filtered or unexported fields
}

func (*IssueService) Assign

func (i *IssueService) Assign(ctx context.Context, issueKeyOrID, accountID string) (response *Response, err error)

Assigns an issue to a user. Use this operation when the calling user does not have the Edit Issues permission but has the Assign issue permission for the project that the issue is in. If accountId is set to:

  1. "-1", the issue is assigned to the default assignee for the project.
  2. null, the issue is set to unassigned.

Docs: https://docs.go-atlassian.io/jira-software-cloud/issues#assign-issue

func (*IssueService) Create

func (i *IssueService) Create(ctx context.Context, payload *IssueScheme, customFields *CustomFields) (result *IssueScheme, response *Response, err error)

Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. https://docs.go-atlassian.io/jira-software-cloud/issues#create-issue

func (*IssueService) Creates

func (i *IssueService) Creates(ctx context.Context, payload []*IssueBulkScheme) (result *IssuesScheme, response *Response, err error)

Creates issues and, where the option to create subtasks is enabled in Jira, subtasks. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues#bulk-create-issue

func (*IssueService) Delete

func (i *IssueService) Delete(ctx context.Context, issueKeyOrID string) (response *Response, err error)

Deletes an issue. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues#delete-issue

func (*IssueService) Get

func (i *IssueService) Get(ctx context.Context, issueKeyOrID string, fields []string, expands []string) (result *IssueScheme, response *Response, err error)

Returns the details for an issue. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues#get-issue

func (*IssueService) Move

func (i *IssueService) Move(ctx context.Context, issueKeyOrID, transitionID string) (response *Response, err error)

Performs an issue transition and Docs: https://docs.go-atlassian.io/jira-software-cloud/issues#transition-issue

func (*IssueService) Notify

func (i *IssueService) Notify(ctx context.Context, issueKeyOrID string, options *IssueNotifyOptionsScheme) (response *Response, err error)

Creates an email notification for an issue and adds it to the mail queue. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues#send-notification-for-issue

func (*IssueService) Transitions

func (i *IssueService) Transitions(ctx context.Context, issueKeyOrID string) (result *IssueTransitionsScheme, response *Response, err error)

Returns either all transitions or a transition that can be performed by the user on an issue, based on the issue's status. Note, if a request is made for a transition that does not exist or cannot be performed on the issue, given its status, the response will return any empty transitions list. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues#get-transitions

func (*IssueService) Update

func (i *IssueService) Update(ctx context.Context, issueKeyOrID string, notify bool, payload *IssueScheme, customFields *CustomFields) (response *Response, err error)

Edits an issue. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues#edit-issue

type IssueTransitionScheme

type IssueTransitionScheme struct {
	ID   string `json:"id"`
	Name string `json:"name"`
	To   struct {
		Self           string `json:"self"`
		Description    string `json:"description"`
		IconURL        string `json:"iconUrl"`
		Name           string `json:"name"`
		ID             string `json:"id"`
		StatusCategory struct {
			Self      string `json:"self"`
			ID        int    `json:"id"`
			Key       string `json:"key"`
			ColorName string `json:"colorName"`
			Name      string `json:"name"`
		} `json:"statusCategory"`
	} `json:"to"`
	HasScreen     bool `json:"hasScreen"`
	IsGlobal      bool `json:"isGlobal"`
	IsInitial     bool `json:"isInitial"`
	IsAvailable   bool `json:"isAvailable"`
	IsConditional bool `json:"isConditional"`
	IsLooped      bool `json:"isLooped"`
}

type IssueTransitionsScheme

type IssueTransitionsScheme struct {
	Expand      string                   `json:"expand"`
	Transitions []*IssueTransitionScheme `json:"transitions"`
}

type IssueTypePayloadScheme

type IssueTypePayloadScheme struct {
	Name        string `json:"name,omitempty" validate:"required"`
	Description string `json:"description,omitempty"`
	Type        string `json:"type,omitempty" validate:"required,oneof=subtask standard"`
}

type IssueTypeScheme

type IssueTypeScheme struct {
	Self        string                `json:"self,omitempty"`
	ID          string                `json:"id,omitempty"`
	Description string                `json:"description,omitempty"`
	IconURL     string                `json:"iconUrl,omitempty"`
	Name        string                `json:"name,omitempty"`
	Subtask     bool                  `json:"subtask,omitempty"`
	AvatarID    int                   `json:"avatarId,omitempty"`
	EntityID    string                `json:"entityId,omitempty"`
	Scope       *IssueTypeScopeScheme `json:"scope,omitempty"`
}

type IssueTypeSchemeItemsScheme

type IssueTypeSchemeItemsScheme struct {
	MaxResults int  `json:"maxResults"`
	StartAt    int  `json:"startAt"`
	Total      int  `json:"total"`
	IsLast     bool `json:"isLast"`
	Values     []struct {
		IssueTypeSchemeID string `json:"issueTypeSchemeId"`
		IssueTypeID       string `json:"issueTypeId"`
	} `json:"values"`
}

type IssueTypeSchemePayloadScheme

type IssueTypeSchemePayloadScheme struct {
	DefaultIssueTypeID string   `json:"defaultIssueTypeId,omitempty"`
	IssueTypeIds       []string `json:"issueTypeIds,omitempty"`
	Name               string   `json:"name,omitempty"`
	Description        string   `json:"description,omitempty"`
}

type IssueTypeSchemeService

type IssueTypeSchemeService struct {
	// contains filtered or unexported fields
}

func (*IssueTypeSchemeService) AddIssueTypes

func (i *IssueTypeSchemeService) AddIssueTypes(ctx context.Context, issueTypeSchemeID int, issueTypeIDs []int) (response *Response, err error)

Adds issue types to an issue type scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/scheme#add-issue-types-to-issue-type-scheme

func (*IssueTypeSchemeService) Assign

func (i *IssueTypeSchemeService) Assign(ctx context.Context, issueTypeSchemeID, projectID string) (response *Response, err error)

Assigns an issue type scheme to a project. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/scheme#assign-issue-type-scheme-to-project

func (*IssueTypeSchemeService) Create

func (i *IssueTypeSchemeService) Create(ctx context.Context, payload *IssueTypeSchemePayloadScheme) (issueTypeSchemeID string, response *Response, err error)

Creates an issue type scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/scheme#create-issue-type-scheme

func (*IssueTypeSchemeService) Delete

func (i *IssueTypeSchemeService) Delete(ctx context.Context, issueTypeSchemeID int) (response *Response, err error)

Deletes an issue type scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/scheme#delete-issue-type-scheme

func (*IssueTypeSchemeService) Gets

func (i *IssueTypeSchemeService) Gets(ctx context.Context, issueTypeSchemeIDs []int, startAt, maxResults int) (result *IssueTypeSchemesScheme, response *Response, err error)

Returns a paginated list of issue type schemes. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/scheme#get-all-issue-type-schemes

func (*IssueTypeSchemeService) Items

func (i *IssueTypeSchemeService) Items(ctx context.Context, issueTypeSchemeIDs []int, startAt, maxResults int) (result *IssueTypeSchemeItemsScheme, response *Response, err error)

Returns a paginated list of issue type scheme items. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/scheme#get-issue-type-scheme-items

func (*IssueTypeSchemeService) Projects

func (i *IssueTypeSchemeService) Projects(ctx context.Context, projectIDs []int, startAt, maxResults int) (result *ProjectIssueTypeSchemeScheme, response *Response, err error)

Returns a paginated list of issue type schemes and, for each issue type scheme, a list of the projects that use it. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/scheme#get-issue-type-schemes-for-projects

func (*IssueTypeSchemeService) RemoveIssueType

func (i *IssueTypeSchemeService) RemoveIssueType(ctx context.Context, issueTypeSchemeID, issueTypeID int) (response *Response, err error)

Removes an issue type from an issue type scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/scheme#remove-issue-type-from-issue-type-scheme

func (*IssueTypeSchemeService) Update

func (i *IssueTypeSchemeService) Update(ctx context.Context, issueTypeSchemeID int, payload *IssueTypeSchemePayloadScheme) (response *Response, err error)

Updates an issue type scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/scheme#update-issue-type-scheme

type IssueTypeSchemesScheme

type IssueTypeSchemesScheme struct {
	MaxResults int  `json:"maxResults"`
	StartAt    int  `json:"startAt"`
	Total      int  `json:"total"`
	IsLast     bool `json:"isLast"`
	Values     []struct {
		ID                 string `json:"id"`
		Name               string `json:"name"`
		Description        string `json:"description"`
		DefaultIssueTypeID string `json:"defaultIssueTypeId,omitempty"`
		IsDefault          bool   `json:"isDefault,omitempty"`
	} `json:"values"`
}

type IssueTypeScopeProjectScheme

type IssueTypeScopeProjectScheme struct {
	ID   string `json:"id,omitempty"`
	Key  string `json:"key,omitempty"`
	Name string `json:"name,omitempty"`
}

type IssueTypeScopeScheme

type IssueTypeScopeScheme struct {
	Type    string                       `json:"type,omitempty"`
	Project *IssueTypeScopeProjectScheme `json:"project,omitempty"`
}

type IssueTypeScreenSchemeMappingPayloadScheme

type IssueTypeScreenSchemeMappingPayloadScheme struct {
	IssueTypeID    string `json:"issueTypeId"`
	ScreenSchemeID string `json:"screenSchemeId"`
}

type IssueTypeScreenSchemePayloadScheme

type IssueTypeScreenSchemePayloadScheme struct {
	Name              string                                      `json:"name" validate:"required"`
	IssueTypeMappings []IssueTypeScreenSchemeMappingPayloadScheme `json:"issueTypeMappings" validate:"required"`
}

type IssueTypeScreenSchemeService

type IssueTypeScreenSchemeService struct {
	// contains filtered or unexported fields
}

func (*IssueTypeScreenSchemeService) Append

func (i *IssueTypeScreenSchemeService) Append(ctx context.Context, issueTypeScreenSchemeID string, mappings *[]IssueTypeScreenSchemeMappingPayloadScheme) (response *Response, err error)

Appends issue type to screen scheme mappings to an issue type screen scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/screen-scheme#append-mappings-to-issue-type-screen-scheme

func (*IssueTypeScreenSchemeService) Assign

func (i *IssueTypeScreenSchemeService) Assign(ctx context.Context, issueTypeScreenSchemeID, projectID string) (response *Response, err error)

Assigns an issue type screen scheme to a project. Issue type screen schemes can only be assigned to classic projects. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/screen-scheme#assign-issue-type-screen-scheme-to-project

func (*IssueTypeScreenSchemeService) Create

func (i *IssueTypeScreenSchemeService) Create(ctx context.Context, payload *IssueTypeScreenSchemePayloadScheme) (issueTypeScreenSchemeID int, response *Response, err error)

Creates an issue type screen scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/screen-scheme#create-issue-type-screen-scheme

func (*IssueTypeScreenSchemeService) Delete

func (i *IssueTypeScreenSchemeService) Delete(ctx context.Context, issueTypeScreenSchemeID string) (response *Response, err error)

Deletes an issue type screen scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/screen-scheme#delete-issue-type-screen-scheme

func (*IssueTypeScreenSchemeService) Gets

func (i *IssueTypeScreenSchemeService) Gets(ctx context.Context, ids []int, startAt, maxResults int) (result *IssueTypeScreenSchemesScheme, response *Response, err error)

Returns a paginated list of issue type screen schemes. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/screen-scheme#get-issue-type-screen-schemes

func (*IssueTypeScreenSchemeService) Remove

func (i *IssueTypeScreenSchemeService) Remove(ctx context.Context, issueTypeScreenSchemeID string, issueTypeIDs []string) (response *Response, err error)

Removes issue type to screen scheme mappings from an issue type screen scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/screen-scheme#remove-mappings-from-issue-type-screen-scheme

func (*IssueTypeScreenSchemeService) Update

func (i *IssueTypeScreenSchemeService) Update(ctx context.Context, issueTypeScreenSchemeID, name, description string) (response *Response, err error)

Updates an issue type screen scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/screen-scheme#update-issue-type-screen-scheme

func (*IssueTypeScreenSchemeService) UpdateDefault

func (i *IssueTypeScreenSchemeService) UpdateDefault(ctx context.Context, issueTypeScreenSchemeID, screenSchemeID string) (response *Response, err error)

Updates the default screen scheme of an issue type screen scheme. The default screen scheme is used for all unmapped issue types. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/types/screen-scheme#update-issue-type-screen-scheme-default-screen-scheme

type IssueTypeScreenSchemesScheme

type IssueTypeScreenSchemesScheme struct {
	MaxResults int  `json:"maxResults"`
	StartAt    int  `json:"startAt"`
	Total      int  `json:"total"`
	IsLast     bool `json:"isLast"`
	Values     []struct {
		ID          string `json:"id"`
		Name        string `json:"name"`
		Description string `json:"description"`
	} `json:"values"`
}

type IssueTypeService

type IssueTypeService struct {
	Scheme       *IssueTypeSchemeService
	ScreenScheme *IssueTypeScreenSchemeService
	// contains filtered or unexported fields
}

func (*IssueTypeService) Alternatives

func (i *IssueTypeService) Alternatives(ctx context.Context, issueTypeID string) (result *[]IssueTypeScheme, response *Response, err error)

Returns a list of issue types that can be used to replace the issue type. The alternative issue types are those assigned to the same workflow scheme, field configuration scheme, and screen scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/type#get-alternative-issue-types

func (*IssueTypeService) Create

func (i *IssueTypeService) Create(ctx context.Context, payload *IssueTypePayloadScheme) (result *IssueTypeScheme, response *Response, err error)

Creates an issue type and adds it to the default issue type scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/type#create-issue-type

func (*IssueTypeService) Delete

func (i *IssueTypeService) Delete(ctx context.Context, issueTypeID string) (response *Response, err error)

Deletes the issue type. If the issue type is in use, all uses are updated with the alternative issue type (alternativeIssueTypeId). A list of alternative issue types are obtained from the Get alternative issue types resource. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/type#delete-issue-type

func (*IssueTypeService) Get

func (i *IssueTypeService) Get(ctx context.Context, issueTypeID string) (result *IssueTypeScheme, response *Response, err error)

Returns an issue type. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/type#get-issue-type

func (*IssueTypeService) Gets

func (i *IssueTypeService) Gets(ctx context.Context) (result *[]IssueTypeScheme, response *Response, err error)

Returns all issue types. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/type#get-all-issue-types-for-user

func (*IssueTypeService) Update

func (i *IssueTypeService) Update(ctx context.Context, issueTypeID string, payload *IssueTypePayloadScheme) (result *IssueTypeScheme, response *Response, err error)

Updates the issue type. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/type#update-issue-type

type IssueVoteScheme

type IssueVoteScheme struct {
	Self     string `json:"self,omitempty"`
	Votes    int    `json:"votes,omitempty"`
	HasVoted bool   `json:"hasVoted,omitempty"`
	Voters   []struct {
		Self       string `json:"self,omitempty"`
		Key        string `json:"key,omitempty"`
		AccountID  string `json:"accountId,omitempty"`
		Name       string `json:"name,omitempty"`
		AvatarUrls struct {
			Four8X48  string `json:"48x48,omitempty"`
			Two4X24   string `json:"24x24,omitempty"`
			One6X16   string `json:"16x16,omitempty"`
			Three2X32 string `json:"32x32,omitempty"`
		} `json:"avatarUrls,omitempty"`
		DisplayName string `json:"displayName,omitempty"`
		Active      bool   `json:"active,omitempty"`
	} `json:"voters,omitempty"`
}

type IssueWatcherScheme

type IssueWatcherScheme struct {
	Self       string `json:"self,omitempty"`
	IsWatching bool   `json:"isWatching,omitempty"`
	WatchCount int    `json:"watchCount,omitempty"`
	Watchers   []struct {
		Self        string `json:"self,omitempty"`
		AccountID   string `json:"accountId,omitempty"`
		DisplayName string `json:"displayName,omitempty"`
		Active      bool   `json:"active,omitempty"`
	} `json:"watchers,omitempty"`
}

type IssuesScheme

type IssuesScheme struct {
	Issues []struct {
		ID         string `json:"id"`
		Key        string `json:"key"`
		Self       string `json:"self"`
		Transition struct {
			Status          int `json:"status"`
			ErrorCollection struct {
			} `json:"errorCollection"`
		} `json:"transition"`
	} `json:"issues"`
	Errors []struct {
		Status        int `json:"status"`
		ElementErrors struct {
			ErrorMessages []string `json:"errorMessages"`
			Errors        struct {
			} `json:"errors"`
			Status int `json:"status"`
		} `json:"elementErrors"`
		FailedElementNumber int `json:"failedElementNumber"`
	} `json:"errors"`
}

type LabelService

type LabelService struct {
	// contains filtered or unexported fields
}

func (*LabelService) Gets

func (l *LabelService) Gets(ctx context.Context, startAt, maxResults int) (result *IssueLabelsScheme, response *Response, err error)

Returns a paginated list of labels. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/labels#get-all-labels

type NewProjectCreatedScheme

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

type NotificationSchemeScheme

type NotificationSchemeScheme struct {
	Expand                   string `json:"expand"`
	ID                       int    `json:"id"`
	Self                     string `json:"self"`
	Name                     string `json:"name"`
	Description              string `json:"description"`
	NotificationSchemeEvents []struct {
		Event struct {
			ID          int    `json:"id"`
			Name        string `json:"name"`
			Description string `json:"description"`
		} `json:"event"`

		Notifications []struct {
			ID               int    `json:"id"`
			NotificationType string `json:"notificationType"`
			Parameter        string `json:"parameter,omitempty"`
			Group            struct {
				Name string `json:"name"`
				Self string `json:"self"`
			} `json:"group,omitempty"`
			Expand      string `json:"expand,omitempty"`
			ProjectRole struct {
				Self        string `json:"self"`
				Name        string `json:"name"`
				ID          int    `json:"id"`
				Description string `json:"description"`
				Actors      []struct {
					ID          int    `json:"id"`
					DisplayName string `json:"displayName"`
					Type        string `json:"type"`
					Name        string `json:"name,omitempty"`
					ActorGroup  struct {
						Name        string `json:"name"`
						DisplayName string `json:"displayName"`
					} `json:"actorGroup,omitempty"`
					ActorUser struct {
						AccountID string `json:"accountId"`
					} `json:"actorUser,omitempty"`
				} `json:"actors"`
				Scope struct {
					Type    string `json:"type"`
					Project struct {
						ID   string `json:"id"`
						Key  string `json:"key"`
						Name string `json:"name"`
					} `json:"project"`
				} `json:"scope"`
			} `json:"projectRole,omitempty"`
			EmailAddress string `json:"emailAddress,omitempty"`
			User         struct {
				Self        string `json:"self"`
				AccountID   string `json:"accountId"`
				DisplayName string `json:"displayName"`
				Active      bool   `json:"active"`
			} `json:"user,omitempty"`
			Field struct {
				ID               string   `json:"id"`
				Key              string   `json:"key"`
				Name             string   `json:"name"`
				UntranslatedName string   `json:"untranslatedName"`
				Custom           bool     `json:"custom"`
				Orderable        bool     `json:"orderable"`
				Navigable        bool     `json:"navigable"`
				Searchable       bool     `json:"searchable"`
				ClauseNames      []string `json:"clauseNames"`
				Schema           struct {
					Type     string `json:"type"`
					Custom   string `json:"custom"`
					CustomID int    `json:"customId"`
				} `json:"schema"`
			} `json:"field,omitempty"`
		} `json:"notifications"`
	} `json:"notificationSchemeEvents"`
}

type PermissionFilterBodyScheme

type PermissionFilterBodyScheme struct {
	Type          string `json:"type,omitempty"`
	ProjectID     string `json:"projectId,omitempty"`
	GroupName     string `json:"groupname,omitempty"`
	ProjectRoleID string `json:"projectRoleId,omitempty"`
}

type PermissionGrantHolderPayloadScheme

type PermissionGrantHolderPayloadScheme struct {
	Parameter string `json:"parameter,omitempty"`
	Type      string `json:"type,omitempty"`
}

type PermissionGrantPayloadScheme

type PermissionGrantPayloadScheme struct {
	Holder     *PermissionGrantHolderPayloadScheme `json:"holder,omitempty"`
	Permission string                              `json:"permission,omitempty"`
}

type PermissionGrantScheme

type PermissionGrantScheme struct {
	ID     int    `json:"id"`
	Self   string `json:"self"`
	Holder struct {
		Type        string `json:"type"`
		Parameter   string `json:"parameter"`
		ProjectRole struct {
			Self        string `json:"self"`
			Name        string `json:"name"`
			ID          int    `json:"id"`
			Description string `json:"description"`
		} `json:"projectRole"`
		Expand string `json:"expand"`
	} `json:"holder"`
	Permission string `json:"permission"`
}

type PermissionGrantSchemeService

type PermissionGrantSchemeService struct {
	// contains filtered or unexported fields
}

func (*PermissionGrantSchemeService) Create

func (p *PermissionGrantSchemeService) Create(ctx context.Context, schemeID int, payload *PermissionGrantPayloadScheme) (result *PermissionGrantScheme, response *Response, err error)

Creates a permission grant in a permission scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/permissions/scheme/grant#create-permission-grant

func (*PermissionGrantSchemeService) Delete

func (p *PermissionGrantSchemeService) Delete(ctx context.Context, schemeID, permissionID int) (response *Response, err error)

Deletes a permission grant from a permission scheme. See About permission schemes and grants for more details. Docs: https://docs.go-atlassian.io/jira-software-cloud/permissions/scheme/grant#delete-permission-scheme-grant

func (*PermissionGrantSchemeService) Get

func (p *PermissionGrantSchemeService) Get(ctx context.Context, schemeID, permissionID int, expands []string) (result *PermissionGrantScheme, response *Response, err error)

Returns a permission grant. Docs: https://docs.go-atlassian.io/jira-software-cloud/permissions/scheme/grant#get-permission-scheme-grant

func (*PermissionGrantSchemeService) Gets

func (p *PermissionGrantSchemeService) Gets(ctx context.Context, permissionSchemeID int, expands []string) (result *PermissionSchemeGrantsScheme, response *Response, err error)

Returns all permission grants for a permission scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/permissions/scheme/grant#get-permission-scheme-grants

type PermissionScheme

type PermissionScheme struct {
	ID          int    `json:"id"`
	Self        string `json:"self"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Permissions []struct {
		ID     int    `json:"id"`
		Self   string `json:"self"`
		Holder struct {
			Type      string `json:"type"`
			Parameter string `json:"parameter"`
			Expand    string `json:"expand"`
		} `json:"holder"`
		Permission string `json:"permission"`
	} `json:"permissions"`
}

type PermissionSchemeGrantsScheme

type PermissionSchemeGrantsScheme struct {
	Permissions []PermissionGrantScheme `json:"permissions"`
	Expand      string                  `json:"expand"`
}

type PermissionSchemeService

type PermissionSchemeService struct {
	Grant *PermissionGrantSchemeService
	// contains filtered or unexported fields
}

func (*PermissionSchemeService) Create

func (p *PermissionSchemeService) Create(ctx context.Context, name, description string, permissions *[]PermissionGrantPayloadScheme) (result *PermissionScheme, response *Response, err error)

Creates a new permission scheme. You can create a permission scheme with or without defining a set of permission grants. Docs: https://docs.go-atlassian.io/jira-software-cloud/permissions/scheme#create-permission-scheme

func (*PermissionSchemeService) Delete

func (p *PermissionSchemeService) Delete(ctx context.Context, permissionSchemeID int) (response *Response, err error)

Deletes a permission scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/permissions/scheme#delete-permission-scheme

func (*PermissionSchemeService) Get

func (p *PermissionSchemeService) Get(ctx context.Context, permissionSchemeID int) (result *PermissionScheme, response *Response, err error)

Returns a permission scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/permissions/scheme#get-permission-scheme

func (*PermissionSchemeService) Gets

func (p *PermissionSchemeService) Gets(ctx context.Context) (result *PermissionSchemesScheme, response *Response, err error)

Returns all permission schemes. Docs: https://docs.go-atlassian.io/jira-software-cloud/permissions/scheme#get-all-permission-schemes

func (*PermissionSchemeService) Update

func (p *PermissionSchemeService) Update(ctx context.Context, schemeID int, name, description string, permissions *[]PermissionGrantPayloadScheme) (result *PermissionScheme, response *Response, err error)

Updates a permission scheme. Below are some important things to note when using this resource: 1. If a permissions list is present in the request, then it is set in the permission scheme, overwriting all existing grants. 2. If you want to update only the name and description, then do not send a permissions list in the request. 3. Sending an empty list will remove all permission grants from the permission scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/permissions/scheme#update-permission-scheme

type PermissionSchemesScheme

type PermissionSchemesScheme struct {
	PermissionSchemes []PermissionScheme `json:"permissionSchemes"`
}

type PermissionService

type PermissionService struct {
	Scheme *PermissionSchemeService
	// contains filtered or unexported fields
}

func (*PermissionService) Gets

func (p *PermissionService) Gets(ctx context.Context) (result *GlobalPermissionsScheme, response *Response, err error)

Returns a list of permissions indicating which permissions the user has. Details of the user's permissions can be obtained in a global, project, or issue context. Docs: https://docs.go-atlassian.io/jira-software-cloud/permissions#get-my-permissions

type PriorityScheme

type PriorityScheme struct {
	Self        string `json:"self,omitempty"`
	StatusColor string `json:"statusColor,omitempty"`
	Description string `json:"description,omitempty"`
	IconURL     string `json:"iconUrl,omitempty"`
	Name        string `json:"name,omitempty"`
	ID          string `json:"id,omitempty"`
}

type PriorityService

type PriorityService struct {
	// contains filtered or unexported fields
}

func (*PriorityService) Get

func (p *PriorityService) Get(ctx context.Context, priorityID string) (result *PriorityScheme, response *Response, err error)

Returns an issue priority. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/priorities#get-priority

func (*PriorityService) Gets

func (p *PriorityService) Gets(ctx context.Context) (result *[]PriorityScheme, response *Response, err error)

Returns the list of all issue priorities. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/priorities#get-priorities

type ProjectCategoryScheme

type ProjectCategoryScheme struct {
	Self        string `json:"self"`
	ID          string `json:"id"`
	Name        string `json:"name"`
	Description string `json:"description"`
}

type ProjectCategoryService

type ProjectCategoryService struct {
	// contains filtered or unexported fields
}

func (*ProjectCategoryService) Create

func (p *ProjectCategoryService) Create(ctx context.Context, name, description string) (result *ProjectCategoryScheme, response *Response, err error)

Creates a project category. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/categories#create-project-category

func (*ProjectCategoryService) Delete

func (p *ProjectCategoryService) Delete(ctx context.Context, projectCategoryID int) (response *Response, err error)

Deletes a project category. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/categories#delete-project-category

func (*ProjectCategoryService) Get

func (p *ProjectCategoryService) Get(ctx context.Context, projectCategoryID int) (result *ProjectCategoryScheme, response *Response, err error)

Returns a project category. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/categories#get-project-category-by-id

func (*ProjectCategoryService) Gets

func (p *ProjectCategoryService) Gets(ctx context.Context) (result *[]ProjectCategoryScheme, response *Response, err error)

Returns all project categories. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/categories#get-all-project-categories

func (*ProjectCategoryService) Update

func (p *ProjectCategoryService) Update(ctx context.Context, projectCategoryID int, name, description string) (result *ProjectCategoryScheme, response *Response, err error)

Updates a project category. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/categories#update-project-category

type ProjectComponentCountScheme

type ProjectComponentCountScheme struct {
	Self       string `json:"self,omitempty"`
	IssueCount int    `json:"issueCount,omitempty"`
}

type ProjectComponentPayloadScheme

type ProjectComponentPayloadScheme struct {
	IsAssigneeTypeValid bool   `json:"isAssigneeTypeValid,omitempty"`
	Name                string `json:"name,omitempty"`
	Description         string `json:"description,omitempty"`
	Project             string `json:"project,omitempty"`
	AssigneeType        string `json:"assigneeType,omitempty"`
	LeadAccountID       string `json:"leadAccountId,omitempty"`
}

type ProjectComponentScheme

type ProjectComponentScheme struct {
	Self                string      `json:"self,omitempty"`
	ID                  string      `json:"id,omitempty"`
	Name                string      `json:"name,omitempty"`
	Description         string      `json:"description,omitempty"`
	Lead                *UserScheme `json:"lead,omitempty"`
	AssigneeType        string      `json:"assigneeType,omitempty"`
	Assignee            *UserScheme `json:"assignee,omitempty"`
	RealAssigneeType    string      `json:"realAssigneeType,omitempty"`
	RealAssignee        *UserScheme `json:"realAssignee,omitempty"`
	IsAssigneeTypeValid bool        `json:"isAssigneeTypeValid,omitempty"`
	Project             string      `json:"project,omitempty"`
	ProjectID           int         `json:"projectId,omitempty"`
}

type ProjectComponentService

type ProjectComponentService struct {
	// contains filtered or unexported fields
}

func (*ProjectComponentService) Count

func (p *ProjectComponentService) Count(ctx context.Context, componentID string) (result *ProjectComponentCountScheme, response *Response, err error)

Returns the counts of issues assigned to the component. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/components#get-component-issues-count

func (*ProjectComponentService) Create

Creates a component. Use components to provide containers for issues within a project. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/components#create-component

func (*ProjectComponentService) Delete

func (p *ProjectComponentService) Delete(ctx context.Context, componentID string) (response *Response, err error)

Deletes a component. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/components#delete-component

func (*ProjectComponentService) Get

func (p *ProjectComponentService) Get(ctx context.Context, componentID string) (result *ProjectComponentScheme, response *Response, err error)

Returns a component. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/components#get-component

func (*ProjectComponentService) Gets

func (p *ProjectComponentService) Gets(ctx context.Context, projectKeyOrID string) (result *[]ProjectComponentScheme, response *Response, err error)

Returns all components in a project. See the Get project components paginated resource if you want to get a full list of components with pagination. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/components#get-project-components-paginated

func (*ProjectComponentService) Update

func (p *ProjectComponentService) Update(ctx context.Context, componentID string, payload *ProjectComponentPayloadScheme) (result *ProjectComponentScheme, response *Response, err error)

Updates a component. Any fields included in the request are overwritten. If leadAccountId is an empty string ("") the component lead is removed. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/components#update-component

type ProjectInsightScheme

type ProjectInsightScheme struct {
	TotalIssueCount     int    `json:"totalIssueCount,omitempty"`
	LastIssueUpdateTime string `json:"lastIssueUpdateTime,omitempty"`
}

type ProjectIssueSecurityLevelsScheme

type ProjectIssueSecurityLevelsScheme struct {
	Levels []struct {
		Self        string `json:"self"`
		ID          string `json:"id"`
		Description string `json:"description"`
		Name        string `json:"name"`
	} `json:"levels"`
}

type ProjectIssueTypeHierarchyScheme

type ProjectIssueTypeHierarchyScheme struct {
	ProjectID int `json:"projectId"`
	Hierarchy []struct {
		EntityID   string `json:"entityId"`
		Level      int    `json:"level"`
		Name       string `json:"name"`
		IssueTypes []struct {
			ID       int    `json:"id"`
			EntityID string `json:"entityId"`
			Name     string `json:"name"`
			AvatarID int    `json:"avatarId"`
		} `json:"issueTypes"`
	} `json:"hierarchy"`
}

type ProjectIssueTypeSchemeScheme

type ProjectIssueTypeSchemeScheme struct {
	MaxResults int  `json:"maxResults"`
	StartAt    int  `json:"startAt"`
	Total      int  `json:"total"`
	IsLast     bool `json:"isLast"`
	Values     []struct {
		IssueTypeScheme struct {
			ID                 string `json:"id"`
			Name               string `json:"name"`
			Description        string `json:"description"`
			DefaultIssueTypeID string `json:"defaultIssueTypeId"`
			IsDefault          bool   `json:"isDefault"`
		} `json:"issueTypeScheme"`
		ProjectIds []string `json:"projectIds"`
	} `json:"values"`
}

type ProjectPayloadScheme

type ProjectPayloadScheme struct {
	NotificationScheme  int    `json:"notificationScheme" validate:"required"`
	Description         string `json:"description"`
	LeadAccountID       string `json:"leadAccountId" validate:"required"`
	URL                 string `json:"url"`
	ProjectTemplateKey  string `json:"projectTemplateKey" validate:"required"`
	AvatarID            int    `json:"avatarId" validate:"required"`
	IssueSecurityScheme int    `json:"issueSecurityScheme" validate:"required"`
	Name                string `json:"name" validate:"required"`
	PermissionScheme    int    `json:"permissionScheme" validate:"required"`
	AssigneeType        string `json:"assigneeType" validate:"required"`
	ProjectTypeKey      string `json:"projectTypeKey" validate:"required"`
	Key                 string `json:"key" validate:"required"`
	CategoryID          int    `json:"categoryId" validate:"required"`
}

type ProjectPermissionSchemeScheme

type ProjectPermissionSchemeScheme struct {
	Expand      string `json:"expand"`
	ID          int    `json:"id"`
	Self        string `json:"self"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Permissions []struct {
		ID     int    `json:"id"`
		Self   string `json:"self"`
		Holder struct {
			Type        string `json:"type"`
			Parameter   string `json:"parameter"`
			ProjectRole struct {
				Self        string `json:"self"`
				Name        string `json:"name"`
				ID          int    `json:"id"`
				Description string `json:"description"`
			} `json:"projectRole"`
			Expand string `json:"expand"`
		} `json:"holder"`
		Permission string `json:"permission"`
	} `json:"permissions"`
}

type ProjectPermissionSchemeService

type ProjectPermissionSchemeService struct {
	// contains filtered or unexported fields
}

func (*ProjectPermissionSchemeService) Assign

func (p *ProjectPermissionSchemeService) Assign(ctx context.Context, projectKeyOrID string, permissionSchemeID int) (result *ProjectPermissionSchemeScheme, response *Response, err error)

Assigns a permission scheme with a project. See Managing project permissions for more information about permission schemes. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/permission-schemes#assign-permission-scheme

func (*ProjectPermissionSchemeService) Get

func (p *ProjectPermissionSchemeService) Get(ctx context.Context, projectKeyOrID string, expands []string) (result *ProjectPermissionSchemeScheme, response *Response, err error)

Gets the permission scheme associated with the project. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/permission-schemes#get-assigned-permission-scheme

func (*ProjectPermissionSchemeService) SecurityLevels

func (p *ProjectPermissionSchemeService) SecurityLevels(ctx context.Context, projectKeyOrID string) (result *ProjectIssueSecurityLevelsScheme, response *Response, err error)

Returns all issue security levels for the project that the user has access to. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/permission-schemes#get-project-issue-security-levels

type ProjectRoleActorService

type ProjectRoleActorService struct {
	// contains filtered or unexported fields
}

func (*ProjectRoleActorService) Add

func (p *ProjectRoleActorService) Add(ctx context.Context, projectKeyOrID string, projectRoleID int, accountIDs, groups []string) (result *ProjectRoleScheme, response *Response, err error)

Adds actors to a project role for the project. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/roles/actors#add-actors-to-project-role

func (*ProjectRoleActorService) Delete

func (p *ProjectRoleActorService) Delete(ctx context.Context, projectKeyOrID string, projectRoleID int, accountID, group string) (response *Response, err error)

Deletes actors from a project role for the project. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/roles/actors#delete-actors-from-project-role

type ProjectRoleDetailScheme

type ProjectRoleDetailScheme struct {
	Self             string `json:"self"`
	Name             string `json:"name"`
	ID               int    `json:"id"`
	Description      string `json:"description"`
	Admin            bool   `json:"admin"`
	Default          bool   `json:"default"`
	RoleConfigurable bool   `json:"roleConfigurable"`
	TranslatedName   string `json:"translatedName"`
}

type ProjectRoleScheme

type ProjectRoleScheme struct {
	Self        string `json:"self"`
	Name        string `json:"name"`
	ID          int    `json:"id"`
	Description string `json:"description"`
	Actors      []struct {
		ID          int    `json:"id"`
		DisplayName string `json:"displayName"`
		Type        string `json:"type"`
		Name        string `json:"name,omitempty"`
		ActorGroup  struct {
			Name        string `json:"name"`
			DisplayName string `json:"displayName"`
		} `json:"actorGroup,omitempty"`
		ActorUser struct {
			AccountID string `json:"accountId"`
		} `json:"actorUser,omitempty"`
	} `json:"actors"`
	Scope struct {
		Type    string `json:"type"`
		Project struct {
			ID   string `json:"id"`
			Key  string `json:"key"`
			Name string `json:"name"`
		} `json:"project"`
	} `json:"scope"`
}

type ProjectRoleService

type ProjectRoleService struct {
	Actor *ProjectRoleActorService
	// contains filtered or unexported fields
}

func (*ProjectRoleService) Create

func (p *ProjectRoleService) Create(ctx context.Context, name, description string) (result *ProjectRoleScheme, response *Response, err error)

Creates a new project role with no default actors. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/roles#create-project-role

func (*ProjectRoleService) Details

func (p *ProjectRoleService) Details(ctx context.Context, projectKeyOrID string) (result *[]ProjectRoleDetailScheme, response *Response, err error)

Returns all project roles and the details for each role. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/roles#get-project-role-details

func (*ProjectRoleService) Get

func (p *ProjectRoleService) Get(ctx context.Context, projectKeyOrID string, roleID int) (result *ProjectRoleScheme, response *Response, err error)

Returns a project role's details and actors associated with the project. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/roles#get-project-role-for-project

func (*ProjectRoleService) Gets

func (p *ProjectRoleService) Gets(ctx context.Context, projectKeyOrID string) (result *map[string]int, response *Response, err error)

Returns a list of project roles for the project returning the name and self URL for each role. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/roles#get-project-roles-for-project

func (*ProjectRoleService) Global

func (p *ProjectRoleService) Global(ctx context.Context) (result *[]ProjectRoleScheme, response *Response, err error)

Gets a list of all project roles, complete with project role details and default actors. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/roles#get-all-project-roles

type ProjectRolesScheme

type ProjectRolesScheme struct {
	AtlassianAddonsProjectAccess string `json:"atlassian-addons-project-access,omitempty"`
	ServiceDeskTeam              string `json:"Service Desk Team,omitempty"`
	ServiceDeskCustomers         string `json:"Service Desk Customers,omitempty"`
	Administrators               string `json:"Administrators,omitempty"`
}

type ProjectScheme

type ProjectScheme struct {
	Expand         string                    `json:"expand,omitempty"`
	Self           string                    `json:"self,omitempty"`
	ID             string                    `json:"id,omitempty"`
	Key            string                    `json:"key,omitempty"`
	Description    string                    `json:"description,omitempty"`
	Lead           *UserScheme               `json:"lead,omitempty"`
	Components     []*ProjectComponentScheme `json:"components,omitempty"`
	IssueTypes     []*IssueTypeScheme        `json:"issueTypes,omitempty"`
	AssigneeType   string                    `json:"assigneeType,omitempty"`
	Versions       []*ProjectVersionScheme   `json:"versions,omitempty"`
	Name           string                    `json:"name,omitempty"`
	Roles          *ProjectRolesScheme       `json:"roles,omitempty"`
	AvatarUrls     *AvatarURLScheme          `json:"avatarUrls,omitempty"`
	ProjectKeys    []string                  `json:"projectKeys,omitempty"`
	ProjectTypeKey string                    `json:"projectTypeKey,omitempty"`
	Simplified     bool                      `json:"simplified,omitempty"`
	Style          string                    `json:"style,omitempty"`
	IsPrivate      bool                      `json:"isPrivate,omitempty"`
	Insight        *ProjectInsightScheme     `json:"insight,omitempty"`
}

type ProjectSearchOptionsScheme

type ProjectSearchOptionsScheme struct {
	OrderBy        string
	Query          string
	Action         string
	ProjectKeyType string
	CategoryID     int
	Expand         []string
}

type ProjectSearchScheme

type ProjectSearchScheme struct {
	Self       string          `json:"self"`
	MaxResults int             `json:"maxResults"`
	StartAt    int             `json:"startAt"`
	Total      int             `json:"total"`
	IsLast     bool            `json:"isLast"`
	Values     []ProjectScheme `json:"values"`
}

type ProjectService

type ProjectService struct {
	Category   *ProjectCategoryService
	Component  *ProjectComponentService
	Valid      *ProjectValidationService
	Permission *ProjectPermissionSchemeService
	Role       *ProjectRoleService
	Type       *ProjectTypeService
	Version    *ProjectVersionService
	// contains filtered or unexported fields
}

func (*ProjectService) Archive

func (p *ProjectService) Archive(ctx context.Context, projectKeyOrID string) (response *Response, err error)

Archives a project. Archived projects cannot be deleted. To delete an archived project, restore the project and then delete it. To restore a project, use the Jira UI. Docs: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/#api-rest-api-3-project-projectidorkey-archive-post

func (*ProjectService) Create

func (p *ProjectService) Create(ctx context.Context, payload *ProjectPayloadScheme) (result *NewProjectCreatedScheme, response *Response, err error)

Creates a project based on a project type template, as shown in the following table: Docs: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/#api-rest-api-3-project-post

func (*ProjectService) DeleteAsynchronously

func (p *ProjectService) DeleteAsynchronously(ctx context.Context, projectKeyOrID string) (result *TaskScheme, response *Response, err error)

Deletes a project asynchronously. 1. transactional, that is, if part of the delete fails the project is not deleted. 2. asynchronous. Follow the location link in the response to determine the status of the task and use Get task to obtain subsequent updates. Docs: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/#api-rest-api-3-project-projectidorkey-delete-post

func (*ProjectService) Get

func (p *ProjectService) Get(ctx context.Context, projectKeyOrID string, expands []string) (result *ProjectScheme, response *Response, err error)

Returns the project details for a project. Docs: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/#api-rest-api-3-project-projectidorkey-get

func (*ProjectService) Hierarchy

func (p *ProjectService) Hierarchy(ctx context.Context, projectKeyOrID string) (result *ProjectIssueTypeHierarchyScheme, response *Response, err error)

Get the issue type hierarchy for a next-gen project. Docs: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/#api-rest-api-3-project-projectid-hierarchy-get

func (*ProjectService) NotificationScheme

func (p *ProjectService) NotificationScheme(ctx context.Context, projectKeyOrID string, expands []string) (result *NotificationSchemeScheme, response *Response, err error)

Gets a notification scheme associated with the project. Docs: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/#api-rest-api-3-project-projectkeyorid-notificationscheme-get

func (*ProjectService) Restore

func (p *ProjectService) Restore(ctx context.Context, projectKeyOrID string) (result *ProjectScheme, response *Response, err error)

Restores a project from the Jira recycle bin. Docs: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/#api-rest-api-3-project-projectidorkey-restore-post

func (*ProjectService) Search

func (p *ProjectService) Search(ctx context.Context, opts *ProjectSearchOptionsScheme, startAt, maxResults int) (result *ProjectSearchScheme, response *Response, err error)

Returns a paginated list of projects visible to the user. Docs: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/#api-rest-api-3-project-search-get

func (*ProjectService) Statuses

func (p *ProjectService) Statuses(ctx context.Context, projectKeyOrID string) (result *[]ProjectStatusScheme, response *Response, err error)

Returns the valid statuses for a project. The statuses are grouped by issue type, as each project has a set of valid issue types and each issue type has a set of valid statuses. Docs: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/#api-rest-api-3-project-projectidorkey-statuses-get

func (*ProjectService) Update

func (p *ProjectService) Update(ctx context.Context, projectKeyOrID string, payload *ProjectUpdateScheme) (result *ProjectScheme, response *Response, err error)

Updates the project details of a project. Docs: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/#api-rest-api-3-project-projectidorkey-put

type ProjectStatusScheme

type ProjectStatusScheme struct {
	Self     string `json:"self"`
	ID       string `json:"id"`
	Name     string `json:"name"`
	Subtask  bool   `json:"subtask"`
	Statuses []struct {
		Self             string `json:"self"`
		Description      string `json:"description"`
		IconURL          string `json:"iconUrl"`
		Name             string `json:"name"`
		UntranslatedName string `json:"untranslatedName"`
		ID               string `json:"id"`
		StatusCategory   struct {
			Self      string `json:"self"`
			ID        int    `json:"id"`
			Key       string `json:"key"`
			ColorName string `json:"colorName"`
			Name      string `json:"name"`
		} `json:"statusCategory"`
	} `json:"statuses"`
}

type ProjectTypeScheme

type ProjectTypeScheme struct {
	Key                string `json:"key"`
	FormattedKey       string `json:"formattedKey"`
	DescriptionI18NKey string `json:"descriptionI18nKey"`
	Icon               string `json:"icon"`
	Color              string `json:"color"`
}

type ProjectTypeService

type ProjectTypeService struct {
	// contains filtered or unexported fields
}

func (*ProjectTypeService) Accessible

func (p *ProjectTypeService) Accessible(ctx context.Context, projectTypeKey string) (result *ProjectTypeScheme, response *Response, err error)

Returns a project type if it is accessible to the user. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/types#get-accessible-project-type-by-key

func (*ProjectTypeService) Get

func (p *ProjectTypeService) Get(ctx context.Context, projectTypeKey string) (result *ProjectTypeScheme, response *Response, err error)

Returns a project type. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/types#get-project-type-by-key

func (*ProjectTypeService) Gets

func (p *ProjectTypeService) Gets(ctx context.Context) (result *[]ProjectTypeScheme, response *Response, err error)

Returns all project types, whether or not the instance has a valid license for each type. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/types#get-all-project-types

func (*ProjectTypeService) Licensed

func (p *ProjectTypeService) Licensed(ctx context.Context) (result *[]ProjectTypeScheme, response *Response, err error)

Returns all project types with a valid license. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/types#get-licensed-project-types

type ProjectUpdateScheme

type ProjectUpdateScheme struct {
	NotificationScheme  int    `json:"notificationScheme,omitempty"`
	Description         string `json:"description,omitempty"`
	Lead                string `json:"lead,omitempty"`
	URL                 string `json:"url,omitempty"`
	ProjectTemplateKey  string `json:"projectTemplateKey,omitempty"`
	AvatarID            int    `json:"avatarId,omitempty"`
	IssueSecurityScheme int    `json:"issueSecurityScheme,omitempty"`
	Name                string `json:"name,omitempty"`
	PermissionScheme    int    `json:"permissionScheme,omitempty"`
	AssigneeType        string `json:"assigneeType,omitempty"`
	ProjectTypeKey      string `json:"projectTypeKey,omitempty"`
	Key                 string `json:"key,omitempty"`
	CategoryID          int    `json:"categoryId,omitempty"`
}

type ProjectValidationMessageScheme

type ProjectValidationMessageScheme struct {
	ErrorMessages []string `json:"errorMessages"`
	Errors        struct {
		ProjectKey string `json:"projectKey"`
	} `json:"errors"`
}

type ProjectValidationService

type ProjectValidationService struct {
	// contains filtered or unexported fields
}

func (*ProjectValidationService) Key

func (p *ProjectValidationService) Key(ctx context.Context, projectKey string) (randomKey string, response *Response, err error)

Validates a project key and, if the key is invalid or in use, generates a valid random string for the project key. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/validation#get-valid-project-key

func (*ProjectValidationService) Name

func (p *ProjectValidationService) Name(ctx context.Context, projectName string) (randomName string, response *Response, err error)

Checks that a project name isn't in use. If the name isn't in use, the passed string is returned. If the name is in use, this operation attempts to generate a valid project name based on the one supplied, usually by adding a sequence number. If a valid project name cannot be generated, a 404 response is returned. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/validation#get-valid-project-name

func (*ProjectValidationService) Validate

func (p *ProjectValidationService) Validate(ctx context.Context, projectKey string) (result *ProjectValidationMessageScheme, response *Response, err error)

Validates a project key by confirming the key is a valid string and not in use. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/validation#validate-project-key

type ProjectVersionGetsOptions

type ProjectVersionGetsOptions struct {
	OrderBy string
	Query   string
	Status  string
	Expand  []string
}

type ProjectVersionIssuesStatusForFixVersionScheme

type ProjectVersionIssuesStatusForFixVersionScheme struct {
	Unmapped   int `json:"unmapped,omitempty"`
	ToDo       int `json:"toDo,omitempty"`
	InProgress int `json:"inProgress,omitempty"`
	Done       int `json:"done,omitempty"`
}

type ProjectVersionOperation

type ProjectVersionOperation struct {
	ID         string `json:"id,omitempty"`
	StyleClass string `json:"styleClass,omitempty"`
	Label      string `json:"label,omitempty"`
	Href       string `json:"href,omitempty"`
	Weight     int    `json:"weight,omitempty"`
}

type ProjectVersionPageScheme

type ProjectVersionPageScheme struct {
	Self       string                  `json:"self,omitempty"`
	NextPage   string                  `json:"nextPage,omitempty"`
	MaxResults int                     `json:"maxResults,omitempty"`
	StartAt    int                     `json:"startAt,omitempty"`
	Total      int                     `json:"total,omitempty"`
	IsLast     bool                    `json:"isLast,omitempty"`
	Values     []*ProjectVersionScheme `json:"values,omitempty"`
}

type ProjectVersionPayloadScheme

type ProjectVersionPayloadScheme struct {
	Archived    bool   `json:"archived,omitempty"`
	ReleaseDate string `json:"releaseDate,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	ProjectID   int    `json:"projectId,omitempty"`
	Released    bool   `json:"released,omitempty"`
	StartDate   string `json:"startDate,omitempty"`
}

type ProjectVersionScheme

type ProjectVersionScheme struct {
	Self                      string                                         `json:"self,omitempty"`
	ID                        string                                         `json:"id,omitempty"`
	Description               string                                         `json:"description,omitempty"`
	Name                      string                                         `json:"name,omitempty"`
	Archived                  bool                                           `json:"archived,omitempty"`
	Released                  bool                                           `json:"released,omitempty"`
	ReleaseDate               string                                         `json:"releaseDate,omitempty"`
	Overdue                   bool                                           `json:"overdue,omitempty"`
	UserReleaseDate           string                                         `json:"userReleaseDate,omitempty"`
	ProjectID                 int                                            `json:"projectId,omitempty"`
	Operations                []*ProjectVersionOperation                     `json:"operations,omitempty"`
	IssuesStatusForFixVersion *ProjectVersionIssuesStatusForFixVersionScheme `json:"issuesStatusForFixVersion,omitempty"`
}

type ProjectVersionService

type ProjectVersionService struct {
	// contains filtered or unexported fields
}

func (*ProjectVersionService) Create

func (p *ProjectVersionService) Create(ctx context.Context, payload *ProjectVersionPayloadScheme) (result *ProjectVersionScheme, response *Response, err error)

Creates a project version. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/versions#create-version

func (*ProjectVersionService) Get

func (p *ProjectVersionService) Get(ctx context.Context, versionID string, expands []string) (result *ProjectVersionScheme, response *Response, err error)

Returns a project version. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/versions#get-version

func (*ProjectVersionService) Gets

func (p *ProjectVersionService) Gets(ctx context.Context, projectKeyOrID string, options *ProjectVersionGetsOptions, startAt, maxResults int) (result *ProjectVersionPageScheme, response *Response, err error)

Returns a paginated list of all versions in a project. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/versions#get-project-versions-paginated

func (*ProjectVersionService) Merge

func (p *ProjectVersionService) Merge(ctx context.Context, versionID, moveIssuesTo string) (response *Response, err error)

Merges two project versions. The merge is completed by deleting the version specified in id and replacing any occurrences of its ID in fixVersion with the version ID specified in moveIssuesTo. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/versions#merge-versions

func (*ProjectVersionService) RelatedIssueCounts

func (p *ProjectVersionService) RelatedIssueCounts(ctx context.Context, versionID string) (result *VersionIssueCountsScheme, response *Response, err error)

Returns the following counts for a version: 1. Number of issues where the fixVersion is set to the version. 2. Number of issues where the affectedVersion is set to the version. 3. Number of issues where a version custom field is set to the version. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/versions#get-versions-related-issues-count

func (*ProjectVersionService) UnresolvedIssueCount

func (p *ProjectVersionService) UnresolvedIssueCount(ctx context.Context, versionID string) (result *VersionUnresolvedIssuesCountScheme, response *Response, err error)

Returns counts of the issues and unresolved issues for the project version. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/versions#get-versions-unresolved-issues-count

func (*ProjectVersionService) Update

func (p *ProjectVersionService) Update(ctx context.Context, versionID string, payload *ProjectVersionPayloadScheme) (result *ProjectVersionScheme, response *Response, err error)

Updates a project version. Docs: https://docs.go-atlassian.io/jira-software-cloud/projects/versions#update-version

type ResolutionService

type ResolutionService struct {
	// contains filtered or unexported fields
}

func (*ResolutionService) Get

func (r *ResolutionService) Get(ctx context.Context, resolutionID string) (result *IssueResolutionScheme, response *Response, err error)

Returns an issue resolution value. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/resolutions#get-resolution

func (*ResolutionService) Gets

func (r *ResolutionService) Gets(ctx context.Context) (result *[]IssueResolutionScheme, response *Response, err error)

Returns a list of all issue resolution values. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/resolutions#get-resolutions

type Response

type Response struct {
	StatusCode  int
	Endpoint    string
	Headers     map[string][]string
	BodyAsBytes []byte
	Method      string
}

type ScreenFieldSearchScheme

type ScreenFieldSearchScheme struct {
	MaxResults int            `json:"maxResults"`
	StartAt    int            `json:"startAt"`
	Total      int            `json:"total"`
	IsLast     bool           `json:"isLast"`
	Values     []ScreenScheme `json:"values"`
}

type ScreenScheme

type ScreenScheme struct {
	ID          int    `json:"id"`
	Name        string `json:"name"`
	Description string `json:"description"`
}

type ScreenSchemePageScheme

type ScreenSchemePageScheme struct {
	Self       string               `json:"self"`
	MaxResults int                  `json:"maxResults"`
	StartAt    int                  `json:"startAt"`
	Total      int                  `json:"total"`
	IsLast     bool                 `json:"isLast"`
	Values     []ScreenSchemeScheme `json:"values"`
}

type ScreenSchemePayloadScheme

type ScreenSchemePayloadScheme struct {
	Screens     *ScreenSchemeScreensPayloadScheme `json:"screens"`
	Name        string                            `json:"name" validate:"required"`
	Description string                            `json:"description,omitempty"`
}

type ScreenSchemeScheme

type ScreenSchemeScheme struct {
	ID          int    `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	Screens     struct {
		Default int `json:"default,omitempty"`
		View    int `json:"view,omitempty"`
		Edit    int `json:"edit,omitempty"`
		Create  int `json:"create,omitempty"`
	} `json:"screens,omitempty"`
}

type ScreenSchemeScreensPayloadScheme

type ScreenSchemeScreensPayloadScheme struct {
	Default int `json:"default" validate:"required"`
	View    int `json:"view" validate:"required"`
	Edit    int `json:"edit" validate:"required"`
}

type ScreenSchemeService

type ScreenSchemeService struct {
	// contains filtered or unexported fields
}

func (*ScreenSchemeService) Create

func (s *ScreenSchemeService) Create(ctx context.Context, payload *ScreenSchemePayloadScheme) (result *ScreenSchemeScheme, response *Response, err error)

Creates a screen scheme. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens/schemes#create-screen-scheme

func (*ScreenSchemeService) Delete

func (s *ScreenSchemeService) Delete(ctx context.Context, screenSchemeID string) (response *Response, err error)

Deletes a screen scheme. A screen scheme cannot be deleted if it is used in an issue type screen scheme. Only screens schemes used in classic projects can be deleted. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens/schemes#delete-screen-scheme

func (*ScreenSchemeService) Gets

func (s *ScreenSchemeService) Gets(ctx context.Context, screenSchemeIDs []int, startAt, maxResults int) (result *ScreenSchemePageScheme, response *Response, err error)

Returns a paginated list of screen schemes. Only screen schemes used in classic projects are returned. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens/schemes#get-screen-schemes

func (*ScreenSchemeService) Update

func (s *ScreenSchemeService) Update(ctx context.Context, screenSchemeID string, payload *ScreenSchemePayloadScheme) (response *Response, err error)

Updates a screen scheme. Only screen schemes used in classic projects can be updated. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens/schemes#update-screen-scheme

type ScreenSearchPageScheme

type ScreenSearchPageScheme struct {
	Self       string         `json:"self"`
	MaxResults int            `json:"maxResults"`
	StartAt    int            `json:"startAt"`
	Total      int            `json:"total"`
	IsLast     bool           `json:"isLast"`
	Values     []ScreenScheme `json:"values"`
}

type ScreenService

type ScreenService struct {
	Tab    *ScreenTabService
	Scheme *ScreenSchemeService
	// contains filtered or unexported fields
}

func (*ScreenService) AddToDefault

func (s *ScreenService) AddToDefault(ctx context.Context, fieldID string) (response *Response, err error)

Adds a field to the default tab of the default screen. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens#add-field-to-default-screen

func (*ScreenService) Available

func (s *ScreenService) Available(ctx context.Context, screenID int) (result *[]AvailableScreenFieldScheme, response *Response, err error)

Returns the fields that can be added to a tab on a screen. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens#get-available-screen-fields

func (*ScreenService) Create

func (s *ScreenService) Create(ctx context.Context, name, description string) (result *ScreenScheme, response *Response, err error)

Creates a screen with a default field tab. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens#create-screen

func (*ScreenService) Delete

func (s *ScreenService) Delete(ctx context.Context, screenID int) (response *Response, err error)

Deletes a screen. A screen cannot be deleted if it is used in a screen scheme, workflow, or workflow draft. Only screens used in classic projects can be deleted. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens#delete-screen

func (*ScreenService) Get

func (s *ScreenService) Get(ctx context.Context, fieldID string, startAt, maxResults int) (result *ScreenFieldSearchScheme, response *Response, err error)

Returns a paginated list of the screens a field is used in. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens#get-screens-for-a-field

func (*ScreenService) Gets

func (s *ScreenService) Gets(ctx context.Context, screenIDs []int, startAt, maxResults int) (result *ScreenSearchPageScheme, response *Response, err error)

Returns a paginated list of all screens or those specified by one or more screen IDs. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens#get-screens

func (*ScreenService) Update

func (s *ScreenService) Update(ctx context.Context, screenID int, name, description string) (result *ScreenScheme, response *Response, err error)

Updates a screen. Only screens used in classic projects can be updated. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens#update-screen

type ScreenTabFieldScheme

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

type ScreenTabFieldService

type ScreenTabFieldService struct {
	// contains filtered or unexported fields
}

func (*ScreenTabFieldService) Add

func (s *ScreenTabFieldService) Add(ctx context.Context, screenID, tabID int, fieldID string) (result *ScreenTabFieldScheme, response *Response, err error)

Adds a field to a screen tab. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens/tabs/fields#add-screen-tab-field

func (*ScreenTabFieldService) Gets

func (s *ScreenTabFieldService) Gets(ctx context.Context, screenID, tabID int) (result *[]ScreenTabFieldScheme, response *Response, err error)

Returns all fields for a screen tab. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens/tabs/fields#get-all-screen-tab-fields

func (*ScreenTabFieldService) Remove

func (s *ScreenTabFieldService) Remove(ctx context.Context, screenID, tabID int, fieldID string) (response *Response, err error)

Removes a field from a screen tab. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens/tabs/fields#remove-screen-tab-field

type ScreenTabScheme

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

type ScreenTabService

type ScreenTabService struct {
	Field *ScreenTabFieldService
	// contains filtered or unexported fields
}

func (*ScreenTabService) Create

func (s *ScreenTabService) Create(ctx context.Context, screenID int, tabName string) (result *ScreenTabScheme, response *Response, err error)

Creates a tab for a screen. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens/tabs#create-screen-tab

func (*ScreenTabService) Delete

func (s *ScreenTabService) Delete(ctx context.Context, screenID, tabID int) (response *Response, err error)

Deletes a screen tab. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens/tabs#delete-screen-tab

func (*ScreenTabService) Gets

func (s *ScreenTabService) Gets(ctx context.Context, screenID int, projectKey string) (result *[]ScreenTabScheme, response *Response, err error)

Returns the list of tabs for a screen. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens/tabs#get-all-screen-tabs

func (*ScreenTabService) Move

func (s *ScreenTabService) Move(ctx context.Context, screenID, tabID, tabPosition int) (response *Response, err error)

Moves a screen tab. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens/tabs#move-screen-tab

func (*ScreenTabService) Update

func (s *ScreenTabService) Update(ctx context.Context, screenID, tabID int, newTabName string) (result *ScreenTabScheme, response *Response, err error)

Updates the name of a screen tab. Docs: https://docs.go-atlassian.io/jira-software-cloud/screens/tabs#update-screen-tab

type ServerInformationScheme

type ServerInformationScheme struct {
	BaseURL        string `json:"baseUrl"`
	Version        string `json:"version"`
	VersionNumbers []int  `json:"versionNumbers"`
	DeploymentType string `json:"deploymentType"`
	BuildNumber    int    `json:"buildNumber"`
	BuildDate      string `json:"buildDate"`
	ServerTime     string `json:"serverTime"`
	ScmInfo        string `json:"scmInfo"`
	ServerTitle    string `json:"serverTitle"`
	HealthChecks   []struct {
		Name        string `json:"name"`
		Description string `json:"description"`
		Passed      bool   `json:"passed"`
	} `json:"healthChecks"`
}

type ServerService

type ServerService struct {
	// contains filtered or unexported fields
}

func (*ServerService) Info

func (s *ServerService) Info(ctx context.Context) (result *ServerInformationScheme, response *Response, err error)

Returns information about the Jira instance. Docs: https://docs.go-atlassian.io/jira-software-cloud/server#get-jira-instance-info

type ShareFilterPermissionScheme

type ShareFilterPermissionScheme struct {
	ID      int    `json:"id,omitempty"`
	Type    string `json:"type,omitempty"`
	Project struct {
		Self       string `json:"self,omitempty"`
		ID         string `json:"id,omitempty"`
		Key        string `json:"key,omitempty"`
		Name       string `json:"name,omitempty"`
		AvatarUrls struct {
			Four8X48  string `json:"48x48,omitempty"`
			Two4X24   string `json:"24x24,omitempty"`
			One6X16   string `json:"16x16,omitempty"`
			Three2X32 string `json:"32x32,omitempty"`
		} `json:"avatarUrls,omitempty"`
		ProjectCategory struct {
			Self        string `json:"self,omitempty"`
			ID          string `json:"id,omitempty"`
			Name        string `json:"name,omitempty"`
			Description string `json:"description,omitempty"`
		} `json:"projectCategory,omitempty"`
		Simplified bool   `json:"simplified,omitempty"`
		Style      string `json:"style,omitempty"`
		Insight    struct {
			TotalIssueCount     int    `json:"totalIssueCount,omitempty"`
			LastIssueUpdateTime string `json:"lastIssueUpdateTime,omitempty"`
		} `json:"insight,omitempty"`
	} `json:"project,omitempty"`
	Role struct {
		Self        string `json:"self,omitempty"`
		Name        string `json:"name,omitempty"`
		ID          int    `json:"id,omitempty"`
		Description string `json:"description,omitempty"`
		Actors      []struct {
			ID          int    `json:"id,omitempty"`
			DisplayName string `json:"displayName,omitempty"`
			Type        string `json:"type,omitempty"`
			Name        string `json:"name,omitempty"`
			ActorGroup  struct {
				Name        string `json:"name,omitempty"`
				DisplayName string `json:"displayName,omitempty"`
			} `json:"actorGroup,omitempty"`
			ActorUser struct {
				AccountID string `json:"accountId,omitempty"`
			} `json:"actorUser,omitempty"`
		} `json:"actors,omitempty"`
		Scope struct {
			Type    string `json:"type,omitempty"`
			Project struct {
				ID   string `json:"id,omitempty"`
				Key  string `json:"key,omitempty"`
				Name string `json:"name,omitempty"`
			} `json:"project,omitempty"`
		} `json:"scope,omitempty"`
	} `json:"role,omitempty"`
	Group struct {
		Name string `json:"name,omitempty"`
		Self string `json:"self,omitempty"`
	} `json:"group,omitempty"`
}

type SharePermissionGroupScheme

type SharePermissionGroupScheme struct {
	Name string `json:"name,omitempty"`
}

type SharePermissionProjectScheme

type SharePermissionProjectScheme struct {
	ID        string `json:"id,omitempty"`
	Email     string `json:"email,omitempty"`
	Favourite bool   `json:"favourite,omitempty"`
}

type SharePermissionRoleScheme

type SharePermissionRoleScheme struct {
	Name            string `json:"name,omitempty"`
	TranslatedName  string `json:"translatedName,omitempty"`
	CurrentUserRole bool   `json:"currentUserRole,omitempty"`
}

type SharePermissionScheme

type SharePermissionScheme struct {
	Type    string                        `json:"type"`
	Project *SharePermissionProjectScheme `json:"project,omitempty"`
	Role    *SharePermissionRoleScheme    `json:"role,omitempty"`
	Group   *SharePermissionGroupScheme   `json:"group,omitempty"`
}

type TaskScheme

type TaskScheme struct {
	Self           string `json:"self"`
	ID             string `json:"id"`
	Description    string `json:"description"`
	Status         string `json:"status"`
	Result         string `json:"result"`
	SubmittedBy    int    `json:"submittedBy"`
	Progress       int    `json:"progress"`
	ElapsedRuntime int    `json:"elapsedRuntime"`
	Submitted      int64  `json:"submitted"`
	Started        int64  `json:"started"`
	Finished       int64  `json:"finished"`
	LastUpdate     int64  `json:"lastUpdate"`
}

type TaskService

type TaskService struct {
	// contains filtered or unexported fields
}

func (*TaskService) Cancel

func (t *TaskService) Cancel(ctx context.Context, taskID string) (response *Response, err error)

Cancels a task. Docs: https://app.gitbook.com/@ctreminiom/s/go-atlassian/jira-software-cloud/tasks#cancel-task

func (*TaskService) Get

func (t *TaskService) Get(ctx context.Context, taskID string) (result *TaskScheme, response *Response, err error)

Returns the status of a long-running asynchronous task. When a task has finished, this operation returns the JSON blob applicable to the task. See the documentation of the operation that created the task for details. Task details are not permanently retained. As of September 2019, details are retained for 14 days although this period may change without notice. Docs: https://docs.go-atlassian.io/jira-software-cloud/tasks#get-task

type UserApplicationRoleItemsScheme

type UserApplicationRoleItemsScheme struct {
	Key                  string   `json:"key,omitempty"`
	Groups               []string `json:"groups,omitempty"`
	Name                 string   `json:"name,omitempty"`
	DefaultGroups        []string `json:"defaultGroups,omitempty"`
	SelectedByDefault    bool     `json:"selectedByDefault,omitempty"`
	Defined              bool     `json:"defined,omitempty"`
	NumberOfSeats        int      `json:"numberOfSeats,omitempty"`
	RemainingSeats       int      `json:"remainingSeats,omitempty"`
	UserCount            int      `json:"userCount,omitempty"`
	UserCountDescription string   `json:"userCountDescription,omitempty"`
	HasUnlimitedSeats    bool     `json:"hasUnlimitedSeats,omitempty"`
	Platform             bool     `json:"platform,omitempty"`
}

type UserApplicationRolesScheme

type UserApplicationRolesScheme struct {
	Size       int                               `json:"size,omitempty"`
	Items      []*UserApplicationRoleItemsScheme `json:"items,omitempty"`
	MaxResults int                               `json:"max-results,omitempty"`
}

type UserGroupScheme

type UserGroupScheme struct {
	Name string `json:"name,omitempty"`
	Self string `json:"self,omitempty"`
}

type UserGroupsScheme

type UserGroupsScheme struct {
	Size       int                `json:"size,omitempty"`
	Items      []*UserGroupScheme `json:"items,omitempty"`
	MaxResults int                `json:"max-results,omitempty"`
}

type UserPayloadScheme

type UserPayloadScheme struct {
	Password     string `json:"password,omitempty"`
	EmailAddress string `json:"emailAddress" validate:"required"`
	DisplayName  string `json:"displayName" validate:"required"`
	Notification bool   `json:"notification,omitempty"`
}

type UserScheme

type UserScheme struct {
	Self             string                      `json:"self,omitempty"`
	Key              string                      `json:"key,omitempty"`
	AccountID        string                      `json:"accountId,omitempty"`
	AccountType      string                      `json:"accountType,omitempty"`
	Name             string                      `json:"name,omitempty"`
	EmailAddress     string                      `json:"emailAddress,omitempty"`
	AvatarUrls       *AvatarURLScheme            `json:"avatarUrls,omitempty"`
	DisplayName      string                      `json:"displayName,omitempty"`
	Active           bool                        `json:"active,omitempty"`
	TimeZone         string                      `json:"timeZone,omitempty"`
	Locale           string                      `json:"locale,omitempty"`
	Groups           *UserGroupsScheme           `json:"groups,omitempty"`
	ApplicationRoles *UserApplicationRolesScheme `json:"applicationRoles,omitempty"`
	Expand           string                      `json:"expand,omitempty"`
}

type UserSearchPageScheme

type UserSearchPageScheme struct {
	MaxResults int           `json:"maxResults,omitempty"`
	StartAt    int           `json:"startAt,omitempty"`
	Total      int           `json:"total,omitempty"`
	IsLast     bool          `json:"isLast,omitempty"`
	Values     []*UserScheme `json:"values,omitempty"`
}

type UserSearchService

type UserSearchService struct {
	// contains filtered or unexported fields
}

func (*UserSearchService) Do

func (u *UserSearchService) Do(ctx context.Context, accountID, query string, startAt, maxResults int) (result *[]UserScheme, response *Response, err error)

Returns a list of users that match the search string and property. This operation takes the users in the range defined by startAt and maxResults, up to the thousandth user, and then returns only the users from that range that match the search string and property. This means the operation usually returns fewer users than specified in maxResults Docs: https://docs.go-atlassian.io/jira-software-cloud/users/search#find-users

func (*UserSearchService) Projects

func (u *UserSearchService) Projects(ctx context.Context, accountID string, projectKeys []string, startAt, maxResults int) (result *[]UserScheme, response *Response, err error)

Returns a list of users who can be assigned issues in one or more projects. The list may be restricted to users whose attributes match a string. Docs: https://docs.go-atlassian.io/jira-software-cloud/users/search#find-users-assignable-to-projects

type UserService

type UserService struct {
	Search *UserSearchService
	// contains filtered or unexported fields
}

func (*UserService) Create

func (u *UserService) Create(ctx context.Context, payload *UserPayloadScheme) (result *UserScheme, response *Response, err error)

Creates a user. This resource is retained for legacy compatibility. As soon as a more suitable alternative is available this resource will be deprecated. The option is provided to set or generate a password for the user. When using the option to generate a password, by omitting password from the request, include "notification": "true" to ensure the user is sent an email advising them that their account is created. This email includes a link for the user to set their password. If the notification isn't sent for a generated password, the user will need to be sent a reset password request from Jira. Docs: https://docs.go-atlassian.io/jira-software-cloud/users#create-user

func (*UserService) Delete

func (u *UserService) Delete(ctx context.Context, accountID string) (response *Response, err error)

Deletes a user. Docs: https://docs.go-atlassian.io/jira-software-cloud/users#delete-user

func (*UserService) Find

func (u *UserService) Find(ctx context.Context, accountIDs []string, startAt, maxResults int) (result *UserSearchPageScheme, response *Response, err error)

Returns a paginated list of the users specified by one or more account IDs. Docs: https://docs.go-atlassian.io/jira-software-cloud/users#bulk-get-users

func (*UserService) Get

func (u *UserService) Get(ctx context.Context, accountID string, expands []string) (result *UserScheme, response *Response, err error)

Returns a user. Docs: https://docs.go-atlassian.io/jira-software-cloud/users#get-user

func (*UserService) Gets

func (u *UserService) Gets(ctx context.Context, startAt, maxResults int) (result *[]UserScheme, response *Response, err error)

Returns a list of all (active and inactive) users. Docs: https://docs.go-atlassian.io/jira-software-cloud/users#get-all-users

func (*UserService) Groups

func (u *UserService) Groups(ctx context.Context, accountID string) (result *[]UserGroupScheme, response *Response, err error)

Returns the groups to which a user belongs. Docs: https://docs.go-atlassian.io/jira-software-cloud/users#get-user-groups

type VersionIssueCountCustomFieldUsageScheme

type VersionIssueCountCustomFieldUsageScheme struct {
	FieldName                          string `json:"fieldName,omitempty"`
	CustomFieldID                      int    `json:"customFieldId,omitempty"`
	IssueCountWithVersionInCustomField int    `json:"issueCountWithVersionInCustomField,omitempty"`
}

type VersionIssueCountsScheme

type VersionIssueCountsScheme struct {
	Self                                     string                                     `json:"self,omitempty"`
	IssuesFixedCount                         int                                        `json:"issuesFixedCount,omitempty"`
	IssuesAffectedCount                      int                                        `json:"issuesAffectedCount,omitempty"`
	IssueCountWithCustomFieldsShowingVersion int                                        `json:"issueCountWithCustomFieldsShowingVersion,omitempty"`
	CustomFieldUsage                         []*VersionIssueCountCustomFieldUsageScheme `json:"customFieldUsage,omitempty"`
}

type VersionUnresolvedIssuesCountScheme

type VersionUnresolvedIssuesCountScheme struct {
	Self                  string `json:"self"`
	IssuesUnresolvedCount int    `json:"issuesUnresolvedCount"`
	IssuesCount           int    `json:"issuesCount"`
}

type VoteService

type VoteService struct {
	// contains filtered or unexported fields
}

func (*VoteService) Add

func (v *VoteService) Add(ctx context.Context, issueKeyOrID string) (response *Response, err error)

Adds the user's vote to an issue. This is the equivalent of the user clicking Vote on an issue in Jira. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/vote#add-vote

func (*VoteService) Delete

func (v *VoteService) Delete(ctx context.Context, issueKeyOrID string) (response *Response, err error)

Deletes a user's vote from an issue. This is the equivalent of the user clicking Unvote on an issue in Jira. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/vote#delete-vote

func (*VoteService) Gets

func (v *VoteService) Gets(ctx context.Context, issueKeyOrID string) (result *IssueVoteScheme, response *Response, err error)

Returns details about the votes on an issue. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/vote#get-votes

type WatcherService

type WatcherService struct {
	// contains filtered or unexported fields
}

func (*WatcherService) Add

func (w *WatcherService) Add(ctx context.Context, issueKeyOrID string) (response *Response, err error)

Adds a user as a watcher of an issue by passing the account ID of the user. For example, "5b10ac8d82e05b22cc7d4ef5". If no user is specified the calling user is added. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/watcher#add-watcher

func (*WatcherService) Delete

func (w *WatcherService) Delete(ctx context.Context, issueKeyOrID, accountID string) (response *Response, err error)

Deletes a user as a watcher of an issue. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/watcher#delete-watcher

func (*WatcherService) Get

func (w *WatcherService) Get(ctx context.Context, issueKeyOrID string) (result *IssueWatcherScheme, response *Response, err error)

Returns the watchers for an issue. Docs: https://docs.go-atlassian.io/jira-software-cloud/issues/watcher#get-issue-watchers

Jump to

Keyboard shortcuts

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