models

package
v1.6.0 Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2024 License: MIT Imports: 9 Imported by: 33

Documentation

Index

Constants

View Source
const (
	BusinessContentManagementProjectTemplate    = "com.atlassian.jira-core-project-templates:jira-core-simplified-content-management"
	BusinessDocumentApprovalProjectTemplate     = "com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval"
	BusinessLeadTrackingProjectTemplate         = "com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking"
	BusinessProcessControlProjectTemplate       = "com.atlassian.jira-core-project-templates:jira-core-simplified-process-control"
	BusinessProcurementProjectTemplate          = "com.atlassian.jira-core-project-templates:jira-core-simplified-procurement"
	BusinessProjectManagementProjectTemplate    = "com.atlassian.jira-core-project-templates:jira-core-simplified-project-management"
	BusinessRecruitmentProjectTemplate          = "com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment"
	BusinessTaskTrackingProjectTemplate         = "com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking"
	ITSMServiceDeskProjectTemplate              = "com.atlassian.servicedesk:simplified-it-service-desk"
	ITSMInternalServiceDeskProjectTemplate      = "com.atlassian.servicedesk:simplified-internal-service-desk"
	ITSMExternalServiceDeskProjectTemplate      = "com.atlassian.servicedesk:simplified-external-service-desk"
	SoftwareTeamManagedKanbanProjectTemplate    = "com.pyxis.greenhopper.jira:gh-simplified-agility-kanban"
	SoftwareTeamManagedScrumProjectTemplate     = "com.pyxis.greenhopper.jira:gh-simplified-agility-scrum"
	SoftwareCompanyManagedKanbanProjectTemplate = "com.pyxis.greenhopper.jira:gh-simplified-kanban-classic"
	SoftwareCompanyManagedScrumProjectTemplate  = "com.pyxis.greenhopper.jira:gh-simplified-scrum-classic"
)
View Source
const (
	DateFormatJira = "2006-01-02T15:04:05.999-0700"
)

Variables

View Source
var (
	ErrNoSCIMComplexValueError             = errors.New("admin: no scim complex value set")
	ErrNoSCIMValueError                    = errors.New("admin: no scim value set")
	ErrNoSCIMPathError                     = errors.New("admin: no scim path set")
	ErrNoSCIMOperationError                = errors.New("admin: no scim operation value set")
	ErrNoAdminOrganizationError            = errors.New("admin: no organization id set")
	ErrNoAdminDomainIDError                = errors.New("admin: no domain id set")
	ErrNoEventIDError                      = errors.New("admin: no event id set")
	ErrNoAdminPolicyError                  = errors.New("admin: no organization policy id set")
	ErrNoAdminDirectoryIDError             = errors.New("admin: no directory id set")
	ErrNoAdminGroupIDError                 = errors.New("admin: no group id set")
	ErrNoAdminGroupNameError               = errors.New("admin: no group name set")
	ErrNoAdminUserIDError                  = errors.New("admin: no user id set")
	ErrNoAdminAccountIDError               = errors.New("admin: no account id set")
	ErrNoAdminUserTokenError               = errors.New("admin: no user token id set")
	ErrNoCustomerMailError                 = errors.New("sm: no customer mail set")
	ErrNoCustomerDisplayNameError          = errors.New("sm: no customer display name set")
	ErrNoKBQueryError                      = errors.New("sm: no knowledge base query set")
	ErrNoOrganizationNameError             = errors.New("sm: no organization name set")
	ErrNoOrganizationIDError               = errors.New("sm: no organization id set")
	ErrNoCommentBodyError                  = errors.New("sm/jira: no comment body set")
	ErrNoServiceDeskIDError                = errors.New("sm: no service desk id set")
	ErrNoQueueIDError                      = errors.New("sm: no service desk queue id set")
	ErrNoRequestTypeIDError                = errors.New("sm: no request type id set")
	ErrNoFileNameError                     = errors.New("sm: no file name set")
	ErrNoFileReaderError                   = errors.New("sm: no io.Reader set")
	ErrNoCustomRequestFieldsError          = errors.New("sm: no customer request fields set")
	ErrNoSLAMetricIDError                  = errors.New("sm: no sla metric id set")
	ErrNoContentAttachmentIDError          = errors.New("confluence: no attachment id set")
	ErrNoContentAttachmentNameError        = errors.New("confluence: no attachment filename set")
	ErrNoContentReaderError                = errors.New("confluence: no reader set")
	ErrNoContentIDError                    = errors.New("confluence: no content id set")
	ErrNoCustomContentTypeError            = errors.New("confluence: no custom content type set")
	ErrNoCustomContentIDError              = errors.New("confluence: no custom content id set")
	ErrNoPageIDError                       = errors.New("confluence: no page id set")
	ErrNoSpaceIDError                      = errors.New("confluence: no space id set")
	ErrNoTargetIDError                     = errors.New("confluence: no target id set")
	ErrNoPositionError                     = errors.New("confluence: no position set")
	ErrInvalidPositionError                = errors.New("confluence: invalid position: (before, after, append)")
	ValidPositions                         = map[string]bool{"before": true, "after": true, "append": true}
	ErrNoLabelIDError                      = errors.New("confluence: no label id set")
	ErrNoCQLError                          = errors.New("confluence: no CQL query set")
	ErrNoContentTypeError                  = errors.New("confluence: no content type set")
	ErrNoEntityIDError                     = errors.New("confluence: no entity id set")
	ValidEntityValues                      = []string{"blogposts", "custom-content", "labels", "pages"}
	ErrNoEntityValue                       = errors.New("confluence: no valid entity id set")
	ErrInvalidContentTypeError             = errors.New("confluence: invalid content type: (page, comment, attachment)")
	ValidContentTypes                      = []string{"page", "comment", "attachment"}
	ErrNoContentLabelError                 = errors.New("confluence: no content label set")
	ErrNoContentPropertyError              = errors.New("confluence: no content property set")
	ErrNoSpaceNameError                    = errors.New("confluence: no space name set")
	ErrNoSpaceKeyError                     = errors.New("confluence: no space key set")
	ErrNoContentRestrictionKeyError        = errors.New("confluence: no content restriction operation key set")
	ErrNoConfluenceGroupError              = errors.New("confluence: no group id or name set")
	ErrNoLabelNameError                    = errors.New("confluence: no label name set")
	ErrNoBoardIDError                      = errors.New("agile: no board id set")
	ErrNoFilterIDError                     = errors.New("agile: no filter id set")
	ErrNoNotificationSchemeIDError         = errors.New("jira: no notification scheme id set")
	ErrNoNotificationIDError               = errors.New("jira: no notification id set")
	ErrNoEpicIDError                       = errors.New("agile: no epic id set")
	ErrNoSprintIDError                     = errors.New("agile: no sprint id set")
	ErrNoApplicationRoleError              = errors.New("jira: no application role key set")
	ErrNoDashboardIDError                  = errors.New("jira: no dashboard id set")
	ErrNoGroupNameError                    = errors.New("jira: no group name set")
	ErrNoGroupIDError                      = errors.New("jira: no group name set")
	ErrNoGroupsNameError                   = errors.New("jira: no groups names set")
	ErrNoIssueKeyOrIDError                 = errors.New("jira: no issue key/id set")
	ErrNoRemoteLinkIDError                 = errors.New("jira: no remote link id set")
	ErrNoRemoteLinkGlobalIDError           = errors.New("jira: no global remote link id set")
	ErrNoTransitionIDError                 = errors.New("jira: no transition id set")
	ErrNoAttachmentIDError                 = errors.New("jira: no attachment id set")
	ErrNoAttachmentNameError               = errors.New("jira: no attachment filename set")
	ErrNoReaderError                       = errors.New("jira: no reader set")
	ErrNoCommentIDError                    = errors.New("jira: no comment id set")
	ErrNoProjectIDError                    = errors.New("jira: no project id set")
	ErrNoProjectIDOrKeyError               = errors.New("jira: no project id or key set")
	ErrNoProjectRoleIDError                = errors.New("jira: no project role id set")
	ErrNoProjectCategoryIDError            = errors.New("jira: no project category id set")
	ErrNoPropertyKeyError                  = errors.New("jira: no property key set")
	ErrNoProjectFeatureKeyError            = errors.New("jira: no project feature key set")
	ErrNoProjectFeatureStateError          = errors.New("jira: no project state key set")
	ErrNoFieldIDError                      = errors.New("jira: no field id set")
	ErrNoEditOperatorError                 = errors.New("jira: no update operation set")
	ErrNoOperatorError                     = errors.New("jira: no operation set")
	ErrNoEditValueError                    = errors.New("jira: no update operation value set")
	ErrNoCustomFieldError                  = errors.New("jira: no custom-fields set")
	ErrNoCustomFieldIDError                = errors.New("jira: no custom-field id set")
	ErrNoWorkflowStatusesError             = errors.New("jira: no workflow statuses set")
	ErrNoWorkflowScopeError                = errors.New("jira: no workflow scope set")
	ErrNoWorkflowStatusNameOrIdError       = errors.New("jira: no workflow status name or id set")
	ErrNoFieldContextIDError               = errors.New("jira: no field context id set")
	ErrNoIssueTypesError                   = errors.New("jira: no issue types id's set")
	ErrNoProjectsError                     = errors.New("jira: no projects set")
	ErrNoContextOptionIDError              = errors.New("jira: no field context option id set")
	ErrNoTypeIDError                       = errors.New("jira: no link id set")
	ErrNoLinkTypeIDError                   = errors.New("jira: no link type id set")
	ErrNoPriorityIDError                   = errors.New("jira: no priority id set")
	ErrNoResolutionIDError                 = errors.New("jira: no resolution id set")
	ErrNoJQLError                          = errors.New("jira: no sql set")
	ErrNoIssueTypeIDError                  = errors.New("jira: no issue type id set")
	ErrNoIssueTypeScreenSchemeIDError      = errors.New("jira: no issue type screen scheme id set")
	ErrNoScreenSchemeIDError               = errors.New("jira: no screen scheme id set")
	ErrNoAccountIDError                    = errors.New("jira: no account id set")
	ErrNoWorklogIDError                    = errors.New("jira: no worklog id set")
	ErrNpWorklogsError                     = errors.New("jira: no worklog's id set")
	ErrNoPermissionSchemeIDError           = errors.New("jira: no permission scheme id set")
	ErrNoPermissionGrantIDError            = errors.New("jira: no permission grant id set")
	ErrNoPermissionKeysError               = errors.New("jira: no permission keys set")
	ErrNoComponentIDError                  = errors.New("jira: no component id set")
	ErrProjectTypeKeyError                 = errors.New("jira: no project type key set")
	ErrNoProjectNameError                  = errors.New("jira: no project name set")
	ErrNoVersionIDError                    = errors.New("jira: no version id set")
	ErrNoScreenNameError                   = errors.New("jira: no screen name set")
	ErrNoScreenTabNameError                = errors.New("jira: no screen tab name set")
	ErrNoAccountSliceError                 = errors.New("jira: no account id's set")
	ErrNoProjectKeySliceError              = errors.New("jira: no project key's set")
	ErrNoProjectIDsError                   = errors.New("jira: no project id's set")
	ErrNoWorkflowIDError                   = errors.New("jira: no workflow id set")
	ErrNoWorkflowSchemeIDError             = errors.New("jira: no workflow scheme id set")
	ErrNoScreenIDError                     = errors.New("jira: no screen id set")
	ErrNoScreenTabIDError                  = errors.New("jira: no screen tab id set")
	ErrNoFieldConfigurationNameError       = errors.New("jira: no field configuration name set")
	ErrNoFieldConfigurationIDError         = errors.New("jira: no field configuration id set")
	ErrNoFieldConfigurationSchemeNameError = errors.New("jira: no field configuration scheme name set")
	ErrNoFieldConfigurationSchemeIDError   = errors.New("jira: no field configuration scheme id set")
	ErrNoVersionProvided                   = errors.New("client: no module version set")
	ErrNoIssueTypeSchemeIDError            = errors.New("jira: no issue type scheme id set")
	ErrNoTaskIDError                       = errors.New("atlassian: no task id set")
	ErrNoApprovalIDError                   = errors.New("jira: no approval id set")
	ErrInvalidStatusCodeError              = errors.New("client: invalid http response status, please refer the response.body for more details")
	ErrNotFound                            = errors.New("client: no atlassian resource found")
	ErrUnauthorized                        = errors.New("client: atlassian insufficient permissions")
	ErrInternalError                       = errors.New("client: atlassian internal error")
	ErrBadRequestError                     = errors.New("client: atlassian invalid payload")
	ErrNoSiteError                         = errors.New("client: no atlassian site set")
	ErrNoFloatTypeError                    = errors.New("custom-field: no float type set")
	ErrNoSprintTypeError                   = errors.New("custom-field: no sprint type found")
	ErrNoMultiVersionTypeError             = errors.New("custom-field: no multiversion type found")
	ErrNilPayloadError                     = errors.New("client: please provide the necessary payload struct")
	ErrNonPayloadPointerError              = errors.New("client: please provide a valid payload struct pointer (&)")
	ErrNoFieldInformationError             = errors.New("custom-field: please provide a buffer with a valid fields object")
	ErrNoCustomFieldUnmarshalError         = errors.New("custom-field: no valid json provided")
	ErrNoMultiSelectTypeError              = errors.New("custom-field: no multiselect type found")
	ErrNoAssetTypeError                    = errors.New("custom-field: no asset type found")
	ErrNoUrlTypeError                      = errors.New("custom-field: no url type set")
	ErrNoTextTypeError                     = errors.New("custom-field: no text type set")
	ErrNoDatePickerTypeError               = errors.New("custom-field: no datepicker type set")
	ErrNoDateTimeTypeError                 = errors.New("custom-field: no datetime type set")
	ErrNoSelectTypeError                   = errors.New("custom-field: no select type set")
	ErrNoButtonTypeError                   = errors.New("custom-field: no button type set")
	ErrNoUserTypeError                     = errors.New("custom-field: no user type set")
	ErrNoLabelsTypeError                   = errors.New("custom-field: no labels type set")
	ErrNoMultiUserTypeError                = errors.New("custom-field: no multi-user type set")
	ErrNoCheckBoxTypeError                 = errors.New("custom-field: no check-box type set")
	ErrNoCascadingParentError              = errors.New("custom-field: no cascading parent value set")
	ErrNoCascadingChildError               = errors.New("custom-field: no cascading child value set")
	ErrNoAttachmentIdsError                = errors.New("sm: no attachment id's set")
	ErrNoLabelsError                       = errors.New("sm: no label names set")
	ErrNoComponentsError                   = errors.New("sm: no components set")
	ErrNoIssuesSliceError                  = errors.New("jira: no issues object set")
	ErrNoMapValuesError                    = errors.New("jira: no map values set")
	ErrNCoComponentError                   = errors.New("sm: no component set")
	ErrNoWorkspaceIDError                  = errors.New("assets: no workspace id set")
	ErrNoAqlQueryError                     = errors.New("assets: no aql query id set")
	ErrNoIconIDError                       = errors.New("assets: no icon id set")
	ErrNoObjectIDError                     = errors.New("assets: no object id set")
	ErrNoObjectSchemaIDError               = errors.New("assets: no object schema id set")
	ErrNoObjectTypeIDError                 = errors.New("assets: no object type id set")
	ErrNoObjectTypeAttributeIDError        = errors.New("assets: no object type attribute id set")
	ErrNoCreateIssuesError                 = errors.New("jira: no issues payload set")
	ErrNoIssueSchemeError                  = errors.New("jira: no issue instance set")
	ErrNoWorkspaceError                    = errors.New("bitbucket: no workspace set")
	ErrNoMemberIDError                     = errors.New("bitbucket: no member id set")
	ErrNoWebhookIDError                    = errors.New("bitbucket: no webhook id set")
	ErrNoRepositoryError                   = errors.New("bitbucket: no repository set")
)

Functions

func ParseAssetCustomFields added in v1.6.0

func ParseAssetCustomFields(buffer bytes.Buffer, customField string) (map[string][]*CustomFieldAssetScheme, error)

ParseAssetCustomFields extracts and parses jira assets customfield data from a given bytes.Buffer from multiple issues

This function takes the name of the custom field to parse and a bytes.Buffer containing JSON data representing the custom field values associated with different issues. It returns a map where the key is the issue key and the value is a slice of CustomFieldAssetScheme structs, representing the parsed assets associated with a Jira issues.

The JSON data within the buffer is expected to have a specific structure where the custom field values are organized by issue keys and options are represented within a context. The function parses this structure to extract and organize the custom field values.

If the custom field data cannot be parsed successfully, an error is returned.

Example Usage:

customFieldName := "customfield_10001"
buffer := // Populate the buffer with JSON data
customFields, err := ParseAssetCustomFields(customFieldName, buffer)
if err != nil {
    // Handle the error
}

// Iterate through the parsed custom fields
for issueKey, customFieldValues := range customFields {
    fmt.Printf("Issue Key: %s\n", issueKey)
    for _, value := range customFieldValues {
        fmt.Printf("Custom Field Value: %+v\n", value)
    }
}

Parameters:

  • customField: The name of the multi-select custom field to parse.
  • buffer: A bytes.Buffer containing JSON data representing custom field values.

Returns:

  • map[string]*CustomFieldAssetScheme: A map where the key is the issue key and the value is a CustomFieldAssetScheme struct representing the parsed jira assets values.
  • error: An error if there was a problem parsing the custom field data or if the JSON data did not conform to the expected structure.

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-assets-customfields

func ParseCascadingCustomFields added in v1.6.0

func ParseCascadingCustomFields(buffer bytes.Buffer, customField string) (map[string]*CascadingSelectScheme, error)

ParseCascadingCustomFields extracts and parses a cascading custom field data from a given bytes.Buffer from multiple issues

This function takes the name of the custom field to parse and a bytes.Buffer containing JSON data representing the custom field values associated with different issues. It returns a map where the key is the issue key and the value is a CascadingSelectScheme struct pointer ,representing the parsed cascading custom field value.

The JSON data within the buffer is expected to have a specific structure where the custom field values are organized by issue keys and options are represented within a context. The function parses this structure to extract and organize the custom field values.

If the custom field data cannot be parsed successfully, an error is returned.

Example Usage:

customFieldName := "customfield_10001"
buffer := // Populate the buffer with JSON data
customFields, err := ParseCascadingCustomFields (customFieldName, buffer)
if err != nil {
    // Handle the error
}

// Iterate through the parsed custom fields
for issueKey, customFieldValues := range customFields {
    fmt.Printf("Issue Key: %s\n", issueKey)
    for _, data := range customFieldValues {
        fmt.Printf("Custom Field Value: %+v\n", data)
    }
}

Parameters:

  • customField: The name of the multi-select custom field to parse.
  • buffer: A bytes.Buffer containing JSON data representing custom field values.

Returns:

  • map[string]*CascadingSelectScheme: A map where the key is the issue key and the value is a CascadingSelectScheme struct pointer representing the parsed cascading custom field value.
  • error: An error if there was a problem parsing the custom field data or if the JSON data did not conform to the expected structure.

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-cascading-customfields

func ParseDatePickerCustomField added in v1.6.0

func ParseDatePickerCustomField(buffer bytes.Buffer, customField string) (time.Time, error)

ParseDatePickerCustomField parses the datepicker customfield from the given buffer data associated with the specified custom field ID and returns a struct time.Time value

Parameters:

  • customfieldID: A string representing the unique identifier of the custom field.
  • buffer: A bytes.Buffer containing the serialized data to be parsed.

Returns:

  • time.Time: the customfield value as time.Time type

Example usage:

customfieldID := "customfield_10001"
buffer := bytes.NewBuffer([]byte{ /* Serialized data */ })
datepicker, err := ParseDatePickerCustomField(customfieldID, buffer)
if err != nil {
    log.Fatal(err)
}

fmt.Println(datepicker)

https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-datepicker-customfield

func ParseDatePickerCustomFields added in v1.6.0

func ParseDatePickerCustomFields(buffer bytes.Buffer, customField string) (map[string]time.Time, error)

ParseDatePickerCustomFields extracts and parses the datepicker customfield data from a given bytes.Buffer from multiple issues

This function takes the name of the custom field to parse and a bytes.Buffer containing JSON data representing the custom field values associated with different issues. It returns a map where the key is the issue key and the value is a time.Time value, representing the parsed datepicker values with the Jira issues.

The JSON data within the buffer is expected to have a specific structure where the custom field values are organized by issue keys and options are represented within a context. The function parses this structure to extract and organize the custom field values.

If the custom field data cannot be parsed successfully, an error is returned.

Example Usage:

customFieldName := "customfield_10001"
buffer := // Populate the buffer with JSON data
customFields, err := ParseDatePickerCustomFields(customFieldName, buffer)
if err != nil {
    // Handle the error
}

// Iterate through the parsed custom fields
for issueKey, customFieldValues := range customFields {
    fmt.Printf("Issue Key: %s\n", issueKey)
    for _, value := range customFieldValues {
        fmt.Printf("Custom Field Value: %+v\n", value)
    }
}

Parameters:

  • customField: The name of the multi-select custom field to parse.
  • buffer: A bytes.Buffer containing JSON data representing custom field values.

Returns:

  • map[string]time.Time: A map where the key is the issue key and the value is a time.Time representing the parsed jira datepicker values.
  • error: An error if there was a problem parsing the custom field data or if the JSON data did not conform to the expected structure.

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-datepicker-customfields

func ParseDateTimeCustomField added in v1.6.0

func ParseDateTimeCustomField(buffer bytes.Buffer, customField string) (time.Time, error)

ParseDateTimeCustomField parses the datetime customfield from the given buffer data associated with the specified custom field ID and returns a struct time.Time value

Parameters:

  • customfieldID: A string representing the unique identifier of the custom field.
  • buffer: A bytes.Buffer containing the serialized data to be parsed.

Returns:

  • time.Time: the customfield value as time.Time type

Example usage:

customfieldID := "customfield_10001"
buffer := bytes.NewBuffer([]byte{ /* Serialized data */ })
datetime, err := ParseDateTimeCustomField(customfieldID, buffer)
if err != nil {
    log.Fatal(err)
}

fmt.Println(datetime)

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-datetime-customfield

func ParseDateTimeCustomFields added in v1.6.0

func ParseDateTimeCustomFields(buffer bytes.Buffer, customField string) (map[string]time.Time, error)

ParseDateTimeCustomFields extracts and parses the datetime customfield data from a given bytes.Buffer from multiple issues

This function takes the name of the custom field to parse and a bytes.Buffer containing JSON data representing the custom field values associated with different issues. It returns a map where the key is the issue key and the value is a time.Time value, representing the parsed datetime values with the Jira issues.

The JSON data within the buffer is expected to have a specific structure where the custom field values are organized by issue keys and options are represented within a context. The function parses this structure to extract and organize the custom field values.

If the custom field data cannot be parsed successfully, an error is returned.

Example Usage:

customFieldName := "customfield_10001"
buffer := // Populate the buffer with JSON data
customFields, err := ParseDateTimeCustomFields(customFieldName, buffer)
if err != nil {
    // Handle the error
}

// Iterate through the parsed custom fields
for issueKey, customFieldValues := range customFields {
    fmt.Printf("Issue Key: %s\n", issueKey)
    for _, value := range customFieldValues {
        fmt.Printf("Custom Field Value: %+v\n", value)
    }
}

Parameters:

  • customField: The name of the multi-select custom field to parse.
  • buffer: A bytes.Buffer containing JSON data representing custom field values.

Returns:

  • map[string]time.Time: A map where the key is the issue key and the value is a time.Time representing the parsed jira datetime values.
  • error: An error if there was a problem parsing the custom field data or if the JSON data did not conform to the expected structure.

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-datetime-customfields

func ParseFloatCustomField added in v1.5.0

func ParseFloatCustomField(buffer bytes.Buffer, customField string) (float64, error)

ParseFloatCustomField parses a float custom field from the given buffer data associated with the specified custom field ID and returns float64 value

Parameters:

  • customfieldID: A string representing the unique identifier of the custom field.
  • buffer: A bytes.Buffer containing the serialized data to be parsed.

Returns:

  • float64: the customfield value as float64 type

Example usage:

customfieldID := "customfield_10001"
buffer := bytes.NewBuffer([]byte{ /* Serialized data */ })
floatField, err := ParseFloatCustomField(customfieldID, buffer)
if err != nil {
    log.Fatal(err)
}

fmt.Println(floatField)

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-float-customfield

func ParseFloatCustomFields added in v1.6.0

func ParseFloatCustomFields(buffer bytes.Buffer, customField string) (map[string]float64, error)

ParseFloatCustomFields extracts and parses the float customfield information from multiple issues using a bytes.Buffer.

This function takes the name of the custom field to parse and a bytes.Buffer containing JSON data representing the custom field values associated with different issues. It returns a map where the key is the issue key and the value is a float64 representing the parsed float customfield value.

The JSON data within the buffer is expected to have a specific structure where the custom field values are organized by issue keys and options are represented within a context. The function parses this structure to extract and organize the custom field values.

If the custom field data cannot be parsed successfully, an error is returned.

Example Usage:

customFieldName := "customfield_10001"
buffer := // Populate the buffer with JSON data
customFields, err := ParseFloatCustomFields(customFieldName, buffer)
if err != nil {
    // Handle the error
}

// Iterate through the parsed custom fields
for issueKey, customFieldValues := range customFields {
    fmt.Printf("Issue Key: %s\n", issueKey)
    for _, data := range customFieldValues {
        fmt.Printf("Custom Field Value: %+v\n", data)
    }
}

Parameters:

  • customField: The name of the multi-select custom field to parse.
  • buffer: A bytes.Buffer containing JSON data representing custom field values.

Returns:

  • map[string]float: A map where the key is the issue key and the value is a float64 value.
  • error: An error if there was a problem parsing the custom field data or if the JSON data did not conform to the expected structure.

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-float-customfields

func ParseLabelCustomField added in v1.5.0

func ParseLabelCustomField(buffer bytes.Buffer, customField string) ([]string, error)

ParseLabelCustomField parses a textfield slice custom field from the given buffer data associated with the specified custom field ID and returns string slice

Parameters:

  • customfieldID: A string representing the unique identifier of the custom field.
  • buffer: A bytes.Buffer containing the serialized data to be parsed.

Returns:

  • []string: the customfield value as string slice type

Example usage:

customfieldID := "customfield_10001"
buffer := bytes.NewBuffer([]byte{ /* Serialized data */ })
labels, err := ParseLabelCustomField(customfieldID, buffer)
if err != nil {
    log.Fatal(err)
}

fmt.Println(labels)

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-labels-customfield

func ParseLabelCustomFields added in v1.6.0

func ParseLabelCustomFields(buffer bytes.Buffer, customField string) (map[string][]string, error)

ParseLabelCustomFields extracts and parses the textfield customfield information from multiple issues using a bytes.Buffer.

This function takes the name of the custom field to parse and a bytes.Buffer containing JSON data representing the custom field values associated with different issues. It returns a map where the key is the issue key and the value is a string slice representing the parsed labels customfield value.

The JSON data within the buffer is expected to have a specific structure where the custom field values are organized by issue keys and options are represented within a context. The function parses this structure to extract and organize the custom field values.

If the custom field data cannot be parsed successfully, an error is returned.

Example Usage:

customFieldName := "customfield_10001"
buffer := // Populate the buffer with JSON data
customFields, err := ParseLabelCustomFields(customFieldName, buffer)
if err != nil {
    // Handle the error
}

// Iterate through the parsed custom fields
for issueKey, customFieldValues := range customFields {
    fmt.Printf("Issue Key: %s\n", issueKey)
    for _, data := range customFieldValues {
        fmt.Printf("Custom Field Value: %+v\n", data)
    }
}

Parameters:

  • customField: The name of the multi-select custom field to parse.
  • buffer: A bytes.Buffer containing JSON data representing custom field values.

Returns:

  • map[string][]string: A map where the key is the issue key and the value is a string slice with the labels.
  • error: An error if there was a problem parsing the custom field data or if the JSON data did not conform to the expected structure.

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-labels-customfields

func ParseMultiGroupPickerCustomFields added in v1.6.0

func ParseMultiGroupPickerCustomFields(buffer bytes.Buffer, customField string) (map[string][]*GroupDetailScheme, error)

ParseMultiGroupPickerCustomFields extracts and parses a group picker custom field data from a given bytes.Buffer from multiple issues

This function takes the name of the custom field to parse and a bytes.Buffer containing JSON data representing the custom field values associated with different issues. It returns a map where the key is the issue key and the value is a slice of GroupDetailScheme structs, representing the parsed multi-select custom field values.

The JSON data within the buffer is expected to have a specific structure where the custom field values are organized by issue keys and options are represented within a context. The function parses this structure to extract and organize the custom field values.

If the custom field data cannot be parsed successfully, an error is returned.

Example Usage:

customFieldName := "customfield_10001"
buffer := // Populate the buffer with JSON data
customFields, err := ParseMultiGroupPickerCustomFields(customFieldName, buffer)
if err != nil {
    // Handle the error
}

// Iterate through the parsed custom fields
for issueKey, customFieldValues := range customFields {
    fmt.Printf("Issue Key: %s\n", issueKey)
    for _, group := range customFieldValues {
        fmt.Printf("Custom Field Value: %+v\n", group)
    }
}

Parameters:

  • customField: The name of the multi-select custom field to parse.
  • buffer: A bytes.Buffer containing JSON data representing custom field values.

Returns:

  • map[string][]*GroupDetailScheme: A map where the key is the issue key and the value is a slice of GroupDetailScheme structs representing the parsed multi-select custom field values.
  • error: An error if there was a problem parsing the custom field data or if the JSON data did not conform to the expected structure.

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-grouppicker-customfields

func ParseMultiSelectCustomFields added in v1.6.0

func ParseMultiSelectCustomFields(buffer bytes.Buffer, customField string) (map[string][]*CustomFieldContextOptionScheme, error)

ParseMultiSelectCustomFields extracts and parses multi-select custom field data from a given bytes.Buffer from multiple issues

This function takes the name of the custom field to parse and a bytes.Buffer containing JSON data representing the custom field values associated with different issues. It returns a map where the key is the issue key and the value is a slice of CustomFieldContextOptionScheme structs, representing the parsed multi-select custom field values.

The JSON data within the buffer is expected to have a specific structure where the custom field values are organized by issue keys and options are represented within a context. The function parses this structure to extract and organize the custom field values.

If the custom field data cannot be parsed successfully, an error is returned.

Example Usage:

customFieldName := "customfield_10001"
buffer := // Populate the buffer with JSON data
customFields, err := ParseMultiSelectCustomFields(customFieldName, buffer)
if err != nil {
    // Handle the error
}

// Iterate through the parsed custom fields
for issueKey, customFieldValues := range customFields {
    fmt.Printf("Issue Key: %s\n", issueKey)
    for _, value := range customFieldValues {
        fmt.Printf("Custom Field Value: %+v\n", value)
    }
}

Parameters:

  • customField: The name of the multi-select custom field to parse.
  • buffer: A bytes.Buffer containing JSON data representing custom field values.

Returns:

  • map[string][]*CustomFieldContextOptionScheme: A map where the key is the issue key and the value is a slice of CustomFieldContextOptionScheme structs representing the parsed multi-select custom field values.
  • error: An error if there was a problem parsing the custom field data or if the JSON data did not conform to the expected structure.

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-multiselect-customfields

func ParseMultiUserPickerCustomFields added in v1.6.0

func ParseMultiUserPickerCustomFields(buffer bytes.Buffer, customField string) (map[string][]*UserDetailScheme, error)

ParseMultiUserPickerCustomFields extracts and parses a user picker custom field data from a given bytes.Buffer from multiple issues

This function takes the name of the custom field to parse and a bytes.Buffer containing JSON data representing the custom field values associated with different issues. It returns a map where the key is the issue key and the value is a slice of UserDetailScheme structs, representing the parsed multi-select custom field values.

The JSON data within the buffer is expected to have a specific structure where the custom field values are organized by issue keys and options are represented within a context. The function parses this structure to extract and organize the custom field values.

If the custom field data cannot be parsed successfully, an error is returned.

Example Usage:

customFieldName := "customfield_10001"
buffer := // Populate the buffer with JSON data
customFields, err := ParseMultiUserPickerCustomFields(customFieldName, buffer)
if err != nil {
    // Handle the error
}

// Iterate through the parsed custom fields
for issueKey, customFieldValues := range customFields {
    fmt.Printf("Issue Key: %s\n", issueKey)
    for _, user := range customFieldValues {
        fmt.Printf("Custom Field Value: %+v\n", user)
    }
}

Parameters:

  • customField: The name of the multi-select custom field to parse.
  • buffer: A bytes.Buffer containing JSON data representing custom field values.

Returns:

  • map[string][]*UserDetailScheme: A map where the key is the issue key and the value is a slice of UserDetailScheme structs representing the parsed multi-select custom field values.
  • error: An error if there was a problem parsing the custom field data or if the JSON data did not conform to the expected structure.

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-multi-userpicker-customfields

func ParseMultiVersionCustomFields added in v1.6.0

func ParseMultiVersionCustomFields(buffer bytes.Buffer, customField string) (map[string][]*VersionDetailScheme, error)

ParseMultiVersionCustomFields extracts and parses a version picker custom field data from a given bytes.Buffer from multiple issues

This function takes the name of the custom field to parse and a bytes.Buffer containing JSON data representing the custom field values associated with different issues. It returns a map where the key is the issue key and the value is a slice of VersionDetailScheme structs, representing the parsed multi-version custom field values.

The JSON data within the buffer is expected to have a specific structure where the custom field values are organized by issue keys and options are represented within a context. The function parses this structure to extract and organize the custom field values.

If the custom field data cannot be parsed successfully, an error is returned.

Example Usage:

customFieldName := "customfield_10001"
buffer := // Populate the buffer with JSON data
customFields, err := ParseMultiVersionCustomFields(customFieldName, buffer)
if err != nil {
    // Handle the error
}

// Iterate through the parsed custom fields
for issueKey, customFieldValues := range customFields {
    fmt.Printf("Issue Key: %s\n", issueKey)
    for _, version := range customFieldValues {
        fmt.Printf("Custom Field Value: %+v\n", version)
    }
}

Parameters:

  • customField: The name of the multi-select custom field to parse.
  • buffer: A bytes.Buffer containing JSON data representing custom field values.

Returns:

  • map[string][]*VersionDetailScheme: A map where the key is the issue key and the value is a slice of VersionDetailScheme structs representing the parsed multi-select custom field values.
  • error: An error if there was a problem parsing the custom field data or if the JSON data did not conform to the expected structure.

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-versionpicker-customfields

func ParseSelectCustomFields added in v1.6.0

func ParseSelectCustomFields(buffer bytes.Buffer, customField string) (map[string]*CustomFieldContextOptionScheme, error)

ParseSelectCustomFields extracts and parses select custom field data from a given bytes.Buffer from multiple issues

This function takes the name of the custom field to parse and a bytes.Buffer containing JSON data representing the custom field values associated with different issues. It returns a map where the key is the issue key and the value is a CustomFieldContextOptionScheme struct, representing the parsed select custom field value.

The JSON data within the buffer is expected to have a specific structure where the custom field values are organized by issue keys and options are represented within a context. The function parses this structure to extract and organize the custom field values.

If the custom field data cannot be parsed successfully, an error is returned.

Example Usage:

customFieldName := "customfield_10001"
buffer := // Populate the buffer with JSON data
customFields, err := ParseSelectCustomFields(customFieldName, buffer)
if err != nil {
    // Handle the error
}

// Iterate through the parsed custom fields
for issueKey, customFieldValues := range customFields {
    fmt.Printf("Issue Key: %s\n", issueKey)
    for _, value := range customFieldValues {
        fmt.Printf("Custom Field Value: %+v\n", value)
    }
}

Parameters:

  • customField: The name of the multi-select custom field to parse.
  • buffer: A bytes.Buffer containing JSON data representing custom field values.

Returns:

  • map[string]*CustomFieldContextOptionScheme: A map where the key is the issue key and the value is a CustomFieldContextOptionScheme struct representing the parsed multi-select custom field values.
  • error: An error if there was a problem parsing the custom field data or if the JSON data did not conform to the expected structure.

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-select-customfields

func ParseSprintCustomFields added in v1.6.0

func ParseSprintCustomFields(buffer bytes.Buffer, customField string) (map[string][]*SprintDetailScheme, error)

ParseSprintCustomFields extracts and parses sprint custom field data from a given bytes.Buffer from multiple issues

This function takes the name of the custom field to parse and a bytes.Buffer containing JSON data representing the custom field values associated with different issues. It returns a map where the key is the issue key and the value is a slice of SprintDetailScheme structs, representing the parsed sprint custom field values.

The JSON data within the buffer is expected to have a specific structure where the custom field values are organized by issue keys and options are represented within a context. The function parses this structure to extract and organize the custom field values.

If the custom field data cannot be parsed successfully, an error is returned.

Example Usage:

customFieldName := "customfield_10001"
buffer := // Populate the buffer with JSON data
customFields, err := ParseSprintCustomFields(customFieldName, buffer)
if err != nil {
    // Handle the error
}

// Iterate through the parsed custom fields
for issueKey, customFieldValues := range customFields {
    fmt.Printf("Issue Key: %s\n", issueKey)
    for _, value := range customFieldValues {
        fmt.Printf("Custom Field Value: %+v\n", value)
    }
}

Parameters:

  • customField: The name of the sprint custom field to parse.
  • buffer: A bytes.Buffer containing JSON data representing custom field values.

Returns:

  • map[string][]*SprintDetailScheme: A map where the key is the issue key and the value is a slice of SprintDetailScheme structs representing the parsed multi-select custom field values.
  • error: An error if there was a problem parsing the custom field data or if the JSON data did not conform to the expected structure.

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-sprints-customfields

func ParseStringCustomField added in v1.5.1

func ParseStringCustomField(buffer bytes.Buffer, customField string) (string, error)

ParseStringCustomField parses a textfield custom field from the given buffer data associated with the specified custom field ID and returns string

Parameters:

  • customfieldID: A string representing the unique identifier of the custom field.
  • buffer: A bytes.Buffer containing the serialized data to be parsed.

Returns:

  • string: the customfield value as string type

Example usage:

customfieldID := "customfield_10001"
buffer := bytes.NewBuffer([]byte{ /* Serialized data */ })
textField, err := ParseStringCustomField(customfieldID, buffer)
if err != nil {
    log.Fatal(err)
}

fmt.Println(textField)

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-textfield-customfield

func ParseStringCustomFields added in v1.6.0

func ParseStringCustomFields(buffer bytes.Buffer, customField string) (map[string]string, error)

ParseStringCustomFields extracts and parses the textfield customfield information from multiple issues using a bytes.Buffer.

This function takes the name of the custom field to parse and a bytes.Buffer containing JSON data representing the custom field values associated with different issues. It returns a map where the key is the issue key and the value is a string representing the parsed textfield customfield value.

The JSON data within the buffer is expected to have a specific structure where the custom field values are organized by issue keys and options are represented within a context. The function parses this structure to extract and organize the custom field values.

If the custom field data cannot be parsed successfully, an error is returned.

Example Usage:

customFieldName := "customfield_10001"
buffer := // Populate the buffer with JSON data
customFields, err := ParseStringCustomFields(customFieldName, buffer)
if err != nil {
    // Handle the error
}

// Iterate through the parsed custom fields
for issueKey, customFieldValues := range customFields {
    fmt.Printf("Issue Key: %s\n", issueKey)
    for _, data := range customFieldValues {
        fmt.Printf("Custom Field Value: %+v\n", data)
    }
}

Parameters:

  • customField: The name of the multi-select custom field to parse.
  • buffer: A bytes.Buffer containing JSON data representing custom field values.

Returns:

  • map[string]string: A map where the key is the issue key and the value is a string with the customfield textfield value
  • error: An error if there was a problem parsing the custom field data or if the JSON data did not conform to the expected structure.

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-textfield-customfields

func ParseUserPickerCustomFields added in v1.6.0

func ParseUserPickerCustomFields(buffer bytes.Buffer, customField string) (map[string]*UserDetailScheme, error)

ParseUserPickerCustomFields extracts and parses a user custom field data from a given bytes.Buffer from multiple issues

This function takes the name of the custom field to parse and a bytes.Buffer containing JSON data representing the custom field values associated with different issues. It returns a map where the key is the issue key and the value is a UserDetailScheme struct pointer ,representing the parsed cascading custom field value.

The JSON data within the buffer is expected to have a specific structure where the custom field values are organized by issue keys and options are represented within a context. The function parses this structure to extract and organize the custom field values.

If the custom field data cannot be parsed successfully, an error is returned.

Example Usage:

customFieldName := "customfield_10001"
buffer := // Populate the buffer with JSON data
customFields, err := ParseUserPickerCustomFields(customFieldName, buffer)
if err != nil {
    // Handle the error
}

// Iterate through the parsed custom fields
for issueKey, customFieldValues := range customFields {
    fmt.Printf("Issue Key: %s\n", issueKey)
    for _, data := range customFieldValues {
        fmt.Printf("Custom Field Value: %+v\n", data)
    }
}

Parameters:

  • customField: The name of the multi-select custom field to parse.
  • buffer: A bytes.Buffer containing JSON data representing custom field values.

Returns:

  • map[string]*UserDetailScheme: A map where the key is the issue key and the value is a UserDetailScheme struct pointer representing the parsed cascading custom field value.
  • error: An error if there was a problem parsing the custom field data or if the JSON data did not conform to the expected structure.

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-userpicker-customfields

Types

type AQLSearchParamsScheme added in v1.5.1

type AQLSearchParamsScheme struct {

	// The query to determine which objects that should be fetched.
	//
	// E.g. objectType = "Computer". The empty AQL means all objects
	Query string `query:"qlQuery,omitempty"`

	// Which page to fetch when paginating through the response
	Page int `query:"page,omitempty"`

	// The amount of objects returned per page
	ResultPerPage int `query:"resultPerPage,omitempty"`

	// Should the objects attributes be included in the response.
	//
	// If this parameter is false only the information on the object will
	//
	// be returned and the object attributes will not be present
	IncludeAttributes bool `query:"includeAttributes,omitempty"`

	// How many levels of attributes should be included.
	//
	// E.g. consider an object A that has a reference to object B that has a reference to object C.
	//
	// If object A is included in the response and includeAttributesDeep=1 object A's reference to
	//
	// object B will be included in the attributes of object A but object B's reference to
	//
	// object C will not be included. However, if the includeAttributesDeep=2 then object B's
	//
	// reference to object C will be included in object B's attributes
	IncludeAttributesDeep bool `query:"includeAttributesDeep,omitempty"`

	// Should the response include the object type attribute definition
	//
	// for each attribute that is returned with the objects
	IncludeTypeAttributes bool `query:"includeTypeAttributes,omitempty"`

	// Include information about open Jira issues.
	//
	// Should each object have information if open tickets are connected to the object?
	IncludeExtendedInfo bool `query:"includeExtendedInfo,omitempty"`
}

type AdminOrganizationPageScheme

type AdminOrganizationPageScheme struct {
	Data  []*OrganizationModelScheme `json:"data,omitempty"`
	Links *LinkPageModelScheme       `json:"links,omitempty"`
}

type AdminOrganizationScheme

type AdminOrganizationScheme struct {
	Data *OrganizationModelScheme `json:"data,omitempty"`
}

type AdminOrganizationUserScheme

type AdminOrganizationUserScheme struct {
	AccountID      string                           `json:"account_id,omitempty"`
	AccountType    string                           `json:"account_type,omitempty"`
	AccountStatus  string                           `json:"account_status,omitempty"`
	Name           string                           `json:"name,omitempty"`
	Picture        string                           `json:"picture,omitempty"`
	Email          string                           `json:"email,omitempty"`
	AccessBillable bool                             `json:"access_billable,omitempty"`
	LastActive     string                           `json:"last_active,omitempty"`
	ProductAccess  []*OrganizationUserProductScheme `json:"product_access,omitempty"`
	Links          *LinkSelfModelScheme             `json:"links,omitempty"`
}

type AdminUserAccountScheme

type AdminUserAccountScheme struct {
	AccountID       string                          `json:"account_id,omitempty"`
	Name            string                          `json:"name,omitempty"`
	Nickname        string                          `json:"nickname,omitempty"`
	ZoneInfo        string                          `json:"zoneinfo,omitempty"`
	Locale          string                          `json:"locale,omitempty"`
	Email           string                          `json:"email,omitempty"`
	Picture         string                          `json:"picture,omitempty"`
	AccountType     string                          `json:"account_type,omitempty"`
	AccountStatus   string                          `json:"account_status,omitempty"`
	EmailVerified   bool                            `json:"email_verified,omitempty"`
	ExtendedProfile *AdminUserExtendedProfileScheme `json:"extended_profile"`
	PrivacySettings *AdminUserPrivacySettingsScheme `json:"privacy_settings"`
}

type AdminUserExtendedProfileScheme

type AdminUserExtendedProfileScheme struct {
	JobTitle string `json:"job_title,omitempty"`
	TeamType string `json:"team_type,omitempty"`
}

type AdminUserPermissionGrantReasonScheme

type AdminUserPermissionGrantReasonScheme struct {
	Key string `json:"key,omitempty"`
}

type AdminUserPermissionGrantScheme

type AdminUserPermissionGrantScheme struct {
	Allowed bool                                  `json:"allowed,omitempty"`
	Reason  *AdminUserPermissionGrantReasonScheme `json:"reason,omitempty"`
}

type AdminUserPermissionProfileScheme

type AdminUserPermissionProfileScheme struct {
	Name                        *AdminUserPermissionGrantScheme `json:"name,omitempty"`
	Nickname                    *AdminUserPermissionGrantScheme `json:"nickname,omitempty"`
	Zoneinfo                    *AdminUserPermissionGrantScheme `json:"zoneinfo,omitempty"`
	Locale                      *AdminUserPermissionGrantScheme `json:"locale,omitempty"`
	ExtendedProfilePhoneNumber  *AdminUserPermissionGrantScheme `json:"extended_profile.phone_number,omitempty"`
	ExtendedProfileJobTitle     *AdminUserPermissionGrantScheme `json:"extended_profile.job_title,omitempty"`
	ExtendedProfileOrganization *AdminUserPermissionGrantScheme `json:"extended_profile.organization,omitempty"`
	ExtendedProfileDepartment   *AdminUserPermissionGrantScheme `json:"extended_profile.department,omitempty"`
	ExtendedProfileLocation     *AdminUserPermissionGrantScheme `json:"extended_profile.location,omitempty"`
	ExtendedProfileTeamType     *AdminUserPermissionGrantScheme `json:"extended_profile.team_type,omitempty"`
}

type AdminUserPermissionScheme

type AdminUserPermissionScheme struct {
	EmailSet            *AdminUserPermissionGrantScheme   `json:"email.set,omitempty"`
	LifecycleEnablement *AdminUserPermissionGrantScheme   `json:"lifecycle.enablement,omitempty"`
	Profile             *AdminUserPermissionProfileScheme `json:"profile,omitempty"`
	ProfileWrite        *AdminUserPermissionProfileScheme `json:"profile.write,omitempty"`
	ProfileRead         *AdminUserPermissionGrantScheme   `json:"profile.read,omitempty"`
	LinkedAccountsRead  *AdminUserPermissionGrantScheme   `json:"linkedAccounts.read,omitempty"`
	APITokenRead        *AdminUserPermissionGrantScheme   `json:"apiToken.read,omitempty"`
	APITokenDelete      *AdminUserPermissionGrantScheme   `json:"apiToken.delete,omitempty"`
	Avatar              *AdminUserPermissionGrantScheme   `json:"avatar,omitempty"`
	PrivacySet          *AdminUserPermissionGrantScheme   `json:"privacy.set,omitempty"`
	SessionRead         *AdminUserPermissionGrantScheme   `json:"session.read,omitempty"`
}

type AdminUserPrivacySettingsScheme

type AdminUserPrivacySettingsScheme struct {
	Name                        string `json:"name,omitempty"`
	Nickname                    string `json:"nickname,omitempty"`
	Picture                     string `json:"picture,omitempty"`
	ExtendedProfileJobTitle     string `json:"extended_profile.job_title,omitempty"`
	ExtendedProfileDepartment   string `json:"extended_profile.department,omitempty"`
	ExtendedProfileOrganization string `json:"extended_profile.organization,omitempty"`
	ExtendedProfileLocation     string `json:"extended_profile.location,omitempty"`
	ZoneInfo                    string `json:"zoneinfo,omitempty"`
	Email                       string `json:"email,omitempty"`
	ExtendedProfilePhoneNumber  string `json:"extended_profile.phone_number,omitempty"`
	ExtendedProfileTeamType     string `json:"extended_profile.team_type,omitempty"`
}

type AdminUserScheme

type AdminUserScheme struct {
	Account *AdminUserAccountScheme `json:"account,omitempty"`
}

type AnnouncementBannerPayloadScheme added in v1.5.1

type AnnouncementBannerPayloadScheme struct {
	IsDismissible bool   `json:"isDismissible,omitempty"`
	IsEnabled     bool   `json:"isEnabled,omitempty"`
	Message       string `json:"message,omitempty"`
	Visibility    string `json:"visibility,omitempty"`
}

type AnnouncementBannerScheme added in v1.5.1

type AnnouncementBannerScheme struct {
	HashId        string `json:"hashId,omitempty"`
	IsDismissible bool   `json:"isDismissible,omitempty"`
	IsEnabled     bool   `json:"isEnabled,omitempty"`
	Message       string `json:"message,omitempty"`
	Visibility    string `json:"visibility,omitempty"`
}

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 ApproverLinkScheme

type ApproverLinkScheme struct {
	JiraRest   string           `json:"jiraRest,omitempty"`
	AvatarUrls *AvatarURLScheme `json:"avatarUrls,omitempty"`
	Self       string           `json:"self,omitempty"`
}

type ApproverScheme

type ApproverScheme struct {
	AccountID    string              `json:"accountId,omitempty"`
	Name         string              `json:"name,omitempty"`
	Key          string              `json:"key,omitempty"`
	EmailAddress string              `json:"emailAddress,omitempty"`
	DisplayName  string              `json:"displayName,omitempty"`
	Active       bool                `json:"active,omitempty"`
	TimeZone     string              `json:"timeZone,omitempty"`
	Links        *ApproverLinkScheme `json:"_links,omitempty"`
}

type ArticleContentScheme

type ArticleContentScheme struct {
	IframeSrc string `json:"iframeSrc,omitempty"`
}

type ArticlePageLinkScheme

type ArticlePageLinkScheme struct {
	Self    string `json:"self,omitempty"`
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
	Next    string `json:"next,omitempty"`
	Prev    string `json:"prev,omitempty"`
}

type ArticlePageScheme

type ArticlePageScheme struct {
	Size       int                    `json:"size,omitempty"`
	Start      int                    `json:"start,omitempty"`
	Limit      int                    `json:"limit,omitempty"`
	IsLastPage bool                   `json:"isLastPage,omitempty"`
	Values     []*ArticleScheme       `json:"values,omitempty"`
	Expands    []string               `json:"_expands,omitempty"`
	Links      *ArticlePageLinkScheme `json:"_links,omitempty"`
}

type ArticleScheme

type ArticleScheme struct {
	Title   string                `json:"title,omitempty"`
	Excerpt string                `json:"excerpt,omitempty"`
	Source  *ArticleSourceScheme  `json:"source,omitempty"`
	Content *ArticleContentScheme `json:"content,omitempty"`
}

type ArticleSourceScheme

type ArticleSourceScheme struct {
	Type string `json:"type,omitempty"`
}

type AttachmentPageScheme added in v1.5.1

type AttachmentPageScheme struct {
	Results []*AttachmentScheme `json:"results,omitempty"`
	Links   *PageLinkScheme     `json:"_links,omitempty"`
}

type AttachmentParamsScheme added in v1.5.1

type AttachmentParamsScheme struct {

	// Sort it's used to sort the result by a particular field.
	// Valid values:
	// created-date
	// -created-date
	// modified-date
	// -modified-date
	Sort string

	// MediaType filters the mediaType of attachments. Only one may be specified.
	MediaType string

	// FileName filters on the file-name of attachments. Only one may be specified.
	FileName string

	SerializeIDs bool
}

type AttachmentScheme

type AttachmentScheme struct {
	ID                   string                   `json:"id,omitempty"`
	BlogPostID           string                   `json:"blogPostId,omitempty"`
	CustomContentID      string                   `json:"customContentId,omitempty"`
	Comment              string                   `json:"comment,omitempty"`
	MediaTypeDescription string                   `json:"mediaTypeDescription,omitempty"`
	WebuiLink            string                   `json:"webuiLink,omitempty"`
	DownloadLink         string                   `json:"downloadLink,omitempty"`
	Title                string                   `json:"title,omitempty"`
	Status               string                   `json:"status,omitempty"`
	FileSize             int                      `json:"fileSize,omitempty"`
	MediaType            string                   `json:"mediaType,omitempty"`
	PageID               string                   `json:"pageId,omitempty"`
	FileID               string                   `json:"fileId,omitempty"`
	Version              *AttachmentVersionScheme `json:"version,omitempty"`
}

type AttachmentSettingScheme

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

type AttachmentVersionBodyScheme added in v1.5.1

type AttachmentVersionBodyScheme struct {
	Title string `json:"title,omitempty"`
	ID    string `json:"id,omitempty"`
}

type AttachmentVersionPageScheme added in v1.5.1

type AttachmentVersionPageScheme struct {
	Results []*AttachmentVersionScheme `json:"results,omitempty"`
	Links   *PageLinkScheme            `json:"_links,omitempty"`
}

type AttachmentVersionScheme added in v1.5.1

type AttachmentVersionScheme struct {
	CreatedAt  string                       `json:"createdAt,omitempty"`
	Message    string                       `json:"message,omitempty"`
	Number     int                          `json:"number,omitempty"`
	MinorEdit  bool                         `json:"minorEdit,omitempty"`
	AuthorID   string                       `json:"authorId,omitempty"`
	Attachment *AttachmentVersionBodyScheme `json:"attachment,omitempty"`
}

type AttributeScheme

type AttributeScheme struct {
	Name          string                `json:"name,omitempty"`
	Type          string                `json:"type,omitempty"`
	MultiValued   bool                  `json:"multiValued,omitempty"`
	Description   string                `json:"description,omitempty"`
	Required      bool                  `json:"required,omitempty"`
	CaseExact     bool                  `json:"caseExact,omitempty"`
	Mutability    string                `json:"mutability,omitempty"`
	Returned      string                `json:"returned,omitempty"`
	Uniqueness    string                `json:"uniqueness,omitempty"`
	SubAttributes []*SubAttributeScheme `json:"subAttributes,omitempty"`
}

type AttributesToDisplayScheme added in v1.5.1

type AttributesToDisplayScheme struct {
	AttributesToDisplayIds []int `json:"attributesToDisplayIds,omitempty"`
}

type AuditRecordAssociatedItemScheme

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

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   time.Time
	To     time.Time
}

type AuditRecordObjectItemScheme

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

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 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 BitbucketAccountLinksScheme added in v1.6.0

type BitbucketAccountLinksScheme struct {
	Avatar *BitbucketLinkScheme `json:"avatar,omitempty"`
	Self   *BitbucketLinkScheme `json:"self,omitempty"`
	Html   *BitbucketLinkScheme `json:"html,omitempty"`
}

type BitbucketAccountScheme added in v1.6.0

type BitbucketAccountScheme struct {
	Links       *BitbucketAccountLinksScheme `json:"links,omitempty"`
	CreatedOn   string                       `json:"created_on,omitempty"`
	DisplayName string                       `json:"display_name,omitempty"`
	Username    string                       `json:"username,omitempty"`
	Uuid        string                       `json:"uuid,omitempty"`
	Type        string                       `json:"type,omitempty"`
	AccountId   string                       `json:"account_id,omitempty"`
	Nickname    string                       `json:"nickname,omitempty"`
}

type BitbucketLinkScheme added in v1.6.0

type BitbucketLinkScheme struct {
	Href string `json:"href,omitempty"`
	Name string `json:"name,omitempty"`
}

type BitbucketProjectLinksScheme added in v1.6.0

type BitbucketProjectLinksScheme struct {
	Html   *BitbucketLinkScheme `json:"html,omitempty"`
	Avatar *BitbucketLinkScheme `json:"avatar,omitempty"`
}

type BitbucketProjectPageScheme added in v1.6.0

type BitbucketProjectPageScheme struct {
	Size     int                       `json:"size,omitempty"`
	Page     int                       `json:"page,omitempty"`
	Pagelen  int                       `json:"pagelen,omitempty"`
	Next     string                    `json:"next,omitempty"`
	Previous string                    `json:"previous,omitempty"`
	Values   []*BitbucketProjectScheme `json:"values,omitempty"`
}

type BitbucketProjectScheme added in v1.6.0

type BitbucketProjectScheme struct {
	Links                   *BitbucketProjectLinksScheme `json:"links,omitempty"`
	Uuid                    string                       `json:"uuid,omitempty"`
	Key                     string                       `json:"key,omitempty"`
	Name                    string                       `json:"name,omitempty"`
	Description             string                       `json:"description,omitempty"`
	IsPrivate               bool                         `json:"is_private,omitempty"`
	CreatedOn               string                       `json:"created_on,omitempty"`
	UpdatedOn               string                       `json:"updated_on,omitempty"`
	HasPubliclyVisibleRepos bool                         `json:"has_publicly_visible_repos,omitempty"`
}

type BoardBacklogPayloadScheme added in v1.5.1

type BoardBacklogPayloadScheme struct {
	Issues            []string `json:"issues,omitempty"`
	RankBeforeIssue   string   `json:"rankBeforeIssue,omitempty"`
	RankAfterIssue    string   `json:"rankAfterIssue,omitempty"`
	RankCustomFieldId int      `json:"rankCustomFieldId,omitempty"`
}

type BoardColumnConfigurationScheme

type BoardColumnConfigurationScheme struct {
	Columns        []*BoardColumnScheme `json:"columns,omitempty"`
	ConstraintType string               `json:"constraintType,omitempty"`
}

type BoardColumnScheme

type BoardColumnScheme struct {
	Name     string                     `json:"name,omitempty"`
	Statuses []*BoardColumnStatusScheme `json:"statuses,omitempty"`
}

type BoardColumnStatusScheme

type BoardColumnStatusScheme struct {
	ID   string `json:"id,omitempty"`
	Self string `json:"self,omitempty"`
}

type BoardConfigurationScheme

type BoardConfigurationScheme struct {
	ID           int                             `json:"id,omitempty"`
	Name         string                          `json:"name,omitempty"`
	Type         string                          `json:"type,omitempty"`
	Self         string                          `json:"self,omitempty"`
	Location     *BoardLocationScheme            `json:"location,omitempty"`
	Filter       *BoardFilterScheme              `json:"filter,omitempty"`
	ColumnConfig *BoardColumnConfigurationScheme `json:"columnConfig,omitempty"`
	Estimation   *BoardEstimationScheme          `json:"estimation,omitempty"`
	Ranking      *BoardRankingScheme             `json:"ranking,omitempty"`
}

type BoardEpicPageScheme

type BoardEpicPageScheme struct {
	MaxResults int                `json:"maxResults,omitempty"`
	StartAt    int                `json:"startAt,omitempty"`
	IsLast     bool               `json:"isLast,omitempty"`
	Values     []*BoardEpicScheme `json:"values,omitempty"`
}

type BoardEpicScheme

type BoardEpicScheme struct {
	ID      int    `json:"id,omitempty"`
	Key     string `json:"key,omitempty"`
	Self    string `json:"self,omitempty"`
	Name    string `json:"name,omitempty"`
	Summary string `json:"summary,omitempty"`
	Color   struct {
		Key string `json:"key,omitempty"`
	} `json:"color,omitempty"`
	Done bool `json:"done,omitempty"`
}

type BoardEstimationFieldScheme

type BoardEstimationFieldScheme struct {
	FieldID     string `json:"fieldId,omitempty"`
	DisplayName string `json:"displayName,omitempty"`
}

type BoardEstimationScheme

type BoardEstimationScheme struct {
	Type  string                      `json:"type,omitempty"`
	Field *BoardEstimationFieldScheme `json:"field,omitempty"`
}

type BoardFilterScheme

type BoardFilterScheme struct {
	ID   string `json:"id,omitempty"`
	Self string `json:"self,omitempty"`
}

type BoardIssuePageScheme

type BoardIssuePageScheme struct {
	Expand     string           `json:"expand,omitempty"`
	StartAt    int              `json:"startAt,omitempty"`
	MaxResults int              `json:"maxResults,omitempty"`
	Total      int              `json:"total,omitempty"`
	Issues     []*IssueSchemeV2 `json:"issues,omitempty"`
}

type BoardLocationScheme

type BoardLocationScheme struct {
	ProjectID      int    `json:"projectId,omitempty"`
	DisplayName    string `json:"displayName,omitempty"`
	ProjectName    string `json:"projectName,omitempty"`
	ProjectKey     string `json:"projectKey,omitempty"`
	ProjectTypeKey string `json:"projectTypeKey,omitempty"`
	AvatarURI      string `json:"avatarURI,omitempty"`
	Name           string `json:"name,omitempty"`
}

type BoardMovementPayloadScheme

type BoardMovementPayloadScheme struct {
	Issues            []string `json:"issues,omitempty"`
	RankBeforeIssue   string   `json:"rankBeforeIssue,omitempty"`
	RankAfterIssue    string   `json:"rankAfterIssue,omitempty"`
	RankCustomFieldID int      `json:"rankCustomFieldId,omitempty"`
}

type BoardPageScheme

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

type BoardPayloadLocationScheme

type BoardPayloadLocationScheme struct {
	Type           string `json:"type,omitempty"`
	ProjectKeyOrID string `json:"projectKeyOrId,omitempty"`
}

type BoardPayloadScheme

type BoardPayloadScheme struct {
	Name     string                      `json:"name,omitempty"`
	Type     string                      `json:"type,omitempty"`
	FilterID int                         `json:"filterId,omitempty"`
	Location *BoardPayloadLocationScheme `json:"location,omitempty"`
}

type BoardProjectCategoryScheme

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

type BoardProjectInsightScheme

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

type BoardProjectPageScheme

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

type BoardProjectScheme

type BoardProjectScheme struct {
	Self            string                      `json:"self,omitempty"`
	ID              string                      `json:"id,omitempty"`
	Key             string                      `json:"key,omitempty"`
	Name            string                      `json:"name,omitempty"`
	ProjectCategory *BoardProjectCategoryScheme `json:"projectCategory,omitempty"`
	Simplified      bool                        `json:"simplified,omitempty"`
	Style           string                      `json:"style,omitempty"`
	Insight         *BoardProjectInsightScheme  `json:"insight,omitempty"`
}

type BoardRankingScheme

type BoardRankingScheme struct {
	RankCustomFieldID int `json:"rankCustomFieldId,omitempty"`
}

type BoardScheme

type BoardScheme struct {
	ID       int                  `json:"id,omitempty"`
	Self     string               `json:"self,omitempty"`
	Name     string               `json:"name,omitempty"`
	Type     string               `json:"type,omitempty"`
	Location *BoardLocationScheme `json:"location,omitempty"`
}

type BoardSprintPageScheme

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

type BoardSprintScheme

type BoardSprintScheme struct {
	ID            int       `json:"id,omitempty"`
	Self          string    `json:"self,omitempty"`
	State         string    `json:"state,omitempty"`
	Name          string    `json:"name,omitempty"`
	StartDate     time.Time `json:"startDate,omitempty"`
	EndDate       time.Time `json:"endDate,omitempty"`
	CompleteDate  time.Time `json:"completeDate,omitempty"`
	OriginBoardID int       `json:"originBoardId,omitempty"`
	Goal          string    `json:"goal,omitempty"`
}

type BoardVersionPageScheme

type BoardVersionPageScheme struct {
	MaxResults int                   `json:"maxResults,omitempty"`
	StartAt    int                   `json:"startAt,omitempty"`
	IsLast     bool                  `json:"isLast,omitempty"`
	Values     []*BoardVersionScheme `json:"values,omitempty"`
}

type BoardVersionScheme

type BoardVersionScheme struct {
	Self        string    `json:"self,omitempty"`
	ID          int       `json:"id,omitempty"`
	ProjectID   int       `json:"projectId,omitempty"`
	Name        string    `json:"name,omitempty"`
	Description string    `json:"description,omitempty"`
	Archived    bool      `json:"archived,omitempty"`
	Released    bool      `json:"released,omitempty"`
	ReleaseDate time.Time `json:"releaseDate,omitempty"`
}

type BodyNodeScheme

type BodyNodeScheme struct {
	Value          string `json:"value,omitempty"`
	Representation string `json:"representation,omitempty"`
}

type BodyScheme

type BodyScheme struct {
	View                *BodyNodeScheme `json:"view,omitempty"`
	ExportView          *BodyNodeScheme `json:"export_view,omitempty"`
	StyledView          *BodyNodeScheme `json:"styled_view,omitempty"`
	Storage             *BodyNodeScheme `json:"storage,omitempty"`
	Editor2             *BodyNodeScheme `json:"editor2,omitempty"`
	AnonymousExportView *BodyNodeScheme `json:"anonymous_export_view,omitempty"`
}

type BodyTypeScheme added in v1.5.1

type BodyTypeScheme struct {
	Representation string `json:"representation,omitempty"`
	Value          string `json:"value,omitempty"`
}

type BranchScheme added in v1.6.0

type BranchScheme struct {
	MergeStrategies      []string `json:"merge_strategies"`
	DefaultMergeStrategy string   `json:"default_merge_strategy"`
}

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

type BulkIssueSchemeV2

type BulkIssueSchemeV2 struct {
	Issues []*IssueSchemeV2 `json:"issues,omitempty"`
}

type BulkIssueSchemeV3

type BulkIssueSchemeV3 struct {
	Issues []*IssueScheme `json:"issues,omitempty"`
}

type BulkProjectPermissionsScheme

type BulkProjectPermissionsScheme struct {
	Issues      []int    `json:"issues"`
	Projects    []int    `json:"projects"`
	Permissions []string `json:"permissions"`
}

type CascadingSelectChildScheme added in v1.5.0

type CascadingSelectChildScheme struct {
	Self  string `json:"self,omitempty"`
	Value string `json:"value,omitempty"`
	Id    string `json:"id,omitempty"`
}

type CascadingSelectScheme added in v1.5.0

type CascadingSelectScheme struct {
	Self  string                      `json:"self,omitempty"`
	Value string                      `json:"value,omitempty"`
	Id    string                      `json:"id,omitempty"`
	Child *CascadingSelectChildScheme `json:"child,omitempty"`
}

func ParseCascadingSelectCustomField added in v1.5.0

func ParseCascadingSelectCustomField(buffer bytes.Buffer, customField string) (*CascadingSelectScheme, error)

ParseCascadingSelectCustomField parses a cascading custom field from the given buffer data associated with the specified custom field ID and returns a CascadingSelectScheme struct pointer.

Parameters:

  • customfieldID: A string representing the unique identifier of the custom field.
  • buffer: A bytes.Buffer containing the serialized data to be parsed.

Returns:

  • *CascadingSelectScheme: A pointer of the struct CascadingSelectScheme representing the parsed cascading data associated with the custom field.

The CascadingSelectScheme method is responsible for extracting and parsing the serialized data from the provided buffer, which is expected to be in a specific format.

Example usage:

customfieldID := "customfield_10001"
buffer := bytes.NewBuffer([]byte{ /* Serialized data */ })
field, err := ParseCascadingSelectCustomField(customfieldID, buffer)
if err != nil {
    log.Fatal(err)
}

for _, user := range users {
    fmt.Printf("Parent Value: %s, Child Value: %s\n", field.Value, field.Child.Value)
}

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-cascading-customfield

type ChangedWorklogPageScheme

type ChangedWorklogPageScheme struct {
	Since    int                     `json:"since,omitempty"`
	Until    int                     `json:"until,omitempty"`
	Self     string                  `json:"self,omitempty"`
	NextPage string                  `json:"nextPage,omitempty"`
	LastPage bool                    `json:"lastPage,omitempty"`
	Values   []*ChangedWorklogScheme `json:"values,omitempty"`
}

type ChangedWorklogPropertyScheme

type ChangedWorklogPropertyScheme struct {
	Key string `json:"key,omitempty"`
}

type ChangedWorklogScheme

type ChangedWorklogScheme struct {
	WorklogID   int                             `json:"worklogId,omitempty"`
	UpdatedTime int                             `json:"updatedTime,omitempty"`
	Properties  []*ChangedWorklogPropertyScheme `json:"properties,omitempty"`
}

type CheckPermissionScheme

type CheckPermissionScheme struct {
	Subject   *PermissionSubjectScheme `json:"subject,omitempty"`
	Operation string                   `json:"operation,omitempty"`
}

type ChildPageChunkLinksScheme added in v1.6.0

type ChildPageChunkLinksScheme struct {
	Next string `json:"next,omitempty"`
}

type ChildPageChunkScheme added in v1.6.0

type ChildPageChunkScheme struct {
	Results []*ChildPageScheme         `json:"results,omitempty"`
	Links   *ChildPageChunkLinksScheme `json:"_links,omitempty"`
}

type ChildPageScheme added in v1.6.0

type ChildPageScheme struct {
	ID            string `json:"id,omitempty"`
	Status        string `json:"status,omitempty"`
	Title         string `json:"title,omitempty"`
	SpaceID       string `json:"spaceId,omitempty"`
	ChildPosition int    `json:"childPosition,omitempty"`
}

type ChildTypeScheme

type ChildTypeScheme struct {
	Value bool `json:"value,omitempty"`
	Links struct {
		Self string `json:"self,omitempty"`
	} `json:"_links,omitempty"`
}

type ChildTypesScheme

type ChildTypesScheme struct {
	Attachment *ChildTypeScheme `json:"attachment,omitempty"`
	Comment    *ChildTypeScheme `json:"comment,omitempty"`
	Page       *ChildTypeScheme `json:"page,omitempty"`
}

type CommentNodeScheme

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

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

type CommentPayloadScheme

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

type CommentPayloadSchemeV2

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

type CommentVisibilityScheme

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

type ComponentCountScheme

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

type ComponentPayloadScheme

type ComponentPayloadScheme 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 ComponentScheme

type ComponentScheme 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 ContainerSummaryScheme added in v1.4.3

type ContainerSummaryScheme struct {
	Title      string `json:"title,omitempty"`
	DisplayURL string `json:"displayUrl,omitempty"`
}

type ContentArchiveIDPayloadScheme added in v1.4.3

type ContentArchiveIDPayloadScheme struct {
	ID int `json:"id,omitempty"`
}

type ContentArchivePayloadScheme added in v1.4.3

type ContentArchivePayloadScheme struct {
	Pages []*ContentArchiveIDPayloadScheme `json:"pages,omitempty"`
}

type ContentArchiveResultScheme added in v1.4.3

type ContentArchiveResultScheme struct {
	ID    string `json:"id"`
	Links struct {
		Status string `json:"status"`
	} `json:"links"`
}

type ContentChildrenScheme

type ContentChildrenScheme struct {
	Attachment *ContentPageScheme `json:"attachment,omitempty"`
	Comments   *ContentPageScheme `json:"comment,omitempty"`
	Page       *ContentPageScheme `json:"page,omitempty"`
	Links      *LinkScheme        `json:"_links,omitempty"`
}

type ContentExtensionScheme

type ContentExtensionScheme struct {
	MediaType            string `json:"mediaType,omitempty"`
	FileSize             int    `json:"fileSize,omitempty"`
	Comment              string `json:"comment,omitempty"`
	MediaTypeDescription string `json:"mediaTypeDescription,omitempty"`
	FileID               string `json:"fileId,omitempty"`
}

type ContentHistoryContributorsScheme

type ContentHistoryContributorsScheme struct {
	Publishers *VersionCollaboratorsScheme `json:"publishers,omitempty"`
}

type ContentHistoryScheme

type ContentHistoryScheme struct {
	Latest          bool                              `json:"latest,omitempty"`
	CreatedBy       *ContentUserScheme                `json:"createdBy,omitempty"`
	CreatedDate     string                            `json:"createdDate,omitempty"`
	LastUpdated     *ContentVersionScheme             `json:"lastUpdated,omitempty"`
	PreviousVersion *ContentVersionScheme             `json:"previousVersion,omitempty"`
	Contributors    *ContentHistoryContributorsScheme `json:"contributors,omitempty"`
	NextVersion     *ContentVersionScheme             `json:"nextVersion,omitempty"`
	Expandable      *ExpandableScheme                 `json:"_expandable,omitempty"`
	Links           *LinkScheme                       `json:"_links,omitempty"`
}

type ContentLabelPageScheme

type ContentLabelPageScheme struct {
	Results []*ContentLabelScheme `json:"results,omitempty"`
	Start   int                   `json:"start,omitempty"`
	Limit   int                   `json:"limit,omitempty"`
	Size    int                   `json:"size,omitempty"`
}

type ContentLabelPayloadScheme

type ContentLabelPayloadScheme struct {
	Prefix string `json:"prefix,omitempty"`
	Name   string `json:"name,omitempty"`
}

type ContentLabelScheme

type ContentLabelScheme struct {
	Prefix string `json:"prefix,omitempty"`
	Name   string `json:"name,omitempty"`
	ID     string `json:"id,omitempty"`
	Label  string `json:"label,omitempty"`
}

type ContentMoveScheme added in v1.5.1

type ContentMoveScheme struct {
	ID string `json:"pageId"`
}

type ContentPageScheme

type ContentPageScheme struct {
	Results []*ContentScheme `json:"results"`
	Start   int              `json:"start"`
	Limit   int              `json:"limit"`
	Size    int              `json:"size"`
	Links   *LinkScheme      `json:"_links"`
}

type ContentPropertyPageScheme

type ContentPropertyPageScheme struct {
	Results []*ContentPropertyScheme `json:"results,omitempty"`
	Start   int                      `json:"start,omitempty"`
	Limit   int                      `json:"limit,omitempty"`
	Size    int                      `json:"size,omitempty"`
}

type ContentPropertyPayloadScheme

type ContentPropertyPayloadScheme struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type ContentPropertyScheme

type ContentPropertyScheme struct {
	ID         string                        `json:"id,omitempty"`
	Key        string                        `json:"key,omitempty"`
	Value      interface{}                   `json:"value,omitempty"`
	Version    *ContentPropertyVersionScheme `json:"version,omitempty"`
	Expandable struct {
		Content              string `json:"content,omitempty"`
		AdditionalProperties string `json:"additionalProperties,omitempty"`
	} `json:"_expandable,omitempty"`
}

type ContentPropertyVersionScheme

type ContentPropertyVersionScheme struct {
	When                string `json:"when,omitempty"`
	Message             string `json:"message,omitempty"`
	Number              int    `json:"number,omitempty"`
	MinorEdit           bool   `json:"minorEdit,omitempty"`
	ContentTypeModified bool   `json:"contentTypeModified,omitempty"`
}

type ContentRestoreParamsPayloadScheme added in v1.4.3

type ContentRestoreParamsPayloadScheme struct {
	VersionNumber int    `json:"versionNumber,omitempty"`
	Message       string `json:"message,omitempty"`
	RestoreTitle  bool   `json:"restoreTitle,omitempty"`
}

type ContentRestorePayloadScheme added in v1.4.3

type ContentRestorePayloadScheme struct {
	OperationKey string                             `json:"operationKey,omitempty"`
	Params       *ContentRestoreParamsPayloadScheme `json:"params,omitempty"`
}

type ContentRestrictionByOperationScheme added in v1.4.3

type ContentRestrictionByOperationScheme struct {
	OperationType *ContentRestrictionScheme `json:"operationType,omitempty"`
}

type ContentRestrictionDetailScheme added in v1.4.3

type ContentRestrictionDetailScheme struct {
	User  *UserPermissionScheme  `json:"user,omitempty"`
	Group *GroupPermissionScheme `json:"group,omitempty"`
}

type ContentRestrictionExpandableScheme added in v1.4.3

type ContentRestrictionExpandableScheme struct {
	Restrictions string `json:"restrictions,omitempty"`
	Content      string `json:"content,omitempty"`
}

type ContentRestrictionPageScheme added in v1.4.3

type ContentRestrictionPageScheme struct {
	Start            int                         `json:"start,omitempty"`
	Limit            int                         `json:"limit,omitempty"`
	Size             int                         `json:"size,omitempty"`
	RestrictionsHash string                      `json:"restrictionsHash,omitempty"`
	Results          []*ContentRestrictionScheme `json:"results,omitempty"`
}

type ContentRestrictionRestrictionUpdateScheme added in v1.4.3

type ContentRestrictionRestrictionUpdateScheme struct {
	Group []*SpaceGroupScheme  `json:"group,omitempty"`
	User  []*ContentUserScheme `json:"user,omitempty"`
}

type ContentRestrictionScheme added in v1.4.3

type ContentRestrictionScheme struct {
	Operation    string                              `json:"operation,omitempty"`
	Restrictions *ContentRestrictionDetailScheme     `json:"restrictions,omitempty"`
	Content      *ContentScheme                      `json:"content,omitempty"`
	Expandable   *ContentRestrictionExpandableScheme `json:"_expandable,omitempty"`
}

type ContentRestrictionUpdatePayloadScheme added in v1.4.3

type ContentRestrictionUpdatePayloadScheme struct {
	Results []*ContentRestrictionUpdateScheme `json:"results,omitempty"`
}

type ContentRestrictionUpdateScheme added in v1.4.3

type ContentRestrictionUpdateScheme struct {
	Operation    string                                     `json:"operation,omitempty"`
	Restrictions *ContentRestrictionRestrictionUpdateScheme `json:"restrictions,omitempty"`
	Content      *ContentScheme                             `json:"content,omitempty"`
}

type ContentScheme

type ContentScheme struct {
	ID         string                  `json:"id,omitempty"`
	Type       string                  `json:"type,omitempty"`
	Status     string                  `json:"status,omitempty"`
	Title      string                  `json:"title,omitempty"`
	Expandable *ExpandableScheme       `json:"_expandable,omitempty"`
	Links      *LinkScheme             `json:"_links,omitempty"`
	ChildTypes *ChildTypesScheme       `json:"childTypes,omitempty"`
	Space      *SpaceScheme            `json:"space,omitempty"`
	Metadata   *MetadataScheme         `json:"metadata,omitempty"`
	Operations []*OperationScheme      `json:"operations,omitempty"`
	Body       *BodyScheme             `json:"body,omitempty"`
	Version    *ContentVersionScheme   `json:"version,omitempty"`
	Extensions *ContentExtensionScheme `json:"extensions,omitempty"`
	Ancestors  []*ContentScheme        `json:"ancestors,omitempty"`
	History    *ContentHistoryScheme   `json:"history,omitempty"`
}

type ContentTaskScheme

type ContentTaskScheme struct {
	ID    string          `json:"id,omitempty"`
	Links *TaskLinkScheme `json:"links,omitempty"`
}

type ContentUserDetailScheme

type ContentUserDetailScheme struct {
	Business *UserBusinessDetailScheme `json:"business,omitempty"`
	Personal *UserPersonalDetailScheme `json:"personal,omitempty"`
}

type ContentUserScheme

type ContentUserScheme struct {
	Type           string                   `json:"type,omitempty"`
	Username       string                   `json:"username,omitempty"`
	UserKey        string                   `json:"userKey,omitempty"`
	AccountID      string                   `json:"accountId,omitempty"`
	AccountType    string                   `json:"accountType,omitempty"`
	Email          string                   `json:"email,omitempty"`
	PublicName     string                   `json:"publicName,omitempty"`
	ProfilePicture *ProfilePictureScheme    `json:"profilePicture,omitempty"`
	DisplayName    string                   `json:"displayName,omitempty"`
	Operations     []*OperationScheme       `json:"operations,omitempty"`
	Details        *ContentUserDetailScheme `json:"details,omitempty"`
	PersonalSpace  *SpaceScheme             `json:"personalSpace,omitempty"`
	Expandable     *ExpandableScheme        `json:"_expandable,omitempty"`
	Links          *LinkScheme              `json:"_links,omitempty"`
}

type ContentVersionPageScheme added in v1.4.3

type ContentVersionPageScheme struct {
	Results []*ContentVersionScheme `json:"results,omitempty"`
	Start   int                     `json:"start,omitempty"`
	Limit   int                     `json:"limit,omitempty"`
	Size    int                     `json:"size,omitempty"`
}

type ContentVersionScheme

type ContentVersionScheme struct {
	By            *ContentUserScheme          `json:"by,omitempty"`
	Number        int                         `json:"number,omitempty"`
	When          string                      `json:"when,omitempty"`
	FriendlyWhen  string                      `json:"friendlyWhen,omitempty"`
	Message       string                      `json:"message,omitempty"`
	MinorEdit     bool                        `json:"minorEdit,omitempty"`
	Content       *ContentScheme              `json:"content,omitempty"`
	Collaborators *VersionCollaboratorsScheme `json:"collaborators,omitempty"`
	Expandable    struct {
		Content       string `json:"content"`
		Collaborators string `json:"collaborators"`
	} `json:"_expandable"`
	ContentTypeModified bool `json:"contentTypeModified"`
}

type ContentViewScheme added in v1.5.0

type ContentViewScheme struct {
	ID    int `json:"id,omitempty"`
	Count int `json:"count,omitempty"`
}

type CopyOptionsScheme

type CopyOptionsScheme struct {
	CopyAttachments    bool                       `json:"copyAttachments,omitempty"`
	CopyPermissions    bool                       `json:"copyPermissions,omitempty"`
	CopyProperties     bool                       `json:"copyProperties,omitempty"`
	CopyLabels         bool                       `json:"copyLabels,omitempty"`
	CopyCustomContents bool                       `json:"copyCustomContents,omitempty"`
	DestinationPageID  string                     `json:"destinationPageId,omitempty"`
	TitleOptions       *CopyTitleOptionScheme     `json:"titleOptions,omitempty"`
	Destination        *CopyPageDestinationScheme `json:"destination,omitempty"`
	PageTitle          string                     `json:"pageTitle,omitempty"`
	Body               *CopyPageBodyScheme        `json:"body,omitempty"`
}

type CopyPageBodyScheme

type CopyPageBodyScheme struct {
	Storage *BodyNodeScheme `json:"storage"`
	Editor2 *BodyNodeScheme `json:"editor2"`
}

type CopyPageDestinationScheme

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

type CopyTitleOptionScheme

type CopyTitleOptionScheme struct {
	Prefix  string `json:"prefix,omitempty"`
	Replace string `json:"replace,omitempty"`
	Search  string `json:"search,omitempty"`
}

type CreateCustomerRequestFormPayloadScheme added in v1.6.0

type CreateCustomerRequestFormPayloadScheme struct {
	Answers interface{} `json:"answers,omitempty"`
}

type CreateCustomerRequestPayloadScheme added in v1.4.4

type CreateCustomerRequestPayloadScheme struct {
	Channel             string                                  `json:"channel,omitempty"`
	Form                *CreateCustomerRequestFormPayloadScheme `json:"form,omitempty"`
	IsAdfRequest        bool                                    `json:"isAdfRequest,omitempty"`
	RaiseOnBehalfOf     string                                  `json:"raiseOnBehalfOf,omitempty"`
	RequestFieldValues  map[string]interface{}                  `json:"requestFieldValues,omitempty"`
	RequestParticipants []string                                `json:"requestParticipants,omitempty"`
	RequestTypeID       string                                  `json:"requestTypeId,omitempty"`
	ServiceDeskID       string                                  `json:"serviceDeskId,omitempty"`
}

func (*CreateCustomerRequestPayloadScheme) AddCustomField added in v1.6.0

func (c *CreateCustomerRequestPayloadScheme) AddCustomField(key string, value interface{}) error

func (*CreateCustomerRequestPayloadScheme) CascadingCustomField added in v1.6.0

func (c *CreateCustomerRequestPayloadScheme) CascadingCustomField(id, parent, child string) error

func (*CreateCustomerRequestPayloadScheme) Components added in v1.6.0

func (c *CreateCustomerRequestPayloadScheme) Components(components []string) error

func (*CreateCustomerRequestPayloadScheme) DateCustomField added in v1.6.0

func (c *CreateCustomerRequestPayloadScheme) DateCustomField(id string, value time.Time) error

func (*CreateCustomerRequestPayloadScheme) DateTimeCustomField added in v1.6.0

func (c *CreateCustomerRequestPayloadScheme) DateTimeCustomField(id string, value time.Time) error

func (*CreateCustomerRequestPayloadScheme) GroupCustomField added in v1.6.0

func (c *CreateCustomerRequestPayloadScheme) GroupCustomField(id, name string) error

func (*CreateCustomerRequestPayloadScheme) GroupsCustomField added in v1.6.0

func (c *CreateCustomerRequestPayloadScheme) GroupsCustomField(id string, names []string) error

func (*CreateCustomerRequestPayloadScheme) MultiSelectOrCheckBoxCustomField added in v1.6.0

func (c *CreateCustomerRequestPayloadScheme) MultiSelectOrCheckBoxCustomField(id string, values []string) error

func (*CreateCustomerRequestPayloadScheme) RadioButtonOrSelectCustomField added in v1.6.0

func (c *CreateCustomerRequestPayloadScheme) RadioButtonOrSelectCustomField(id string, option string) error

func (*CreateCustomerRequestPayloadScheme) UserCustomField added in v1.6.0

func (c *CreateCustomerRequestPayloadScheme) UserCustomField(id, accountID string) error

func (*CreateCustomerRequestPayloadScheme) UsersCustomField added in v1.6.0

func (c *CreateCustomerRequestPayloadScheme) UsersCustomField(id string, accountIDs []string) error

type CreateSpaceDescriptionPlainScheme

type CreateSpaceDescriptionPlainScheme struct {
	Value          string `json:"value"`
	Representation string `json:"representation"`
}

type CreateSpaceDescriptionScheme

type CreateSpaceDescriptionScheme struct {
	Plain *CreateSpaceDescriptionPlainScheme `json:"plain"`
}

type CreateSpaceScheme

type CreateSpaceScheme struct {
	Key              string                        `json:"key,omitempty"`
	Name             string                        `json:"name,omitempty"`
	Description      *CreateSpaceDescriptionScheme `json:"description,omitempty"`
	AnonymousAccess  bool                          `json:"anonymousAccess,omitempty"`
	UnlicensedAccess bool                          `json:"unlicensedAccess,omitempty"`
}

type CustomContentBodyScheme added in v1.5.1

type CustomContentBodyScheme struct {
	Raw            *BodyTypeScheme `json:"raw,omitempty"`
	Storage        *BodyTypeScheme `json:"storage,omitempty"`
	AtlasDocFormat *BodyTypeScheme `json:"atlas_doc_format,omitempty"`
}

type CustomContentLinksScheme added in v1.5.1

type CustomContentLinksScheme struct {
	Webui string `json:"webui,omitempty"`
}

type CustomContentOptionsScheme added in v1.5.1

type CustomContentOptionsScheme struct {
	IDs        []int
	SpaceIDs   []int
	Sort       string
	BodyFormat string
}

type CustomContentPageLinksScheme added in v1.5.1

type CustomContentPageLinksScheme struct {
	Next string `json:"next,omitempty"`
}

type CustomContentPageScheme added in v1.5.1

type CustomContentPageScheme struct {
	Results []*CustomContentScheme        `json:"results,omitempty"`
	Links   *CustomContentPageLinksScheme `json:"_links,omitempty"`
}

type CustomContentPayloadScheme added in v1.5.1

type CustomContentPayloadScheme struct {
	ID              string                             `json:"id,omitempty"`
	Type            string                             `json:"type,omitempty"`
	Status          string                             `json:"status,omitempty"`
	SpaceID         string                             `json:"spaceId,omitempty"`
	PageID          string                             `json:"pageId,omitempty"`
	BlogPostID      string                             `json:"blogPostId,omitempty"`
	CustomContentID string                             `json:"customContentId,omitempty"`
	Title           string                             `json:"title,omitempty"`
	Body            *BodyTypeScheme                    `json:"body,omitempty"`
	Version         *CustomContentPayloadVersionScheme `json:"version,omitempty"`
}

type CustomContentPayloadVersionScheme added in v1.5.1

type CustomContentPayloadVersionScheme struct {
	Number  int    `json:"number,omitempty"`
	Message string `json:"message,omitempty"`
}

type CustomContentScheme added in v1.5.1

type CustomContentScheme struct {
	ID              string                      `json:"id,omitempty"`
	Type            string                      `json:"type,omitempty"`
	Status          string                      `json:"status,omitempty"`
	Title           string                      `json:"title,omitempty"`
	SpaceID         string                      `json:"spaceId,omitempty"`
	PageID          string                      `json:"pageId,omitempty"`
	BlogPostID      string                      `json:"blogPostId,omitempty"`
	CustomContentID string                      `json:"customContentId,omitempty"`
	AuthorID        string                      `json:"authorId,omitempty"`
	CreatedAt       string                      `json:"createdAt,omitempty"`
	Version         *CustomContentVersionScheme `json:"version,omitempty"`
	Body            *CustomContentBodyScheme    `json:"body,omitempty"`
	Links           *CustomContentLinksScheme   `json:"_links,omitempty"`
}

type CustomContentVersionScheme added in v1.5.1

type CustomContentVersionScheme struct {
	CreatedAt string `json:"createdAt,omitempty"`
	Message   string `json:"message,omitempty"`
	Number    int    `json:"number,omitempty"`
	MinorEdit bool   `json:"minorEdit,omitempty"`
	AuthorID  string `json:"authorId,omitempty"`
}

type CustomFieldAssetScheme added in v1.5.1

type CustomFieldAssetScheme struct {
	WorkspaceId string `json:"workspaceId,omitempty"`
	Id          string `json:"id,omitempty"`
	ObjectId    string `json:"objectId,omitempty"`
}

func ParseAssetCustomField added in v1.5.1

func ParseAssetCustomField(buffer bytes.Buffer, customField string) ([]*CustomFieldAssetScheme, error)

ParseAssetCustomField parses the Jira assets elements from the given buffer data associated with the specified custom field ID and returns a struct CustomFieldAssetScheme slice

Parameters:

  • customfieldID: A string representing the unique identifier of the custom field.
  • buffer: A bytes.Buffer containing the serialized data to be parsed.

Returns:

  • []*CustomFieldAssetScheme: the customfield value as CustomFieldAssetScheme slice type

Example usage:

customfieldID := "customfield_10001"
buffer := bytes.NewBuffer([]byte{ /* Serialized data */ })
assets, err := ParseAssetCustomField(customfieldID, buffer)
if err != nil {
    log.Fatal(err)
}

fmt.Println(assets)

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-assets-customfield

type CustomFieldContextOptionPageScheme

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

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

func ParseMultiSelectCustomField added in v1.5.0

func ParseMultiSelectCustomField(buffer bytes.Buffer, customField string) ([]*CustomFieldContextOptionScheme, error)

ParseMultiSelectCustomField parses a multi-select custom field from the given buffer data associated with the specified custom field ID and returns a slice of pointers to CustomFieldContextOptionSchema structs.

Parameters:

  • customfieldID: A string representing the unique identifier of the custom field.
  • buffer: A bytes.Buffer containing the serialized data to be parsed.

Returns:

  • []*CustomFieldContextOptionSchema: A slice of pointers to CustomFieldContextOptionSchema structs representing the parsed options associated with the custom field.

The ParseMultiSelectCustomField method is responsible for extracting and parsing the serialized data from the provided buffer, which is expected to be in a specific format. It then constructs and returns a slice of pointers to CustomFieldContextOptionSchema structs that represent the parsed options for the given custom field.

Example usage:

customfieldID := "customfield_10001"
buffer := bytes.NewBuffer([]byte{ /* Serialized data */ })
options, err := ParseMultiSelectCustomField(customfieldID, buffer)
if err != nil {
    log.Fatal(err)
}
for _, option := range options {
    fmt.Printf("Option ID: %s, Option Name: %s\n", option.ID, option.Name)
}

NOTE: This method can be used to extract check-box customfield values

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-multiselect-customfield

func ParseSelectCustomField added in v1.5.0

func ParseSelectCustomField(buffer bytes.Buffer, customField string) (*CustomFieldContextOptionScheme, error)

ParseSelectCustomField parses a select custom field from the given buffer data associated with the specified custom field ID and returns a CustomFieldContextOptionScheme struct

Parameters:

  • customfieldID: A string representing the unique identifier of the custom field.
  • buffer: A bytes.Buffer containing the serialized data to be parsed.

Returns:

  • CustomFieldContextOptionScheme: the customfield value as CustomFieldContextOptionScheme type

Example usage:

customfieldID := "customfield_10001"
buffer := bytes.NewBuffer([]byte{ /* Serialized data */ })
option, err := ParseSelectCustomField(customfieldID, buffer)
if err != nil {
    log.Fatal(err)
}

fmt.Println(option.ID, option.Value)

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-select-customfield

type CustomFieldContextPageScheme

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 CustomFieldContextProjectMappingPageScheme

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

type CustomFieldContextProjectMappingValueScheme

type CustomFieldContextProjectMappingValueScheme struct {
	ContextID       string `json:"contextId,omitempty"`
	ProjectID       string `json:"projectId,omitempty"`
	IsGlobalContext bool   `json:"isGlobalContext,omitempty"`
}

type CustomFieldDefaultValuePageScheme

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

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

type CustomFields

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

func (*CustomFields) Cascading

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

func (*CustomFields) CheckBox

func (c *CustomFields) CheckBox(customFieldID string, options []string) 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) error

func (*CustomFields) Group

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

func (*CustomFields) Groups

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

func (*CustomFields) MultiSelect

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

func (*CustomFields) Number

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

func (*CustomFields) RadioButton

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

func (*CustomFields) Select

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

func (*CustomFields) Text

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

func (*CustomFields) URL

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

func (*CustomFields) User

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

func (*CustomFields) Users

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

type CustomerApprovalLinkScheme

type CustomerApprovalLinkScheme struct {
	Self string `json:"self"`
}

type CustomerApprovalPageLinkScheme

type CustomerApprovalPageLinkScheme struct {
	Self    string `json:"self,omitempty"`
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
	Next    string `json:"next,omitempty"`
	Prev    string `json:"prev,omitempty"`
}

type CustomerApprovalPageScheme

type CustomerApprovalPageScheme struct {
	Size       int                             `json:"size,omitempty"`
	Start      int                             `json:"start,omitempty"`
	Limit      int                             `json:"limit,omitempty"`
	IsLastPage bool                            `json:"isLastPage,omitempty"`
	Values     []*CustomerApprovalScheme       `json:"values,omitempty"`
	Expands    []string                        `json:"_expands,omitempty"`
	Links      *CustomerApprovalPageLinkScheme `json:"_links,omitempty"`
}

type CustomerApprovalScheme

type CustomerApprovalScheme struct {
	ID                string                      `json:"id,omitempty"`
	Name              string                      `json:"name,omitempty"`
	FinalDecision     string                      `json:"finalDecision,omitempty"`
	CanAnswerApproval bool                        `json:"canAnswerApproval,omitempty"`
	Approvers         []*CustomerApproveScheme    `json:"approvers,omitempty"`
	CreatedDate       *CustomerRequestDateScheme  `json:"createdDate,omitempty"`
	CompletedDate     *CustomerRequestDateScheme  `json:"completedDate,omitempty"`
	Links             *CustomerApprovalLinkScheme `json:"_links,omitempty"`
}

type CustomerApproveScheme

type CustomerApproveScheme struct {
	Approver         *ApproverScheme `json:"approver,omitempty"`
	ApproverDecision string          `json:"approverDecision,omitempty"`
}

type CustomerFeedbackCommentScheme

type CustomerFeedbackCommentScheme struct {
	Body string `json:"body,omitempty"`
}

type CustomerFeedbackScheme

type CustomerFeedbackScheme struct {
	Type    string                         `json:"type,omitempty"`
	Rating  int                            `json:"rating,omitempty"`
	Comment *CustomerFeedbackCommentScheme `json:"comment,omitempty"`
}

type CustomerLinkScheme

type CustomerLinkScheme struct {
	JiraRest   string           `json:"jiraRest"`
	AvatarUrls *AvatarURLScheme `json:"avatarUrls"`
	Self       string           `json:"self"`
}

type CustomerPageLinksScheme

type CustomerPageLinksScheme struct {
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
	Next    string `json:"next,omitempty"`
	Prev    string `json:"prev,omitempty"`
}

type CustomerPageScheme

type CustomerPageScheme struct {
	Expands    []interface{}            `json:"_expands,omitempty"`
	Size       int                      `json:"size,omitempty"`
	Start      int                      `json:"start,omitempty"`
	Limit      int                      `json:"limit,omitempty"`
	IsLastPage bool                     `json:"isLastPage,omitempty"`
	Links      *CustomerPageLinksScheme `json:"_links,omitempty"`
	Values     []*CustomerScheme        `json:"values,omitempty"`
}

type CustomerRequestCurrentStatusScheme

type CustomerRequestCurrentStatusScheme struct {
	Status         string `json:"status,omitempty"`
	StatusCategory string `json:"statusCategory,omitempty"`
	StatusDate     struct {
	} `json:"statusDate,omitempty"`
}

type CustomerRequestDateScheme

type CustomerRequestDateScheme struct {
	Iso8601     string `json:"iso8601,omitempty"`
	Jira        string `json:"jira,omitempty"`
	Friendly    string `json:"friendly,omitempty"`
	EpochMillis int    `json:"epochMillis,omitempty"`
}

type CustomerRequestLinksScheme

type CustomerRequestLinksScheme struct {
	Self     string `json:"self,omitempty"`
	JiraRest string `json:"jiraRest,omitempty"`
	Web      string `json:"web,omitempty"`
	Agent    string `json:"agent,omitempty"`
}

type CustomerRequestPageScheme added in v1.4.4

type CustomerRequestPageScheme struct {
	Size       int                          `json:"size,omitempty"`
	Start      int                          `json:"start,omitempty"`
	Limit      int                          `json:"limit,omitempty"`
	IsLastPage bool                         `json:"isLastPage,omitempty"`
	Values     []*CustomerRequestScheme     `json:"values,omitempty"`
	Expands    []string                     `json:"_expands,omitempty"`
	Links      *CustomerRequestsLinksScheme `json:"_links,omitempty"`
}

type CustomerRequestReporterScheme

type CustomerRequestReporterScheme struct {
	AccountID    string `json:"accountId,omitempty"`
	Name         string `json:"name,omitempty"`
	Key          string `json:"key,omitempty"`
	EmailAddress string `json:"emailAddress,omitempty"`
	DisplayName  string `json:"displayName,omitempty"`
	Active       bool   `json:"active,omitempty"`
	TimeZone     string `json:"timeZone,omitempty"`
}

type CustomerRequestRequestFieldValueScheme

type CustomerRequestRequestFieldValueScheme struct {
	FieldID string      `json:"fieldId,omitempty"`
	Label   string      `json:"label,omitempty"`
	Value   interface{} `json:"value,omitempty"`
}

type CustomerRequestScheme

type CustomerRequestScheme struct {
	IssueID            string                                    `json:"issueId,omitempty"`
	IssueKey           string                                    `json:"issueKey,omitempty"`
	RequestTypeID      string                                    `json:"requestTypeId,omitempty"`
	RequestType        *CustomerRequestTypeScheme                `json:"requestType,omitempty"`
	ServiceDeskID      string                                    `json:"serviceDeskId,omitempty"`
	ServiceDesk        *CustomerRequestServiceDeskScheme         `json:"serviceDesk,omitempty"`
	CreatedDate        *CustomerRequestDateScheme                `json:"createdDate,omitempty"`
	Reporter           *CustomerRequestReporterScheme            `json:"reporter,omitempty"`
	RequestFieldValues []*CustomerRequestRequestFieldValueScheme `json:"requestFieldValues,omitempty"`
	CurrentStatus      *CustomerRequestCurrentStatusScheme       `json:"currentStatus,omitempty"`
	Expands            []string                                  `json:"_expands,omitempty"`
	Links              *CustomerRequestLinksScheme               `json:"_links,omitempty"`
}

type CustomerRequestServiceDeskScheme

type CustomerRequestServiceDeskScheme struct {
	ID          string `json:"id,omitempty"`
	ProjectID   string `json:"projectId,omitempty"`
	ProjectName string `json:"projectName,omitempty"`
	ProjectKey  string `json:"projectKey,omitempty"`
}

type CustomerRequestTransitionPageLinkScheme

type CustomerRequestTransitionPageLinkScheme struct {
	Self    string `json:"self,omitempty"`
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
	Next    string `json:"next,omitempty"`
	Prev    string `json:"prev,omitempty"`
}

type CustomerRequestTransitionPageScheme

type CustomerRequestTransitionPageScheme struct {
	Size       int                                      `json:"size,omitempty"`
	Start      int                                      `json:"start,omitempty"`
	Limit      int                                      `json:"limit,omitempty"`
	IsLastPage bool                                     `json:"isLastPage,omitempty"`
	Values     []*CustomerRequestTransitionScheme       `json:"values,omitempty"`
	Expands    []string                                 `json:"_expands,omitempty"`
	Links      *CustomerRequestTransitionPageLinkScheme `json:"_links,omitempty"`
}

type CustomerRequestTransitionScheme

type CustomerRequestTransitionScheme struct {
	ID   string `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

type CustomerRequestTypeScheme

type CustomerRequestTypeScheme struct {
	ID            string   `json:"id,omitempty"`
	Name          string   `json:"name,omitempty"`
	Description   string   `json:"description,omitempty"`
	HelpText      string   `json:"helpText,omitempty"`
	IssueTypeID   string   `json:"issueTypeId,omitempty"`
	ServiceDeskID string   `json:"serviceDeskId,omitempty"`
	GroupIds      []string `json:"groupIds,omitempty"`
}

type CustomerRequestsLinksScheme

type CustomerRequestsLinksScheme struct {
	Self    string `json:"self,omitempty"`
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
	Next    string `json:"next,omitempty"`
	Prev    string `json:"prev,omitempty"`
}

type CustomerScheme

type CustomerScheme struct {
	AccountID    string              `json:"accountId,omitempty"`
	Name         string              `json:"name,omitempty"`
	Key          string              `json:"key,omitempty"`
	EmailAddress string              `json:"emailAddress,omitempty"`
	DisplayName  string              `json:"displayName,omitempty"`
	Active       bool                `json:"active,omitempty"`
	TimeZone     string              `json:"timeZone,omitempty"`
	Links        *CustomerLinkScheme `json:"_links,omitempty"`
}

type DashboardPageScheme

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

type DashboardPayloadScheme

type DashboardPayloadScheme struct {
	Name             string                   `json:"name,omitempty"`
	Description      string                   `json:"description,omitempty"`
	SharePermissions []*SharePermissionScheme `json:"sharePermissions,omitempty"`
	EditPermissions  []*SharePermissionScheme `json:"editPermissions,omitempty"`
}

type DashboardScheme

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

type DashboardSearchOptionsScheme

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

type DashboardSearchPageScheme

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

type DetailedVersionScheme added in v1.5.1

type DetailedVersionScheme struct {
	Number              int      `json:"number,omitempty"`
	AuthorID            string   `json:"authorId,omitempty"`
	Message             string   `json:"message,omitempty"`
	CreatedAt           string   `json:"createdAt,omitempty"`
	MinorEdit           bool     `json:"minorEdit,omitempty"`
	ContentTypeModified bool     `json:"contentTypeModified,omitempty"`
	Collaborators       []string `json:"collaborators,omitempty"`
	PrevVersion         int      `json:"prevVersion,omitempty"`
	NextVersion         int      `json:"nextVersion,omitempty"`
}

type EntityPropertyScheme added in v1.4.3

type EntityPropertyScheme struct {
	Key   string      `json:"key"`
	Value interface{} `json:"value"`
}

type EpicColorScheme

type EpicColorScheme struct {
	Key string `json:"key,omitempty"`
}

type EpicScheme

type EpicScheme struct {
	ID      int              `json:"id,omitempty"`
	Key     string           `json:"key,omitempty"`
	Self    string           `json:"self,omitempty"`
	Name    string           `json:"name,omitempty"`
	Summary string           `json:"summary,omitempty"`
	Color   *EpicColorScheme `json:"color,omitempty"`
	Done    bool             `json:"done,omitempty"`
}

type EventNotificationScheme

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 ExpandableScheme

type ExpandableScheme struct {
	Container           string `json:"container"`
	Metadata            string `json:"metadata"`
	Restrictions        string `json:"restrictions"`
	History             string `json:"history"`
	Body                string `json:"body"`
	Version             string `json:"version"`
	Descendants         string `json:"descendants"`
	Space               string `json:"space"`
	ChildTypes          string `json:"childTypes"`
	Operations          string `json:"operations"`
	SchedulePublishDate string `json:"schedulePublishDate"`
	Children            string `json:"children"`
	Ancestors           string `json:"ancestors"`
	Settings            string `json:"settings"`
	LookAndFeel         string `json:"lookAndFeel"`
	Identifiers         string `json:"identifiers"`
	Permissions         string `json:"permissions"`
	Icon                string `json:"icon"`
	Description         string `json:"description"`
	Theme               string `json:"theme"`
	Homepage            string `json:"homepage"`
	LastUpdated         string `json:"lastUpdated"`
	PreviousVersion     string `json:"previousVersion"`
	Contributors        string `json:"contributors"`
	NextVersion         string `json:"nextVersion"`
}

type FieldConfigurationIssueTypeItemPageScheme

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

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

type FieldConfigurationItemPageScheme

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

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

type FieldConfigurationPageScheme

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

type FieldConfigurationScheme

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

type FieldConfigurationSchemeAssignPayload added in v1.4.2

type FieldConfigurationSchemeAssignPayload struct {
	FieldConfigurationSchemeID string `json:"fieldConfigurationSchemeId"`
	ProjectID                  string `json:"projectId"`
}

type FieldConfigurationSchemePageScheme

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

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

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

type FieldConfigurationSchemeScheme

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

type FieldConfigurationToIssueTypeMappingPayloadScheme added in v1.4.2

type FieldConfigurationToIssueTypeMappingPayloadScheme struct {
	Mappings []*FieldConfigurationToIssueTypeMappingScheme `json:"mappings,omitempty"`
}

type FieldConfigurationToIssueTypeMappingScheme added in v1.4.2

type FieldConfigurationToIssueTypeMappingScheme struct {
	IssueTypeID          string `json:"issueTypeId,omitempty"`
	FieldConfigurationID string `json:"fieldConfigurationId,omitempty"`
}

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 FieldOptionContextParams

type FieldOptionContextParams struct {
	OptionID    int
	OnlyOptions bool
}

type FieldSearchOptionsScheme

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

type FieldSearchPageScheme

type FieldSearchPageScheme 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 FilterDetailScheme

type FilterDetailScheme 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"`
	Subscriptions    []*FilterSubscriptionScheme `json:"subscriptions,omitempty"`
}

type FilterPageScheme

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

type FilterPayloadScheme

type FilterPayloadScheme 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"`
	EditPermissions  []*SharePermissionScheme `json:"editPermissions,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      string
	AccountID string
	Group     string
	OrderBy   string
	ProjectID int
	IDs       []int
	Expand    []string
}

type FilterSearchPageScheme

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

type FilterSubscriptionPageScheme

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

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

type FilterUsersScheme

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 GenericActionSuccessScheme added in v1.5.1

type GenericActionSuccessScheme struct {
	Message string `json:"message,omitempty"`
}

type GetBoardsOptions

type GetBoardsOptions struct {
	BoardType               string
	BoardName               string
	ProjectKeyOrID          string
	AccountIDLocation       string
	ProjectIDLocation       string
	IncludePrivate          bool
	NegateLocationFiltering bool
	OrderBy                 string
	Expand                  string
	FilterID                int
}

type GetContentAttachmentsOptionsScheme

type GetContentAttachmentsOptionsScheme struct {
	Expand    []string
	FileName  string
	MediaType string
}

type GetContentOptionsScheme

type GetContentOptionsScheme struct {
	ContextType, SpaceKey string
	Title                 string
	Trigger               string
	OrderBy               string
	Status, Expand        []string
	PostingDay            time.Time
}

type GetSpacesOptionScheme

type GetSpacesOptionScheme struct {
	SpaceKeys       []string
	SpaceIDs        []int
	SpaceType       string
	Status          string
	Labels          []string
	Favorite        bool
	FavoriteUserKey string
	Expand          []string
}

type GetSpacesOptionSchemeV2 added in v1.5.0

type GetSpacesOptionSchemeV2 struct {
	IDs               []string
	Keys              []string
	Type              string
	Status            string
	Labels            []string
	Sort              string
	DescriptionFormat string
	SerializeIDs      bool
}

type GroupBulkOptionsScheme

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

type GroupDetailScheme added in v1.5.0

type GroupDetailScheme struct {
	Self    string `json:"self,omitempty"`
	Name    string `json:"name,omitempty"`
	GroupID string `json:"groupId,omitempty"`
}

func ParseMultiGroupPickerCustomField added in v1.5.0

func ParseMultiGroupPickerCustomField(buffer bytes.Buffer, customField string) ([]*GroupDetailScheme, error)

ParseMultiGroupPickerCustomField parses a group-picker custom field from the given buffer data associated with the specified custom field ID and returns a slice of pointers to GroupDetailScheme structs.

Parameters:

  • customfieldID: A string representing the unique identifier of the custom field.
  • buffer: A bytes.Buffer containing the serialized data to be parsed.

Returns:

  • []*GroupDetailScheme: A slice of pointers to GroupDetailScheme structs representing the parsed group picker associated with the custom field.

The GroupDetailScheme method is responsible for extracting and parsing the serialized data from the provided buffer, which is expected to be in a specific format. It then constructs and returns a slice of pointers to GroupDetailScheme structs that represent the parsed groups for the given custom field.

Example usage:

customfieldID := "customfield_10001"
buffer := bytes.NewBuffer([]byte{ /* Serialized data */ })
groups, err := ParseMultiGroupPickerCustomField(customfieldID, buffer)
if err != nil {
    log.Fatal(err)
}
for _, group := range groups {
    fmt.Printf("Group ID: %s, Group Name: %s\n", group.GroupID, group.Name)
}

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-grouppicker-customfield

type GroupMemberPageScheme

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

type GroupPermissionScheme

type GroupPermissionScheme struct {
	Results []*SpaceGroupScheme `json:"results,omitempty"`
	Size    int                 `json:"size,omitempty"`
}

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 GroupUserDetailScheme

type GroupUserDetailScheme struct {
	Self         string `json:"self"`
	Name         string `json:"name"`
	Key          string `json:"key"`
	AccountID    string `json:"accountId"`
	EmailAddress string `json:"emailAddress"`
	DisplayName  string `json:"displayName"`
	Active       bool   `json:"active"`
	TimeZone     string `json:"timeZone"`
	AccountType  string `json:"accountType"`
}

type GroupUserPageScheme

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 IconScheme added in v1.5.1

type IconScheme struct {
	ID    string `json:"id,omitempty"`
	Name  string `json:"name,omitempty"`
	URL16 string `json:"url16,omitempty"`
	URL48 string `json:"url48,omitempty"`
}

type InfoBuildDataScheme

type InfoBuildDataScheme struct {
	Iso8601     string `json:"iso8601,omitempty"`
	Jira        string `json:"jira,omitempty"`
	Friendly    string `json:"friendly,omitempty"`
	EpochMillis int64  `json:"epochMillis,omitempty"`
}

type InfoLinkScheme

type InfoLinkScheme struct {
	Self string `json:"self,omitempty"`
}

type InfoScheme

type InfoScheme struct {
	Version          string               `json:"version,omitempty"`
	PlatformVersion  string               `json:"platformVersion,omitempty"`
	BuildDate        *InfoBuildDataScheme `json:"buildDate,omitempty"`
	BuildChangeSet   string               `json:"buildChangeSet,omitempty"`
	IsLicensedForUse bool                 `json:"isLicensedForUse,omitempty"`
	Links            *InfoLinkScheme      `json:"_links,omitempty"`
}

type IssueAttachmentHumanMetadataEntryScheme added in v1.5.1

type IssueAttachmentHumanMetadataEntryScheme struct {
	Path      string `json:"path,omitempty"`
	Index     int    `json:"index,omitempty"`
	Size      string `json:"size,omitempty"`
	MediaType string `json:"mediaType,omitempty"`
	Label     string `json:"label,omitempty"`
}

type IssueAttachmentHumanMetadataScheme added in v1.5.1

type IssueAttachmentHumanMetadataScheme struct {
	ID              int                                        `json:"id,omitempty"`
	Name            string                                     `json:"name,omitempty"`
	Entries         []*IssueAttachmentHumanMetadataEntryScheme `json:"entries,omitempty"`
	TotalEntryCount int                                        `json:"totalEntryCount,omitempty"`
	MediaType       string                                     `json:"mediaType,omitempty"`
}

type IssueAttachmentMetadataScheme added in v1.5.1

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

type IssueAttachmentScheme added in v1.5.1

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

type IssueBulkResponseErrorScheme

type IssueBulkResponseErrorScheme struct {
	Status        int `json:"status"`
	ElementErrors struct {
		ErrorMessages []string `json:"errorMessages"`
		Status        int      `json:"status"`
	} `json:"elementErrors"`
	FailedElementNumber int `json:"failedElementNumber"`
}

type IssueBulkResponseScheme

type IssueBulkResponseScheme struct {
	Issues []struct {
		ID   string `json:"id,omitempty"`
		Key  string `json:"key,omitempty"`
		Self string `json:"self,omitempty"`
	} `json:"issues,omitempty"`
	Errors []*IssueBulkResponseErrorScheme `json:"errors,omitempty"`
}

type IssueBulkSchemeV2

type IssueBulkSchemeV2 struct {
	Payload      *IssueSchemeV2
	CustomFields *CustomFields
}

type IssueBulkSchemeV3

type IssueBulkSchemeV3 struct {
	Payload      *IssueScheme
	CustomFields *CustomFields
}

type IssueChangelogAuthor

type IssueChangelogAuthor struct {
	Self         string           `json:"self,omitempty"`
	AccountID    string           `json:"accountId,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"`
	AccountType  string           `json:"accountType,omitempty"`
}

type IssueChangelogHistoryItemScheme

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

type IssueChangelogHistoryScheme

type IssueChangelogHistoryScheme struct {
	ID      string                             `json:"id,omitempty"`
	Author  *IssueChangelogAuthor              `json:"author,omitempty"`
	Created string                             `json:"created,omitempty"`
	Items   []*IssueChangelogHistoryItemScheme `json:"items,omitempty"`
}

type IssueChangelogScheme

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

type IssueCommentPageScheme

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

type IssueCommentPageSchemeV2

type IssueCommentPageSchemeV2 struct {
	StartAt    int                     `json:"startAt,omitempty"`
	MaxResults int                     `json:"maxResults,omitempty"`
	Total      int                     `json:"total,omitempty"`
	Comments   []*IssueCommentSchemeV2 `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         *CommentNodeScheme       `json:"body,omitempty"`
	JSDPublic    bool                     `json:"jsdPublic,omitempty"`
	UpdateAuthor *UserScheme              `json:"updateAuthor,omitempty"`
	Created      string                   `json:"created,omitempty"`
	Updated      string                   `json:"updated,omitempty"`
	Visibility   *CommentVisibilityScheme `json:"visibility,omitempty"`
}

type IssueCommentSchemeV2

type IssueCommentSchemeV2 struct {
	Self         string                   `json:"self,omitempty"`
	ID           string                   `json:"id,omitempty"`
	Body         string                   `json:"body,omitempty"`
	RenderedBody string                   `json:"renderedBody,omitempty"`
	Author       *UserScheme              `json:"author,omitempty"`
	JSDPublic    bool                     `json:"jsdPublic,omitempty"`
	UpdateAuthor *UserScheme              `json:"updateAuthor,omitempty"`
	Created      string                   `json:"created,omitempty"`
	Updated      string                   `json:"updated,omitempty"`
	Visibility   *CommentVisibilityScheme `json:"visibility,omitempty"`
}

type IssueFieldLastUsedScheme

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

type IssueFieldSchemaScheme

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

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 {
	Parent                   *ParentScheme              `json:"parent,omitempty"`
	IssueType                *IssueTypeScheme           `json:"issuetype,omitempty"`
	IssueLinks               []*IssueLinkScheme         `json:"issuelinks,omitempty"`
	Watcher                  *IssueWatcherScheme        `json:"watches,omitempty"`
	Votes                    *IssueVoteScheme           `json:"votes,omitempty"`
	Versions                 []*VersionScheme           `json:"versions,omitempty"`
	Project                  *ProjectScheme             `json:"project,omitempty"`
	FixVersions              []*VersionScheme           `json:"fixVersions,omitempty"`
	Priority                 *PriorityScheme            `json:"priority,omitempty"`
	Components               []*ComponentScheme         `json:"components,omitempty"`
	Creator                  *UserScheme                `json:"creator,omitempty"`
	Reporter                 *UserScheme                `json:"reporter,omitempty"`
	Assignee                 *UserScheme                `json:"assignee,omitempty"`
	Resolution               *ResolutionScheme          `json:"resolution,omitempty"`
	Resolutiondate           string                     `json:"resolutiondate,omitempty"`
	Workratio                int                        `json:"workratio,omitempty"`
	StatusCategoryChangeDate string                     `json:"statuscategorychangedate,omitempty"`
	LastViewed               string                     `json:"lastViewed,omitempty"`
	Summary                  string                     `json:"summary,omitempty"`
	Created                  string                     `json:"created,omitempty"`
	Updated                  string                     `json:"updated,omitempty"`
	Labels                   []string                   `json:"labels,omitempty"`
	Status                   *StatusScheme              `json:"status,omitempty"`
	Description              *CommentNodeScheme         `json:"description,omitempty"`
	Comment                  *IssueCommentPageScheme    `json:"comment,omitempty"`
	Subtasks                 []*IssueScheme             `json:"subtasks,omitempty"`
	Security                 *SecurityScheme            `json:"security,omitempty"`
	Attachment               []*AttachmentScheme        `json:"attachment,omitempty"`
	Worklog                  *IssueWorklogADFPageScheme `json:"worklog,omitempty"`
}

type IssueFieldsSchemeV2

type IssueFieldsSchemeV2 struct {
	Parent                   *ParentScheme                   `json:"parent,omitempty"`
	IssueType                *IssueTypeScheme                `json:"issuetype,omitempty"`
	IssueLinks               []*IssueLinkScheme              `json:"issuelinks,omitempty"`
	Watcher                  *IssueWatcherScheme             `json:"watches,omitempty"`
	Votes                    *IssueVoteScheme                `json:"votes,omitempty"`
	Versions                 []*VersionScheme                `json:"versions,omitempty"`
	Project                  *ProjectScheme                  `json:"project,omitempty"`
	FixVersions              []*VersionScheme                `json:"fixVersions,omitempty"`
	Priority                 *PriorityScheme                 `json:"priority,omitempty"`
	Components               []*ComponentScheme              `json:"components,omitempty"`
	Creator                  *UserScheme                     `json:"creator,omitempty"`
	Reporter                 *UserScheme                     `json:"reporter,omitempty"`
	Assignee                 *UserScheme                     `json:"assignee,omitempty"`
	Resolution               *ResolutionScheme               `json:"resolution,omitempty"`
	Resolutiondate           string                          `json:"resolutiondate,omitempty"`
	Workratio                int                             `json:"workratio,omitempty"`
	StatusCategoryChangeDate string                          `json:"statuscategorychangedate,omitempty"`
	LastViewed               string                          `json:"lastViewed,omitempty"`
	Summary                  string                          `json:"summary,omitempty"`
	Created                  string                          `json:"created,omitempty"`
	Updated                  string                          `json:"updated,omitempty"`
	Labels                   []string                        `json:"labels,omitempty"`
	Status                   *StatusScheme                   `json:"status,omitempty"`
	Description              string                          `json:"description,omitempty"`
	Comment                  *IssueCommentPageSchemeV2       `json:"comment,omitempty"`
	Subtasks                 []*IssueScheme                  `json:"subtasks,omitempty"`
	Security                 *SecurityScheme                 `json:"security,omitempty"`
	Worklog                  *IssueWorklogRichTextPageScheme `json:"worklog,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 IssueLinkFieldScheme added in v1.4.4

type IssueLinkFieldScheme struct {
	IssueLinks []*IssueLinkScheme `json:"issuelinks,omitempty"`
}

type IssueLinkFieldsScheme added in v1.4.4

type IssueLinkFieldsScheme struct {
	IssueType                *IssueTypeScheme    `json:"issuetype,omitempty"`
	IssueLinks               []*IssueLinkScheme  `json:"issuelinks,omitempty"`
	Watcher                  *IssueWatcherScheme `json:"watches,omitempty"`
	Votes                    *IssueVoteScheme    `json:"votes,omitempty"`
	Versions                 []*VersionScheme    `json:"versions,omitempty"`
	Project                  *ProjectScheme      `json:"project,omitempty"`
	FixVersions              []*VersionScheme    `json:"fixVersions,omitempty"`
	Priority                 *PriorityScheme     `json:"priority,omitempty"`
	Components               []*ComponentScheme  `json:"components,omitempty"`
	Creator                  *UserScheme         `json:"creator,omitempty"`
	Reporter                 *UserScheme         `json:"reporter,omitempty"`
	Assignee                 *UserScheme         `json:"assignee,omitempty"`
	Resolution               *ResolutionScheme   `json:"resolution,omitempty"`
	Resolutiondate           string              `json:"resolutiondate,omitempty"`
	Workratio                int                 `json:"workratio,omitempty"`
	StatusCategoryChangeDate string              `json:"statuscategorychangedate,omitempty"`
	LastViewed               string              `json:"lastViewed,omitempty"`
	Summary                  string              `json:"summary,omitempty"`
	Created                  string              `json:"created,omitempty"`
	Updated                  string              `json:"updated,omitempty"`
	Labels                   []string            `json:"labels,omitempty"`
	Status                   *StatusScheme       `json:"status,omitempty"`
	Security                 *SecurityScheme     `json:"security,omitempty"`
}

type IssueLinkPageScheme

type IssueLinkPageScheme struct {
	Expand string                `json:"expand,omitempty"`
	ID     string                `json:"id,omitempty"`
	Self   string                `json:"self,omitempty"`
	Key    string                `json:"key,omitempty"`
	Fields *IssueLinkFieldScheme `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 IssueLinkTypeScheme

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

type IssueLinkTypeSearchScheme

type IssueLinkTypeSearchScheme struct {
	IssueLinkTypes []*LinkTypeScheme `json:"issueLinkTypes,omitempty"`
}

type IssueMatchesPageScheme added in v1.4.4

type IssueMatchesPageScheme struct {
	Matches []*IssueMatchesScheme `json:"matches,omitempty"`
}

type IssueMatchesScheme added in v1.4.4

type IssueMatchesScheme struct {
	MatchedIssues []int    `json:"matchedIssues,omitempty"`
	Errors        []string `json:"errors,omitempty"`
}

type IssueMetadataCreateOptions

type IssueMetadataCreateOptions struct {
	ProjectIDs     []string
	ProjectKeys    []string
	IssueTypeIDs   []string
	IssueTypeNames []string
	Expand         string
}

type IssueMoveOptionsV2

type IssueMoveOptionsV2 struct {
	Fields       *IssueSchemeV2
	CustomFields *CustomFields
	Operations   *UpdateOperations
}

type IssueMoveOptionsV3

type IssueMoveOptionsV3 struct {
	Fields       *IssueScheme
	CustomFields *CustomFields
	Operations   *UpdateOperations
}

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 IssueOptionScheme

type IssueOptionScheme struct {
	JQL           string
	ValidateQuery bool
	Fields        []string
	Expand        []string
}

type IssueResponseScheme

type IssueResponseScheme struct {
	ID   string `json:"id,omitempty"`
	Key  string `json:"key,omitempty"`
	Self string `json:"self,omitempty"`
}

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

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

func (*IssueScheme) MergeOperations

func (i *IssueScheme) MergeOperations(operations *UpdateOperations) (map[string]interface{}, error)

func (*IssueScheme) ToMap

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

type IssueSchemeV2

type IssueSchemeV2 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      *IssueFieldsSchemeV2     `json:"fields,omitempty"`
}

func (*IssueSchemeV2) MergeCustomFields

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

func (*IssueSchemeV2) MergeOperations

func (i *IssueSchemeV2) MergeOperations(operations *UpdateOperations) (map[string]interface{}, error)

func (*IssueSchemeV2) ToMap

func (i *IssueSchemeV2) ToMap() (map[string]interface{}, error)

type IssueSearchCheckPayloadScheme added in v1.4.4

type IssueSearchCheckPayloadScheme struct {
	IssueIds []int    `json:"issueIds,omitempty"`
	JQLs     []string `json:"jqls,omitempty"`
}

type IssueSearchScheme

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

type IssueSearchSchemeV2

type IssueSearchSchemeV2 struct {
	Expand          string           `json:"expand,omitempty"`
	StartAt         int              `json:"startAt,omitempty"`
	MaxResults      int              `json:"maxResults,omitempty"`
	Total           int              `json:"total,omitempty"`
	Issues          []*IssueSchemeV2 `json:"issues,omitempty"`
	WarningMessages []string         `json:"warningMessages,omitempty"`
}

type IssueSecurityLevelScheme

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

type IssueSecurityLevelsScheme

type IssueSecurityLevelsScheme struct {
	Levels []*IssueSecurityLevelScheme `json:"levels,omitempty"`
}

type IssueTransitionScheme

type IssueTransitionScheme struct {
	ID            string        `json:"id,omitempty"`
	Name          string        `json:"name,omitempty"`
	To            *StatusScheme `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"`
	Description    string `json:"description,omitempty"`
	Type           string `json:"type,omitempty"`
	HierarchyLevel int    `json:"hierarchyLevel,omitempty"`
	AvatarID       int    `json:"avatarId,omitempty"`
}

type IssueTypeProjectScreenSchemePageScheme

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

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

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

type IssueTypeSchemePageScheme

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

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

type IssueTypeSchemeScheme

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 IssueTypeScopeScheme

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

type IssueTypeScreenSchemeByProjectPageScheme

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

type IssueTypeScreenSchemeItemScheme

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,omitempty"`
	ScreenSchemeID string `json:"screenSchemeId,omitempty"`
}

type IssueTypeScreenSchemeMappingScheme

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

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"`
	Description       string                                       `json:"description,omitempty"`
	IssueTypeMappings []*IssueTypeScreenSchemeMappingPayloadScheme `json:"issueTypeMappings,omitempty"`
}

type IssueTypeScreenSchemeScheme

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

type IssueTypeScreenSchemesProjectScheme

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

type IssueTypeScreenScreenCreatedScheme

type IssueTypeScreenScreenCreatedScheme struct {
	ID string `json:"id"`
}

type IssueTypeToContextMappingPageScheme

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

type IssueTypeToContextMappingValueScheme

type IssueTypeToContextMappingValueScheme struct {
	ContextID      string `json:"contextId"`
	IsAnyIssueType bool   `json:"isAnyIssueType,omitempty"`
	IssueTypeID    string `json:"issueTypeId,omitempty"`
}

type IssueTypeWorkflowMappingScheme added in v1.5.1

type IssueTypeWorkflowMappingScheme struct {
	IssueType string `json:"issueType,omitempty"`
	Workflow  string `json:"workflow,omitempty"`
}

type IssueTypeWorkflowPayloadScheme added in v1.5.1

type IssueTypeWorkflowPayloadScheme struct {
	IssueType           string `json:"issueType,omitempty"`
	UpdateDraftIfNeeded bool   `json:"updateDraftIfNeeded,omitempty"`
	Workflow            string `json:"workflow,omitempty"`
}

type IssueTypesWorkflowMappingScheme added in v1.5.1

type IssueTypesWorkflowMappingScheme struct {
	Workflow       string   `json:"workflow,omitempty"`
	IssueTypes     []string `json:"issueTypes,omitempty"`
	DefaultMapping bool     `json:"defaultMapping,omitempty"`
}

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

type IssueWorklogADFPageScheme added in v1.5.0

type IssueWorklogADFPageScheme struct {
	StartAt    int                      `json:"startAt,omitempty"`
	MaxResults int                      `json:"maxResults,omitempty"`
	Total      int                      `json:"total,omitempty"`
	Worklogs   []*IssueWorklogADFScheme `json:"worklogs,omitempty"`
}

type IssueWorklogADFScheme added in v1.5.0

type IssueWorklogADFScheme struct {
	Self             string                        `json:"self,omitempty"`
	Author           *UserDetailScheme             `json:"author,omitempty"`
	UpdateAuthor     *UserDetailScheme             `json:"updateAuthor,omitempty"`
	Comment          *CommentNodeScheme            `json:"comment,omitempty"`
	Updated          string                        `json:"updated,omitempty"`
	Visibility       *IssueWorklogVisibilityScheme `json:"visibility,omitempty"`
	Started          string                        `json:"started,omitempty"`
	TimeSpent        string                        `json:"timeSpent,omitempty"`
	TimeSpentSeconds int                           `json:"timeSpentSeconds,omitempty"`
	ID               string                        `json:"id,omitempty"`
	IssueID          string                        `json:"issueId,omitempty"`
}

type IssueWorklogRichTextPageScheme added in v1.5.0

type IssueWorklogRichTextPageScheme struct {
	StartAt    int                           `json:"startAt,omitempty"`
	MaxResults int                           `json:"maxResults,omitempty"`
	Total      int                           `json:"total,omitempty"`
	Worklogs   []*IssueWorklogRichTextScheme `json:"worklogs,omitempty"`
}

type IssueWorklogRichTextScheme added in v1.5.0

type IssueWorklogRichTextScheme struct {
	Self             string                        `json:"self,omitempty"`
	Author           *UserDetailScheme             `json:"author,omitempty"`
	UpdateAuthor     *UserDetailScheme             `json:"updateAuthor,omitempty"`
	Comment          string                        `json:"comment,omitempty"`
	Updated          string                        `json:"updated,omitempty"`
	Visibility       *IssueWorklogVisibilityScheme `json:"visibility,omitempty"`
	Started          string                        `json:"started,omitempty"`
	TimeSpent        string                        `json:"timeSpent,omitempty"`
	TimeSpentSeconds int                           `json:"timeSpentSeconds,omitempty"`
	ID               string                        `json:"id,omitempty"`
	IssueID          string                        `json:"issueId,omitempty"`
}

type IssueWorklogVisibilityScheme

type IssueWorklogVisibilityScheme struct {
	Type       string `json:"type,omitempty"`
	Value      string `json:"value,omitempty"`
	Identifier string `json:"identifier,omitempty"`
}

type JiraTeamCreatePayloadScheme added in v1.5.1

type JiraTeamCreatePayloadScheme struct {
	Title     string                    `json:"title,omitempty"`
	Shareable bool                      `json:"shareable,omitempty"`
	Resources []*JiraTeamResourceScheme `json:"resources,omitempty"`
}

type JiraTeamCreateResponseScheme added in v1.5.1

type JiraTeamCreateResponseScheme struct {
	Id      int                     `json:"id,omitempty"`
	Team    *JiraTeamScheme         `json:"team,omitempty"`
	Persons []*JiraTeamPersonScheme `json:"persons,omitempty"`
}

type JiraTeamPageScheme added in v1.5.1

type JiraTeamPageScheme struct {
	MoreResultsAvailable bool                    `json:"moreResultsAvailable,omitempty"`
	Teams                []*JiraTeamScheme       `json:"teams,omitempty"`
	Persons              []*JiraTeamPersonScheme `json:"persons,omitempty"`
	ZeroMemberTeamsCount int                     `json:"zeroMemberTeamsCount,omitempty"`
}

type JiraTeamPersonScheme added in v1.5.1

type JiraTeamPersonScheme struct {
	PersonId int                 `json:"personId,omitempty"`
	JiraUser *JiraTeamUserScheme `json:"jiraUser,omitempty"`
}

type JiraTeamResourceScheme added in v1.5.1

type JiraTeamResourceScheme struct {
	Id       int `json:"id,omitempty"`
	PersonId int `json:"personId,omitempty"`
}

type JiraTeamScheme added in v1.5.1

type JiraTeamScheme struct {
	Id         int                       `json:"id,omitempty"`
	ExternalId string                    `json:"externalId,omitempty"`
	Title      string                    `json:"title,omitempty"`
	Shareable  bool                      `json:"shareable,omitempty"`
	Resources  []*JiraTeamResourceScheme `json:"resources,omitempty"`
}

type JiraTeamUserScheme added in v1.5.1

type JiraTeamUserScheme struct {
	Title     string `json:"title,omitempty"`
	Email     string `json:"email,omitempty"`
	AvatarUrl string `json:"avatarUrl,omitempty"`
}

type LabelAssociatedContentPageScheme added in v1.4.3

type LabelAssociatedContentPageScheme struct {
	Results []*LabelAssociatedContentScheme `json:"results,omitempty"`
	Start   int                             `json:"start,omitempty"`
	Limit   int                             `json:"limit,omitempty"`
	Size    int                             `json:"size,omitempty"`
}

type LabelAssociatedContentScheme added in v1.4.3

type LabelAssociatedContentScheme struct {
	ContentType string `json:"contentType,omitempty"`
	ContentID   int    `json:"contentId,omitempty"`
	Title       string `json:"title,omitempty"`
}

type LabelDetailsScheme added in v1.4.3

type LabelDetailsScheme struct {
	Label              *ContentLabelScheme               `json:"label"`
	AssociatedContents *LabelAssociatedContentPageScheme `json:"associatedContents"`
}

type LabelValueScheme

type LabelValueScheme struct {
	Prefix string `json:"prefix,omitempty"`
	Name   string `json:"name,omitempty"`
	ID     string `json:"id,omitempty"`
	Label  string `json:"label,omitempty"`
}

type LabelsScheme

type LabelsScheme struct {
	Results []*LabelValueScheme `json:"results,omitempty"`
	Start   int                 `json:"start,omitempty"`
	Limit   int                 `json:"limit,omitempty"`
	Size    int                 `json:"size,omitempty"`
	Links   *LinkScheme         `json:"_links,omitempty"`
}

type LinkPageModelScheme

type LinkPageModelScheme struct {
	Self string `json:"self,omitempty"`
	Prev string `json:"prev,omitempty"`
	Next string `json:"next,omitempty"`
}

type LinkPayloadSchemeV2

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

type LinkPayloadSchemeV3

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

type LinkScheme

type LinkScheme struct {
	Base       string `json:"base,omitempty"`
	Context    string `json:"context,omitempty"`
	Self       string `json:"self,omitempty"`
	Tinyui     string `json:"tinyui,omitempty"`
	Editui     string `json:"editui,omitempty"`
	Webui      string `json:"webui,omitempty"`
	Download   string `json:"download,omitempty"`
	Next       string `json:"next"`
	Collection string `json:"collection"`
}

type LinkSelfModelScheme

type LinkSelfModelScheme struct {
	Self string `json:"self,omitempty"`
}

type LinkTypeScheme

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

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

type LongTaskDetailsScheme added in v1.4.3

type LongTaskDetailsScheme struct {
	DestinationID        string `json:"destinationId,omitempty"`
	DestinationURL       string `json:"destinationUrl,omitempty"`
	TotalPageNeedToCopy  int    `json:"totalPageNeedToCopy,omitempty"`
	AdditionalProperties string `json:"additionalProperties,omitempty"`
}

type LongTaskMessageScheme added in v1.4.3

type LongTaskMessageScheme struct {
	Translation string   `json:"translation,omitempty"`
	Args        []string `json:"args,omitempty"`
}

type LongTaskNameScheme added in v1.4.3

type LongTaskNameScheme struct {
	Key string `json:"key,omitempty"`
}

type LongTaskPageScheme added in v1.4.3

type LongTaskPageScheme struct {
	Results []*LongTaskScheme `json:"results,omitempty"`
	Start   int               `json:"start,omitempty"`
	Limit   int               `json:"limit,omitempty"`
	Size    int               `json:"size,omitempty"`
}

type LongTaskScheme added in v1.4.3

type LongTaskScheme struct {
	ID                 string                   `json:"id,omitempty"`
	Name               *LongTaskNameScheme      `json:"name,omitempty"`
	ElapsedTime        int                      `json:"elapsedTime,omitempty"`
	PercentageComplete int                      `json:"percentageComplete,omitempty"`
	Successful         bool                     `json:"successful,omitempty"`
	Finished           bool                     `json:"finished,omitempty"`
	Messages           []*LongTaskMessageScheme `json:"messages,omitempty"`
	Status             string                   `json:"status,omitempty"`
	Errors             []*LongTaskMessageScheme `json:"errors,omitempty"`
	AdditionalDetails  *LongTaskDetailsScheme   `json:"additionalDetails,omitempty"`
}

type MarkScheme

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

type MetadataScheme

type MetadataScheme struct {
	Labels     *LabelsScheme     `json:"labels"`
	Expandable *ExpandableScheme `json:"_expandable,omitempty"`
	MediaType  string            `json:"mediaType,omitempty"`
}

type NewIssueTypeSchemeScheme

type NewIssueTypeSchemeScheme struct {
	IssueTypeSchemeID string `json:"issueTypeSchemeId"`
}

type NewProjectCreatedScheme

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

type NotificationEventScheme

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

type NotificationSchemeCreatedPayload added in v1.5.0

type NotificationSchemeCreatedPayload struct {
	Id string `json:"id"`
}

type NotificationSchemeEventNotificationScheme added in v1.5.0

type NotificationSchemeEventNotificationScheme struct {
	NotificationType string `json:"notificationType,omitempty"`
	Parameter        string `json:"parameter,omitempty"`
}

type NotificationSchemeEventTypeScheme added in v1.5.0

type NotificationSchemeEventTypeScheme struct {
	ID string `json:"id,omitempty"`
}

type NotificationSchemeEventsPayloadScheme added in v1.5.0

type NotificationSchemeEventsPayloadScheme struct {
	NotificationSchemeEvents []*NotificationSchemePayloadEventScheme `json:"notificationSchemeEvents,omitempty"`
}

type NotificationSchemePageScheme added in v1.5.0

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

type NotificationSchemePayloadEventScheme added in v1.5.0

type NotificationSchemePayloadEventScheme struct {
	Event         *NotificationSchemeEventTypeScheme           `json:"event,omitempty"`
	Notifications []*NotificationSchemeEventNotificationScheme `json:"notifications,omitempty"`
}

type NotificationSchemePayloadScheme added in v1.5.0

type NotificationSchemePayloadScheme struct {
	Description string                                  `json:"description,omitempty"`
	Name        string                                  `json:"name,omitempty"`
	Events      []*NotificationSchemePayloadEventScheme `json:"notificationSchemeEvents,omitempty"`
}

type NotificationSchemeProjectPageScheme added in v1.5.0

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

type NotificationSchemeProjectScheme added in v1.5.0

type NotificationSchemeProjectScheme struct {
	NotificationSchemeId string `json:"notificationSchemeId,omitempty"`
	ProjectId            string `json:"projectId,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"`
	Projects                 []int                                   `json:"projects,omitempty"`
}

type NotificationSchemeSearchOptions added in v1.5.0

type NotificationSchemeSearchOptions struct {
	NotificationSchemeIDs []string
	ProjectIDs            []string
	OnlyDefault           bool
	Expand                []string
}

type ObjectAttributeScheme added in v1.5.1

type ObjectAttributeScheme struct {
	WorkspaceId           string                                 `json:"workspaceId,omitempty"`
	GlobalId              string                                 `json:"globalId,omitempty"`
	ID                    string                                 `json:"id,omitempty"`
	ObjectTypeAttribute   *ObjectTypeAttributeScheme             `json:"objectTypeAttribute,omitempty"`
	ObjectTypeAttributeId string                                 `json:"objectTypeAttributeId,omitempty"`
	ObjectAttributeValues []*ObjectTypeAssetAttributeValueScheme `json:"objectAttributeValues,omitempty"`
}

type ObjectAvatarScheme added in v1.5.1

type ObjectAvatarScheme struct {
	WorkspaceId string `json:"workspaceId,omitempty"`
	GlobalId    string `json:"globalId,omitempty"`
	ID          string `json:"id,omitempty"`
	AvatarUUID  string `json:"avatarUUID,omitempty"`
	Url16       string `json:"url16,omitempty"`
	Url48       string `json:"url48,omitempty"`
	Url72       string `json:"url72,omitempty"`
	Url144      string `json:"url144,omitempty"`
	Url288      string `json:"url288,omitempty"`
	ObjectId    string `json:"objectId,omitempty"`
}

type ObjectHistoryActorScheme added in v1.5.1

type ObjectHistoryActorScheme struct {
	AvatarUrl       string `json:"avatarUrl,omitempty"`
	DisplayName     string `json:"displayName,omitempty"`
	Name            string `json:"name,omitempty"`
	Key             string `json:"key,omitempty"`
	EmailAddress    string `json:"emailAddress,omitempty"`
	Html            string `json:"html,omitempty"`
	RenderedLink    string `json:"renderedLink,omitempty"`
	IsDeleted       bool   `json:"isDeleted,omitempty"`
	LastSeenVersion string `json:"lastSeenVersion,omitempty"`
	Self            string `json:"self,omitempty"`
}

type ObjectHistoryScheme added in v1.5.1

type ObjectHistoryScheme struct {
	Actor             *ObjectHistoryActorScheme `json:"actor,omitempty"`
	ID                string                    `json:"id,omitempty"`
	AffectedAttribute string                    `json:"affectedAttribute,omitempty"`
	OldValue          string                    `json:"oldValue,omitempty"`
	NewValue          string                    `json:"newValue,omitempty"`
	Type              int                       `json:"type,omitempty"`
	Created           string                    `json:"created,omitempty"`
	ObjectID          string                    `json:"objectId,omitempty"`
}

type ObjectLinksScheme added in v1.5.1

type ObjectLinksScheme struct {
	Self string `json:"self,omitempty"`
}

type ObjectListResultScheme added in v1.5.1

type ObjectListResultScheme struct {
	StartAt              int                          `json:"startAt,omitempty"`
	MaxResults           int                          `json:"maxResults,omitempty"`
	Total                int                          `json:"total,omitempty"`
	IsLast               bool                         `json:"isLast,omitempty"`
	Values               []*ObjectScheme              `json:"values,omitempty"`
	ObjectTypeAttributes []*ObjectTypeAttributeScheme `json:"objectTypeAttributes,omitempty"`
}

type ObjectListScheme added in v1.5.1

type ObjectListScheme struct {
	ObjectEntries         []*ObjectScheme              `json:"objectEntries,omitempty"`
	ObjectTypeAttributes  []*ObjectTypeAttributeScheme `json:"objectTypeAttributes,omitempty"`
	ObjectTypeId          string                       `json:"objectTypeId,omitempty"`
	ObjectTypeIsInherited bool                         `json:"objectTypeIsInherited,omitempty"`
	AbstractObjectType    bool                         `json:"abstractObjectType,omitempty"`
	TotalFilterCount      int                          `json:"totalFilterCount,omitempty"`
	StartIndex            int                          `json:"startIndex,omitempty"`
	ToIndex               int                          `json:"toIndex,omitempty"`
	PageObjectSize        int                          `json:"pageObjectSize,omitempty"`
	PageNumber            int                          `json:"pageNumber,omitempty"`
	OrderByTypeAttrId     int                          `json:"orderByTypeAttrId,omitempty"`
	OrderWay              string                       `json:"orderWay,omitempty"`
	QlQuery               string                       `json:"qlQuery,omitempty"`
	QlQuerySearchResult   bool                         `json:"qlQuerySearchResult,omitempty"`
	Iql                   string                       `json:"iql,omitempty"`
	IqlSearchResult       bool                         `json:"iqlSearchResult,omitempty"`
	ConversionPossible    bool                         `json:"conversionPossible,omitempty"`
}

type ObjectPageScheme added in v1.5.1

type ObjectPageScheme struct {
	ObjectEntries         []*ObjectScheme              `json:"objectEntries"`
	ObjectTypeAttributes  []*ObjectTypeAttributeScheme `json:"objectTypeAttributes"`
	ObjectTypeID          string                       `json:"objectTypeId"`
	ObjectTypeIsInherited bool                         `json:"objectTypeIsInherited"`
	AbstractObjectType    bool                         `json:"abstractObjectType"`
	TotalFilterCount      int                          `json:"totalFilterCount"`
	StartIndex            int                          `json:"startIndex"`
	ToIndex               int                          `json:"toIndex"`
	PageObjectSize        int                          `json:"pageObjectSize"`
	PageNumber            int                          `json:"pageNumber"`
	OrderByTypeAttrId     int                          `json:"orderByTypeAttrId"`
	OrderWay              string                       `json:"orderWay"`
	QlQuery               string                       `json:"qlQuery"`
	QlQuerySearchResult   bool                         `json:"qlQuerySearchResult"`
	Iql                   string                       `json:"iql"`
	IqlSearchResult       bool                         `json:"iqlSearchResult"`
	ConversionPossible    bool                         `json:"conversionPossible"`
}

type ObjectPayloadAttributeScheme added in v1.5.1

type ObjectPayloadAttributeScheme struct {
	ObjectTypeAttributeID string                               `json:"objectTypeAttributeId,omitempty"`
	ObjectAttributeValues []*ObjectPayloadAttributeValueScheme `json:"objectAttributeValues,omitempty"`
}

type ObjectPayloadAttributeValueScheme added in v1.5.1

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

type ObjectPayloadScheme added in v1.5.1

type ObjectPayloadScheme struct {
	ObjectTypeID string                          `json:"objectTypeId,omitempty"`
	AvatarUUID   string                          `json:"avatarUUID,omitempty"`
	HasAvatar    bool                            `json:"hasAvatar,omitempty"`
	Attributes   []*ObjectPayloadAttributeScheme `json:"attributes,omitempty"`
}

type ObjectReferenceTypeInfoScheme added in v1.5.1

type ObjectReferenceTypeInfoScheme struct {
	ReferenceTypes            []*TypeReferenceScheme `json:"referenceTypes,omitempty"`
	ObjectType                *ObjectTypeScheme      `json:"objectType,omitempty"`
	NumberOfReferencedObjects int                    `json:"numberOfReferencedObjects,omitempty"`
	OpenIssuesExists          bool                   `json:"openIssuesExists,omitempty"`
}

type ObjectSchemaAttributesParamsScheme added in v1.5.1

type ObjectSchemaAttributesParamsScheme struct {

	// OnlyValueEditable return only values that are associated with values that can be edited
	OnlyValueEditable bool

	// Extended include the object type with each object type attribute
	Extended bool

	// Query it's a query that will be used to filter object type attributes by their name
	Query string
}

type ObjectSchemaPageScheme added in v1.5.1

type ObjectSchemaPageScheme struct {
	StartAt    int                   `json:"startAt,omitempty"`
	MaxResults int                   `json:"maxResults,omitempty"`
	Total      int                   `json:"total,omitempty"`
	Values     []*ObjectSchemaScheme `json:"values,omitempty"`
}

type ObjectSchemaPayloadScheme added in v1.5.1

type ObjectSchemaPayloadScheme struct {
	Name            string `json:"name,omitempty"`
	ObjectSchemaKey string `json:"objectSchemaKey,omitempty"`
	Description     string `json:"description,omitempty"`
}

type ObjectSchemaScheme added in v1.5.1

type ObjectSchemaScheme struct {
	WorkspaceId     string `json:"workspaceId,omitempty"`
	GlobalId        string `json:"globalId,omitempty"`
	Id              string `json:"id,omitempty"`
	Name            string `json:"name,omitempty"`
	ObjectSchemaKey string `json:"objectSchemaKey,omitempty"`
	Description     string `json:"description,omitempty"`
	Status          string `json:"status,omitempty"`
	Created         string `json:"created,omitempty"`
	Updated         string `json:"updated,omitempty"`
	ObjectCount     int    `json:"objectCount,omitempty"`
	ObjectTypeCount int    `json:"objectTypeCount,omitempty"`
	CanManage       bool   `json:"canManage,omitempty"`
}

type ObjectSchemaTypePageScheme added in v1.5.1

type ObjectSchemaTypePageScheme struct {
	Entries []*ObjectTypeScheme `json:"entries,omitempty"`
}

type ObjectScheme added in v1.5.1

type ObjectScheme struct {
	WorkspaceId string                   `json:"workspaceId,omitempty"`
	GlobalId    string                   `json:"globalId,omitempty"`
	ID          string                   `json:"id,omitempty"`
	Label       string                   `json:"label,omitempty"`
	ObjectKey   string                   `json:"objectKey,omitempty"`
	Avatar      *ObjectAvatarScheme      `json:"avatar,omitempty"`
	ObjectType  *ObjectTypeScheme        `json:"objectType,omitempty"`
	Created     string                   `json:"created,omitempty"`
	Updated     string                   `json:"updated,omitempty"`
	HasAvatar   bool                     `json:"hasAvatar,omitempty"`
	Timestamp   int                      `json:"timestamp,omitempty"`
	Attributes  []*ObjectAttributeScheme `json:"attributes"`
	Links       *ObjectLinksScheme       `json:"_links,omitempty"`
}

type ObjectSearchParamsScheme added in v1.5.1

type ObjectSearchParamsScheme struct {

	// The AQL that will fetch the objects.
	//
	// The object type parameter will be appended implicitly to this AQL
	Query string `json:"qlQuery,omitempty"`

	// Required if qlQuery is not set.
	//
	// Deprecated. Use Query instead.
	Iql          string `json:"iql,omitempty"`
	ObjectTypeID string `json:"objectTypeId,omitempty"`

	// The requested page to be loaded for a paginated result.
	//
	// The default value is page = 1
	Page int `json:"page,omitempty"`

	// How many objects should be returned in the request.
	//
	// It is used with page attribute for pagination.
	ResultPerPage int `json:"resultsPerPage,omitempty"`

	// Which attribute should be used to order by.
	//
	// The preferred way is to use an order by in qlQuery and not pass this argument.
	OrderByTypeAttributeID int `json:"orderByTypeAttrId,omitempty"`

	// Sort objects in ascending order or descending order based on the attribute identified by orderByTypeAttrId.
	//
	// 1 mean ascending all other values mean descending.
	//
	// The preferred way is to not supply the asc parameter and use an order by in qlQuery instead.
	Asc int `json:"asc,omitempty"`

	// Identifies an object that should be included in the result.
	//
	// The page will be calculated accordingly to include the object specified in the result set
	ObjectID string `json:"objectId,omitempty"`

	ObjectSchemaID string `json:"objectSchemaId,omitempty"`

	// Should attribute values be included in the response.
	IncludeAttributes bool `json:"includeAttributes,omitempty"`

	// Identifies attributes to be displayed
	AttributesToDisplay *AttributesToDisplayScheme `json:"attributesToDisplay,omitempty"`
}

type ObjectTypeAssetAttributeDefaultTypeScheme added in v1.5.1

type ObjectTypeAssetAttributeDefaultTypeScheme struct {
	ID   int    `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

type ObjectTypeAssetAttributeReferenceTypeScheme added in v1.5.1

type ObjectTypeAssetAttributeReferenceTypeScheme struct {
	WorkspaceId string `json:"workspaceId,omitempty"`
	GlobalId    string `json:"globalId,omitempty"`
	Name        string `json:"name,omitempty"`
}

type ObjectTypeAssetAttributeStatusScheme added in v1.5.1

type ObjectTypeAssetAttributeStatusScheme struct {
	ID       string `json:"id,omitempty"`
	Name     string `json:"name,omitempty"`
	Category int    `json:"category,omitempty"`
}

type ObjectTypeAssetAttributeValueGroupScheme added in v1.5.1

type ObjectTypeAssetAttributeValueGroupScheme struct {
	AvatarUrl string `json:"avatarUrl,omitempty"`
	Name      string `json:"name,omitempty"`
}

type ObjectTypeAssetAttributeValueScheme added in v1.5.1

type ObjectTypeAssetAttributeValueScheme struct {
	Value           string                                    `json:"value,omitempty"`
	DisplayValue    string                                    `json:"displayValue,omitempty"`
	SearchValue     string                                    `json:"searchValue,omitempty"`
	Group           *ObjectTypeAssetAttributeValueGroupScheme `json:"group,omitempty"`
	Status          *ObjectTypeAssetAttributeStatusScheme     `json:"status,omitempty"`
	AdditionalValue string                                    `json:"additionalValue,omitempty"`
}

type ObjectTypeAttributePayloadScheme added in v1.6.0

type ObjectTypeAttributePayloadScheme struct {
	Name                    string   `json:"name,omitempty"`
	Label                   bool     `json:"label,omitempty"`
	Description             string   `json:"description,omitempty"`
	Type                    *int     `json:"type,omitempty"`
	DefaultTypeId           *int     `json:"defaultTypeId,omitempty"`
	TypeValue               string   `json:"typeValue,omitempty"`
	TypeValueMulti          []string `json:"typeValueMulti,omitempty"`
	AdditionalValue         string   `json:"additionalValue,omitempty"`
	MinimumCardinality      *int     `json:"minimumCardinality,omitempty"`
	MaximumCardinality      *int     `json:"maximumCardinality,omitempty"`
	Suffix                  string   `json:"suffix,omitempty"`
	IncludeChildObjectTypes bool     `json:"includeChildObjectTypes,omitempty"`
	Hidden                  bool     `json:"hidden,omitempty"`
	UniqueAttribute         bool     `json:"uniqueAttribute,omitempty"`
	Summable                bool     `json:"summable,omitempty"`
	RegexValidation         string   `json:"regexValidation,omitempty"`
	QlQuery                 string   `json:"qlQuery,omitempty"`
	Iql                     string   `json:"iql,omitempty"`
	Options                 string   `json:"options,omitempty"`
}

type ObjectTypeAttributeScheme added in v1.5.1

type ObjectTypeAttributeScheme struct {
	WorkspaceId             string                                       `json:"workspaceId,omitempty"`
	GlobalId                string                                       `json:"globalId,omitempty"`
	ID                      string                                       `json:"id,omitempty"`
	ObjectType              *ObjectTypeScheme                            `json:"objectType,omitempty"`
	Name                    string                                       `json:"name,omitempty"`
	Label                   bool                                         `json:"label,omitempty"`
	Type                    int                                          `json:"type,omitempty"`
	Description             string                                       `json:"description,omitempty"`
	DefaultType             *ObjectTypeAssetAttributeDefaultTypeScheme   `json:"defaultType,omitempty"`
	TypeValue               string                                       `json:"typeValue,omitempty"`
	TypeValueMulti          []string                                     `json:"typeValueMulti,omitempty"`
	AdditionalValue         string                                       `json:"additionalValue,omitempty"`
	ReferenceType           *ObjectTypeAssetAttributeReferenceTypeScheme `json:"referenceType,omitempty"`
	ReferenceObjectTypeId   string                                       `json:"referenceObjectTypeId,omitempty"`
	ReferenceObjectType     *ObjectTypeScheme                            `json:"referenceObjectType,omitempty"`
	Editable                bool                                         `json:"editable,omitempty"`
	System                  bool                                         `json:"system,omitempty"`
	Indexed                 bool                                         `json:"indexed,omitempty"`
	Sortable                bool                                         `json:"sortable,omitempty"`
	Summable                bool                                         `json:"summable,omitempty"`
	MinimumCardinality      int                                          `json:"minimumCardinality,omitempty"`
	MaximumCardinality      int                                          `json:"maximumCardinality,omitempty"`
	Suffix                  string                                       `json:"suffix,omitempty"`
	Removable               bool                                         `json:"removable,omitempty"`
	ObjectAttributeExists   bool                                         `json:"objectAttributeExists,omitempty"`
	Hidden                  bool                                         `json:"hidden,omitempty"`
	IncludeChildObjectTypes bool                                         `json:"includeChildObjectTypes,omitempty"`
	UniqueAttribute         bool                                         `json:"uniqueAttribute,omitempty"`
	RegexValidation         string                                       `json:"regexValidation,omitempty"`
	Iql                     string                                       `json:"iql,omitempty"`
	QlQuery                 string                                       `json:"qlQuery,omitempty"`
	Options                 string                                       `json:"options,omitempty"`
	Position                int                                          `json:"position,omitempty"`
}

type ObjectTypeAttributesParamsScheme added in v1.5.1

type ObjectTypeAttributesParamsScheme struct {
	OnlyValueEditable       bool
	OrderByName             bool
	Query                   string
	IncludeValuesExist      bool
	ExcludeParentAttributes bool
	IncludeChildren         bool
	OrderByRequired         bool
}

type ObjectTypePayloadScheme added in v1.5.1

type ObjectTypePayloadScheme struct {
	Name               string `json:"name,omitempty"`
	Description        string `json:"description,omitempty"`
	IconId             string `json:"iconId,omitempty"`
	ObjectSchemaId     string `json:"objectSchemaId,omitempty"`
	ParentObjectTypeId string `json:"parentObjectTypeId,omitempty"`
	Inherited          bool   `json:"inherited,omitempty"`
	AbstractObjectType bool   `json:"abstractObjectType,omitempty"`
}

type ObjectTypePositionPayloadScheme added in v1.5.1

type ObjectTypePositionPayloadScheme struct {
	ToObjectTypeId string `json:"toObjectTypeId,omitempty"`
	Position       int    `json:"position,omitempty"`
}

type ObjectTypeScheme added in v1.5.1

type ObjectTypeScheme struct {
	WorkspaceId               string      `json:"workspaceId,omitempty"`
	GlobalId                  string      `json:"globalId,omitempty"`
	Id                        string      `json:"id,omitempty"`
	Name                      string      `json:"name,omitempty"`
	Description               string      `json:"description,omitempty"`
	Icon                      *IconScheme `json:"icon,omitempty"`
	Position                  int         `json:"position,omitempty"`
	Created                   string      `json:"created,omitempty"`
	Updated                   string      `json:"updated,omitempty"`
	ObjectCount               int         `json:"objectCount,omitempty"`
	ParentObjectTypeId        string      `json:"parentObjectTypeId,omitempty"`
	ObjectSchemaId            string      `json:"objectSchemaId,omitempty"`
	Inherited                 bool        `json:"inherited,omitempty"`
	AbstractObjectType        bool        `json:"abstractObjectType,omitempty"`
	ParentObjectTypeInherited bool        `json:"parentObjectTypeInherited,omitempty"`
}

type OperationPermissionScheme

type OperationPermissionScheme struct {
	Operation  string `json:"operation,omitempty"`
	TargetType string `json:"targetType,omitempty"`
}

type OperationScheme

type OperationScheme struct {
	Operation  string `json:"operation,omitempty"`
	TargetType string `json:"targetType,omitempty"`
}

type OrderFieldOptionPayloadScheme

type OrderFieldOptionPayloadScheme struct {
	After                string   `json:"after,omitempty"`
	Position             string   `json:"position,omitempty"`
	CustomFieldOptionIds []string `json:"customFieldOptionIds,omitempty"`
}

type OrganizationDomainDataScheme

type OrganizationDomainDataScheme struct {
	ID         string `json:"id"`
	Type       string `json:"type"`
	Attributes struct {
		Name  string `json:"name"`
		Claim struct {
			Type   string `json:"type"`
			Status string `json:"status"`
		} `json:"claim"`
	} `json:"attributes"`
	Links struct {
		Self string `json:"self"`
	} `json:"links"`
}

type OrganizationDomainModelAttributeClaimScheme added in v1.5.0

type OrganizationDomainModelAttributeClaimScheme struct {
	Type   string `json:"type,omitempty"`
	Status string `json:"status,omitempty"`
}

type OrganizationDomainModelAttributesScheme added in v1.5.0

type OrganizationDomainModelAttributesScheme struct {
	Name  string                                       `json:"name,omitempty"`
	Claim *OrganizationDomainModelAttributeClaimScheme `json:"claim,omitempty"`
}

type OrganizationDomainModelScheme

type OrganizationDomainModelScheme struct {
	ID         string                                   `json:"id,omitempty"`
	Type       string                                   `json:"type,omitempty"`
	Attributes *OrganizationDomainModelAttributesScheme `json:"attributes,omitempty"`
	Links      *LinkSelfModelScheme                     `json:"links,omitempty"`
}

type OrganizationDomainPageScheme

type OrganizationDomainPageScheme struct {
	Data  []*OrganizationDomainModelScheme `json:"data,omitempty"`
	Links *LinkPageModelScheme             `json:"links,omitempty"`
}

type OrganizationDomainScheme

type OrganizationDomainScheme struct {
	Data *OrganizationDomainDataScheme `json:"data"`
}

type OrganizationEventActionModelAttributesScheme

type OrganizationEventActionModelAttributesScheme struct {
	DisplayName      string `json:"displayName,omitempty"`
	GroupDisplayName string `json:"groupDisplayName,omitempty"`
}

type OrganizationEventActionModelScheme

type OrganizationEventActionModelScheme struct {
	ID         string                                        `json:"id,omitempty"`
	Type       string                                        `json:"type,omitempty"`
	Attributes *OrganizationEventActionModelAttributesScheme `json:"attributes,omitempty"`
}

type OrganizationEventActionScheme

type OrganizationEventActionScheme struct {
	Data []*OrganizationEventActionModelScheme `json:"data,omitempty"`
}

type OrganizationEventActorModel

type OrganizationEventActorModel struct {
	ID    string               `json:"id,omitempty"`
	Name  string               `json:"name,omitempty"`
	Links *LinkSelfModelScheme `json:"links,omitempty"`
}

type OrganizationEventLocationModel

type OrganizationEventLocationModel struct {
	IP  string `json:"ip,omitempty"`
	Geo string `json:"geo,omitempty"`
}

type OrganizationEventModelAttributesScheme

type OrganizationEventModelAttributesScheme struct {
	Time      string                          `json:"time,omitempty"`
	Action    string                          `json:"action,omitempty"`
	Actor     *OrganizationEventActorModel    `json:"actor,omitempty"`
	Context   []*OrganizationEventObjectModel `json:"context,omitempty"`
	Container []*OrganizationEventObjectModel `json:"container,omitempty"`
	Location  *OrganizationEventLocationModel `json:"location,omitempty"`
}

type OrganizationEventModelScheme

type OrganizationEventModelScheme struct {
	ID         string                                  `json:"id,omitempty"`
	Type       string                                  `json:"type,omitempty"`
	Attributes *OrganizationEventModelAttributesScheme `json:"attributes,omitempty"`
	Links      *LinkSelfModelScheme                    `json:"links,omitempty"`
}

type OrganizationEventObjectModel

type OrganizationEventObjectModel struct {
	ID    string `json:"id,omitempty"`
	Type  string `json:"type,omitempty"`
	Links struct {
		Self string `json:"self,omitempty"`
		Alt  string `json:"alt,omitempty"`
	} `json:"links,omitempty"`
}

type OrganizationEventOptScheme

type OrganizationEventOptScheme struct {
	Q      string    //Single query term for searching events.
	From   time.Time //The earliest date and time of the event represented as a UNIX epoch time.
	To     time.Time //The latest date and time of the event represented as a UNIX epoch time.
	Action string    //A query filter that returns events of a specific action type.
}

type OrganizationEventPageScheme

type OrganizationEventPageScheme struct {
	Data  []*OrganizationEventModelScheme `json:"data,omitempty"`
	Links *LinkPageModelScheme            `json:"links,omitempty"`
	Meta  struct {
		Next     string `json:"next,omitempty"`
		PageSize int    `json:"page_size,omitempty"`
	} `json:"meta,omitempty"`
}

type OrganizationEventScheme

type OrganizationEventScheme struct {
	Data *OrganizationEventModelScheme `json:"data,omitempty"`
}

type OrganizationModelAttribute

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

type OrganizationModelRelationships

type OrganizationModelRelationships struct {
	Domains *OrganizationModelSchemes `json:"domains,omitempty"`
	Users   *OrganizationModelSchemes `json:"users,omitempty"`
}

type OrganizationModelScheme

type OrganizationModelScheme struct {
	ID            string                          `json:"id,omitempty"`
	Type          string                          `json:"type,omitempty"`
	Attributes    *OrganizationModelAttribute     `json:"attributes,omitempty"`
	Relationships *OrganizationModelRelationships `json:"relationships,omitempty"`
	Links         *LinkSelfModelScheme            `json:"links,omitempty"`
}

type OrganizationModelSchemes

type OrganizationModelSchemes struct {
	Links struct {
		Related string `json:"related,omitempty"`
	} `json:"links,omitempty"`
}

type OrganizationPageLinkScheme

type OrganizationPageLinkScheme struct {
	Self    string `json:"self,omitempty"`
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
	Next    string `json:"next,omitempty"`
	Prev    string `json:"prev,omitempty"`
}

type OrganizationPageScheme

type OrganizationPageScheme struct {
	Size       int                         `json:"size,omitempty"`
	Start      int                         `json:"start,omitempty"`
	Limit      int                         `json:"limit,omitempty"`
	IsLastPage bool                        `json:"isLastPage,omitempty"`
	Values     []*OrganizationScheme       `json:"values,omitempty"`
	Expands    []string                    `json:"_expands,omitempty"`
	Links      *OrganizationPageLinkScheme `json:"_links,omitempty"`
}

type OrganizationPolicyAttributes

type OrganizationPolicyAttributes struct {
	Type      string                        `json:"type,omitempty"`
	Name      string                        `json:"name,omitempty"`
	Status    string                        `json:"status,omitempty"`
	Resources []*OrganizationPolicyResource `json:"resources,omitempty"`
	CreatedAt time.Time                     `json:"createdAt,omitempty"`
	UpdatedAt time.Time                     `json:"updatedAt,omitempty"`
}

type OrganizationPolicyData

type OrganizationPolicyData struct {
	ID         string                        `json:"id,omitempty"`
	Type       string                        `json:"type,omitempty"`
	Attributes *OrganizationPolicyAttributes `json:"attributes,omitempty"`
}

type OrganizationPolicyPageScheme

type OrganizationPolicyPageScheme struct {
	Data  []*OrganizationPolicyData `json:"data,omitempty"`
	Links *LinkPageModelScheme      `json:"links,omitempty"`
	Meta  struct {
		Next     string `json:"next,omitempty"`
		PageSize int    `json:"page_size,omitempty"`
	} `json:"meta,omitempty"`
}

type OrganizationPolicyResource

type OrganizationPolicyResource struct {
	ID                string `json:"id,omitempty"`
	ApplicationStatus string `json:"applicationStatus,omitempty"`
}

type OrganizationPolicyScheme

type OrganizationPolicyScheme struct {
	Data OrganizationPolicyData `json:"data,omitempty"`
}

type OrganizationScheme

type OrganizationScheme struct {
	ID    string `json:"id,omitempty"`
	Name  string `json:"name,omitempty"`
	Links struct {
		Self string `json:"self,omitempty"`
	} `json:"_links,omitempty"`
}

type OrganizationUserLinkScheme

type OrganizationUserLinkScheme struct {
	Self     string `json:"self,omitempty"`
	JiraRest string `json:"jiraRest,omitempty"`
}

type OrganizationUserPageScheme

type OrganizationUserPageScheme struct {
	Data  []*AdminOrganizationUserScheme `json:"data,omitempty"`
	Links *LinkPageModelScheme           `json:"links,omitempty"`
	Meta  struct {
		Total int `json:"total,omitempty"`
	} `json:"meta,omitempty"`
}

type OrganizationUserProductScheme

type OrganizationUserProductScheme struct {
	Key        string `json:"key,omitempty"`
	Name       string `json:"name,omitempty"`
	URL        string `json:"url,omitempty"`
	LastActive string `json:"last_active,omitempty"`
}

type OrganizationUserScheme

type OrganizationUserScheme struct {
	AccountID    string                      `json:"accountId,omitempty"`
	Name         string                      `json:"name,omitempty"`
	Key          string                      `json:"key,omitempty"`
	EmailAddress string                      `json:"emailAddress,omitempty"`
	DisplayName  string                      `json:"displayName,omitempty"`
	Active       bool                        `json:"active,omitempty"`
	TimeZone     string                      `json:"timeZone,omitempty"`
	Links        *OrganizationUserLinkScheme `json:"_links,omitempty"`
}

type OrganizationUsersPageLinkScheme

type OrganizationUsersPageLinkScheme struct {
	Self    string `json:"self,omitempty"`
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
	Next    string `json:"next,omitempty"`
	Prev    string `json:"prev,omitempty"`
}

type OrganizationUsersPageScheme

type OrganizationUsersPageScheme struct {
	Size       int                              `json:"size,omitempty"`
	Start      int                              `json:"start,omitempty"`
	Limit      int                              `json:"limit,omitempty"`
	IsLastPage bool                             `json:"isLastPage,omitempty"`
	Values     []*OrganizationUserScheme        `json:"values,omitempty"`
	Expands    []string                         `json:"_expands,omitempty"`
	Links      *OrganizationUsersPageLinkScheme `json:"_links,omitempty"`
}

type PageBodyRepresentationScheme added in v1.5.0

type PageBodyRepresentationScheme struct {
	Representation string `json:"representation,omitempty"`
	Value          string `json:"value,omitempty"`
}

type PageBodyScheme added in v1.5.0

type PageBodyScheme struct {
	Storage        *PageBodyRepresentationScheme `json:"storage,omitempty"`
	AtlasDocFormat *PageBodyRepresentationScheme `json:"atlas_doc_format,omitempty"`
}

type PageChunkLinksScheme added in v1.5.0

type PageChunkLinksScheme struct {
	Next string `json:"next,omitempty"`
}

type PageChunkScheme added in v1.5.0

type PageChunkScheme struct {
	Results []*PageScheme         `json:"results,omitempty"`
	Links   *PageChunkLinksScheme `json:"_links,omitempty"`
}

type PageCreatePayloadScheme added in v1.5.0

type PageCreatePayloadScheme struct {
	SpaceID string                        `json:"spaceId,omitempty"`
	Status  string                        `json:"status,omitempty"`
	Title   string                        `json:"title,omitempty"`
	Body    *PageBodyRepresentationScheme `json:"body,omitempty"`
}

type PageLinkScheme added in v1.5.1

type PageLinkScheme struct {
	Next string `json:"next,omitempty"`
}

type PageOptionsScheme added in v1.5.1

type PageOptionsScheme struct {
	PageIDs    []int
	SpaceIDs   []int
	Sort       string
	Status     []string
	Title      string
	BodyFormat string
}

type PageScheme added in v1.5.0

type PageScheme struct {
	ID         string             `json:"id,omitempty"`
	Status     string             `json:"status,omitempty"`
	Title      string             `json:"title,omitempty"`
	SpaceID    string             `json:"spaceId,omitempty"`
	ParentID   string             `json:"parentId,omitempty"`
	AuthorID   string             `json:"authorId,omitempty"`
	CreatedAt  string             `json:"createdAt,omitempty"`
	ParentType string             `json:"parentType,omitempty"`
	Position   int                `json:"position,omitempty"`
	Version    *PageVersionScheme `json:"version,omitempty"`
	Body       *PageBodyScheme    `json:"body,omitempty"`
}

type PageUpdatePayloadScheme added in v1.5.0

type PageUpdatePayloadScheme struct {
	ID      int                             `json:"id,omitempty"`
	Status  string                          `json:"status,omitempty"`
	Title   string                          `json:"title,omitempty"`
	SpaceID int                             `json:"spaceId,omitempty"`
	Body    *PageBodyRepresentationScheme   `json:"body,omitempty"`
	Version *PageUpdatePayloadVersionScheme `json:"version,omitempty"`
}

type PageUpdatePayloadVersionScheme added in v1.5.0

type PageUpdatePayloadVersionScheme struct {
	Number  int    `json:"number,omitempty"`
	Message string `json:"message,omitempty"`
}

type PageVersionScheme added in v1.5.0

type PageVersionScheme struct {
	CreatedAt string `json:"createdAt,omitempty"`
	Message   string `json:"message,omitempty"`
	Number    int    `json:"number,omitempty"`
	MinorEdit bool   `json:"minorEdit,omitempty"`
	AuthorID  string `json:"authorId,omitempty"`
}

type ParentFieldsScheme added in v1.4.4

type ParentFieldsScheme struct {
	Summary string        `json:"summary,omitempty"`
	Status  *StatusScheme `json:"status,omitempty"`
}

type ParentScheme added in v1.4.4

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

type ParseQueryScheme added in v1.4.4

type ParseQueryScheme struct {
	Query     string `json:"query"`
	Structure struct {
		Where struct {
		} `json:"where"`
		OrderBy *QueryStructureOrderScheme `json:"orderBy"`
	} `json:"structure"`
	Errors []string `json:"errors"`
}

type ParsedQueryPageScheme added in v1.4.4

type ParsedQueryPageScheme struct {
	Queries []*ParseQueryScheme `json:"queries"`
}

type PermissionCheckMessageScheme

type PermissionCheckMessageScheme struct {
	Translation string `json:"translation"`
	Args        []struct {
	} `json:"args"`
}

type PermissionCheckPayload

type PermissionCheckPayload struct {
	GlobalPermissions  []string                        `json:"globalPermissions,omitempty"`
	AccountID          string                          `json:"accountId,omitempty"`
	ProjectPermissions []*BulkProjectPermissionsScheme `json:"projectPermissions,omitempty"`
}

type PermissionCheckResponseScheme

type PermissionCheckResponseScheme struct {
	HasPermission bool                            `json:"hasPermission"`
	Errors        []*PermissionCheckMessageScheme `json:"errors,omitempty"`
}

type PermissionFilterPayloadScheme

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

type PermissionGrantHolderScheme

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 PermissionGrantsScheme

type PermissionGrantsScheme struct {
	ProjectPermissions []*ProjectPermissionGrantsScheme `json:"projectPermissions,omitempty"`
	GlobalPermissions  []string                         `json:"globalPermissions,omitempty"`
}

type PermissionScheme

type PermissionScheme struct {
	Key         string `json:"key,omitempty"`
	Name        string `json:"name,omitempty"`
	Type        string `json:"type,omitempty"`
	Description string `json:"description,omitempty"`
}

type PermissionSchemeGrantsScheme

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

type PermissionSchemePageScheme

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

type PermissionSchemeScheme

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 PermissionScopeItemScheme

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 PermissionSubjectScheme

type PermissionSubjectScheme struct {
	Identifier string `json:"identifier,omitempty"`
	Type       string `json:"type,omitempty"`
}

type PermittedProjectsScheme added in v1.4.4

type PermittedProjectsScheme struct {
	Projects []*ProjectIdentifierScheme `json:"projects,omitempty"`
}

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 ProfilePictureScheme

type ProfilePictureScheme struct {
	Path      string `json:"path,omitempty"`
	Width     int    `json:"width,omitempty"`
	Height    int    `json:"height,omitempty"`
	IsDefault bool   `json:"isDefault,omitempty"`
}

type ProjectCategoryPayloadScheme

type ProjectCategoryPayloadScheme struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
}

type ProjectCategoryScheme

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

type ProjectDetailScheme

type ProjectDetailScheme 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 ProjectFeatureScheme added in v1.4.3

type ProjectFeatureScheme struct {
	ProjectID            int      `json:"projectId,omitempty"`
	State                string   `json:"state,omitempty"`
	ToggleLocked         bool     `json:"toggleLocked,omitempty"`
	Feature              string   `json:"feature,omitempty"`
	Prerequisites        []string `json:"prerequisites,omitempty"`
	LocalisedName        string   `json:"localisedName,omitempty"`
	LocalisedDescription string   `json:"localisedDescription,omitempty"`
	ImageURI             string   `json:"imageUri,omitempty"`
}

type ProjectFeaturesScheme added in v1.4.3

type ProjectFeaturesScheme struct {
	Features []*ProjectFeatureScheme `json:"features,omitempty"`
}

type ProjectHierarchyIssueTypeScheme

type ProjectHierarchyIssueTypeScheme struct {
	ID       int    `json:"id,omitempty"`
	EntityID string `json:"entityId,omitempty"`
	Name     string `json:"name,omitempty"`
	AvatarID int    `json:"avatarId,omitempty"`
}

type ProjectHierarchyScheme

type ProjectHierarchyScheme struct {
	EntityID   string                             `json:"entityId,omitempty"`
	Level      int                                `json:"level,omitempty"`
	Name       string                             `json:"name,omitempty"`
	IssueTypes []*ProjectHierarchyIssueTypeScheme `json:"issueTypes,omitempty"`
}

type ProjectIdentifierScheme added in v1.4.4

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

type ProjectInsightScheme

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

type ProjectIssueTypeSchemePageScheme

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

type ProjectIssueTypesScheme added in v1.4.4

type ProjectIssueTypesScheme struct {
	Project    *ProjectScheme `json:"project,omitempty"`
	IssueTypes []string       `json:"issueTypes,omitempty"`
}

type ProjectNotificationSchemeEventScheme

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

type ProjectPayloadScheme

type ProjectPayloadScheme struct {
	NotificationScheme       int    `json:"notificationScheme,omitempty"`
	FieldConfigurationScheme int    `json:"fieldConfigurationScheme,omitempty"`
	IssueSecurityScheme      int    `json:"issueSecurityScheme,omitempty"`
	PermissionScheme         int    `json:"permissionScheme,omitempty"`
	IssueTypeScheme          int    `json:"issueTypeScheme,omitempty"`
	IssueTypeScreenScheme    int    `json:"issueTypeScreenScheme,omitempty"`
	WorkflowScheme           int    `json:"workflowScheme,omitempty"`
	Description              string `json:"description,omitempty"`
	LeadAccountID            string `json:"leadAccountId,omitempty"`
	URL                      string `json:"url,omitempty"`
	ProjectTemplateKey       string `json:"projectTemplateKey,omitempty"`
	AvatarID                 int    `json:"avatarId,omitempty"`
	Name                     string `json:"name,omitempty"`
	AssigneeType             string `json:"assigneeType,omitempty"`
	ProjectTypeKey           string `json:"projectTypeKey,omitempty"`
	Key                      string `json:"key,omitempty"`
	CategoryID               int    `json:"categoryId,omitempty"`
}

type ProjectPermissionGrantsScheme added in v1.4.4

type ProjectPermissionGrantsScheme struct {
	Permission string `json:"permission,omitempty"`
	Issues     []int  `json:"issues,omitempty"`
	Projects   []int  `json:"projects,omitempty"`
}

type ProjectRequestTypePageLinkScheme

type ProjectRequestTypePageLinkScheme struct {
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
	Next    string `json:"next,omitempty"`
	Prev    string `json:"prev,omitempty"`
}

type ProjectRequestTypePageScheme

type ProjectRequestTypePageScheme struct {
	Expands    []string                          `json:"_expands,omitempty"`
	Size       int                               `json:"size,omitempty"`
	Start      int                               `json:"start,omitempty"`
	Limit      int                               `json:"limit,omitempty"`
	IsLastPage bool                              `json:"isLastPage,omitempty"`
	Values     []*RequestTypeScheme              `json:"values,omitempty"`
	Links      *ProjectRequestTypePageLinkScheme `json:"_links,omitempty"`
}

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 ProjectRolePayloadScheme

type ProjectRolePayloadScheme struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,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 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        []*ComponentScheme     `json:"components,omitempty"`
	IssueTypes        []*IssueTypeScheme     `json:"issueTypes,omitempty"`
	Versions          []*VersionScheme       `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

	// The project IDs to filter the results by.
	// To include multiple IDs, provide an ampersand-separated list.
	IDs []int

	// The project keys to filter the results by.
	// To include multiple keys, provide an ampersand-separated list.
	Keys []string

	// Filter the results using a literal string.
	// Projects with a matching key or name are returned (case-insensitive).
	Query string

	// Orders results by the project type.
	// This parameter accepts a comma-separated list.
	// Valid values are business, service_desk, and software.
	TypeKeys []string

	// The ID of the project's category.
	// A complete list of category IDs is found using the Get all project categories operation.
	CategoryID int

	Action string

	// EXPERIMENTAL. Filter results by project status:
	// 1. live: Search live projects.
	// 2. archived: Search archived projects.
	// 3. deleted: Search deleted projects, those in the recycle bin.
	Status []string

	// Use expand to include additional information in the response.
	// This parameter accepts a comma-separated list.
	Expand []string

	// EXPERIMENTAL. A list of project properties to return for the project.
	// This parameter accepts a comma-separated list.
	Properties []string

	// EXPERIMENTAL. A query string used to search properties.
	// The query string cannot be specified using a JSON object.
	// For example, to search for the value of nested from {"something":{"nested":1,"other":2}}
	// use [thepropertykey].something.nested=1.
	// Note that thepropertykey is only returned when included in properties.
	PropertyQuery 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 ProjectStatusDetailsScheme

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

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 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 PropertyPageScheme added in v1.6.0

type PropertyPageScheme struct {
	Keys []*PropertyScheme `json:"keys,omitempty"`
}

type PropertyScheme added in v1.6.0

type PropertyScheme struct {
	Self string `json:"self,omitempty"`
	Key  string `json:"key,omitempty"`
}

type QueryPropertyScheme added in v1.4.4

type QueryPropertyScheme struct {
	Entity string `json:"entity"`
	Key    string `json:"key"`
	Path   string `json:"path"`
	Type   string `json:"type"`
}

type QueryStructureOrderFieldNodeScheme added in v1.4.4

type QueryStructureOrderFieldNodeScheme struct {
	Name     string                 `json:"name"`
	Property []*QueryPropertyScheme `json:"property"`
}

type QueryStructureOrderFieldScheme added in v1.4.4

type QueryStructureOrderFieldScheme struct {
	Field     *QueryStructureOrderFieldNodeScheme `json:"field"`
	Direction string                              `json:"direction"`
}

type QueryStructureOrderScheme added in v1.4.4

type QueryStructureOrderScheme struct {
	Fields []*QueryStructureOrderFieldScheme `json:"fields"`
}

type QueryStructureScheme added in v1.4.4

type QueryStructureScheme struct {
	OrderBy *QueryStructureOrderScheme `json:"orderBy"`
}

type RemoteLinkApplicationScheme added in v1.5.0

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

type RemoteLinkIdentify added in v1.5.0

type RemoteLinkIdentify struct {
	ID   int    `json:"id,omitempty"`
	Self string `json:"self,omitempty"`
}

type RemoteLinkObjectLinkScheme added in v1.5.0

type RemoteLinkObjectLinkScheme struct {
	Link     string `json:"link,omitempty"`
	Title    string `json:"title,omitempty"`
	URL16X16 string `json:"url16x16,omitempty"`
}

type RemoteLinkObjectScheme added in v1.5.0

type RemoteLinkObjectScheme struct {
	Icon    *RemoteLinkObjectLinkScheme   `json:"icon,omitempty"`
	Status  *RemoteLinkObjectStatusScheme `json:"status,omitempty"`
	Summary string                        `json:"summary,omitempty"`
	Title   string                        `json:"title,omitempty"`
	URL     string                        `json:"url,omitempty"`
}

type RemoteLinkObjectStatusScheme added in v1.5.0

type RemoteLinkObjectStatusScheme struct {
	Icon     *RemoteLinkObjectLinkScheme `json:"icon,omitempty"`
	Resolved bool                        `json:"resolved,omitempty"`
}

type RemoteLinkScheme added in v1.5.0

type RemoteLinkScheme struct {
	Application  *RemoteLinkApplicationScheme `json:"application,omitempty"`
	GlobalID     string                       `json:"globalId,omitempty"`
	ID           int                          `json:"id,omitempty"`
	Object       *RemoteLinkObjectScheme      `json:"object,omitempty"`
	Relationship string                       `json:"relationship,omitempty"`
	Self         string                       `json:"self,omitempty"`
}

type RepositoryLinksScheme added in v1.6.0

type RepositoryLinksScheme struct {
	Self         *BitbucketLinkScheme   `json:"self,omitempty"`
	Html         *BitbucketLinkScheme   `json:"html,omitempty"`
	Avatar       *BitbucketLinkScheme   `json:"avatar,omitempty"`
	PullRequests *BitbucketLinkScheme   `json:"pullrequests,omitempty"`
	Commits      *BitbucketLinkScheme   `json:"commits,omitempty"`
	Forks        *BitbucketLinkScheme   `json:"forks,omitempty"`
	Watchers     *BitbucketLinkScheme   `json:"watchers,omitempty"`
	Downloads    *BitbucketLinkScheme   `json:"downloads,omitempty"`
	Clone        []*BitbucketLinkScheme `json:"clone,omitempty"`
	Hooks        *BitbucketLinkScheme   `json:"hooks,omitempty"`
}

type RepositoryPermissionPageScheme added in v1.6.0

type RepositoryPermissionPageScheme struct {
	Size     int                           `json:"size,omitempty"`
	Page     int                           `json:"page,omitempty"`
	Pagelen  int                           `json:"pagelen,omitempty"`
	Next     string                        `json:"next,omitempty"`
	Previous string                        `json:"previous,omitempty"`
	Values   []*RepositoryPermissionScheme `json:"values,omitempty"`
}

type RepositoryPermissionScheme added in v1.6.0

type RepositoryPermissionScheme struct {
	Type       string                  `json:"type,omitempty"`
	Permission string                  `json:"permission,omitempty"`
	User       *BitbucketAccountScheme `json:"user,omitempty"`
	Repository *RepositoryScheme       `json:"repository,omitempty"`
}

type RepositoryScheme added in v1.6.0

type RepositoryScheme struct {
	Type        string                  `json:"type,omitempty"`
	Uuid        string                  `json:"uuid,omitempty"`
	FullName    string                  `json:"full_name,omitempty"`
	IsPrivate   bool                    `json:"is_private,omitempty"`
	Scm         string                  `json:"scm,omitempty"`
	Name        string                  `json:"name,omitempty"`
	Description string                  `json:"description,omitempty"`
	CreatedOn   string                  `json:"created_on,omitempty"`
	UpdatedOn   string                  `json:"updated_on,omitempty"`
	Size        int                     `json:"size,omitempty"`
	Language    string                  `json:"language,omitempty"`
	HasIssues   bool                    `json:"has_issues,omitempty"`
	HasWiki     bool                    `json:"has_wiki,omitempty"`
	ForkPolicy  string                  `json:"fork_policy,omitempty"`
	Owner       *BitbucketAccountScheme `json:"owner,omitempty"`
	Parent      *RepositoryScheme       `json:"parent,omitempty"`
	Project     BitbucketProjectScheme  `json:"project,omitempty"`
	Links       *RepositoryLinksScheme  `json:"links,omitempty"`
}

type RequestAttachmentCreationCommentScheme

type RequestAttachmentCreationCommentScheme struct {
	Expands []string                   `json:"_expands,omitempty"`
	ID      string                     `json:"id,omitempty"`
	Body    string                     `json:"body,omitempty"`
	Public  bool                       `json:"public,omitempty"`
	Author  RequestAuthorScheme        `json:"author,omitempty"`
	Created *CustomerRequestDateScheme `json:"created,omitempty"`
	Links   struct {
		Self string `json:"self,omitempty"`
	} `json:"_links,omitempty"`
}

type RequestAttachmentCreationScheme

type RequestAttachmentCreationScheme struct {
	Comment     *RequestAttachmentCreationCommentScheme `json:"comment,omitempty"`
	Attachments *RequestAttachmentPageScheme            `json:"attachments,omitempty"`
}

type RequestAttachmentLinkScheme

type RequestAttachmentLinkScheme struct {
	Self      string `json:"self,omitempty"`
	JiraRest  string `json:"jiraRest,omitempty"`
	Content   string `json:"content,omitempty"`
	Thumbnail string `json:"thumbnail,omitempty"`
}

type RequestAttachmentPageLinkScheme

type RequestAttachmentPageLinkScheme struct {
	Self    string `json:"self,omitempty"`
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
	Next    string `json:"next,omitempty"`
	Prev    string `json:"prev,omitempty"`
}

type RequestAttachmentPageScheme

type RequestAttachmentPageScheme struct {
	Size       int                              `json:"size,omitempty"`
	Start      int                              `json:"start,omitempty"`
	Limit      int                              `json:"limit,omitempty"`
	IsLastPage bool                             `json:"isLastPage,omitempty"`
	Values     []*RequestAttachmentScheme       `json:"values,omitempty"`
	Expands    []string                         `json:"_expands,omitempty"`
	Links      *RequestAttachmentPageLinkScheme `json:"_links,omitempty"`
}

type RequestAttachmentScheme

type RequestAttachmentScheme struct {
	Filename string                       `json:"filename,omitempty"`
	Author   *RequestAuthorScheme         `json:"author,omitempty"`
	Created  *CustomerRequestDateScheme   `json:"created,omitempty"`
	Size     int                          `json:"size,omitempty"`
	MimeType string                       `json:"mimeType,omitempty"`
	Links    *RequestAttachmentLinkScheme `json:"_links,omitempty"`
}

type RequestAuthorScheme

type RequestAuthorScheme struct {
	AccountID    string `json:"accountId,omitempty"`
	Name         string `json:"name,omitempty"`
	Key          string `json:"key,omitempty"`
	EmailAddress string `json:"emailAddress,omitempty"`
	DisplayName  string `json:"displayName,omitempty"`
	Active       bool   `json:"active,omitempty"`
	TimeZone     string `json:"timeZone,omitempty"`
}

type RequestCommentLinkScheme

type RequestCommentLinkScheme struct {
	Self string `json:"self"`
}

type RequestCommentPageLinkScheme

type RequestCommentPageLinkScheme struct {
	Self    string `json:"self"`
	Base    string `json:"base"`
	Context string `json:"context"`
	Next    string `json:"next"`
	Prev    string `json:"prev"`
}

type RequestCommentPageScheme

type RequestCommentPageScheme struct {
	Size       int                           `json:"size"`
	Start      int                           `json:"start"`
	Limit      int                           `json:"limit"`
	IsLastPage bool                          `json:"isLastPage"`
	Values     []*RequestCommentScheme       `json:"values"`
	Expands    []string                      `json:"_expands"`
	Links      *RequestCommentPageLinkScheme `json:"_links"`
}

type RequestCommentRenderScheme

type RequestCommentRenderScheme struct {
	HTML string `json:"html"`
}

type RequestCommentScheme

type RequestCommentScheme struct {
	ID           string                       `json:"id,omitempty"`
	Body         string                       `json:"body,omitempty"`
	RenderedBody *RequestCommentRenderScheme  `json:"renderedBody,omitempty"`
	Author       *RequestAuthorScheme         `json:"author,omitempty"`
	Created      *CustomerRequestDateScheme   `json:"created,omitempty"`
	Attachments  *RequestAttachmentPageScheme `json:"attachments,omitempty"`
	Expands      []string                     `json:"_expands,omitempty"`
	Public       bool                         `json:"public,omitempty"`
	Links        *RequestCommentLinkScheme    `json:"_links,omitempty"`
}

type RequestParticipantLinkScheme

type RequestParticipantLinkScheme struct {
	Self     string `json:"self,omitempty"`
	JiraRest string `json:"jiraRest,omitempty"`
}

type RequestParticipantPageLinkScheme

type RequestParticipantPageLinkScheme struct {
	Self    string `json:"self,omitempty"`
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
	Next    string `json:"next,omitempty"`
	Prev    string `json:"prev,omitempty"`
}

type RequestParticipantPageScheme

type RequestParticipantPageScheme struct {
	Size       int                               `json:"size,omitempty"`
	Start      int                               `json:"start,omitempty"`
	Limit      int                               `json:"limit,omitempty"`
	IsLastPage bool                              `json:"isLastPage,omitempty"`
	Values     []*RequestParticipantScheme       `json:"values,omitempty"`
	Expands    []string                          `json:"_expands,omitempty"`
	Links      *RequestParticipantPageLinkScheme `json:"_links,omitempty"`
}

type RequestParticipantScheme

type RequestParticipantScheme struct {
	AccountID    string                        `json:"accountId,omitempty"`
	Name         string                        `json:"name,omitempty"`
	Key          string                        `json:"key,omitempty"`
	EmailAddress string                        `json:"emailAddress,omitempty"`
	DisplayName  string                        `json:"displayName,omitempty"`
	Active       bool                          `json:"active,omitempty"`
	TimeZone     string                        `json:"timeZone,omitempty"`
	Links        *RequestParticipantLinkScheme `json:"_links,omitempty"`
}

type RequestSLALinkScheme

type RequestSLALinkScheme struct {
	Self string `json:"self,omitempty"`
}

type RequestSLAOngoingCycleScheme

type RequestSLAOngoingCycleScheme struct {
	Breached            bool `json:"breached,omitempty"`
	Paused              bool `json:"paused,omitempty"`
	WithinCalendarHours bool `json:"withinCalendarHours,omitempty"`
}

type RequestSLAPageLinkScheme

type RequestSLAPageLinkScheme struct {
	Self    string `json:"self,omitempty"`
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
	Next    string `json:"next,omitempty"`
	Prev    string `json:"prev,omitempty"`
}

type RequestSLAPageScheme

type RequestSLAPageScheme struct {
	Size       int                       `json:"size,omitempty"`
	Start      int                       `json:"start,omitempty"`
	Limit      int                       `json:"limit,omitempty"`
	IsLastPage bool                      `json:"isLastPage,omitempty"`
	Values     []*RequestSLAScheme       `json:"values,omitempty"`
	Expands    []string                  `json:"_expands,omitempty"`
	Links      *RequestSLAPageLinkScheme `json:"_links,omitempty"`
}

type RequestSLAScheme

type RequestSLAScheme struct {
	ID           string                        `json:"id,omitempty"`
	Name         string                        `json:"name,omitempty"`
	OngoingCycle *RequestSLAOngoingCycleScheme `json:"ongoingCycle,omitempty"`
	Links        *RequestSLALinkScheme         `json:"_links,omitempty"`
}

type RequestTypeFieldScheme

type RequestTypeFieldScheme struct {
	FieldID       string                         `json:"fieldId,omitempty"`
	Name          string                         `json:"name,omitempty"`
	Description   string                         `json:"description,omitempty"`
	Required      bool                           `json:"required,omitempty"`
	DefaultValues []*RequestTypeFieldValueScheme `json:"defaultValues,omitempty"`
	ValidValues   []*RequestTypeFieldValueScheme `json:"validValues,omitempty"`
	JiraSchema    *RequestTypeJiraSchema         `json:"jiraSchema,omitempty"`
	Visible       bool                           `json:"visible,omitempty"`
}

type RequestTypeFieldValueScheme

type RequestTypeFieldValueScheme struct {
	Value    string        `json:"value,omitempty"`
	Label    string        `json:"label,omitempty"`
	Children []interface{} `json:"children,omitempty"`
}

type RequestTypeFieldsScheme

type RequestTypeFieldsScheme struct {
	RequestTypeFields         []*RequestTypeFieldScheme `json:"requestTypeFields,omitempty"`
	CanRaiseOnBehalfOf        bool                      `json:"canRaiseOnBehalfOf,omitempty"`
	CanAddRequestParticipants bool                      `json:"canAddRequestParticipants,omitempty"`
}

type RequestTypeJiraSchema

type RequestTypeJiraSchema 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 RequestTypePageLinkScheme

type RequestTypePageLinkScheme struct {
	Self    string `json:"self,omitempty"`
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
	Next    string `json:"next,omitempty"`
	Prev    string `json:"prev,omitempty"`
}

type RequestTypePageScheme

type RequestTypePageScheme struct {
	Size       int                        `json:"size,omitempty"`
	Start      int                        `json:"start,omitempty"`
	Limit      int                        `json:"limit,omitempty"`
	IsLastPage bool                       `json:"isLastPage,omitempty"`
	Values     []*RequestTypeScheme       `json:"values,omitempty"`
	Expands    []string                   `json:"_expands,omitempty"`
	Links      *RequestTypePageLinkScheme `json:"_links,omitempty"`
}

type RequestTypePayloadScheme added in v1.5.1

type RequestTypePayloadScheme struct {
	Description string `json:"description,omitempty"`
	HelpText    string `json:"helpText,omitempty"`
	IssueTypeId string `json:"issueTypeId,omitempty"`
	Name        string `json:"name,omitempty"`
}

type RequestTypeScheme

type RequestTypeScheme struct {
	ID            string   `json:"id,omitempty"`
	Name          string   `json:"name,omitempty"`
	Description   string   `json:"description,omitempty"`
	HelpText      string   `json:"helpText,omitempty"`
	IssueTypeID   string   `json:"issueTypeId,omitempty"`
	ServiceDeskID string   `json:"serviceDeskId,omitempty"`
	GroupIds      []string `json:"groupIds,omitempty"`
	Expands       []string `json:"_expands,omitempty"`
}

type ResolutionScheme

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

type ResourceMetaScheme

type ResourceMetaScheme struct {
	ResourceType string `json:"resourceType,omitempty"`
	Location     string `json:"location,omitempty"`
}

type ResourceScheme

type ResourceScheme struct {
	ID          string              `json:"id,omitempty"`
	Name        string              `json:"name,omitempty"`
	Description string              `json:"description,omitempty"`
	Attributes  []*AttributeScheme  `json:"attributes,omitempty"`
	Meta        *ResourceMetaScheme `json:"meta,omitempty"`
}

type ResponseScheme added in v1.4.4

type ResponseScheme struct {
	*http.Response

	Code     int
	Endpoint string
	Method   string
	Bytes    bytes.Buffer
}

type RoleActorScheme

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"`
	ActorGroup  *GroupScheme         `json:"actorGroup,omitempty"`
	ActorUser   *RoleActorUserScheme `json:"actorUser,omitempty"`
}

type RoleActorUserScheme

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

type SCIMEnterpriseUserInfoScheme

type SCIMEnterpriseUserInfoScheme struct {
	Organization string `json:"organization,omitempty"`
	Department   string `json:"department,omitempty"`
}

type SCIMExtensionScheme

type SCIMExtensionScheme struct {
	AtlassianAccountID string `json:"atlassianAccountId,omitempty"`
}

type SCIMGroupOperationScheme

type SCIMGroupOperationScheme struct {
	Op    string                           `json:"op,omitempty"`
	Path  string                           `json:"path,omitempty"`
	Value []*SCIMGroupOperationValueScheme `json:"value,omitempty"`
}

type SCIMGroupOperationValueScheme

type SCIMGroupOperationValueScheme struct {
	Value   string `json:"value,omitempty"`
	Display string `json:"display,omitempty"`
}

type SCIMGroupPathScheme

type SCIMGroupPathScheme struct {
	Schemas    []string                    `json:"schemas,omitempty"`
	Operations []*SCIMGroupOperationScheme `json:"Operations,omitempty"`
}

type SCIMSchemaScheme

type SCIMSchemaScheme struct {
	ID          string              `json:"id,omitempty"`
	Name        string              `json:"name,omitempty"`
	Description string              `json:"description,omitempty"`
	Attributes  []*AttributeScheme  `json:"attributes,omitempty"`
	Meta        *ResourceMetaScheme `json:"meta,omitempty"`
}

type SCIMSchemasScheme

type SCIMSchemasScheme struct {
	TotalResults int               `json:"totalResults,omitempty"`
	ItemsPerPage int               `json:"itemsPerPage,omitempty"`
	StartIndex   int               `json:"startIndex,omitempty"`
	Schemas      []string          `json:"schemas,omitempty"`
	Resources    []*ResourceScheme `json:"Resources,omitempty"`
}

type SCIMUserComplexOperationScheme

type SCIMUserComplexOperationScheme struct {
	Value     string `json:"value,omitempty"`
	ValueType string `json:"type,omitempty"` // Available values (work, home, other)
	Primary   bool   `json:"primary,omitempty"`
}

type SCIMUserEmailScheme

type SCIMUserEmailScheme struct {
	Value   string `json:"value,omitempty"`
	Type    string `json:"type,omitempty"`
	Primary bool   `json:"primary,omitempty"`
}

type SCIMUserGetsOptionsScheme

type SCIMUserGetsOptionsScheme struct {
	Attributes         []string
	ExcludedAttributes []string
	Filter             string
}

type SCIMUserGroupScheme

type SCIMUserGroupScheme struct {
	Type    string `json:"type,omitempty"`
	Value   string `json:"value,omitempty"`
	Display string `json:"display,omitempty"`
	Ref     string `json:"$ref,omitempty"`
}

type SCIMUserMetaScheme

type SCIMUserMetaScheme struct {
	ResourceType string `json:"resourceType,omitempty"`
	Location     string `json:"location,omitempty"`
	LastModified string `json:"lastModified,omitempty"`
	Created      string `json:"created,omitempty"`
}

type SCIMUserNameScheme

type SCIMUserNameScheme struct {
	Formatted       string `json:"formatted,omitempty"`
	FamilyName      string `json:"familyName,omitempty"`
	GivenName       string `json:"givenName,omitempty"`
	MiddleName      string `json:"middleName,omitempty"`
	HonorificPrefix string `json:"honorificPrefix,omitempty"`
	HonorificSuffix string `json:"honorificSuffix,omitempty"`
}

type SCIMUserPageScheme

type SCIMUserPageScheme struct {
	Schemas      []string          `json:"schemas,omitempty"`
	TotalResults int               `json:"totalResults,omitempty"`
	StartIndex   int               `json:"startIndex,omitempty"`
	ItemsPerPage int               `json:"itemsPerPage,omitempty"`
	Resources    []*SCIMUserScheme `json:"Resources,omitempty"`
}

type SCIMUserPhoneNumberScheme

type SCIMUserPhoneNumberScheme struct {
	Value   string `json:"value,omitempty"`
	Type    string `json:"type,omitempty"`
	Primary bool   `json:"primary,omitempty"`
}

type SCIMUserScheme

type SCIMUserScheme struct {
	ID                string                        `json:"id"`
	ExternalID        string                        `json:"externalId"`
	Meta              *SCIMUserMetaScheme           `json:"meta,omitempty"`
	Groups            []*SCIMUserGroupScheme        `json:"groups,omitempty"`
	UserName          string                        `json:"userName,omitempty"`
	Emails            []*SCIMUserEmailScheme        `json:"emails,omitempty"`
	Name              *SCIMUserNameScheme           `json:"name,omitempty"`
	DisplayName       string                        `json:"displayName,omitempty"`
	NickName          string                        `json:"nickName,omitempty"`
	Title             string                        `json:"title,omitempty"`
	PreferredLanguage string                        `json:"preferredLanguage,omitempty"`
	Department        string                        `json:"department,omitempty"`
	Organization      string                        `json:"organization,omitempty"`
	Timezone          string                        `json:"timezone,omitempty"`
	PhoneNumbers      []*SCIMUserPhoneNumberScheme  `json:"phoneNumbers,omitempty"`
	Active            bool                          `json:"active,omitempty"`
	EnterpriseInfo    *SCIMEnterpriseUserInfoScheme `json:"urn:ietf:params:scim:schemas:extension:enterprise:2.1:User,omitempty"`
	SCIMExtension     *SCIMExtensionScheme          `json:"urn:scim:schemas:extension:atlassian-external:1.1,omitempty"`
}

type SCIMUserToPathOperationScheme

type SCIMUserToPathOperationScheme struct {
	Op    string      `json:"op,omitempty"`
	Path  string      `json:"path,omitempty"`
	Value interface{} `json:"value,omitempty"`
}

type SCIMUserToPathScheme

type SCIMUserToPathScheme struct {
	Schemas    []string                         `json:"schemas,omitempty"`
	Operations []*SCIMUserToPathOperationScheme `json:"operations,omitempty"`
}

func (*SCIMUserToPathScheme) AddBoolOperation

func (s *SCIMUserToPathScheme) AddBoolOperation(operation, path string, value bool) error

func (*SCIMUserToPathScheme) AddComplexOperation

func (s *SCIMUserToPathScheme) AddComplexOperation(operation, path string, values []*SCIMUserComplexOperationScheme) error

func (*SCIMUserToPathScheme) AddStringOperation

func (s *SCIMUserToPathScheme) AddStringOperation(operation, path, value string) error

type SCIMUserToPathValueScheme

type SCIMUserToPathValueScheme struct {
	Array               bool   `json:"array,omitempty"`
	Null                bool   `json:"null,omitempty"`
	ValueNode           bool   `json:"valueNode,omitempty"`
	ContainerNode       bool   `json:"containerNode,omitempty"`
	MissingNode         bool   `json:"missingNode,omitempty"`
	Object              bool   `json:"object,omitempty"`
	NodeType            string `json:"nodeType,omitempty"`
	Pojo                bool   `json:"pojo,omitempty"`
	Number              bool   `json:"number,omitempty"`
	IntegralNumber      bool   `json:"integralNumber,omitempty"`
	FloatingPointNumber bool   `json:"floatingPointNumber,omitempty"`
	Short               bool   `json:"short,omitempty"`
	Int                 bool   `json:"int,omitempty"`
	Long                bool   `json:"long,omitempty"`
	Double              bool   `json:"double,omitempty"`
	BigDecimal          bool   `json:"bigDecimal,omitempty"`
	BigInteger          bool   `json:"bigInteger,omitempty"`
	Textual             bool   `json:"textual,omitempty"`
	Boolean             bool   `json:"boolean,omitempty"`
	Binary              bool   `json:"binary,omitempty"`
	Float               bool   `json:"float,omitempty"`
}

type ScimGroupMemberScheme

type ScimGroupMemberScheme struct {
	Type    string `json:"type,omitempty"`
	Value   string `json:"value,omitempty"`
	Display string `json:"display,omitempty"`
	Ref     string `json:"$ref,omitempty"`
}

type ScimGroupPageScheme

type ScimGroupPageScheme struct {
	Schemas      []string           `json:"schemas,omitempty"`
	TotalResults int                `json:"totalResults,omitempty"`
	StartIndex   int                `json:"startIndex,omitempty"`
	ItemsPerPage int                `json:"itemsPerPage,omitempty"`
	Resources    []*ScimGroupScheme `json:"Resources,omitempty"`
}

type ScimGroupScheme

type ScimGroupScheme struct {
	Schemas     []string                 `json:"schemas,omitempty"`
	ID          string                   `json:"id,omitempty"`
	ExternalID  string                   `json:"externalId,omitempty"`
	DisplayName string                   `json:"displayName,omitempty"`
	Members     []*ScimGroupMemberScheme `json:"members,omitempty"`
	Meta        *ScimMetadata            `json:"meta,omitempty"`
}

type ScimMetadata

type ScimMetadata struct {
	ResourceType string `json:"resourceType,omitempty"`
	Location     string `json:"location,omitempty"`
	LastModified string `json:"lastModified,omitempty"`
	Created      string `json:"created,omitempty"`
}

type ScreenFieldPageScheme

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 ScreenParamsScheme added in v1.5.1

type ScreenParamsScheme struct {

	// The list of screen IDs
	IDs []int

	// String used to perform a case-insensitive partial match with screen name.
	QueryString string

	// The scope filter string. To filter by multiple scope,
	Scope []string

	// Order the results by a field:
	// 1. id Sorts by screen ID.
	// 2. name Sorts by screen name.
	OrderBy string
}

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 ScreenSchemeParamsScheme added in v1.4.4

type ScreenSchemeParamsScheme struct {
	IDs         []int
	QueryString string
	OrderBy     string
	Expand      []string
}

type ScreenSchemePayloadScheme

type ScreenSchemePayloadScheme struct {
	Screens     *ScreenTypesScheme `json:"screens,omitempty"`
	Name        string             `json:"name,omitempty"`
	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 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 ScreenTabFieldScheme

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

type ScreenTabScheme

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

type ScreenTypesScheme

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

type ScreenWithTabScheme

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 SearchBreadcrumbScheme added in v1.4.3

type SearchBreadcrumbScheme struct {
	Label     string `json:"label,omitempty"`
	URL       string `json:"url,omitempty"`
	Separator string `json:"separator,omitempty"`
}

type SearchContentOptions added in v1.4.3

type SearchContentOptions struct {
	Context                  string
	Cursor                   string
	Next                     bool
	Prev                     bool
	Limit                    int
	Start                    int
	IncludeArchivedSpaces    bool
	ExcludeCurrentSpaces     bool
	SitePermissionTypeFilter string
	Excerpt                  string
	Expand                   []string
}

type SearchPageLinksScheme added in v1.4.3

type SearchPageLinksScheme struct {
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
	Next    string `json:"next,omitempty"`
	Self    string `json:"self,omitempty"`
}

type SearchPageScheme added in v1.4.3

type SearchPageScheme struct {
	Results             []*SearchResultScheme  `json:"results,omitempty"`
	Start               int                    `json:"start,omitempty"`
	Limit               int                    `json:"limit,omitempty"`
	Size                int                    `json:"size,omitempty"`
	TotalSize           int                    `json:"totalSize,omitempty"`
	CqlQuery            string                 `json:"cqlQuery,omitempty"`
	SearchDuration      int                    `json:"searchDuration,omitempty"`
	ArchivedResultCount int                    `json:"archivedResultCount,omitempty"`
	Links               *SearchPageLinksScheme `json:"_links,omitempty"`
}

type SearchResultScheme added in v1.4.3

type SearchResultScheme struct {
	Content               *ContentScheme            `json:"content,omitempty"`
	User                  *ContentUserScheme        `json:"user,omitempty"`
	Space                 *SpaceScheme              `json:"space,omitempty"`
	Title                 string                    `json:"title,omitempty"`
	Excerpt               string                    `json:"excerpt,omitempty"`
	URL                   string                    `json:"url,omitempty"`
	ResultParentContainer *ContainerSummaryScheme   `json:"resultParentContainer,omitempty"`
	ResultGlobalContainer *ContainerSummaryScheme   `json:"resultGlobalContainer,omitempty"`
	Breadcrumbs           []*SearchBreadcrumbScheme `json:"breadcrumbs,omitempty"`
	EntityType            string                    `json:"entityType,omitempty"`
	IconCSSClass          string                    `json:"iconCssClass,omitempty"`
	LastModified          string                    `json:"lastModified,omitempty"`
	FriendlyLastModified  string                    `json:"friendlyLastModified,omitempty"`
	Score                 float64                   `json:"score,omitempty"`
}

type SecurityScheme added in v1.4.4

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

type ServerHealthCheckScheme

type ServerHealthCheckScheme struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	Passed      bool   `json:"passed,omitempty"`
}

type ServerInformationScheme

type ServerInformationScheme struct {
	BaseURL        string                     `json:"baseUrl,omitempty"`
	Version        string                     `json:"version,omitempty"`
	VersionNumbers []int                      `json:"versionNumbers,omitempty"`
	DeploymentType string                     `json:"deploymentType,omitempty"`
	BuildNumber    int                        `json:"buildNumber,omitempty"`
	BuildDate      string                     `json:"buildDate,omitempty"`
	ServerTime     string                     `json:"serverTime,omitempty"`
	ScmInfo        string                     `json:"scmInfo,omitempty"`
	ServerTitle    string                     `json:"serverTitle,omitempty"`
	HealthChecks   []*ServerHealthCheckScheme `json:"healthChecks,omitempty"`
}

type ServiceDeskIssueQueueScheme

type ServiceDeskIssueQueueScheme struct {
	Size       int                             `json:"size,omitempty"`
	Start      int                             `json:"start,omitempty"`
	Limit      int                             `json:"limit,omitempty"`
	IsLastPage bool                            `json:"isLastPage,omitempty"`
	Values     []*IssueSchemeV2                `json:"values,omitempty"`
	Expands    []string                        `json:"_expands,omitempty"`
	Links      *ServiceDeskQueuePageLinkScheme `json:"_links,omitempty"`
}

type ServiceDeskPageLinkScheme

type ServiceDeskPageLinkScheme struct {
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
	Next    string `json:"next,omitempty"`
	Prev    string `json:"prev,omitempty"`
}

type ServiceDeskPageScheme

type ServiceDeskPageScheme struct {
	Expands    []string                   `json:"_expands,omitempty"`
	Size       int                        `json:"size,omitempty"`
	Start      int                        `json:"start,omitempty"`
	Limit      int                        `json:"limit,omitempty"`
	IsLastPage bool                       `json:"isLastPage,omitempty"`
	Links      *ServiceDeskPageLinkScheme `json:"_links,omitempty"`
	Values     []*ServiceDeskScheme       `json:"values,omitempty"`
}

type ServiceDeskQueuePageLinkScheme

type ServiceDeskQueuePageLinkScheme struct {
	Self    string `json:"self,omitempty"`
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
	Next    string `json:"next,omitempty"`
	Prev    string `json:"prev,omitempty"`
}

type ServiceDeskQueuePageScheme

type ServiceDeskQueuePageScheme struct {
	Size       int                             `json:"size,omitempty"`
	Start      int                             `json:"start,omitempty"`
	Limit      int                             `json:"limit,omitempty"`
	IsLastPage bool                            `json:"isLastPage,omitempty"`
	Values     []*ServiceDeskQueueScheme       `json:"values,omitempty"`
	Expands    []string                        `json:"_expands,omitempty"`
	Links      *ServiceDeskQueuePageLinkScheme `json:"_links,omitempty"`
}

type ServiceDeskQueueScheme

type ServiceDeskQueueScheme struct {
	ID         string   `json:"id,omitempty"`
	Name       string   `json:"name,omitempty"`
	Jql        string   `json:"jql,omitempty"`
	Fields     []string `json:"fields,omitempty"`
	IssueCount int      `json:"issueCount,omitempty"`
}

type ServiceDeskScheme

type ServiceDeskScheme struct {
	ID          string `json:"id,omitempty"`
	ProjectID   string `json:"projectId,omitempty"`
	ProjectName string `json:"projectName,omitempty"`
	ProjectKey  string `json:"projectKey,omitempty"`
	Links       struct {
		Self string `json:"self,omitempty"`
	} `json:"_links,omitempty"`
}

type ServiceDeskTemporaryFileScheme

type ServiceDeskTemporaryFileScheme struct {
	TemporaryAttachments []*TemporaryAttachmentScheme `json:"temporaryAttachments,omitempty"`
}

type ServiceProviderConfigScheme

type ServiceProviderConfigScheme struct {
	Schemas []string `json:"schemas"`
	Patch   struct {
		Supported bool `json:"supported"`
	} `json:"patch"`
	Bulk struct {
		Supported      bool `json:"supported"`
		MaxOperations  int  `json:"maxOperations"`
		MaxPayloadSize int  `json:"maxPayloadSize"`
	} `json:"bulk"`
	Filter struct {
		MaxResults int  `json:"maxResults"`
		Supported  bool `json:"supported"`
	} `json:"filter"`
	ChangePassword struct {
		Supported bool `json:"supported"`
	} `json:"changePassword"`
	Sort struct {
		Supported bool `json:"supported"`
	} `json:"sort"`
	Etag struct {
		Supported bool `json:"supported"`
	} `json:"etag"`
	AuthenticationSchemes []struct {
		Type        string `json:"type"`
		Name        string `json:"name"`
		Description string `json:"description"`
	} `json:"authenticationSchemes"`
	Meta struct {
		Location     string    `json:"location"`
		ResourceType string    `json:"resourceType"`
		LastModified time.Time `json:"lastModified"`
		Created      time.Time `json:"created"`
	} `json:"meta"`
}

type ServiceRequestOptionScheme added in v1.4.4

type ServiceRequestOptionScheme struct {
	ApprovalStatus, RequestStatus, SearchTerm string
	OrganizationID, ServiceDeskID             int
	RequestTypeID                             int
	Expand, RequestOwnerships                 []string
}

type ShareFilterScopeScheme

type ShareFilterScopeScheme struct {
	Scope string `json:"scope"`
}

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"`
	User    *UserDetailScheme  `json:"user,omitempty"`
}

type SpaceChunkV2Scheme added in v1.5.0

type SpaceChunkV2Scheme struct {
	Results []*SpaceSchemeV2 `json:"results,omitempty"`
	Links   struct {
		Next string `json:"next"`
	} `json:"_links"`
}

type SpaceDescriptionSchemeV2 added in v1.5.0

type SpaceDescriptionSchemeV2 struct {
	Plain *PageBodyRepresentationScheme `json:"plain,omitempty"`
	View  *PageBodyRepresentationScheme `json:"view,omitempty"`
}

type SpaceGroupScheme

type SpaceGroupScheme struct {
	Type  string      `json:"type,omitempty"`
	Name  string      `json:"name,omitempty"`
	ID    string      `json:"id,omitempty"`
	Links *LinkScheme `json:"_links,omitempty"`
}

type SpaceHistoryScheme added in v1.4.2

type SpaceHistoryScheme struct {
	CreatedDate string             `json:"createdDate,omitempty"`
	CreatedBy   *ContentUserScheme `json:"createdBy,omitempty"`
}

type SpaceOperationPayloadScheme added in v1.4.3

type SpaceOperationPayloadScheme struct {
	Key    string `json:"key,omitempty"`
	Target string `json:"target,omitempty"`
	Access bool   `json:"access,omitempty"`
}

type SpaceOperationScheme added in v1.4.2

type SpaceOperationScheme struct {
	Operation  string `json:"operation,omitempty"`
	TargetType string `json:"targetType,omitempty"`
}

type SpacePageLinkSchemeV2 added in v1.5.0

type SpacePageLinkSchemeV2 struct {
	Next string `json:"next,omitempty"`
}

type SpacePageScheme

type SpacePageScheme struct {
	Results []*SpaceScheme `json:"results,omitempty"`
	Start   int            `json:"start"`
	Limit   int            `json:"limit"`
	Size    int            `json:"size"`
	Links   struct {
		Base    string `json:"base"`
		Context string `json:"context"`
		Self    string `json:"self"`
	} `json:"_links"`
}

type SpacePermissionArrayPayloadScheme added in v1.4.3

type SpacePermissionArrayPayloadScheme struct {
	Subject    *PermissionSubjectScheme       `json:"subject,omitempty"`
	Operations []*SpaceOperationPayloadScheme `json:"operations,omitempty"`
}

type SpacePermissionOperationScheme added in v1.4.3

type SpacePermissionOperationScheme struct {
	Operation string `json:"operation,omitempty"`
	Target    string `json:"target,omitempty"`
	Key       string `json:"key,omitempty"`
}

type SpacePermissionPageLinkScheme added in v1.5.1

type SpacePermissionPageLinkScheme struct {
	Next string `json:"next,omitempty"`
}

type SpacePermissionPageScheme added in v1.5.1

type SpacePermissionPageScheme struct {
	Results []*SpacePermissionsV2Scheme    `json:"results,omitempty"`
	Links   *SpacePermissionPageLinkScheme `json:"_links,omitempty"`
}

type SpacePermissionPayloadScheme added in v1.4.3

type SpacePermissionPayloadScheme struct {
	Subject   *PermissionSubjectScheme        `json:"subject,omitempty"`
	Operation *SpacePermissionOperationScheme `json:"operation,omitempty"`
}

type SpacePermissionScheme

type SpacePermissionScheme struct {
	Subject          *SubjectPermissionScheme   `json:"subjects,omitempty"`
	Operation        *OperationPermissionScheme `json:"operation,omitempty"`
	AnonymousAccess  bool                       `json:"anonymousAccess,omitempty"`
	UnlicensedAccess bool                       `json:"unlicensedAccess,omitempty"`
}

type SpacePermissionV2Scheme added in v1.4.3

type SpacePermissionV2Scheme struct {
	Subject   *PermissionSubjectScheme        `json:"subject,omitempty"`
	Operation *SpacePermissionOperationScheme `json:"operation,omitempty"`
}

type SpacePermissionsOperationScheme added in v1.5.1

type SpacePermissionsOperationScheme struct {
	Key        string `json:"key,omitempty"`
	TargetType string `json:"targetType,omitempty"`
}

type SpacePermissionsPrincipalScheme added in v1.5.1

type SpacePermissionsPrincipalScheme struct {
	Type string `json:"type,omitempty"`
	ID   string `json:"id,omitempty"`
}

type SpacePermissionsV2Scheme added in v1.5.1

type SpacePermissionsV2Scheme struct {
	ID        string                           `json:"id"`
	Principal *SpacePermissionsPrincipalScheme `json:"principal"`
	Operation *SpacePermissionsOperationScheme `json:"operation"`
}

type SpaceScheme

type SpaceScheme struct {
	ID          int                      `json:"id,omitempty"`
	Key         string                   `json:"key,omitempty"`
	Name        string                   `json:"name,omitempty"`
	Type        string                   `json:"type,omitempty"`
	Status      string                   `json:"status,omitempty"`
	HomePage    *ContentScheme           `json:"homepage,omitempty"`
	Operations  *[]SpaceOperationScheme  `json:"operations,omitempty"`
	Permissions []*SpacePermissionScheme `json:"permissions,omitempty"`
	History     *SpaceHistoryScheme      `json:"history,omitempty"`
	Expandable  *ExpandableScheme        `json:"_expandable,omitempty"`
	Links       *LinkScheme              `json:"_links,omitempty"`
}

type SpaceSchemeV2 added in v1.5.0

type SpaceSchemeV2 struct {
	ID          string                    `json:"id,omitempty"`
	Key         string                    `json:"key,omitempty"`
	Name        string                    `json:"name,omitempty"`
	Type        string                    `json:"type,omitempty"`
	Status      string                    `json:"status,omitempty"`
	HomepageId  string                    `json:"homepageId,omitempty"`
	Description *SpaceDescriptionSchemeV2 `json:"description,omitempty"`
}

type SprintDetailScheme added in v1.5.0

type SprintDetailScheme struct {
	ID            int    `json:"id,omitempty"`
	State         string `json:"state,omitempty"`
	Name          string `json:"name,omitempty"`
	StartDate     string `json:"startDate,omitempty"`
	EndDate       string `json:"endDate,omitempty"`
	CompleteDate  string `json:"completeDate,omitempty"`
	OriginBoardID int    `json:"originBoardId,omitempty"`
	Goal          string `json:"goal,omitempty"`
	BoardID       int    `json:"boardId,omitempty"`
}

func ParseSprintCustomField added in v1.5.0

func ParseSprintCustomField(buffer bytes.Buffer, customField string) ([]*SprintDetailScheme, error)

ParseSprintCustomField parses a sprints custom field from the given buffer data associated with the specified custom field ID and returns the issue sprints

Parameters:

  • customfieldID: A string representing the unique identifier of the custom field.
  • buffer: A bytes.Buffer containing the serialized data to be parsed.

Returns:

  • string: the customfield value as string type

Example usage:

customfieldID := "customfield_10001"
buffer := bytes.NewBuffer([]byte{ /* Serialized data */ })
sprints, err := ParseSprintCustomField(customfieldID, buffer)
if err != nil {
    log.Fatal(err)
}

fmt.Println(sprints)

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-sprints-customfield

type SprintIssuePageScheme

type SprintIssuePageScheme struct {
	Expand     string               `json:"expand,omitempty"`
	StartAt    int                  `json:"startAt,omitempty"`
	MaxResults int                  `json:"maxResults,omitempty"`
	Total      int                  `json:"total,omitempty"`
	Issues     []*SprintIssueScheme `json:"issues,omitempty"`
}

type SprintIssueScheme

type SprintIssueScheme struct {
	Expand string `json:"expand,omitempty"`
	ID     string `json:"id,omitempty"`
	Self   string `json:"self,omitempty"`
	Key    string `json:"key,omitempty"`
}

type SprintMovePayloadScheme added in v1.5.0

type SprintMovePayloadScheme struct {
	Issues            []string `json:"issues,omitempty"`
	RankBeforeIssue   string   `json:"rankBeforeIssue,omitempty"`
	RankAfterIssue    string   `json:"rankAfterIssue,omitempty"`
	RankCustomFieldId int      `json:"rankCustomFieldId,omitempty"`
}

type SprintPayloadScheme

type SprintPayloadScheme struct {
	Name          string `json:"name,omitempty"`
	StartDate     string `json:"startDate,omitempty"`
	EndDate       string `json:"endDate,omitempty"`
	OriginBoardID int    `json:"originBoardId,omitempty"`
	Goal          string `json:"goal,omitempty"`
	State         string `json:"state,omitempty"`
}

type SprintScheme

type SprintScheme struct {
	ID            int       `json:"id,omitempty"`
	Self          string    `json:"self,omitempty"`
	State         string    `json:"state,omitempty"`
	Name          string    `json:"name,omitempty"`
	StartDate     time.Time `json:"startDate,omitempty"`
	EndDate       time.Time `json:"endDate,omitempty"`
	CompleteDate  time.Time `json:"completeDate,omitempty"`
	OriginBoardID int       `json:"originBoardId,omitempty"`
	Goal          string    `json:"goal,omitempty"`
}

type StatusCategoryScheme

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 StatusDetailScheme added in v1.5.0

type StatusDetailScheme 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"`
	Scope          *WorkflowStatusScopeScheme `json:"scope,omitempty"`
}

type StatusScheme

type StatusScheme 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 SubAttributeScheme

type SubAttributeScheme struct {
	Name        string `json:"name,omitempty"`
	Type        string `json:"type,omitempty"`
	MultiValued bool   `json:"multiValued,omitempty"`
	Description string `json:"description,omitempty"`
	Required    bool   `json:"required,omitempty"`
	CaseExact   bool   `json:"caseExact,omitempty"`
	Mutability  string `json:"mutability,omitempty"`
	Returned    string `json:"returned,omitempty"`
	Uniqueness  string `json:"uniqueness,omitempty"`
}

type SubjectPermissionScheme

type SubjectPermissionScheme struct {
	User  *UserPermissionScheme  `json:"user,omitempty"`
	Group *GroupPermissionScheme `json:"group,omitempty"`
}

type T added in v1.6.0

type T struct {
	Values []struct {
		Repository struct {
			Type     string `json:"type"`
			FullName string `json:"full_name"`
			Links    struct {
				Self struct {
					Href string `json:"href"`
				} `json:"self"`
				Html struct {
					Href string `json:"href"`
				} `json:"html"`
				Avatar struct {
					Href string `json:"href"`
				} `json:"avatar"`
			} `json:"links"`
			Name string `json:"name"`
			Uuid string `json:"uuid"`
		} `json:"repository"`
		Type       string `json:"type"`
		Permission string `json:"permission"`
	} `json:"values"`
	Pagelen int `json:"pagelen"`
	Size    int `json:"size"`
	Page    int `json:"page"`
}

type TaskLinkScheme

type TaskLinkScheme struct {
	Status string `json:"status"`
}

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 TeamManagedProjectScopeScheme

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

type TemporaryAttachmentScheme

type TemporaryAttachmentScheme struct {
	TemporaryAttachmentID string `json:"temporaryAttachmentId,omitempty"`
	FileName              string `json:"fileName,omitempty"`
}

type TicketPageScheme added in v1.5.1

type TicketPageScheme struct {
	Tickets         []*TicketScheme `json:"tickets,omitempty"`
	AllTicketsQuery string          `json:"allTicketsQuery,omitempty"`
}

type TicketPriorityScheme added in v1.5.1

type TicketPriorityScheme struct {
	Name    string `json:"name,omitempty"`
	IconUrl string `json:"iconUrl,omitempty"`
}

type TicketScheme added in v1.5.1

type TicketScheme struct {
	WorkspaceId string                `json:"workspaceId,omitempty"`
	GlobalId    string                `json:"globalId,omitempty"`
	Key         string                `json:"key,omitempty"`
	Id          string                `json:"id,omitempty"`
	Reporter    string                `json:"reporter,omitempty"`
	Created     string                `json:"created,omitempty"`
	Updated     string                `json:"updated,omitempty"`
	Title       string                `json:"title,omitempty"`
	Status      *TicketStatusScheme   `json:"status,omitempty"`
	Type        *TicketTypeScheme     `json:"type,omitempty"`
	Priority    *TicketPriorityScheme `json:"priority,omitempty"`
}

type TicketStatusScheme added in v1.5.1

type TicketStatusScheme struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	ColorName   string `json:"colorName,omitempty"`
}

type TicketTypeScheme added in v1.5.1

type TicketTypeScheme struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	IconUrl     string `json:"iconUrl,omitempty"`
}

type TypeReferenceScheme added in v1.5.1

type TypeReferenceScheme struct {
	WorkspaceID    string `json:"workspaceId,omitempty"`
	GlobalID       string `json:"globalId,omitempty"`
	ID             string `json:"id,omitempty"`
	Name           string `json:"name,omitempty"`
	Description    string `json:"description,omitempty"`
	Color          string `json:"color,omitempty"`
	URL16          string `json:"url16,omitempty"`
	Removable      bool   `json:"removable,omitempty"`
	ObjectSchemaID string `json:"objectSchemaId,omitempty"`
}

type UpdateFieldConfigurationItemPayloadScheme added in v1.4.2

type UpdateFieldConfigurationItemPayloadScheme struct {
	FieldConfigurationItems []*FieldConfigurationItemScheme `json:"fieldConfigurationItems"`
}

type UpdateOperations

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

func (*UpdateOperations) AddArrayOperation

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

func (*UpdateOperations) AddStringOperation

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

type UpdateSpaceHomepageScheme

type UpdateSpaceHomepageScheme struct {
	ID string `json:"id"`
}

type UpdateSpaceScheme

type UpdateSpaceScheme struct {
	Name        string                        `json:"name,omitempty"`
	Description *CreateSpaceDescriptionScheme `json:"description,omitempty"`
	Homepage    *UpdateSpaceHomepageScheme    `json:"homepage,omitempty"`
}

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 UserBusinessDetailScheme

type UserBusinessDetailScheme struct {
	Position   string `json:"position,omitempty"`
	Department string `json:"department,omitempty"`
	Location   string `json:"location,omitempty"`
}

type UserDetailScheme

type UserDetailScheme 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"`
	DisplayName  string `json:"displayName,omitempty"`
	Active       bool   `json:"active,omitempty"`
	TimeZone     string `json:"timeZone,omitempty"`
	AccountType  string `json:"accountType,omitempty"`
}

func ParseMultiUserPickerCustomField added in v1.5.0

func ParseMultiUserPickerCustomField(buffer bytes.Buffer, customField string) ([]*UserDetailScheme, error)

ParseMultiUserPickerCustomField parses a group-picker custom field from the given buffer data associated with the specified custom field ID and returns a slice of pointers to UserDetailScheme structs.

Parameters:

  • customfieldID: A string representing the unique identifier of the custom field.
  • buffer: A bytes.Buffer containing the serialized data to be parsed.

Returns:

  • []*UserDetailScheme: A slice of pointers to UserDetailScheme structs representing the parsed user picker associated with the custom field.

The UserDetailScheme method is responsible for extracting and parsing the serialized data from the provided buffer, which is expected to be in a specific format. It then constructs and returns a slice of pointers to UserDetailScheme structs that represent the parsed groups for the given custom field.

Example usage:

customfieldID := "customfield_10001"
buffer := bytes.NewBuffer([]byte{ /* Serialized data */ })
users, err := ParseMultiUserPickerCustomField(customfieldID, buffer)
if err != nil {
    log.Fatal(err)
}
for _, user := range users {
    fmt.Printf("User ID: %s, User Name: %s\n", user.AccountID, user.DisplayName)
}

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-multi-userpicker-customfield

func ParseUserPickerCustomField added in v1.5.0

func ParseUserPickerCustomField(buffer bytes.Buffer, customField string) (*UserDetailScheme, error)

ParseUserPickerCustomField parses a user custom field from the given buffer data associated with the specified custom field ID and pointer of the UserDetailScheme struct

Parameters:

  • customfieldID: A string representing the unique identifier of the custom field.
  • buffer: A bytes.Buffer containing the serialized data to be parsed.

Returns:

  • *UserDetailScheme: A pointer of the UserDetailScheme struct representing the parsed group picker associated with the custom field.

The UserDetailScheme is responsible for extracting and parsing the serialized data from the provided buffer, which is expected to be in a specific format. It then constructs and returns a slice of pointers to UserDetailScheme structs that represent the parsed groups for the given custom field.

Example usage:

customfieldID := "customfield_10001"
buffer := bytes.NewBuffer([]byte{ /* Serialized data */ })
user, err := ParseUserPickerCustomField(customfieldID, buffer)
if err != nil {
    log.Fatal(err)
}

fmt.Printf("User ID: %s, User Name: %s\n", version.AccountID, version. DisplayName)

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-userpicker-customfield

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,omitempty"`
	DisplayName  string `json:"displayName,omitempty"`
	Notification bool   `json:"notification,omitempty"`
}

type UserPermissionCheckParamsScheme added in v1.5.0

type UserPermissionCheckParamsScheme struct {
	Query      string
	AccountID  string
	IssueKey   string
	ProjectKey string
}

type UserPermissionScheme

type UserPermissionScheme struct {
	Results []*ContentUserScheme `json:"results,omitempty"`
	Size    int                  `json:"size,omitempty"`
}

type UserPersonalDetailScheme

type UserPersonalDetailScheme struct {
	Phone   string `json:"phone,omitempty"`
	Im      string `json:"im,omitempty"`
	Website string `json:"website,omitempty"`
	Email   string `json:"email,omitempty"`
}

type UserProductAccessDataScheme added in v1.5.1

type UserProductAccessDataScheme struct {
	ProductAccess []*UserProductLastActiveScheme `json:"product_access,omitempty"`
	AddedToOrg    string                         `json:"added_to_org,omitempty"`
}

type UserProductAccessScheme added in v1.5.1

type UserProductAccessScheme struct {
	Data *UserProductAccessDataScheme `json:"data,omitempty"`
}

type UserProductLastActiveScheme added in v1.5.1

type UserProductLastActiveScheme struct {
	Id         string `json:"id,omitempty"`
	Key        string `json:"key,omitempty"`
	Name       string `json:"name,omitempty"`
	Url        string `json:"url,omitempty"`
	LastActive string `json:"last_active,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 UserTokensScheme

type UserTokensScheme struct {
	ID         string    `json:"id,omitempty"`
	Label      string    `json:"label,omitempty"`
	CreatedAt  time.Time `json:"createdAt,omitempty"`
	LastAccess time.Time `json:"lastAccess,omitempty"`
}

type VersionCollaboratorsScheme

type VersionCollaboratorsScheme struct {
	Users    []*ContentUserScheme `json:"users,omitempty"`
	UserKeys []string             `json:"userKeys,omitempty"`
}

type VersionDetailScheme added in v1.5.0

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

func ParseMultiVersionCustomField added in v1.5.0

func ParseMultiVersionCustomField(buffer bytes.Buffer, customField string) ([]*VersionDetailScheme, error)

ParseMultiVersionCustomField parses a version-picker custom field from the given buffer data associated with the specified custom field ID and returns a slice of pointers to VersionDetailScheme structs.

Parameters:

  • customfieldID: A string representing the unique identifier of the custom field.
  • buffer: A bytes.Buffer containing the serialized data to be parsed.

Returns:

  • []*VersionDetailScheme: A slice of pointers to VersionDetailScheme structs representing the parsed group picker associated with the custom field.

The VersionDetailScheme method is responsible for extracting and parsing the serialized data from the provided buffer, which is expected to be in a specific format. It then constructs and returns a slice of pointers to VersionDetailScheme structs that represent the parsed groups for the given custom field.

Example usage:

customfieldID := "customfield_10001"
buffer := bytes.NewBuffer([]byte{ /* Serialized data */ })
versions, err := ParseMultiVersionCustomField(customfieldID, buffer)
if err != nil {
    log.Fatal(err)
}
for _, version := range versions {
    fmt.Printf("Version ID: %s, Version Name: %s\n", version.ID, version.Name)
}

Docs: https://docs.go-atlassian.io/cookbooks/extract-customfields-from-issue-s#parse-versionpicker-customfield

type VersionGetsOptions

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

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 VersionIssuesStatusForFixVersionScheme

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

type VersionOperation

type VersionOperation 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 VersionPageScheme

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

type VersionPayloadScheme

type VersionPayloadScheme 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 VersionScheme

type VersionScheme 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                []*VersionOperation                     `json:"operations,omitempty"`
	IssuesStatusForFixVersion *VersionIssuesStatusForFixVersionScheme `json:"issuesStatusForFixVersion,omitempty"`
}

type VersionUnresolvedIssuesCountScheme

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

type WebhookSubscriptionPageScheme added in v1.6.0

type WebhookSubscriptionPageScheme struct {
	Size     int                          `json:"size,omitempty"`
	Page     int                          `json:"page,omitempty"`
	Pagelen  int                          `json:"pagelen,omitempty"`
	Next     string                       `json:"next,omitempty"`
	Previous string                       `json:"previous,omitempty"`
	Values   []*WebhookSubscriptionScheme `json:"values,omitempty"`
}

type WebhookSubscriptionPayloadScheme added in v1.6.0

type WebhookSubscriptionPayloadScheme struct {
	Description string   `json:"description,omitempty"`
	Url         string   `json:"url,omitempty"`
	Active      bool     `json:"active,omitempty"`
	Events      []string `json:"events,omitempty"`
}

type WebhookSubscriptionScheme added in v1.6.0

type WebhookSubscriptionScheme struct {
	UUID        string                            `json:"uuid,omitempty"`
	URL         string                            `json:"url,omitempty"`
	Description string                            `json:"description,omitempty"`
	SubjectType string                            `json:"subject_type,omitempty"`
	Subject     *WebhookSubscriptionSubjectScheme `json:"subject,omitempty"`
	Active      bool                              `json:"active,omitempty"`
	CreatedAt   string                            `json:"created_at,omitempty"`
	Events      []string                          `json:"events,omitempty"`
}

type WebhookSubscriptionSubjectScheme added in v1.6.0

type WebhookSubscriptionSubjectScheme struct {
	Type string `json:"type,omitempty"`
}

type WorkSpaceLinksPageScheme added in v1.5.1

type WorkSpaceLinksPageScheme struct {
	Self    string `json:"self,omitempty"`
	Base    string `json:"base,omitempty"`
	Context string `json:"context,omitempty"`
}

type WorkSpacePageScheme added in v1.5.1

type WorkSpacePageScheme struct {
	Size       int                       `json:"size,omitempty"`
	Start      int                       `json:"start,omitempty"`
	Limit      int                       `json:"limit,omitempty"`
	IsLastPage bool                      `json:"isLastPage,omitempty"`
	Links      *WorkSpaceLinksPageScheme `json:"_links,omitempty"`
	Values     []*WorkSpaceScheme        `json:"values,omitempty"`
}

type WorkSpaceScheme added in v1.5.1

type WorkSpaceScheme struct {
	WorkspaceId string `json:"workspaceId,omitempty"`
}

type WorkflowConditionScheme added in v1.5.0

type WorkflowConditionScheme struct {
	Conditions    []*WorkflowConditionScheme `json:"conditions,omitempty"`
	Configuration interface{}                `json:"configuration,omitempty"`
	Operator      string                     `json:"operator,omitempty"`
	Type          string                     `json:"type,omitempty"`
}

type WorkflowCreatedResponseScheme

type WorkflowCreatedResponseScheme struct {
	Name     string `json:"name,omitempty"`
	EntityID string `json:"entityId,omitempty"`
}

type WorkflowPageScheme

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

type WorkflowPayloadScheme

type WorkflowPayloadScheme struct {
	Name        string                             `json:"name,omitempty"`
	Description string                             `json:"description,omitempty"`
	Statuses    []*WorkflowTransitionScreenScheme  `json:"statuses,omitempty"`
	Transitions []*WorkflowTransitionPayloadScheme `json:"transitions,omitempty"`
}

type WorkflowPublishedIDScheme

type WorkflowPublishedIDScheme struct {
	Name     string `json:"name,omitempty"`
	EntityID string `json:"entityId,omitempty"`
}

type WorkflowScheme

type WorkflowScheme struct {
	ID          *WorkflowPublishedIDScheme  `json:"id,omitempty"`
	Transitions []*WorkflowTransitionScheme `json:"transitions,omitempty"`
	Statuses    []*WorkflowStatusScheme     `json:"statuses,omitempty"`
	Description string                      `json:"description,omitempty"`
	IsDefault   bool                        `json:"isDefault,omitempty"`
}

type WorkflowSchemeAssociationPageScheme

type WorkflowSchemeAssociationPageScheme struct {
	Values []*WorkflowSchemeAssociationsScheme `json:"values,omitempty"`
}

type WorkflowSchemeAssociationsScheme

type WorkflowSchemeAssociationsScheme struct {
	ProjectIds     []string              `json:"projectIds,omitempty"`
	WorkflowScheme *WorkflowSchemeScheme `json:"workflowScheme,omitempty"`
}

type WorkflowSchemePageScheme

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

type WorkflowSchemePayloadScheme

type WorkflowSchemePayloadScheme struct {
	DefaultWorkflow     string      `json:"defaultWorkflow,omitempty"`
	Name                string      `json:"name,omitempty"`
	Description         string      `json:"description,omitempty"`
	IssueTypeMappings   interface{} `json:"issueTypeMappings,omitempty"`
	UpdateDraftIfNeeded bool        `json:"updateDraftIfNeeded,omitempty"`
}

type WorkflowSchemeScheme

type WorkflowSchemeScheme struct {
	ID                  int         `json:"id,omitempty"`
	Name                string      `json:"name,omitempty"`
	Description         string      `json:"description,omitempty"`
	DefaultWorkflow     string      `json:"defaultWorkflow,omitempty"`
	Draft               bool        `json:"draft,omitempty"`
	LastModifiedUser    *UserScheme `json:"lastModifiedUser,omitempty"`
	LastModified        string      `json:"lastModified,omitempty"`
	Self                string      `json:"self,omitempty"`
	UpdateDraftIfNeeded bool        `json:"updateDraftIfNeeded,omitempty"`
}

type WorkflowSearchOptions added in v1.4.4

type WorkflowSearchOptions struct {
	WorkflowName []string
	Expand       []string
	QueryString  string
	OrderBy      string
	IsActive     bool
}

type WorkflowStatusDetailPageScheme added in v1.4.4

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

type WorkflowStatusDetailScheme added in v1.4.4

type WorkflowStatusDetailScheme struct {
	ID             string                     `json:"id,omitempty"`
	Name           string                     `json:"name,omitempty"`
	StatusCategory string                     `json:"statusCategory,omitempty"`
	Scope          *WorkflowStatusScopeScheme `json:"scope,omitempty"`
	Description    string                     `json:"description,omitempty"`
	Usages         []*ProjectIssueTypesScheme `json:"usages,omitempty"`
}

type WorkflowStatusNodeScheme added in v1.4.4

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

type WorkflowStatusPayloadScheme added in v1.4.4

type WorkflowStatusPayloadScheme struct {
	Statuses []*WorkflowStatusNodeScheme `json:"statuses,omitempty"`
	Scope    *WorkflowStatusScopeScheme  `json:"scope,omitempty"`
}

type WorkflowStatusProjectScheme added in v1.4.4

type WorkflowStatusProjectScheme struct {
	ID string `json:"id,omitempty"`
}

type WorkflowStatusPropertiesScheme

type WorkflowStatusPropertiesScheme struct {
	IssueEditable bool `json:"issueEditable,omitempty"`
}

type WorkflowStatusScheme

type WorkflowStatusScheme struct {
	ID         string                          `json:"id,omitempty"`
	Name       string                          `json:"name,omitempty"`
	Properties *WorkflowStatusPropertiesScheme `json:"properties,omitempty"`
}

type WorkflowStatusScopeScheme added in v1.4.4

type WorkflowStatusScopeScheme struct {
	Type    string                       `json:"type,omitempty"`
	Project *WorkflowStatusProjectScheme `json:"project,omitempty"`
}

type WorkflowStatusSearchParams added in v1.4.4

type WorkflowStatusSearchParams struct {
	ProjectID      string
	SearchString   string
	StatusCategory string
	Expand         []string
}

type WorkflowTransitionPayloadScheme

type WorkflowTransitionPayloadScheme struct {
	Name        string                                 `json:"name,omitempty"`
	Description string                                 `json:"description,omitempty"`
	From        []string                               `json:"from,omitempty"`
	To          string                                 `json:"to,omitempty"`
	Type        string                                 `json:"type,omitempty"`
	Rules       *WorkflowTransitionRulePayloadScheme   `json:"rules,omitempty"`
	Screen      *WorkflowTransitionScreenPayloadScheme `json:"screen,omitempty"`
	Properties  interface{}                            `json:"properties,omitempty"`
}

type WorkflowTransitionRulePayloadScheme added in v1.5.0

type WorkflowTransitionRulePayloadScheme struct {
	Conditions    *WorkflowConditionScheme        `json:"conditions,omitempty"`
	PostFunctions []*WorkflowTransitionRuleScheme `json:"postFunctions,omitempty"`
	Validators    []*WorkflowTransitionRuleScheme `json:"validators,omitempty"`
}

type WorkflowTransitionRuleScheme

type WorkflowTransitionRuleScheme struct {
	Type          string      `json:"type,omitempty"`
	Configuration interface{} `json:"configuration,omitempty"`
}

type WorkflowTransitionRulesScheme

type WorkflowTransitionRulesScheme struct {
	Conditions    []*WorkflowTransitionRuleScheme `json:"conditions,omitempty"`
	Validators    []*WorkflowTransitionRuleScheme `json:"validators,omitempty"`
	PostFunctions []*WorkflowTransitionRuleScheme `json:"postFunctions,omitempty"`
}

type WorkflowTransitionScheme

type WorkflowTransitionScheme struct {
	ID          string                          `json:"id,omitempty"`
	Name        string                          `json:"name,omitempty"`
	Description string                          `json:"description,omitempty"`
	From        []string                        `json:"from,omitempty"`
	To          string                          `json:"to,omitempty"`
	Type        string                          `json:"type,omitempty"`
	Screen      *WorkflowTransitionScreenScheme `json:"screen,omitempty"`
	Rules       *WorkflowTransitionRulesScheme  `json:"rules,omitempty"`
}

type WorkflowTransitionScreenPayloadScheme

type WorkflowTransitionScreenPayloadScheme struct {
	ID string `json:"id"`
}

type WorkflowTransitionScreenScheme

type WorkflowTransitionScreenScheme struct {
	ID         string      `json:"id,omitempty"`
	Properties interface{} `json:"properties,omitempty"`
}

type WorklogADFPayloadScheme added in v1.5.0

type WorklogADFPayloadScheme struct {
	Comment          *CommentNodeScheme            `json:"comment,omitempty"`
	Visibility       *IssueWorklogVisibilityScheme `json:"visibility,omitempty"`
	Started          string                        `json:"started,omitempty"`
	TimeSpent        string                        `json:"timeSpent,omitempty"`
	TimeSpentSeconds int                           `json:"timeSpentSeconds,omitempty"`
}

type WorklogOptionsScheme

type WorklogOptionsScheme struct {
	Notify               bool
	AdjustEstimate       string
	NewEstimate          string
	ReduceBy             string
	OverrideEditableFlag bool
	Expand               []string
}

type WorklogRichTextPayloadScheme added in v1.5.0

type WorklogRichTextPayloadScheme struct {
	Comment          *CommentPayloadSchemeV2       `json:"comment,omitempty"`
	Visibility       *IssueWorklogVisibilityScheme `json:"visibility,omitempty"`
	Started          string                        `json:"started,omitempty"`
	TimeSpent        string                        `json:"timeSpent,omitempty"`
	TimeSpentSeconds int                           `json:"timeSpentSeconds,omitempty"`
}

type WorkspaceLinksScheme added in v1.6.0

type WorkspaceLinksScheme struct {
	Avatar       *BitbucketLinkScheme `json:"avatar,omitempty"`
	Html         *BitbucketLinkScheme `json:"html,omitempty"`
	Members      *BitbucketLinkScheme `json:"members,omitempty"`
	Owners       *BitbucketLinkScheme `json:"owners,omitempty"`
	Projects     *BitbucketLinkScheme `json:"projects,omitempty"`
	Repositories *BitbucketLinkScheme `json:"repositories,omitempty"`
	Snippets     *BitbucketLinkScheme `json:"snippets,omitempty"`
	Self         *BitbucketLinkScheme `json:"self,omitempty"`
}

type WorkspaceMembershipLinksScheme added in v1.6.0

type WorkspaceMembershipLinksScheme struct {
	Self *BitbucketLinkScheme `json:"self,omitempty"`
}

type WorkspaceMembershipPageScheme added in v1.6.0

type WorkspaceMembershipPageScheme struct {
	Size     int                          `json:"size,omitempty"`
	Page     int                          `json:"page,omitempty"`
	Pagelen  int                          `json:"pagelen,omitempty"`
	Next     string                       `json:"next,omitempty"`
	Previous string                       `json:"previous,omitempty"`
	Values   []*WorkspaceMembershipScheme `json:"values,omitempty"`
}

type WorkspaceMembershipScheme added in v1.6.0

type WorkspaceMembershipScheme struct {
	Links        *WorkspaceMembershipLinksScheme `json:"links,omitempty"`
	User         *BitbucketAccountScheme         `json:"user,omitempty"`
	Workspace    *WorkspaceScheme                `json:"workspace,omitempty"`
	AddedOn      time.Time                       `json:"added_on,omitempty"`
	Permission   string                          `json:"permission,omitempty"`
	LastAccessed time.Time                       `json:"last_accessed,omitempty"`
}

type WorkspaceScheme added in v1.6.0

type WorkspaceScheme struct {
	Type      string                `json:"type,omitempty"`
	Links     *WorkspaceLinksScheme `json:"links,omitempty"`
	Uuid      string                `json:"uuid,omitempty"`
	Name      string                `json:"name,omitempty"`
	Slug      string                `json:"slug,omitempty"`
	IsPrivate bool                  `json:"is_private,omitempty"`
	CreatedOn string                `json:"created_on,omitempty"`
	UpdatedOn string                `json:"updated_on,omitempty"`
}

Source Files

Jump to

Keyboard shortcuts

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