jira

package
v1.1.5 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2021 License: MIT Imports: 18 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
}

This service represents the Jira Cloud application roles Use it to get details of an application role or all application roles. Docs: https://docs.go-atlassian.io/jira-software-cloud/application-roles

func (*ApplicationRoleService) Get ¶

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

Returns an application role, this func needs the following parameters: 1. ctx = it's the context.context value 2. key = The key of the application role, use Gets() method to get the key for each application role. Docs: https://docs.go-atlassian.io/jira-software-cloud/application-roles#get-application-role

func (*ApplicationRoleService) Gets ¶

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

Returns all application roles, this func needs the following parameters: 1. ctx = it's the context.context value Docs: https://docs.go-atlassian.io/jira-software-cloud/application-roles#get-all-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 AuditRecordAssociatedItemScheme ¶ added in v1.1.5

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

type AuditRecordChangedValueScheme ¶ added in v1.1.5

type AuditRecordChangedValueScheme struct {
	FieldName   string `json:"fieldName,omitempty"`
	ChangedFrom string `json:"changedFrom,omitempty"`
	ChangedTo   string `json:"changedTo,omitempty"`
}

type AuditRecordGetOptions ¶

type AuditRecordGetOptions struct {
	Filter   string
	From, To time.Time
}

type AuditRecordObjectItemScheme ¶ added in v1.1.5

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

type AuditRecordPageScheme ¶ added in v1.1.5

type AuditRecordPageScheme struct {
	Offset  int                  `json:"offset,omitempty"`
	Limit   int                  `json:"limit,omitempty"`
	Total   int                  `json:"total,omitempty"`
	Records []*AuditRecordScheme `json:"records,omitempty"`
}

type AuditRecordScheme ¶

type AuditRecordScheme 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      *AuditRecordObjectItemScheme       `json:"objectItem,omitempty"`
	ChangedValues   []*AuditRecordChangedValueScheme   `json:"changedValues,omitempty"`
	AssociatedItems []*AuditRecordAssociatedItemScheme `json:"associatedItems,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 *AuditRecordPageScheme, 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

	//Service Management Module
	ServiceManagement *sm.Client
}

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 CommentNodeScheme ¶ added in v1.1.1

type CommentNodeScheme struct {
	Version int                    `json:"version,omitempty"`
	Type    string                 `json:"type,omitempty"`
	Content []*CommentNodeScheme   `json:"content,omitempty"`
	Text    string                 `json:"text,omitempty"`
	Attrs   map[string]interface{} `json:"attrs,omitempty"`
	Marks   []*MarkScheme          `json:"marks,omitempty"`
}

func (*CommentNodeScheme) AppendNode ¶ added in v1.1.1

func (n *CommentNodeScheme) AppendNode(node *CommentNodeScheme)

type CommentPayloadScheme ¶ added in v1.1.5

type CommentPayloadScheme struct {
	Visibility *CommentVisibilityScheme `json:"visibility,omitempty"`
	Body       *CommentNodeScheme       `json:"body,omitempty"`
}

type CommentService ¶

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

func (*CommentService) Add ¶ added in v1.1.1

func (c *CommentService) Add(ctx context.Context, issueKeyOrID string, payload *CommentPayloadScheme, expands []string) (result *IssueCommentScheme, response *Response, err error)

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 *IssueCommentScheme, 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 *IssueCommentPageScheme, response *Response, err error)

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

type CommentVisibilityScheme ¶ added in v1.1.5

type CommentVisibilityScheme struct {
	Type  string `json:"type,omitempty"`
	Value string `json:"value,omitempty"`
}

type CustomFieldContextOptionPageScheme ¶ added in v1.1.5

type CustomFieldContextOptionPageScheme 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     []*CustomFieldContextOptionScheme `json:"values,omitempty"`
}

type CustomFieldContextOptionScheme ¶ added in v1.1.5

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

type CustomFieldContextPageScheme ¶ added in v1.1.5

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

type CustomFieldDefaultValuePageScheme ¶ added in v1.1.5

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

type CustomFieldDefaultValueScheme ¶ added in v1.1.5

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

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 DashboardPageScheme ¶ added in v1.1.5

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

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"`
		Rank             int                      `json:"rank"`
	} `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 *DashboardPageScheme, 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-all-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 EventNotificationScheme ¶ added in v1.1.5

type EventNotificationScheme struct {
	Expand           string             `json:"expand,omitempty"`
	ID               int                `json:"id,omitempty"`
	NotificationType string             `json:"notificationType,omitempty"`
	Parameter        string             `json:"parameter,omitempty"`
	EmailAddress     string             `json:"emailAddress,omitempty"`
	Group            *GroupScheme       `json:"group,omitempty"`
	Field            *IssueFieldScheme  `json:"field,omitempty"`
	ProjectRole      *ProjectRoleScheme `json:"projectRole,omitempty"`
	User             *UserScheme        `json:"user,omitempty"`
}

type FieldConfigScheme ¶

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

type FieldConfigSearchScheme ¶

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

type FieldConfigurationIssueTypeItemPageScheme ¶ added in v1.1.5

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

type FieldConfigurationIssueTypeItemScheme ¶ added in v1.1.5

type FieldConfigurationIssueTypeItemScheme struct {
	FieldConfigurationSchemeID string `json:"fieldConfigurationSchemeId,omitempty"`
	IssueTypeID                string `json:"issueTypeId,omitempty"`
	FieldConfigurationID       string `json:"fieldConfigurationId,omitempty"`
}

type FieldConfigurationItemPageScheme ¶ added in v1.1.5

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

type FieldConfigurationItemScheme ¶ added in v1.1.5

type FieldConfigurationItemScheme struct {
	ID          string `json:"id,omitempty"`
	IsHidden    bool   `json:"isHidden,omitempty"`
	IsRequired  bool   `json:"isRequired,omitempty"`
	Description string `json:"description,omitempty"`
}

type FieldConfigurationSchemePageScheme ¶ added in v1.1.5

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

type FieldConfigurationSchemeProjectPageScheme ¶ added in v1.1.5

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

type FieldConfigurationSchemeProjectScheme ¶ added in v1.1.5

type FieldConfigurationSchemeProjectScheme struct {
	ProjectIds               []string                        `json:"projectIds,omitempty"`
	FieldConfigurationScheme *FieldConfigurationSchemeScheme `json:"fieldConfigurationScheme,omitempty"`
}

type FieldConfigurationSchemeScheme ¶ added in v1.1.5

type FieldConfigurationSchemeScheme struct {
	ID          string `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
}

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 *FieldConfigurationIssueTypeItemPageScheme, 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, fieldConfigurationID, startAt, maxResults int) (result *FieldConfigurationItemPageScheme, 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 *FieldConfigurationSchemePageScheme, 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 *FieldConfigurationSchemeProjectPageScheme, 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 []*CustomFieldDefaultValueScheme `json:"defaultValues,omitempty"`
}

type FieldContextOptionListScheme ¶

type FieldContextOptionListScheme struct {
	Options []*CustomFieldContextOptionScheme `json:"options,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,omitempty"`
	Name            string   `json:"name,omitempty"`
	Description     string   `json:"description,omitempty"`
	IsGlobalContext bool     `json:"isGlobalContext,omitempty"`
	IsAnyIssueType  bool     `json:"isAnyIssueType,omitempty"`
	ProjectIds      []string `json:"projectIds,omitempty"`
	IssueTypeIds    []string `json:"issueTypeIds,omitempty"`
}

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 *CustomFieldDefaultValuePageScheme, 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 *CustomFieldContextPageScheme, 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, payload *FieldContextDefaultPayloadScheme) (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 FieldOptionContextParams ¶

type FieldOptionContextParams struct {
	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 *FieldContextOptionListScheme) (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, fieldID string, contextID int, opts *FieldOptionContextParams, startAt, maxResults int) (result *CustomFieldContextOptionPageScheme, 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 *FieldContextOptionListScheme) (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 FieldSearchOptionsScheme ¶

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

type FieldSearchScheme ¶

type FieldSearchScheme struct {
	MaxResults int                 `json:"maxResults,omitempty"`
	StartAt    int                 `json:"startAt,omitempty"`
	Total      int                 `json:"total,omitempty"`
	IsLast     bool                `json:"isLast,omitempty"`
	Values     []*IssueFieldScheme `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 *IssueFieldScheme, 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 *[]IssueFieldScheme, 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"`
	SharePermissions []*SharePermissionScheme `json:"sharePermissions,omitempty"`
}

type FilterPageNodeScheme ¶ added in v1.1.5

type FilterPageNodeScheme struct {
	Self             string                   `json:"self,omitempty"`
	ID               string                   `json:"id,omitempty"`
	Name             string                   `json:"name,omitempty"`
	Owner            *UserScheme              `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 []*SharePermissionScheme `json:"sharePermissions,omitempty"`
	ShareUsers       *FilterUsersScheme       `json:"sharedUsers,omitempty"`
	Subscriptions    *[]FilterUsersScheme     `json:"subscriptions,omitempty"`
}

type FilterPageScheme ¶ added in v1.1.5

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

type FilterScheme ¶

type FilterScheme struct {
	Self             string                        `json:"self,omitempty"`
	ID               string                        `json:"id,omitempty"`
	Name             string                        `json:"name,omitempty"`
	Owner            *UserScheme                   `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 []*SharePermissionScheme      `json:"sharePermissions,omitempty"`
	ShareUsers       *FilterUsersScheme            `json:"sharedUsers,omitempty"`
	Subscriptions    *FilterSubscriptionPageScheme `json:"subscriptions,omitempty"`
}

type FilterSearchOptionScheme ¶

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

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 *FilterPageScheme, 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 *[]SharePermissionScheme, 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 *SharePermissionScheme, 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 *[]SharePermissionScheme, 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 FilterSubscriptionPageScheme ¶ added in v1.1.5

type FilterSubscriptionPageScheme struct {
	Size       int                         `json:"size,omitempty"`
	Items      []*FilterSubscriptionScheme `json:"items,omitempty"`
	MaxResults int                         `json:"max-results,omitempty"`
	StartIndex int                         `json:"start-index,omitempty"`
	EndIndex   int                         `json:"end-index,omitempty"`
}

type FilterSubscriptionScheme ¶ added in v1.1.5

type FilterSubscriptionScheme struct {
	ID    int          `json:"id,omitempty"`
	User  *UserScheme  `json:"user,omitempty"`
	Group *GroupScheme `json:"group,omitempty"`
}

type FilterUsersScheme ¶ added in v1.1.5

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

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 GroupMemberPageScheme ¶ added in v1.1.5

type GroupMemberPageScheme 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     []*GroupMemberScheme `json:"values,omitempty"`
}

type GroupMemberScheme ¶ added in v1.1.5

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

type GroupScheme ¶

type GroupScheme struct {
	Name   string               `json:"name,omitempty"`
	Self   string               `json:"self,omitempty"`
	Users  *GroupUserPageScheme `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 *GroupMemberPageScheme, 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 GroupUserPageScheme ¶ added in v1.1.5

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

type IssueBulkResponseScheme ¶ added in v1.1.5

type IssueBulkResponseScheme 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 IssueBulkScheme ¶

type IssueBulkScheme struct {
	Payload      *IssueScheme
	CustomFields *CustomFields
}

type IssueChangelogHistoryItemScheme ¶

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

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 IssueCommentPageScheme ¶ added in v1.1.5

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

type IssueCommentScheme ¶

type IssueCommentScheme struct {
	Self         string      `json:"self,omitempty"`
	ID           string      `json:"id,omitempty"`
	Author       *UserScheme `json:"author,omitempty"`
	RenderedBody string      `json:"renderedBody,omitempty"`
	Body         struct {
		Version int    `json:"version,omitempty"`
		Type    string `json:"type,omitempty"`
		Content []struct {
			Type    string `json:"type,omitempty"`
			Content []struct {
				Type string `json:"type,omitempty"`
				Text string `json:"text,omitempty"`
			} `json:"content,omitempty"`
		} `json:"content,omitempty"`
	} `json:"body,omitempty"`
	JSDPublic    bool        `json:"jsdPublic,omitempty"`
	UpdateAuthor *UserScheme `json:"updateAuthor,omitempty"`
	Created      string      `json:"created,omitempty"`
	Updated      string      `json:"updated,omitempty"`
	Visibility   struct {
		Type  string `json:"type,omitempty"`
		Value string `json:"value,omitempty"`
	} `json:"visibility,omitempty"`
	Properties []struct {
		Key string `json:"key,omitempty"`
	} `json:"properties,omitempty"`
}

type IssueDetailScheme ¶ added in v1.1.5

type IssueDetailScheme 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 {
		One6X16   string `json:"16x16,omitempty"`
		Two4X24   string `json:"24x24,omitempty"`
		Three2X32 string `json:"32x32,omitempty"`
		Four8X48  string `json:"48x48,omitempty"`
	} `json:"avatarUrls,omitempty"`
	DisplayName string `json:"displayName,omitempty"`
	Active      bool   `json:"active,omitempty"`
	TimeZone    string `json:"timeZone,omitempty"`
	AccountType string `json:"accountType,omitempty"`
}

type IssueFieldLastUsedScheme ¶ added in v1.1.5

type IssueFieldLastUsedScheme struct {
	Type  string `json:"type,omitempty"`
	Value string `json:"value,omitempty"`
}

type IssueFieldSchemaScheme ¶ added in v1.1.5

type IssueFieldSchemaScheme struct {
	Type     string `json:"type,omitempty"`
	Items    string `json:"items,omitempty"`
	System   string `json:"system,omitempty"`
	Custom   string `json:"custom,omitempty"`
	CustomID int    `json:"customId,omitempty"`
}

type IssueFieldScheme ¶ added in v1.1.5

type IssueFieldScheme struct {
	ID            string                         `json:"id,omitempty"`
	Key           string                         `json:"key,omitempty"`
	Name          string                         `json:"name,omitempty"`
	Custom        bool                           `json:"custom,omitempty"`
	Orderable     bool                           `json:"orderable,omitempty"`
	Navigable     bool                           `json:"navigable,omitempty"`
	Searchable    bool                           `json:"searchable,omitempty"`
	ClauseNames   []string                       `json:"clauseNames,omitempty"`
	Scope         *TeamManagedProjectScopeScheme `json:"scope,omitempty"`
	Schema        *IssueFieldSchemaScheme        `json:"schema,omitempty"`
	Description   string                         `json:"description,omitempty"`
	IsLocked      bool                           `json:"isLocked,omitempty"`
	SearcherKey   string                         `json:"searcherKey,omitempty"`
	ScreensCount  int                            `json:"screensCount,omitempty"`
	ContextsCount int                            `json:"contextsCount,omitempty"`
	LastUsed      *IssueFieldLastUsedScheme      `json:"lastUsed,omitempty"`
}

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 IssueLinkPageScheme ¶ added in v1.1.5

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

type IssueLinkScheme ¶

type IssueLinkScheme struct {
	ID           string             `json:"id,omitempty"`
	Type         *LinkTypeScheme    `json:"type,omitempty"`
	InwardIssue  *LinkedIssueScheme `json:"inwardIssue,omitempty"`
	OutwardIssue *LinkedIssueScheme `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, payload *LinkPayloadScheme) (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 *IssueLinkPageScheme, 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 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 []*LinkTypeScheme `json:"issueLinkTypes,omitempty"`
}

type IssueLinkTypeService ¶

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

func (*IssueLinkTypeService) Create ¶

func (i *IssueLinkTypeService) Create(ctx context.Context, payload *LinkTypeScheme) (result *LinkTypeScheme, 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 *LinkTypeScheme, 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 *LinkTypeScheme) (result *LinkTypeScheme, 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 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 IssueResponseScheme ¶ added in v1.1.5

type IssueResponseScheme struct {
	ID         string `json:"id"`
	Key        string `json:"key"`
	Self       string `json:"self"`
	Transition struct {
		Status          int `json:"status"`
		ErrorCollection struct {
			ErrorMessages []string `json:"errorMessages"`
			Errors        struct {
			} `json:"errors"`
			Status int `json:"status"`
		} `json:"errorCollection"`
	} `json:"transition"`
}

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) MergeCustomFields ¶ added in v1.1.4

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

func (*IssueScheme) MergeOperations ¶ added in v1.1.4

func (i *IssueScheme) MergeOperations(operations *UpdateOperations) (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 *IssueResponseScheme, 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 *IssueBulkResponseScheme, 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, operations *UpdateOperations) (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,omitempty"`
	Name          string              `json:"name,omitempty"`
	To            *TransitionToScheme `json:"to,omitempty"`
	HasScreen     bool                `json:"hasScreen,omitempty"`
	IsGlobal      bool                `json:"isGlobal,omitempty"`
	IsInitial     bool                `json:"isInitial,omitempty"`
	IsAvailable   bool                `json:"isAvailable,omitempty"`
	IsConditional bool                `json:"isConditional,omitempty"`
	IsLooped      bool                `json:"isLooped,omitempty"`
}

type IssueTransitionsScheme ¶

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

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 IssueTypeProjectScreenSchemePageScheme ¶ added in v1.1.3

type IssueTypeProjectScreenSchemePageScheme 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     []*IssueTypeScreenSchemesProjectScheme `json:"values,omitempty"`
}

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"`
	HierarchyLevel int                   `json:"hierarchyLevel,omitempty"`
	Scope          *IssueTypeScopeScheme `json:"scope,omitempty"`
}

type IssueTypeSchemeItemPageScheme ¶ added in v1.1.5

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

type IssueTypeSchemeMappingScheme ¶ added in v1.1.5

type IssueTypeSchemeMappingScheme struct {
	IssueTypeSchemeID string `json:"issueTypeSchemeId,omitempty"`
	IssueTypeID       string `json:"issueTypeId,omitempty"`
}

type IssueTypeSchemePageScheme ¶ added in v1.1.5

type IssueTypeSchemePageScheme 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     []*IssueTypeSchemeScheme `json:"values,omitempty"`
}

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 IssueTypeSchemeProjectsScheme ¶ added in v1.1.5

type IssueTypeSchemeProjectsScheme struct {
	IssueTypeScheme *IssueTypeSchemeScheme `json:"issueTypeScheme,omitempty"`
	ProjectIds      []string               `json:"projectIds,omitempty"`
}

type IssueTypeSchemeScheme ¶ added in v1.1.5

type IssueTypeSchemeScheme struct {
	ID                 string `json:"id,omitempty"`
	Name               string `json:"name,omitempty"`
	Description        string `json:"description,omitempty"`
	DefaultIssueTypeID string `json:"defaultIssueTypeId,omitempty"`
	IsDefault          bool   `json:"isDefault,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 *IssueTypeSchemePageScheme, 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 *IssueTypeSchemeItemPageScheme, 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 *ProjectIssueTypeSchemePageScheme, 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 IssueTypeScopeScheme ¶

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

type IssueTypeScreenSchemeItemScheme ¶ added in v1.1.5

type IssueTypeScreenSchemeItemScheme struct {
	IssueTypeScreenSchemeID string `json:"issueTypeScreenSchemeId,omitempty"`
	IssueTypeID             string `json:"issueTypeId,omitempty"`
	ScreenSchemeID          string `json:"screenSchemeId,omitempty"`
}

type IssueTypeScreenSchemeMappingPayloadScheme ¶

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

type IssueTypeScreenSchemeMappingScheme ¶ added in v1.1.5

type IssueTypeScreenSchemeMappingScheme 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     []*IssueTypeScreenSchemeItemScheme `json:"values,omitempty"`
}

type IssueTypeScreenSchemePageScheme ¶ added in v1.1.3

type IssueTypeScreenSchemePageScheme 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     []*IssueTypeScreenSchemeScheme `json:"values,omitempty"`
}

type IssueTypeScreenSchemePayloadScheme ¶

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

type IssueTypeScreenSchemeScheme ¶ added in v1.1.5

type IssueTypeScreenSchemeScheme struct {
	ID          string `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
}

type IssueTypeScreenSchemeService ¶

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

func (*IssueTypeScreenSchemeService) Append ¶

func (i *IssueTypeScreenSchemeService) Append(ctx context.Context, issueTypeScreenSchemeID string, payload *IssueTypeScreenSchemePayloadScheme) (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 *IssueTypeScreenSchemePageScheme, 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) Mapping ¶ added in v1.1.3

func (i *IssueTypeScreenSchemeService) Mapping(ctx context.Context, issueTypeScreenSchemeIDs []int, startAt, maxResults int) (result *IssueTypeScreenSchemeMappingScheme, response *Response, err error)

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

func (*IssueTypeScreenSchemeService) Projects ¶ added in v1.1.3

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

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

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 IssueTypeScreenSchemesProjectScheme ¶ added in v1.1.5

type IssueTypeScreenSchemesProjectScheme struct {
	IssueTypeScreenScheme *IssueTypeScreenSchemeScheme `json:"issueTypeScreenScheme,omitempty"`
	ProjectIds            []string                     `json:"projectIds,omitempty"`
}

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   []*UserScheme `json:"voters,omitempty"`
}

type IssueWatcherScheme ¶

type IssueWatcherScheme struct {
	Self       string               `json:"self,omitempty"`
	IsWatching bool                 `json:"isWatching,omitempty"`
	WatchCount int                  `json:"watchCount,omitempty"`
	Watchers   []*IssueDetailScheme `json:"watchers,omitempty"`
}

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 LinkPayloadScheme ¶ added in v1.1.5

type LinkPayloadScheme struct {
	Comment      *CommentPayloadScheme `json:"comment,omitempty"`
	InwardIssue  *LinkedIssueScheme    `json:"inwardIssue,omitempty"`
	OutwardIssue *LinkedIssueScheme    `json:"outwardIssue,omitempty"`
	Type         *LinkTypeScheme       `json:"type,omitempty"`
}

type LinkTypeScheme ¶ added in v1.1.5

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

type LinkedIssueScheme ¶ added in v1.1.5

type LinkedIssueScheme struct {
	ID     string             `json:"id,omitempty"`
	Key    string             `json:"key,omitempty"`
	Self   string             `json:"self,omitempty"`
	Fields *IssueFieldsScheme `json:"fields,omitempty"`
}

type MarkScheme ¶ added in v1.1.1

type MarkScheme struct {
	Type  string                 `json:"type,omitempty"`
	Attrs map[string]interface{} `json:"attrs,omitempty"`
}

type NewProjectCreatedScheme ¶

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

type NotificationEventScheme ¶ added in v1.1.5

type NotificationEventScheme struct {
	ID            int                      `json:"id,omitempty"`
	Name          string                   `json:"name,omitempty"`
	Description   string                   `json:"description,omitempty"`
	TemplateEvent *NotificationEventScheme `json:"templateEvent,omitempty"`
}

type NotificationSchemeScheme ¶

type NotificationSchemeScheme struct {
	Expand                   string                                  `json:"expand,omitempty"`
	ID                       int                                     `json:"id,omitempty"`
	Self                     string                                  `json:"self,omitempty"`
	Name                     string                                  `json:"name,omitempty"`
	Description              string                                  `json:"description,omitempty"`
	NotificationSchemeEvents []*ProjectNotificationSchemeEventScheme `json:"notificationSchemeEvents,omitempty"`
	Scope                    *TeamManagedProjectScopeScheme          `json:"scope,omitempty"`
}

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 PermissionGrantHolderScheme ¶ added in v1.1.5

type PermissionGrantHolderScheme struct {
	Type      string `json:"type,omitempty"`
	Parameter string `json:"parameter,omitempty"`
	Expand    string `json:"expand,omitempty"`
}

type PermissionGrantPayloadScheme ¶

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

type PermissionGrantScheme ¶

type PermissionGrantScheme struct {
	ID         int                          `json:"id,omitempty"`
	Self       string                       `json:"self,omitempty"`
	Holder     *PermissionGrantHolderScheme `json:"holder,omitempty"`
	Permission string                       `json:"permission,omitempty"`
}

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 PermissionSchemeGrantsScheme ¶

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

type PermissionSchemePageScheme ¶ added in v1.1.5

type PermissionSchemePageScheme struct {
	PermissionSchemes []*PermissionSchemeScheme `json:"permissionSchemes,omitempty"`
}

type PermissionSchemeScheme ¶ added in v1.1.5

type PermissionSchemeScheme struct {
	Expand      string                         `json:"expand,omitempty"`
	ID          int                            `json:"id,omitempty"`
	Self        string                         `json:"self,omitempty"`
	Name        string                         `json:"name,omitempty"`
	Description string                         `json:"description,omitempty"`
	Permissions []*PermissionGrantScheme       `json:"permissions,omitempty"`
	Scope       *TeamManagedProjectScopeScheme `json:"scope,omitempty"`
}

type PermissionSchemeService ¶

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

func (*PermissionSchemeService) Create ¶

func (p *PermissionSchemeService) Create(ctx context.Context, payload *PermissionSchemeScheme) (result *PermissionSchemeScheme, 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 *PermissionSchemeScheme, 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 *PermissionSchemePageScheme, 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, payload *PermissionSchemeScheme) (result *PermissionSchemeScheme, 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 PermissionScopeItemScheme ¶ added in v1.1.5

type PermissionScopeItemScheme struct {
	Self            string                 `json:"self,omitempty"`
	ID              string                 `json:"id,omitempty"`
	Key             string                 `json:"key,omitempty"`
	Name            string                 `json:"name,omitempty"`
	ProjectTypeKey  string                 `json:"projectTypeKey,omitempty"`
	Simplified      bool                   `json:"simplified,omitempty"`
	ProjectCategory *ProjectCategoryScheme `json:"projectCategory,omitempty"`
}

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"`
	LeadUserName        string      `json:"leadUserName,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 ProjectIssueTypeSchemePageScheme ¶ added in v1.1.5

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

type ProjectNotificationSchemeEventScheme ¶ added in v1.1.5

type ProjectNotificationSchemeEventScheme struct {
	Event         *NotificationEventScheme   `json:"event,omitempty"`
	Notifications []*EventNotificationScheme `json:"notifications,omitempty"`
}

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 ProjectPermissionSchemeService ¶

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

func (*ProjectPermissionSchemeService) Assign ¶

func (p *ProjectPermissionSchemeService) Assign(ctx context.Context, projectKeyOrID string, permissionSchemeID int) (result *PermissionSchemeScheme, 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 *PermissionSchemeScheme, response *Response, err error)

Search 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,omitempty"`
	Name             string                         `json:"name,omitempty"`
	ID               int                            `json:"id,omitempty"`
	Description      string                         `json:"description,omitempty"`
	Admin            bool                           `json:"admin,omitempty"`
	Scope            *TeamManagedProjectScopeScheme `json:"scope,omitempty"`
	RoleConfigurable bool                           `json:"roleConfigurable,omitempty"`
	TranslatedName   string                         `json:"translatedName,omitempty"`
	Default          bool                           `json:"default,omitempty"`
}

type ProjectRoleScheme ¶

type ProjectRoleScheme struct {
	Self             string                         `json:"self,omitempty"`
	Name             string                         `json:"name,omitempty"`
	ID               int                            `json:"id,omitempty"`
	Description      string                         `json:"description,omitempty"`
	Actors           []*RoleActorScheme             `json:"actors,omitempty"`
	Scope            *TeamManagedProjectScopeScheme `json:"scope,omitempty"`
	TranslatedName   string                         `json:"translatedName,omitempty"`
	CurrentUserRole  bool                           `json:"currentUserRole,omitempty"`
	Admin            bool                           `json:"admin,omitempty"`
	RoleConfigurable bool                           `json:"roleConfigurable,omitempty"`
	Default          bool                           `json:"default,omitempty"`
}

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"`
	URL               string                    `json:"url,omitempty"`
	Email             string                    `json:"email,omitempty"`
	AssigneeType      string                    `json:"assigneeType,omitempty"`
	Name              string                    `json:"name,omitempty"`
	ProjectTypeKey    string                    `json:"projectTypeKey,omitempty"`
	Simplified        bool                      `json:"simplified,omitempty"`
	Style             string                    `json:"style,omitempty"`
	Favourite         bool                      `json:"favourite,omitempty"`
	IsPrivate         bool                      `json:"isPrivate,omitempty"`
	UUID              string                    `json:"uuid,omitempty"`
	Lead              *UserScheme               `json:"lead,omitempty"`
	Components        []*ProjectComponentScheme `json:"components,omitempty"`
	IssueTypes        []*IssueTypeScheme        `json:"issueTypes,omitempty"`
	Versions          []*ProjectVersionScheme   `json:"versions,omitempty"`
	Roles             *ProjectRolesScheme       `json:"roles,omitempty"`
	AvatarUrls        *AvatarURLScheme          `json:"avatarUrls,omitempty"`
	ProjectKeys       []string                  `json:"projectKeys,omitempty"`
	Insight           *ProjectInsightScheme     `json:"insight,omitempty"`
	Category          *ProjectCategoryScheme    `json:"projectCategory,omitempty"`
	Deleted           bool                      `json:"deleted,omitempty"`
	RetentionTillDate string                    `json:"retentionTillDate,omitempty"`
	DeletedDate       string                    `json:"deletedDate,omitempty"`
	DeletedBy         *UserScheme               `json:"deletedBy,omitempty"`
	Archived          bool                      `json:"archived,omitempty"`
	ArchivedDate      string                    `json:"archivedDate,omitempty"`
	ArchivedBy        *UserScheme               `json:"archivedBy,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,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     []*ProjectScheme `json:"values,omitempty"`
}

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)

Search 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 *[]ProjectStatusPageScheme, 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 ProjectStatusDetailsScheme ¶ added in v1.1.5

type ProjectStatusDetailsScheme 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 *StatusCategoryScheme `json:"statusCategory,omitempty"`
}

type ProjectStatusPageScheme ¶ added in v1.1.5

type ProjectStatusPageScheme struct {
	Self     string                        `json:"self,omitempty"`
	ID       string                        `json:"id,omitempty"`
	Name     string                        `json:"name,omitempty"`
	Subtask  bool                          `json:"subtask,omitempty"`
	Statuses []*ProjectStatusDetailsScheme `json:"statuses,omitempty"`
}

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 RoleActorScheme ¶ added in v1.1.5

type RoleActorScheme struct {
	ID          int    `json:"id,omitempty"`
	DisplayName string `json:"displayName,omitempty"`
	Type        string `json:"type,omitempty"`
	Name        string `json:"name,omitempty"`
	AvatarURL   string `json:"avatarUrl,omitempty"`
	ActorUser   struct {
		AccountID string `json:"accountId,omitempty"`
	} `json:"actorUser,omitempty"`
	ActorGroup *GroupScheme `json:"actorGroup,omitempty"`
}

type ScreenFieldPageScheme ¶ added in v1.1.5

type ScreenFieldPageScheme 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     []*ScreenWithTabScheme `json:"values,omitempty"`
}

type ScreenScheme ¶

type ScreenScheme struct {
	ID          int                            `json:"id,omitempty"`
	Name        string                         `json:"name,omitempty"`
	Description string                         `json:"description,omitempty"`
	Scope       *TeamManagedProjectScopeScheme `json:"scope,omitempty"`
}

type ScreenSchemePageScheme ¶

type ScreenSchemePageScheme 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     []*ScreenSchemeScheme `json:"values,omitempty"`
}

type ScreenSchemePayloadScheme ¶

type ScreenSchemePayloadScheme struct {
	Screens     *ScreenTypesScheme `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                *ScreenTypesScheme         `json:"screens,omitempty"`
	IssueTypeScreenSchemes *IssueTypeSchemePageScheme `json:"issueTypeScreenSchemes,omitempty"`
}

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,omitempty"`
	MaxResults int             `json:"maxResults,omitempty"`
	StartAt    int             `json:"startAt,omitempty"`
	Total      int             `json:"total,omitempty"`
	IsLast     bool            `json:"isLast,omitempty"`
	Values     []*ScreenScheme `json:"values,omitempty"`
}

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) Fields ¶ added in v1.1.5

func (s *ScreenService) Fields(ctx context.Context, fieldID string, startAt, maxResults int) (result *ScreenFieldPageScheme, 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 ScreenTypesScheme ¶ added in v1.1.5

type ScreenTypesScheme struct {
	Create  int `json:"create,omitempty"`
	Default int `json:"default" validate:"required"`
	View    int `json:"view" validate:"required"`
	Edit    int `json:"edit" validate:"required"`
}

type ScreenWithTabScheme ¶ added in v1.1.5

type ScreenWithTabScheme struct {
	ID          int                            `json:"id,omitempty"`
	Name        string                         `json:"name,omitempty"`
	Description string                         `json:"description,omitempty"`
	Scope       *TeamManagedProjectScopeScheme `json:"scope,omitempty"`
	Tab         *ScreenTabScheme               `json:"tab,omitempty"`
}

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 SharePermissionScheme ¶

type SharePermissionScheme struct {
	ID      int                `json:"id,omitempty"`
	Type    string             `json:"type,omitempty"`
	Project *ProjectScheme     `json:"project,omitempty"`
	Role    *ProjectRoleScheme `json:"role,omitempty"`
	Group   *GroupScheme       `json:"group,omitempty"`
}

type StatusCategoryScheme ¶ added in v1.1.5

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

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 TeamManagedProjectScopeScheme ¶ added in v1.1.5

type TeamManagedProjectScopeScheme struct {
	Type    string         `json:"type,omitempty"`
	Project *ProjectScheme `json:"project,omitempty"`
}

type TransitionToScheme ¶ added in v1.1.5

type TransitionToScheme 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 *StatusCategoryScheme `json:"statusCategory,omitempty"`
}

type UpdateOperations ¶ added in v1.1.4

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

func (*UpdateOperations) AddArrayOperation ¶ added in v1.1.4

func (u *UpdateOperations) AddArrayOperation(customFieldID string, mapping map[string]string) (err error)

func (*UpdateOperations) AddStringOperation ¶ added in v1.1.4

func (u *UpdateOperations) AddStringOperation(customFieldID, operation, value string) (err error)

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) Gets ¶ added in v1.1.5

func (w *WatcherService) Gets(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

Directories ¶

Path Synopsis
examples
sm

Jump to

Keyboard shortcuts

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