models

package
v2.1.2 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package models provides the data structures used in the admin package.

Package models provides the data structures used in the admin package.

Package models provides the data structures used in the admin package.

Package models provides the data structures used in the admin package.

Package models provides the data structures used in the admin package.

Package models provides the data structures used in the admin user management.

Package models provides the data structures used in the user token management.

Package models provides the data structures used in the agile management.

Package models provides the data structures used in the agile sprint management.

Package models provides the data structures used in the AQL search parameters.

Package models provides the data structures used in the asset icon management.

Package models provides the data structures used in the Bitbucket integration.

Package models provides the data structures used in the admin package.

Package models provides the data structures used in the admin package.

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 (
	// TimeFormat is the format for Jira type "date-time".
	TimeFormat = "2006-01-02T15:04:05-0700"
	// DateFormat is the format for Jira type "date".
	DateFormat = "2006-01-02"
)
View Source
const (
	DateFormatJira = "2006-01-02T15:04:05.999-0700"
)

DateFormatJira is a constant that defines the date format used in Jira. The format is "2006-01-02T15:04:05.999-0700".

Variables

View Source
var (
	ErrNoSCIMComplexValue             = errors.New("admin: no scim complex value set")
	ErrNoSCIMValue                    = errors.New("admin: no scim value set")
	ErrNoSCIMPath                     = errors.New("admin: no scim path set")
	ErrNoSCIMOperation                = errors.New("admin: no scim operation value set")
	ErrNoAdminOrganization            = errors.New("admin: no organization id set")
	ErrNoAdminDomainID                = errors.New("admin: no domain id set")
	ErrNoEventID                      = errors.New("admin: no event id set")
	ErrNoAdminPolicy                  = errors.New("admin: no organization policy id set")
	ErrNoAdminDirectoryID             = errors.New("admin: no directory id set")
	ErrNoAdminGroupID                 = errors.New("admin: no group id set")
	ErrNoAdminGroupName               = errors.New("admin: no group name set")
	ErrNoAdminUserID                  = errors.New("admin: no user id set")
	ErrNoAdminAccountID               = errors.New("admin: no account id set")
	ErrNoAdminUserToken               = errors.New("admin: no user token id set")
	ErrNoKBQuery                      = errors.New("sm: no knowledge base query set")
	ErrNoOrganizationName             = errors.New("sm: no organization name set")
	ErrNoOrganizationID               = errors.New("sm: no organization id set")
	ErrNoCommentBody                  = errors.New("sm/jira: no comment body set")
	ErrNoServiceDeskID                = errors.New("sm: no service desk id set")
	ErrNoQueueID                      = errors.New("sm: no service desk queue id set")
	ErrNoRequestTypeID                = errors.New("sm: no request type id set")
	ErrNoFileName                     = errors.New("sm: no file name set")
	ErrNoFileReader                   = errors.New("sm: no io.Reader set")
	ErrNoSLAMetricID                  = errors.New("sm: no sla metric id set")
	ErrNoContentAttachmentID          = errors.New("confluence: no attachment id set")
	ErrNoContentAttachmentName        = errors.New("confluence: no attachment filename set")
	ErrNoContentReader                = errors.New("confluence: no reader set")
	ErrNoContentID                    = errors.New("confluence: no content id set")
	ErrNoCustomContentType            = errors.New("confluence: no custom content type set")
	ErrNoCustomContentID              = errors.New("confluence: no custom content id set")
	ErrNoPageID                       = errors.New("confluence: no page id set")
	ErrNoSpaceID                      = errors.New("confluence: no space id set")
	ErrNoTargetID                     = errors.New("confluence: no target id set")
	ErrNoPosition                     = errors.New("confluence: no position set")
	ErrInvalidPosition                = errors.New("confluence: invalid position: (before, after, append)")
	ValidPositions                    = map[string]bool{"before": true, "after": true, "append": true}
	ErrNoLabelID                      = errors.New("confluence: no label id set")
	ErrNoCQL                          = errors.New("confluence: no CQL query set")
	ErrNoContentType                  = errors.New("confluence: no content type set")
	ErrNoEntityID                     = errors.New("confluence: no entity id set")
	ValidEntityValues                 = []string{"blogposts", "custom-content", "labels", "pages"}
	ErrNoEntityValue                  = errors.New("confluence: no valid entity id set")
	ErrNoContentLabel                 = errors.New("confluence: no content label set")
	ErrNoContentProperty              = errors.New("confluence: no content property set")
	ErrNoSpaceName                    = errors.New("confluence: no space name set")
	ErrNoSpaceKey                     = errors.New("confluence: no space key set")
	ErrNoContentRestrictionKey        = errors.New("confluence: no content restriction operation key set")
	ErrNoConfluenceGroup              = errors.New("confluence: no group id or name set")
	ErrNoLabelName                    = errors.New("confluence: no label name set")
	ErrNoBoardID                      = errors.New("agile: no board id set")
	ErrNoFilterID                     = errors.New("agile: no filter id set")
	ErrNoNotificationSchemeID         = errors.New("jira: no notification scheme id set")
	ErrNoNotificationID               = errors.New("jira: no notification id set")
	ErrNoEpicID                       = errors.New("agile: no epic id set")
	ErrNoSprintID                     = errors.New("agile: no sprint id set")
	ErrNoApplicationRole              = errors.New("jira: no application role key set")
	ErrNoDashboardID                  = errors.New("jira: no dashboard id set")
	ErrNoGroupName                    = errors.New("jira: no group name set")
	ErrNoGroupsName                   = errors.New("jira: no groups names set")
	ErrNoIssueKeyOrID                 = errors.New("jira: no issue key/id set")
	ErrNoRemoteLinkID                 = errors.New("jira: no remote link id set")
	ErrNoRemoteLinkGlobalID           = errors.New("jira: no global remote link id set")
	ErrNoTransitionID                 = errors.New("jira: no transition id set")
	ErrNoAttachmentID                 = errors.New("jira: no attachment id set")
	ErrNoAttachmentName               = errors.New("jira: no attachment filename set")
	ErrNoReader                       = errors.New("jira: no reader set")
	ErrNoCommentID                    = errors.New("jira: no comment id set")
	ErrNoProjectID                    = errors.New("jira: no project id set")
	ErrNoProjectIDOrKey               = errors.New("jira: no project id or key set")
	ErrNoProjectRoleID                = errors.New("jira: no project role id set")
	ErrNoProjectCategoryID            = errors.New("jira: no project category id set")
	ErrNoPropertyKey                  = errors.New("jira: no property key set")
	ErrNoProjectFeatureKey            = errors.New("jira: no project feature key set")
	ErrNoProjectFeatureState          = errors.New("jira: no project state key set")
	ErrNoFieldID                      = errors.New("jira: no field id set")
	ErrNoEditOperator                 = errors.New("jira: no update operation set")
	ErrNoOperator                     = errors.New("jira: no operation set")
	ErrNoEditValue                    = errors.New("jira: no update operation value set")
	ErrNoCustomField                  = errors.New("jira: no custom-fields set")
	ErrNoCustomFieldID                = errors.New("jira: no custom-field id set")
	ErrNoWorkflowStatuses             = errors.New("jira: no workflow statuses set")
	ErrNoWorkflowScope                = errors.New("jira: no workflow scope set")
	ErrNoWorkflowStatusNameOrID       = errors.New("jira: no workflow status name or id set")
	ErrNoFieldContextID               = errors.New("jira: no field context id set")
	ErrNoIssueTypes                   = errors.New("jira: no issue types id's set")
	ErrNoProjects                     = errors.New("jira: no projects set")
	ErrNoContextOptionID              = errors.New("jira: no field context option id set")
	ErrNoTypeID                       = errors.New("jira: no link id set")
	ErrNoLinkTypeID                   = errors.New("jira: no link type id set")
	ErrNoPriorityID                   = errors.New("jira: no priority id set")
	ErrNoResolutionID                 = errors.New("jira: no resolution id set")
	ErrNoJQL                          = errors.New("jira: no sql set")
	ErrNoIssueTypeID                  = errors.New("jira: no issue type id set")
	ErrNoIssueTypeScreenSchemeID      = errors.New("jira: no issue type screen scheme id set")
	ErrNoScreenSchemeID               = errors.New("jira: no screen scheme id set")
	ErrNoAccountID                    = errors.New("jira: no account id set")
	ErrNoWorklogID                    = errors.New("jira: no worklog id set")
	ErrNpWorklogs                     = errors.New("jira: no worklog's id set")
	ErrNoPermissionSchemeID           = errors.New("jira: no permission scheme id set")
	ErrNoPermissionGrantID            = errors.New("jira: no permission grant id set")
	ErrNoPermissionKeys               = errors.New("jira: no permission keys set")
	ErrNoComponentID                  = errors.New("jira: no component id set")
	ErrProjectTypeKey                 = errors.New("jira: no project type key set")
	ErrNoProjectName                  = errors.New("jira: no project name set")
	ErrNoVersionID                    = errors.New("jira: no version id set")
	ErrNoScreenName                   = errors.New("jira: no screen name set")
	ErrNoScreenTabName                = errors.New("jira: no screen tab name set")
	ErrNoAccountSlice                 = errors.New("jira: no account id's set")
	ErrNoProjectKeySlice              = errors.New("jira: no project key's set")
	ErrNoProjectIDs                   = errors.New("jira: no project id's set")
	ErrNoWorkflowID                   = errors.New("jira: no workflow id set")
	ErrNoWorkflowSchemeID             = errors.New("jira: no workflow scheme id set")
	ErrNoScreenID                     = errors.New("jira: no screen id set")
	ErrNoScreenTabID                  = errors.New("jira: no screen tab id set")
	ErrNoFieldConfigurationName       = errors.New("jira: no field configuration name set")
	ErrNoFieldConfigurationID         = errors.New("jira: no field configuration id set")
	ErrNoFieldConfigurationSchemeName = errors.New("jira: no field configuration scheme name set")
	ErrNoFieldConfigurationSchemeID   = errors.New("jira: no field configuration scheme id set")
	ErrNoQuery                        = errors.New("jira: no query set")
	ErrNoVersionProvided              = errors.New("client: no module version set")
	ErrNoIssueTypeSchemeID            = errors.New("jira: no issue type scheme id set")
	ErrNoTaskID                       = errors.New("atlassian: no task id set")
	ErrNoApprovalID                   = errors.New("jira: no approval id set")
	ErrInvalidStatusCode              = 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")
	ErrInternal                       = errors.New("client: atlassian internal error")
	ErrBadRequest                     = errors.New("client: atlassian invalid payload")
	ErrNoSite                         = errors.New("client: no atlassian site set")
	ErrNoFloatType                    = errors.New("custom-field: no float type set")
	ErrNoSprintType                   = errors.New("custom-field: no sprint type found")
	ErrNoMultiVersionType             = errors.New("custom-field: no multiversion type found")
	ErrNoFieldInformation             = errors.New("custom-field: please provide a buffer with a valid fields object")
	ErrNoMultiSelectType              = errors.New("custom-field: no multiselect type found")
	ErrNoAssetType                    = errors.New("custom-field: no asset type found")
	ErrNoURLType                      = errors.New("custom-field: no url type set")
	ErrNoTextType                     = errors.New("custom-field: no text type set")
	ErrNoDatePickerType               = errors.New("custom-field: no datepicker type set")
	ErrNoDateTimeType                 = errors.New("custom-field: no datetime type set")
	ErrNoSelectType                   = errors.New("custom-field: no select type set")
	ErrNoButtonType                   = errors.New("custom-field: no button type set")
	ErrNoUserType                     = errors.New("custom-field: no user type set")
	ErrNoLabelsType                   = errors.New("custom-field: no labels type set")
	ErrNoMultiUserType                = errors.New("custom-field: no multi-user type set")
	ErrNoCheckBoxType                 = errors.New("custom-field: no check-box type set")
	ErrNoCascadingParent              = errors.New("custom-field: no cascading parent value set")
	ErrNoCascadingChild               = errors.New("custom-field: no cascading child value set")
	ErrNoValueType                    = errors.New("custom-field: no value set")
	ErrNoRequestType                  = errors.New("custom-field: no request type value set")
	ErrNoTempoAccountType             = errors.New("custom-field: no tempo account value set")
	ErrNoComponents                   = errors.New("sm: no components set")
	ErrNoIssuesSlice                  = errors.New("jira: no issues object set")
	ErrNoMapValues                    = errors.New("jira: no map values set")
	ErrNCoComponent                   = errors.New("sm: no component set")
	ErrNoWorkspaceID                  = errors.New("assets: no workspace id set")
	ErrNoAqlQuery                     = errors.New("assets: no aql query id set")
	ErrNoIconID                       = errors.New("assets: no icon id set")
	ErrNoObjectID                     = errors.New("assets: no object id set")
	ErrNoObjectSchemaID               = errors.New("assets: no object schema id set")
	ErrNoObjectTypeID                 = errors.New("assets: no object type id set")
	ErrNoObjectTypeAttributeID        = errors.New("assets: no object type attribute id set")
	ErrNoCreateIssues                 = errors.New("jira: no issues payload set")
	ErrNoIssueScheme                  = errors.New("jira: no issue instance set")
	ErrNoWorkspace                    = errors.New("bitbucket: no workspace set")
	ErrNoMemberID                     = errors.New("bitbucket: no member id set")
	ErrNoWebhookID                    = errors.New("bitbucket: no webhook id set")
	ErrNoRepository                   = errors.New("bitbucket: no repository set")
)

Functions

func ParseAssetCustomFields

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 asset 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

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

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

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

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

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

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

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

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

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

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

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

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

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 ParseRequestTypeCustomFields

func ParseRequestTypeCustomFields(buffer bytes.Buffer, customField string) (map[string]*CustomFieldRequestTypeScheme, error)

ParseRequestTypeCustomFields extracts and parses jira service desk reqeust type 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 CustomFieldRequestTypeScheme 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_10010"
buffer := // Populate the buffer with JSON data
customFields, err := ParseRequestTypeCustomFields(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)
    fmt.Printf("Custom Field Value: %+v\n", customFieldValues)
}

Parameters:

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

Returns:

  • map[string]*CustomFieldRequestTypeScheme: A map where the key is the issue key and the value is a CustomFieldRequestTypeScheme struct representing the parsed jira service desk request type 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-requesttype-customfields

func ParseSelectCustomFields

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

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

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

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 ParseTempoAccountCustomFields

func ParseTempoAccountCustomFields(buffer bytes.Buffer, customField string) (map[string]*CustomFieldTempoAccountScheme, error)

ParseTempoAccountCustomFields extracts and parses jira tempo account type 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 CustomFieldTempoAccountScheme 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_10038"
buffer := // Populate the buffer with JSON data
customFields, err := ParseTempoAccountCustomFields(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)
    fmt.Printf("Custom Field Value: %+v\n", customFieldValues)
}

Parameters:

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

Returns:

  • map[string]*ParseTempoAccountCustomFields: A map where the key is the issue key and the value is a ParseTempoAccountCustomFields struct representing the parsed jira tempo account type 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-requesttype-customfields

func ParseUserPickerCustomFields

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

type AQLSearchParamsScheme struct {

	// Query is the AQL query to determine which objects should be fetched.
	Query string `query:"qlQuery,omitempty"`

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

	// ResultPerPage is the number of objects returned per page.
	ResultPerPage int `query:"resultPerPage,omitempty"`

	// IncludeAttributes determines if the objects' attributes should be included in the response.
	IncludeAttributes bool `query:"includeAttributes,omitempty"`

	// IncludeAttributesDeep determines how many levels of attributes should be included.
	IncludeAttributesDeep bool `query:"includeAttributesDeep,omitempty"`

	// IncludeTypeAttributes determines if the response should include the object type attribute definition for each attribute returned with the objects.
	IncludeTypeAttributes bool `query:"includeTypeAttributes,omitempty"`

	// IncludeExtendedInfo determines if each object should have information if open tickets are connected to the object.
	IncludeExtendedInfo bool `query:"includeExtendedInfo,omitempty"`
}

AQLSearchParamsScheme represents the parameters for an AQL search.

type AdminOrganizationPageScheme

type AdminOrganizationPageScheme struct {
	Data  []*OrganizationModelScheme `json:"data,omitempty"`  // The organizations on this page.
	Links *LinkPageModelScheme       `json:"links,omitempty"` // Links to other pages.
}

AdminOrganizationPageScheme represents a page of organizations.

type AdminOrganizationScheme

type AdminOrganizationScheme struct {
	Data *OrganizationModelScheme `json:"data,omitempty"` // The organization data.
}

AdminOrganizationScheme represents an organization.

type AdminOrganizationUserScheme

type AdminOrganizationUserScheme struct {
	AccountID      string                           `json:"account_id,omitempty"`      // The account ID of the user.
	AccountType    string                           `json:"account_type,omitempty"`    // The account type of the user.
	AccountStatus  string                           `json:"account_status,omitempty"`  // The account status of the user.
	Name           string                           `json:"name,omitempty"`            // The name of the user.
	Picture        string                           `json:"picture,omitempty"`         // The picture of the user.
	Email          string                           `json:"email,omitempty"`           // The email of the user.
	AccessBillable bool                             `json:"access_billable,omitempty"` // Whether the user is billable.
	LastActive     string                           `json:"last_active,omitempty"`     // The last active time of the user.
	ProductAccess  []*OrganizationUserProductScheme `json:"product_access,omitempty"`  // The products the user has access to.
	Links          *LinkSelfModelScheme             `json:"links,omitempty"`           // Links related to the user.
}

AdminOrganizationUserScheme represents a user in an organization.

type AdminUserAccountScheme

type AdminUserAccountScheme struct {
	AccountID       string                          `json:"account_id,omitempty"`     // The account ID of the admin user.
	Name            string                          `json:"name,omitempty"`           // The name of the admin user.
	Nickname        string                          `json:"nickname,omitempty"`       // The nickname of the admin user.
	ZoneInfo        string                          `json:"zoneinfo,omitempty"`       // The timezone information of the admin user.
	Locale          string                          `json:"locale,omitempty"`         // The locale of the admin user.
	Email           string                          `json:"email,omitempty"`          // The email of the admin user.
	Picture         string                          `json:"picture,omitempty"`        // The picture of the admin user.
	AccountType     string                          `json:"account_type,omitempty"`   // The account type of the admin user.
	AccountStatus   string                          `json:"account_status,omitempty"` // The account status of the admin user.
	EmailVerified   bool                            `json:"email_verified,omitempty"` // Whether the email of the admin user is verified.
	ExtendedProfile *AdminUserExtendedProfileScheme `json:"extended_profile"`         // The extended profile of the admin user.
	PrivacySettings *AdminUserPrivacySettingsScheme `json:"privacy_settings"`         // The privacy settings of the admin user.
}

AdminUserAccountScheme represents the account details of an admin user.

type AdminUserExtendedProfileScheme

type AdminUserExtendedProfileScheme struct {
	JobTitle string `json:"job_title,omitempty"` // The job title of the admin user.
	TeamType string `json:"team_type,omitempty"` // The team type of the admin user.
}

AdminUserExtendedProfileScheme represents the extended profile of an admin user.

type AdminUserPermissionGrantReasonScheme

type AdminUserPermissionGrantReasonScheme struct {
	Key string `json:"key,omitempty"` // The key of the reason.
}

AdminUserPermissionGrantReasonScheme represents the reason for a permission grant of an admin user.

type AdminUserPermissionGrantScheme

type AdminUserPermissionGrantScheme struct {
	Allowed bool                                  `json:"allowed,omitempty"` // Whether the permission is allowed.
	Reason  *AdminUserPermissionGrantReasonScheme `json:"reason,omitempty"`  // The reason for the permission grant.
}

AdminUserPermissionGrantScheme represents a permission grant of an admin user.

type AdminUserPermissionProfileScheme

type AdminUserPermissionProfileScheme struct {
	Name                        *AdminUserPermissionGrantScheme `json:"name,omitempty"`                          // The name permission of the admin user.
	Nickname                    *AdminUserPermissionGrantScheme `json:"nickname,omitempty"`                      // The nickname permission of the admin user.
	Zoneinfo                    *AdminUserPermissionGrantScheme `json:"zoneinfo,omitempty"`                      // The timezone information permission of the admin user.
	Locale                      *AdminUserPermissionGrantScheme `json:"locale,omitempty"`                        // The locale permission of the admin user.
	ExtendedProfilePhoneNumber  *AdminUserPermissionGrantScheme `json:"extended_profile.phone_number,omitempty"` // The phone number permission of the admin user.
	ExtendedProfileJobTitle     *AdminUserPermissionGrantScheme `json:"extended_profile.job_title,omitempty"`    // The job title permission of the admin user.
	ExtendedProfileOrganization *AdminUserPermissionGrantScheme `json:"extended_profile.organization,omitempty"` // The organization permission of the admin user.
	ExtendedProfileDepartment   *AdminUserPermissionGrantScheme `json:"extended_profile.department,omitempty"`   // The department permission of the admin user.
	ExtendedProfileLocation     *AdminUserPermissionGrantScheme `json:"extended_profile.location,omitempty"`     // The location permission of the admin user.
	ExtendedProfileTeamType     *AdminUserPermissionGrantScheme `json:"extended_profile.team_type,omitempty"`    // The team type permission of the admin user.
}

AdminUserPermissionProfileScheme represents the profile permissions of an admin user.

type AdminUserPermissionScheme

type AdminUserPermissionScheme struct {
	EmailSet            *AdminUserPermissionGrantScheme   `json:"email.set,omitempty"`            // The email set permission of the admin user.
	LifecycleEnablement *AdminUserPermissionGrantScheme   `json:"lifecycle.enablement,omitempty"` // The lifecycle enablement permission of the admin user.
	Profile             *AdminUserPermissionProfileScheme `json:"profile,omitempty"`              // The profile permission of the admin user.
	ProfileWrite        *AdminUserPermissionProfileScheme `json:"profile.write,omitempty"`        // The profile write permission of the admin user.
	ProfileRead         *AdminUserPermissionGrantScheme   `json:"profile.read,omitempty"`         // The profile read permission of the admin user.
	LinkedAccountsRead  *AdminUserPermissionGrantScheme   `json:"linkedAccounts.read,omitempty"`  // The linked accounts read permission of the admin user.
	APITokenRead        *AdminUserPermissionGrantScheme   `json:"apiToken.read,omitempty"`        // The API token read permission of the admin user.
	APITokenDelete      *AdminUserPermissionGrantScheme   `json:"apiToken.delete,omitempty"`      // The API token delete permission of the admin user.
	Avatar              *AdminUserPermissionGrantScheme   `json:"avatar,omitempty"`               // The avatar permission of the admin user.
	PrivacySet          *AdminUserPermissionGrantScheme   `json:"privacy.set,omitempty"`          // The privacy set permission of the admin user.
	SessionRead         *AdminUserPermissionGrantScheme   `json:"session.read,omitempty"`         // The session read permission of the admin user.
}

AdminUserPermissionScheme represents the permissions of an admin user.

type AdminUserPrivacySettingsScheme

type AdminUserPrivacySettingsScheme struct {
	Name                        string `json:"name,omitempty"`                          // The name privacy setting of the admin user.
	Nickname                    string `json:"nickname,omitempty"`                      // The nickname privacy setting of the admin user.
	Picture                     string `json:"picture,omitempty"`                       // The picture privacy setting of the admin user.
	ExtendedProfileJobTitle     string `json:"extended_profile.job_title,omitempty"`    // The job title privacy setting of the admin user.
	ExtendedProfileDepartment   string `json:"extended_profile.department,omitempty"`   // The department privacy setting of the admin user.
	ExtendedProfileOrganization string `json:"extended_profile.organization,omitempty"` // The organization privacy setting of the admin user.
	ExtendedProfileLocation     string `json:"extended_profile.location,omitempty"`     // The location privacy setting of the admin user.
	ZoneInfo                    string `json:"zoneinfo,omitempty"`                      // The timezone information privacy setting of the admin user.
	Email                       string `json:"email,omitempty"`                         // The email privacy setting of the admin user.
	ExtendedProfilePhoneNumber  string `json:"extended_profile.phone_number,omitempty"` // The phone number privacy setting of the admin user.
	ExtendedProfileTeamType     string `json:"extended_profile.team_type,omitempty"`    // The team type privacy setting of the admin user.
}

AdminUserPrivacySettingsScheme represents the privacy settings of an admin user.

type AdminUserScheme

type AdminUserScheme struct {
	Account *AdminUserAccountScheme `json:"account,omitempty"` // The account details of the admin user.
}

AdminUserScheme represents an admin user account.

type AnnouncementBannerPayloadScheme

type AnnouncementBannerPayloadScheme struct {
	IsDismissible bool   `json:"isDismissible,omitempty"` // Indicates if the banner is dismissible.
	IsEnabled     bool   `json:"isEnabled,omitempty"`     // Indicates if the banner is enabled.
	Message       string `json:"message,omitempty"`       // The message of the banner.
	Visibility    string `json:"visibility,omitempty"`    // The visibility of the banner.
}

AnnouncementBannerPayloadScheme represents the payload for an announcement banner in Jira.

type AnnouncementBannerScheme

type AnnouncementBannerScheme struct {
	HashID        string `json:"hashId,omitempty"`        // The hash ID of the banner.
	IsDismissible bool   `json:"isDismissible,omitempty"` // Indicates if the banner is dismissible.
	IsEnabled     bool   `json:"isEnabled,omitempty"`     // Indicates if the banner is enabled.
	Message       string `json:"message,omitempty"`       // The message of the banner.
	Visibility    string `json:"visibility,omitempty"`    // The visibility of the banner.
}

AnnouncementBannerScheme represents an announcement banner in Jira.

type ApplicationRoleScheme

type ApplicationRoleScheme struct {
	Key                  string   `json:"key,omitempty"`                  // The key of the application role.
	Groups               []string `json:"groups,omitempty"`               // The groups associated with the application role.
	Name                 string   `json:"name,omitempty"`                 // The name of the application role.
	DefaultGroups        []string `json:"defaultGroups,omitempty"`        // The default groups of the application role.
	SelectedByDefault    bool     `json:"selectedByDefault,omitempty"`    // Indicates if the application role is selected by default.
	Defined              bool     `json:"defined,omitempty"`              // Indicates if the application role is defined.
	NumberOfSeats        int      `json:"numberOfSeats,omitempty"`        // The number of seats for the application role.
	RemainingSeats       int      `json:"remainingSeats,omitempty"`       // The remaining seats for the application role.
	UserCount            int      `json:"userCount,omitempty"`            // The user count for the application role.
	UserCountDescription string   `json:"userCountDescription,omitempty"` // The user count description for the application role.
	HasUnlimitedSeats    bool     `json:"hasUnlimitedSeats,omitempty"`    // Indicates if the application role has unlimited seats.
	Platform             bool     `json:"platform,omitempty"`             // Indicates if the application role is a platform role.
}

ApplicationRoleScheme represents an application role in Jira.

type ApproverLinkScheme

type ApproverLinkScheme struct {
	JiraREST   string           `json:"jiraRest,omitempty"`   // The Jira REST API link for the approver.
	AvatarURLs *AvatarURLScheme `json:"avatarUrls,omitempty"` // The avatar URLs of the approver.
	Self       string           `json:"self,omitempty"`       // The URL of the approver itself.
}

ApproverLinkScheme represents links related to an approver.

type ApproverScheme

type ApproverScheme struct {
	AccountID    string              `json:"accountId,omitempty"`    // The account ID of the approver.
	Name         string              `json:"name,omitempty"`         // The name of the approver.
	Key          string              `json:"key,omitempty"`          // The key of the approver.
	EmailAddress string              `json:"emailAddress,omitempty"` // The email address of the approver.
	DisplayName  string              `json:"displayName,omitempty"`  // The display name of the approver.
	Active       bool                `json:"active,omitempty"`       // Indicates if the approver is active.
	TimeZone     string              `json:"timeZone,omitempty"`     // The time zone of the approver.
	Links        *ApproverLinkScheme `json:"_links,omitempty"`       // Links related to the approver.
}

ApproverScheme represents an approver in a system.

type ArticleContentScheme

type ArticleContentScheme struct {
	IframeSrc string `json:"iframeSrc,omitempty"` // The source of the iframe for the article content.
}

ArticleContentScheme represents the content of an article.

type ArticlePageLinkScheme

type ArticlePageLinkScheme struct {
	Self    string `json:"self,omitempty"`    // The URL of the page itself.
	Base    string `json:"base,omitempty"`    // The base URL for the links.
	Context string `json:"context,omitempty"` // The context for the links.
	Next    string `json:"next,omitempty"`    // The URL for the next page of articles.
	Prev    string `json:"prev,omitempty"`    // The URL for the previous page of articles.
}

ArticlePageLinkScheme represents links related to a page of articles.

type ArticlePageScheme

type ArticlePageScheme struct {
	Size       int                    `json:"size,omitempty"`       // The number of articles on the page.
	Start      int                    `json:"start,omitempty"`      // The index of the first article on the page.
	Limit      int                    `json:"limit,omitempty"`      // The maximum number of articles that can be on the page.
	IsLastPage bool                   `json:"isLastPage,omitempty"` // Indicates if this is the last page of articles.
	Values     []*ArticleScheme       `json:"values,omitempty"`     // The articles on the page.
	Expands    []string               `json:"_expands,omitempty"`   // Additional data related to the articles.
	Links      *ArticlePageLinkScheme `json:"_links,omitempty"`     // Links related to the page of articles.
}

ArticlePageScheme represents a page of articles in a system.

type ArticleScheme

type ArticleScheme struct {
	Title   string                `json:"title,omitempty"`   // The title of the article.
	Excerpt string                `json:"excerpt,omitempty"` // An excerpt from the article.
	Source  *ArticleSourceScheme  `json:"source,omitempty"`  // The source of the article.
	Content *ArticleContentScheme `json:"content,omitempty"` // The content of the article.
}

ArticleScheme represents an article in a system.

type ArticleSourceScheme

type ArticleSourceScheme struct {
	Type string `json:"type,omitempty"` // The type of the source.
}

ArticleSourceScheme represents the source of an article.

type AttachmentPageScheme

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

AttachmentPageScheme represents a paginated list of attachments in Confluence.

type AttachmentParamsScheme

type AttachmentParamsScheme struct {
	Sort         string
	MediaType    string
	FileName     string
	SerializeIDs bool
}

AttachmentParamsScheme represents the parameters for an attachment in Confluence.

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

AttachmentScheme represents an attachment in Confluence.

type AttachmentSettingScheme

type AttachmentSettingScheme struct {
	Enabled     bool `json:"enabled,omitempty"`     // Indicates if attachments are enabled.
	UploadLimit int  `json:"uploadLimit,omitempty"` // The upload limit for attachments.
}

AttachmentSettingScheme represents the attachment settings in Jira.

type AttachmentVersionBodyScheme

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

AttachmentVersionBodyScheme represents the body of a version of an attachment in Confluence.

type AttachmentVersionPageScheme

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

AttachmentVersionPageScheme represents a paginated list of versions of an attachment in Confluence.

type AttachmentVersionScheme

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

AttachmentVersionScheme represents a version of an attachment in Confluence.

type AttributeScheme

type AttributeScheme struct {
	Name          string                `json:"name,omitempty"`          // The name of the attribute.
	Type          string                `json:"type,omitempty"`          // The type of the attribute.
	MultiValued   bool                  `json:"multiValued,omitempty"`   // Whether the attribute is multi-valued.
	Description   string                `json:"description,omitempty"`   // The description of the attribute.
	Required      bool                  `json:"required,omitempty"`      // Whether the attribute is required.
	CaseExact     bool                  `json:"caseExact,omitempty"`     // Whether the attribute is case exact.
	Mutability    string                `json:"mutability,omitempty"`    // The mutability of the attribute.
	Returned      string                `json:"returned,omitempty"`      // When the attribute is returned.
	Uniqueness    string                `json:"uniqueness,omitempty"`    // The uniqueness of the attribute.
	SubAttributes []*SubAttributeScheme `json:"subAttributes,omitempty"` // The sub-attributes of the attribute.
}

AttributeScheme represents an attribute.

type AttributesToDisplayScheme

type AttributesToDisplayScheme struct {
	AttributesToDisplayIDs []int `json:"attributesToDisplayIds,omitempty"` // The IDs of the attributes to be displayed.
}

AttributesToDisplayScheme represents a scheme for attributes to be displayed. AttributesToDisplayIDs is a slice of the IDs of the attributes to be displayed.

type AuditRecordAssociatedItemScheme

type AuditRecordAssociatedItemScheme struct {
	ID         string `json:"id,omitempty"`         // The ID of the associated item.
	Name       string `json:"name,omitempty"`       // The name of the associated item.
	TypeName   string `json:"typeName,omitempty"`   // The type name of the associated item.
	ParentID   string `json:"parentId,omitempty"`   // The parent ID of the associated item.
	ParentName string `json:"parentName,omitempty"` // The parent name of the associated item.
}

AuditRecordAssociatedItemScheme represents an associated item in an audit record in Jira.

type AuditRecordChangedValueScheme

type AuditRecordChangedValueScheme struct {
	FieldName   string `json:"fieldName,omitempty"`   // The field name of the changed value.
	ChangedFrom string `json:"changedFrom,omitempty"` // The previous value of the changed field.
	ChangedTo   string `json:"changedTo,omitempty"`   // The new value of the changed field.
}

AuditRecordChangedValueScheme represents a changed value in an audit record in Jira.

type AuditRecordGetOptions

type AuditRecordGetOptions struct {
	Filter string    // The filter for the audit records.
	From   time.Time // The start time for the audit records.
	To     time.Time // The end time for the audit records.
}

AuditRecordGetOptions represents the options for getting audit records in Jira.

type AuditRecordObjectItemScheme

type AuditRecordObjectItemScheme struct {
	ID         string `json:"id,omitempty"`         // The ID of the object item.
	Name       string `json:"name,omitempty"`       // The name of the object item.
	TypeName   string `json:"typeName,omitempty"`   // The type name of the object item.
	ParentID   string `json:"parentId,omitempty"`   // The parent ID of the object item.
	ParentName string `json:"parentName,omitempty"` // The parent name of the object item.
}

AuditRecordObjectItemScheme represents an object item in an audit record in Jira.

type AuditRecordPageScheme

type AuditRecordPageScheme struct {
	Offset  int                  `json:"offset,omitempty"`  // The offset of the page.
	Limit   int                  `json:"limit,omitempty"`   // The limit of the page.
	Total   int                  `json:"total,omitempty"`   // The total number of audit records.
	Records []*AuditRecordScheme `json:"records,omitempty"` // The audit records in the page.
}

AuditRecordPageScheme represents a page of audit records in Jira.

type AuditRecordScheme

type AuditRecordScheme struct {
	ID              int                                `json:"id,omitempty"`              // The ID of the audit record.
	Summary         string                             `json:"summary,omitempty"`         // The summary of the audit record.
	RemoteAddress   string                             `json:"remoteAddress,omitempty"`   // The remote address of the audit record.
	AuthorKey       string                             `json:"authorKey,omitempty"`       // The author key of the audit record.
	Created         string                             `json:"created,omitempty"`         // The creation time of the audit record.
	Category        string                             `json:"category,omitempty"`        // The category of the audit record.
	EventSource     string                             `json:"eventSource,omitempty"`     // The event source of the audit record.
	Description     string                             `json:"description,omitempty"`     // The description of the audit record.
	ObjectItem      *AuditRecordObjectItemScheme       `json:"objectItem,omitempty"`      // The object item of the audit record.
	ChangedValues   []*AuditRecordChangedValueScheme   `json:"changedValues,omitempty"`   // The changed values of the audit record.
	AssociatedItems []*AuditRecordAssociatedItemScheme `json:"associatedItems,omitempty"` // The associated items of the audit record.
}

AuditRecordScheme represents an audit record in Jira.

type AvailableScreenFieldScheme

type AvailableScreenFieldScheme struct {
	ID   string `json:"id"`   // The ID of the field.
	Name string `json:"name"` // The name of the field.
}

AvailableScreenFieldScheme represents an available field in a screen in Jira.

type AvailableWorkflowConnectRuleScheme

type AvailableWorkflowConnectRuleScheme struct {
	AddonKey    string `json:"addonKey,omitempty"`    // AddonKey is the key of the addon.
	CreateURL   string `json:"createUrl,omitempty"`   // CreateURL is the URL to create the rule.
	Description string `json:"description,omitempty"` // Description is the description of the rule.
	EditURL     string `json:"editUrl,omitempty"`     // EditURL is the URL to edit the rule.
	ModuleKey   string `json:"moduleKey,omitempty"`   // ModuleKey is the key of the module.
	Name        string `json:"name,omitempty"`        // Name is the name of the rule.
	RuleKey     string `json:"ruleKey,omitempty"`     // RuleKey is the key of the rule.
	RuleType    string `json:"ruleType,omitempty"`    // RuleType is the type of the rule.
	ViewURL     string `json:"viewUrl,omitempty"`     // ViewURL is the URL to view the rule.
}

AvailableWorkflowConnectRuleScheme represents a connect rule in a workflow.

type AvailableWorkflowForgeRuleScheme

type AvailableWorkflowForgeRuleScheme struct {
	Description string `json:"description,omitempty"` // Description is the description of the rule.
	ID          string `json:"id,omitempty"`          // ID is the ID of the rule.
	Name        string `json:"name,omitempty"`        // Name is the name of the rule.
	RuleKey     string `json:"ruleKey,omitempty"`     // RuleKey is the key of the rule.
	RuleType    string `json:"ruleType,omitempty"`    // RuleType is the type of the rule.
}

AvailableWorkflowForgeRuleScheme represents a forge rule in a workflow.

type AvailableWorkflowSystemRuleScheme

type AvailableWorkflowSystemRuleScheme struct {
	Description                     string   `json:"description,omitempty"`                     // Description is the description of the rule.
	IncompatibleRuleKeys            []string `json:"incompatibleRuleKeys,omitempty"`            // IncompatibleRuleKeys is a list of keys of incompatible rules.
	IsAvailableForInitialTransition bool     `json:"isAvailableForInitialTransition,omitempty"` // IsAvailableForInitialTransition indicates if the rule is available for the initial transition.
	IsVisible                       bool     `json:"isVisible,omitempty"`                       // IsVisible indicates if the rule is visible.
	Name                            string   `json:"name,omitempty"`                            // Name is the name of the rule.
	RuleKey                         string   `json:"ruleKey,omitempty"`                         // RuleKey is the key of the rule.
	RuleType                        string   `json:"ruleType,omitempty"`                        // RuleType is the type of the rule.
}

AvailableWorkflowSystemRuleScheme represents a system rule in a workflow.

type AvailableWorkflowTriggerTypeScheme

type AvailableWorkflowTriggerTypeScheme struct {
	Description string `json:"description,omitempty"` // Description is the description of the trigger type.
	Name        string `json:"name,omitempty"`        // Name is the name of the trigger type.
	Type        string `json:"type,omitempty"`        // Type is the type of the trigger.
}

AvailableWorkflowTriggerTypeScheme represents a trigger type in a workflow.

type AvailableWorkflowTriggers

type AvailableWorkflowTriggers struct {
	AvailableTypes []*AvailableWorkflowTriggerTypeScheme `json:"availableTypes,omitempty"` // AvailableTypes is a list of available trigger types.
	RuleKey        string                                `json:"ruleKey,omitempty"`        // RuleKey is the key of the rule.
}

AvailableWorkflowTriggers represents the triggers available in a workflow.

type AvatarURLScheme

type AvatarURLScheme struct {
	Four8X48  string `json:"48x48,omitempty"` // The URL for the 48x48 size of the avatar.
	Two4X24   string `json:"24x24,omitempty"` // The URL for the 24x24 size of the avatar.
	One6X16   string `json:"16x16,omitempty"` // The URL for the 16x16 size of the avatar.
	Three2X32 string `json:"32x32,omitempty"` // The URL for the 32x32 size of the avatar.
}

AvatarURLScheme represents the URLs for different sizes of an avatar in Jira.

type BitbucketAccountLinksScheme

type BitbucketAccountLinksScheme struct {
	Avatar *BitbucketLinkScheme `json:"avatar,omitempty"` // The link to the account's avatar.
	Self   *BitbucketLinkScheme `json:"self,omitempty"`   // The link to the account itself.
	HTML   *BitbucketLinkScheme `json:"html,omitempty"`   // The link to the account's HTML page.
}

BitbucketAccountLinksScheme represents a collection of links related to a Bitbucket account.

type BitbucketAccountScheme

type BitbucketAccountScheme struct {
	Links       *BitbucketAccountLinksScheme `json:"links,omitempty"`        // The links related to the account.
	CreatedOn   string                       `json:"created_on,omitempty"`   // The creation time of the account.
	DisplayName string                       `json:"display_name,omitempty"` // The display name of the account.
	Username    string                       `json:"username,omitempty"`     // The username of the account.
	UUID        string                       `json:"uuid,omitempty"`         // The unique identifier of the account.
	Type        string                       `json:"type,omitempty"`         // The type of the account.
	AccountID   string                       `json:"account_id,omitempty"`   // The account ID of the account.
	Nickname    string                       `json:"nickname,omitempty"`     // The nickname of the account.
}

BitbucketAccountScheme represents a Bitbucket account.

type BitbucketLinkScheme

type BitbucketLinkScheme struct {
	Href string `json:"href,omitempty"` // The URL of the link.
	Name string `json:"name,omitempty"` // The name of the link.
}

BitbucketLinkScheme represents a link in Bitbucket.

type BitbucketProjectLinksScheme

type BitbucketProjectLinksScheme struct {
	HTML   *BitbucketLinkScheme `json:"html,omitempty"`   // The HTML link of the project.
	Avatar *BitbucketLinkScheme `json:"avatar,omitempty"` // The avatar link of the project.
}

BitbucketProjectLinksScheme represents the links related to a Bitbucket project.

type BitbucketProjectPageScheme

type BitbucketProjectPageScheme struct {
	Size     int                       `json:"size,omitempty"`     // The size of the page.
	Page     int                       `json:"page,omitempty"`     // The current page number.
	Pagelen  int                       `json:"pagelen,omitempty"`  // The length of the page.
	Next     string                    `json:"next,omitempty"`     // The link to the next page.
	Previous string                    `json:"previous,omitempty"` // The link to the previous page.
	Values   []*BitbucketProjectScheme `json:"values,omitempty"`   // The projects on the page.
}

BitbucketProjectPageScheme represents a page of Bitbucket projects.

type BitbucketProjectScheme

type BitbucketProjectScheme struct {
	Links                   *BitbucketProjectLinksScheme `json:"links,omitempty"`                      // The links related to the project.
	UUID                    string                       `json:"uuid,omitempty"`                       // The UUID of the project.
	Key                     string                       `json:"key,omitempty"`                        // The key of the project.
	Name                    string                       `json:"name,omitempty"`                       // The name of the project.
	Description             string                       `json:"description,omitempty"`                // The description of the project.
	IsPrivate               bool                         `json:"is_private,omitempty"`                 // Whether the project is private.
	CreatedOn               string                       `json:"created_on,omitempty"`                 // The creation time of the project.
	UpdatedOn               string                       `json:"updated_on,omitempty"`                 // The last update time of the project.
	HasPubliclyVisibleRepos bool                         `json:"has_publicly_visible_repos,omitempty"` // Whether the project has publicly visible repositories.
}

BitbucketProjectScheme represents a Bitbucket project.

type BoardBacklogPayloadScheme

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

BodyNodeScheme represents a node in the body of content.

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

BodyScheme represents the body of content.

type BodyTypeScheme

type BodyTypeScheme struct {
	Representation string `json:"representation,omitempty"` // The representation of the body.
	Value          string `json:"value,omitempty"`          // The value of the body.
}

BodyTypeScheme represents a type of body in Confluence.

type BranchScheme

type BranchScheme struct {
	MergeStrategies      []string `json:"merge_strategies"`       // The merge strategies available for the branch.
	DefaultMergeStrategy string   `json:"default_merge_strategy"` // The default merge strategy used for the branch.
}

BranchScheme represents a branch in a repository.

type BulkGroupScheme

type BulkGroupScheme struct {
	MaxResults int                  `json:"maxResults,omitempty"` // The maximum number of results in the bulk.
	StartAt    int                  `json:"startAt,omitempty"`    // The starting index of the bulk.
	Total      int                  `json:"total,omitempty"`      // The total number of groups in the bulk.
	IsLast     bool                 `json:"isLast,omitempty"`     // Indicates if the bulk is the last one.
	Values     []*GroupDetailScheme `json:"values,omitempty"`     // The groups in the bulk.
}

BulkGroupScheme represents a bulk of groups in Jira.

type BulkIssueSchemeV2

type BulkIssueSchemeV2 struct {
	Issues []*IssueSchemeV2 `json:"issues,omitempty"` // The issues in the bulk operation.
}

BulkIssueSchemeV2 represents the bulk issue scheme in Jira.

type BulkIssueSchemeV3

type BulkIssueSchemeV3 struct {
	Issues []*IssueScheme `json:"issues,omitempty"` // The issues in the bulk.
}

BulkIssueSchemeV3 represents a bulk of version 3 issues in Jira.

type BulkProjectPermissionsScheme

type BulkProjectPermissionsScheme struct {
	Issues      []int    `json:"issues"`      // The issues to check the permissions for.
	Projects    []int    `json:"projects"`    // The projects to check the permissions for.
	Permissions []string `json:"permissions"` // The permissions to check.
}

BulkProjectPermissionsScheme represents a bulk of project permissions in Jira.

type CascadingSelectChildScheme

type CascadingSelectChildScheme struct {
	Self  string `json:"self,omitempty"`  // The URL of the child.
	Value string `json:"value,omitempty"` // The value of the child.
	ID    string `json:"id,omitempty"`    // The ID of the child.
}

CascadingSelectChildScheme represents a child of a cascading select in Jira.

type CascadingSelectScheme

type CascadingSelectScheme struct {
	Self  string                      `json:"self,omitempty"`  // The URL of the cascading select.
	Value string                      `json:"value,omitempty"` // The value of the cascading select.
	ID    string                      `json:"id,omitempty"`    // The ID of the cascading select.
	Child *CascadingSelectChildScheme `json:"child,omitempty"` // The child of the cascading select.
}

CascadingSelectScheme represents a cascading select in Jira.

func ParseCascadingSelectCustomField

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"`    // The timestamp of the start of the period.
	Until    int                     `json:"until,omitempty"`    // The timestamp of the end of the period.
	Self     string                  `json:"self,omitempty"`     // The URL of the page.
	NextPage string                  `json:"nextPage,omitempty"` // The URL of the next page.
	LastPage bool                    `json:"lastPage,omitempty"` // Indicates if this is the last page of results.
	Values   []*ChangedWorklogScheme `json:"values,omitempty"`   // The changed worklogs on the page.
}

ChangedWorklogPageScheme represents a page of changed worklogs in Jira.

type ChangedWorklogPropertyScheme

type ChangedWorklogPropertyScheme struct {
	Key string `json:"key,omitempty"` // The key of the property.
}

ChangedWorklogPropertyScheme represents a property of a changed worklog in Jira.

type ChangedWorklogScheme

type ChangedWorklogScheme struct {
	WorklogID   int                             `json:"worklogId,omitempty"`   // The ID of the worklog.
	UpdatedTime int                             `json:"updatedTime,omitempty"` // The timestamp when the worklog was updated.
	Properties  []*ChangedWorklogPropertyScheme `json:"properties,omitempty"`  // The properties of the worklog.
}

ChangedWorklogScheme represents a changed worklog in Jira.

type CheckPermissionScheme

type CheckPermissionScheme struct {
	Subject   *PermissionSubjectScheme `json:"subject,omitempty"`   // The subject of the permission.
	Operation string                   `json:"operation,omitempty"` // The operation of the permission.
}

CheckPermissionScheme represents the scheme for checking permissions in Confluence.

type ChildPageChunkLinksScheme

type ChildPageChunkLinksScheme struct {
	Next string `json:"next,omitempty"` // The link to the next chunk of child pages.
}

ChildPageChunkLinksScheme represents the links of a chunk of child pages in Confluence.

type ChildPageChunkScheme

type ChildPageChunkScheme struct {
	Results []*ChildPageScheme         `json:"results,omitempty"` // The child pages in the chunk.
	Links   *ChildPageChunkLinksScheme `json:"_links,omitempty"`  // The links of the chunk.
}

ChildPageChunkScheme represents a chunk of child pages in Confluence.

type ChildPageScheme

type ChildPageScheme struct {
	ID            string `json:"id,omitempty"`            // The ID of the child page.
	Status        string `json:"status,omitempty"`        // The status of the child page.
	Title         string `json:"title,omitempty"`         // The title of the child page.
	SpaceID       string `json:"spaceId,omitempty"`       // The ID of the space of the child page.
	ChildPosition int    `json:"childPosition,omitempty"` // The position of the child page.
}

ChildPageScheme represents a child page in Confluence.

type ChildTypeScheme

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

ChildTypeScheme represents a type of a child of content.

type ChildTypesScheme

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

ChildTypesScheme represents the types of children of content.

type CommentNodeScheme

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

CommentNodeScheme represents a node in a comment.

func (*CommentNodeScheme) AppendNode

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

AppendNode appends a node to the content of the CommentNodeScheme.

type CommentPayloadScheme

type CommentPayloadScheme struct {
	Visibility *CommentVisibilityScheme `json:"visibility,omitempty"` // The visibility of the comment.
	Body       *CommentNodeScheme       `json:"body,omitempty"`       // The body of the comment.
}

CommentPayloadScheme represents the payload of a comment.

type CommentPayloadSchemeV2

type CommentPayloadSchemeV2 struct {
	Visibility *CommentVisibilityScheme `json:"visibility,omitempty"` // The visibility of the comment.
	Body       string                   `json:"body,omitempty"`       // The body of the comment.
}

CommentPayloadSchemeV2 represents the payload for an issue comment in Jira.

type CommentVisibilityScheme

type CommentVisibilityScheme struct {
	Type  string `json:"type,omitempty"`  // The type of the visibility.
	Value string `json:"value,omitempty"` // The value of the visibility.
}

CommentVisibilityScheme represents the visibility of a comment.

type ComponentCountScheme

type ComponentCountScheme struct {
	Self       string `json:"self,omitempty"`       // The URL of the component count.
	IssueCount int    `json:"issueCount,omitempty"` // The count of issues in the component.
}

ComponentCountScheme represents the count of components in Jira.

type ComponentPayloadScheme

type ComponentPayloadScheme struct {
	IsAssigneeTypeValid bool   `json:"isAssigneeTypeValid,omitempty"` // Indicates if the assignee type is valid.
	Name                string `json:"name,omitempty"`                // The name of the component.
	Description         string `json:"description,omitempty"`         // The description of the component.
	Project             string `json:"project,omitempty"`             // The project to which the component belongs.
	AssigneeType        string `json:"assigneeType,omitempty"`        // The type of the assignee.
	LeadAccountID       string `json:"leadAccountId,omitempty"`       // The account ID of the lead.
}

ComponentPayloadScheme represents the payload for a component in Jira.

type ComponentScheme

type ComponentScheme struct {
	Self                string      `json:"self,omitempty"`                // The URL of the component.
	ID                  string      `json:"id,omitempty"`                  // The ID of the component.
	Name                string      `json:"name,omitempty"`                // The name of the component.
	Description         string      `json:"description,omitempty"`         // The description of the component.
	Lead                *UserScheme `json:"lead,omitempty"`                // The lead of the component.
	LeadUserName        string      `json:"leadUserName,omitempty"`        // The username of the lead.
	AssigneeType        string      `json:"assigneeType,omitempty"`        // The type of the assignee.
	Assignee            *UserScheme `json:"assignee,omitempty"`            // The assignee of the component.
	RealAssigneeType    string      `json:"realAssigneeType,omitempty"`    // The real type of the assignee.
	RealAssignee        *UserScheme `json:"realAssignee,omitempty"`        // The real assignee of the component.
	IsAssigneeTypeValid bool        `json:"isAssigneeTypeValid,omitempty"` // Indicates if the assignee type is valid.
	Project             string      `json:"project,omitempty"`             // The project to which the component belongs.
	ProjectID           int         `json:"projectId,omitempty"`           // The ID of the project to which the component belongs.
}

ComponentScheme represents a component in Jira.

type ConditionGroupConfigurationScheme

type ConditionGroupConfigurationScheme struct {
	ConditionGroups []*ConditionGroupConfigurationScheme `json:"conditionGroups,omitempty"`
	Conditions      []*WorkflowRuleConfigurationScheme   `json:"conditions,omitempty"`
	Operation       string                               `json:"operation,omitempty"`
}

type ConditionGroupUpdateScheme

type ConditionGroupUpdateScheme struct {
	ConditionGroups []*ConditionGroupUpdateScheme      `json:"conditionGroups,omitempty"` // ConditionGroups is a list of nested condition groups.
	Conditions      []*WorkflowRuleConfigurationScheme `json:"conditions,omitempty"`      // Conditions is a list of conditions.
	Operation       string                             `json:"operation,omitempty"`       // Operation is the operation applied to the conditions.
}

ConditionGroupUpdateScheme represents an update to a condition group in a workflow.

type ContainerSummaryScheme

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

ContainerSummaryScheme represents a summary of a container in Confluence.

type ContentArchiveIDPayloadScheme

type ContentArchiveIDPayloadScheme struct {
	ID int `json:"id,omitempty"` // The ID of the content to be archived.
}

ContentArchiveIDPayloadScheme represents the ID payload for archiving content.

type ContentArchivePayloadScheme

type ContentArchivePayloadScheme struct {
	Pages []*ContentArchiveIDPayloadScheme `json:"pages,omitempty"` // The pages to be archived.
}

ContentArchivePayloadScheme represents the payload for archiving content.

type ContentArchiveResultScheme

type ContentArchiveResultScheme struct {
	ID    string `json:"id"` // The ID of the archived content.
	Links struct {
		Status string `json:"status"` // The status of the archived content.
	}
}

ContentArchiveResultScheme represents the result of archiving content.

type ContentChildrenScheme

type ContentChildrenScheme struct {
	Attachment *ContentPageScheme `json:"attachment,omitempty"` // The attachment of the content item.
	Comments   *ContentPageScheme `json:"comment,omitempty"`    // The comments of the content item.
	Page       *ContentPageScheme `json:"page,omitempty"`       // The page of the content item.
	Links      *LinkScheme        `json:"_links,omitempty"`     // The links related to the content item.
}

ContentChildrenScheme represents the children of a content item in Confluence.

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

ContentExtensionScheme represents an extension of content.

type ContentHistoryContributorsScheme

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

ContentHistoryContributorsScheme represents the contributors of the content history.

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

ContentHistoryScheme represents the history of the content.

type ContentLabelPageScheme

type ContentLabelPageScheme struct {
	Results []*ContentLabelScheme `json:"results,omitempty"` // The content labels in the page.
	Start   int                   `json:"start,omitempty"`   // The start index of the content labels in the page.
	Limit   int                   `json:"limit,omitempty"`   // The limit of the content labels in the page.
	Size    int                   `json:"size,omitempty"`    // The size of the content labels in the page.
}

ContentLabelPageScheme represents a page of content labels in Confluence.

type ContentLabelPayloadScheme

type ContentLabelPayloadScheme struct {
	Prefix string `json:"prefix,omitempty"` // The prefix of the content label.
	Name   string `json:"name,omitempty"`   // The name of the content label.
}

ContentLabelPayloadScheme represents the payload for a content label in Confluence.

type ContentLabelScheme

type ContentLabelScheme struct {
	Prefix string `json:"prefix,omitempty"` // The prefix of the content label.
	Name   string `json:"name,omitempty"`   // The name of the content label.
	ID     string `json:"id,omitempty"`     // The ID of the content label.
	Label  string `json:"label,omitempty"`  // The label of the content label.
}

ContentLabelScheme represents a content label in Confluence.

type ContentMoveScheme

type ContentMoveScheme struct {
	ID string `json:"pageId"` // The ID of the content to be moved.
}

ContentMoveScheme represents the scheme for moving content.

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

ContentPageScheme represents a page of content.

type ContentPropertyPageScheme

type ContentPropertyPageScheme struct {
	Results []*ContentPropertyScheme `json:"results,omitempty"` // The content properties in the page.
	Start   int                      `json:"start,omitempty"`   // The start index of the content properties in the page.
	Limit   int                      `json:"limit,omitempty"`   // The limit of the content properties in the page.
	Size    int                      `json:"size,omitempty"`    // The size of the content properties in the page.
}

ContentPropertyPageScheme represents a page of content properties in Confluence.

type ContentPropertyPayloadScheme

type ContentPropertyPayloadScheme struct {
	Key   string `json:"key"`   // The key of the content property.
	Value string `json:"value"` // The value of the content property.
}

ContentPropertyPayloadScheme represents the payload for a content property in Confluence.

type ContentPropertyScheme

type ContentPropertyScheme struct {
	ID         string                        `json:"id,omitempty"`      // The ID of the content property.
	Key        string                        `json:"key,omitempty"`     // The key of the content property.
	Value      interface{}                   `json:"value,omitempty"`   // The value of the content property.
	Version    *ContentPropertyVersionScheme `json:"version,omitempty"` // The version of the content property.
	Expandable struct {
		Content              string `json:"content,omitempty"`              // The content of the content property.
		AdditionalProperties string `json:"additionalProperties,omitempty"` // The additional properties of the content property.
	} `json:"_expandable,omitempty"` // The expandable fields of the content property.
}

ContentPropertyScheme represents a content property in Confluence.

type ContentPropertyVersionScheme

type ContentPropertyVersionScheme struct {
	When                string `json:"when,omitempty"`                // The timestamp of the version.
	Message             string `json:"message,omitempty"`             // The message of the version.
	Number              int    `json:"number,omitempty"`              // The number of the version.
	MinorEdit           bool   `json:"minorEdit,omitempty"`           // Indicates if the version is a minor edit.
	ContentTypeModified bool   `json:"contentTypeModified,omitempty"` // Indicates if the content type is modified in the version.
}

ContentPropertyVersionScheme represents the version of a content property in Confluence.

type ContentRestoreParamsPayloadScheme

type ContentRestoreParamsPayloadScheme struct {
	VersionNumber int    `json:"versionNumber,omitempty"` // The number of the version to be restored.
	Message       string `json:"message,omitempty"`       // The message for restoring the content.
	RestoreTitle  bool   `json:"restoreTitle,omitempty"`  // Indicates if the title should be restored.
}

ContentRestoreParamsPayloadScheme represents the parameters for restoring a content in Confluence.

type ContentRestorePayloadScheme

type ContentRestorePayloadScheme struct {
	OperationKey string                             `json:"operationKey,omitempty"` // The key of the operation for restoring the content.
	Params       *ContentRestoreParamsPayloadScheme `json:"params,omitempty"`       // The parameters for restoring the content.
}

ContentRestorePayloadScheme represents the payload for restoring a content in Confluence.

type ContentRestrictionByOperationScheme

type ContentRestrictionByOperationScheme struct {
	OperationType *ContentRestrictionScheme `json:"operationType,omitempty"` // The type of the operation of the restriction.
}

ContentRestrictionByOperationScheme represents a content restriction by operation in Confluence.

type ContentRestrictionDetailScheme

type ContentRestrictionDetailScheme struct {
	User  *UserPermissionScheme  `json:"user,omitempty"`  // The user permissions of the restriction.
	Group *GroupPermissionScheme `json:"group,omitempty"` // The group permissions of the restriction.
}

ContentRestrictionDetailScheme represents the details of a content restriction in Confluence.

type ContentRestrictionExpandableScheme

type ContentRestrictionExpandableScheme struct {
	Restrictions string `json:"restrictions,omitempty"` // The restrictions of the content restriction.
	Content      string `json:"content,omitempty"`      // The content of the content restriction.
}

ContentRestrictionExpandableScheme represents the expandable fields of a content restriction in Confluence.

type ContentRestrictionPageScheme

type ContentRestrictionPageScheme struct {
	Start            int                         `json:"start,omitempty"`            // The start index of the content restrictions in the page.
	Limit            int                         `json:"limit,omitempty"`            // The limit of the content restrictions in the page.
	Size             int                         `json:"size,omitempty"`             // The size of the content restrictions in the page.
	RestrictionsHash string                      `json:"restrictionsHash,omitempty"` // The hash of the restrictions.
	Results          []*ContentRestrictionScheme `json:"results,omitempty"`          // The content restrictions in the page.
}

ContentRestrictionPageScheme represents a page of content restrictions in Confluence.

type ContentRestrictionRestrictionUpdateScheme

type ContentRestrictionRestrictionUpdateScheme struct {
	Group []*SpaceGroupScheme  `json:"group,omitempty"` // The group permissions of the restriction to be updated.
	User  []*ContentUserScheme `json:"user,omitempty"`  // The user permissions of the restriction to be updated.
}

ContentRestrictionRestrictionUpdateScheme represents the details of a content restriction to be updated in Confluence.

type ContentRestrictionScheme

type ContentRestrictionScheme struct {
	Operation    string                              `json:"operation,omitempty"`    // The operation of the restriction.
	Restrictions *ContentRestrictionDetailScheme     `json:"restrictions,omitempty"` // The details of the restriction.
	Content      *ContentScheme                      `json:"content,omitempty"`      // The content of the restriction.
	Expandable   *ContentRestrictionExpandableScheme `json:"_expandable,omitempty"`  // The expandable fields of the restriction.
}

ContentRestrictionScheme represents a content restriction in Confluence.

type ContentRestrictionUpdatePayloadScheme

type ContentRestrictionUpdatePayloadScheme struct {
	Results []*ContentRestrictionUpdateScheme `json:"results,omitempty"` // The content restrictions to be updated.
}

ContentRestrictionUpdatePayloadScheme represents the payload for updating a content restriction in Confluence.

type ContentRestrictionUpdateScheme

type ContentRestrictionUpdateScheme struct {
	Operation    string                                     `json:"operation,omitempty"`    // The operation of the restriction.
	Restrictions *ContentRestrictionRestrictionUpdateScheme `json:"restrictions,omitempty"` // The details of the restriction to be updated.
	Content      *ContentScheme                             `json:"content,omitempty"`      // The content of the restriction to be updated.
}

ContentRestrictionUpdateScheme represents a content restriction to be updated in Confluence.

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

ContentScheme represents content.

type ContentTaskScheme

type ContentTaskScheme struct {
	ID    string          `json:"id,omitempty"`    // The ID of the task.
	Links *TaskLinkScheme `json:"links,omitempty"` // The links related to the task.
}

ContentTaskScheme represents a task in a content item in Confluence.

type ContentUserDetailScheme

type ContentUserDetailScheme struct {
	Business *UserBusinessDetailScheme `json:"business,omitempty"` // The business details of the user.
	Personal *UserPersonalDetailScheme `json:"personal,omitempty"` // The personal details of the user.
}

ContentUserDetailScheme represents the detailed information of a user in the content.

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

ContentUserScheme represents a user of the content.

type ContentVersionPageScheme

type ContentVersionPageScheme struct {
	Results []*ContentVersionScheme `json:"results,omitempty"` // The content versions in the page.
	Start   int                     `json:"start,omitempty"`   // The start index of the content versions in the page.
	Limit   int                     `json:"limit,omitempty"`   // The limit of the content versions in the page.
	Size    int                     `json:"size,omitempty"`    // The size of the content versions in the page.
}

ContentVersionPageScheme represents a page of content versions in Confluence.

type ContentVersionScheme

type ContentVersionScheme struct {
	By            *ContentUserScheme          `json:"by,omitempty"`            // The user who made the version.
	Number        int                         `json:"number,omitempty"`        // The number of the version.
	When          string                      `json:"when,omitempty"`          // The timestamp of the version.
	FriendlyWhen  string                      `json:"friendlyWhen,omitempty"`  // The friendly timestamp of the version.
	Message       string                      `json:"message,omitempty"`       // The message of the version.
	MinorEdit     bool                        `json:"minorEdit,omitempty"`     // Indicates if the version is a minor edit.
	Content       *ContentScheme              `json:"content,omitempty"`       // The content of the version.
	Collaborators *VersionCollaboratorsScheme `json:"collaborators,omitempty"` // The collaborators of the version.
	Expandable    struct {
		Content       string `json:"content"`       // The content of the version.
		Collaborators string `json:"collaborators"` // The collaborators of the version.
	} `json:"_expandable"` // The expandable fields of the version.
	ContentTypeModified bool `json:"contentTypeModified"` // Indicates if the content type is modified in the version.
}

ContentVersionScheme represents a content version in Confluence.

type ContentViewScheme

type ContentViewScheme struct {
	ID    int `json:"id,omitempty"`    // The unique identifier of the content view.
	Count int `json:"count,omitempty"` // The number of times the content has been viewed.
}

ContentViewScheme represents a content view in Confluence. ID is the unique identifier of the content view. Count is the number of times the content has been viewed.

type CopyOptionsScheme

type CopyOptionsScheme struct {
	CopyAttachments    bool                       `json:"copyAttachments,omitempty"`    // Indicates if the attachments should be copied.
	CopyPermissions    bool                       `json:"copyPermissions,omitempty"`    // Indicates if the permissions should be copied.
	CopyProperties     bool                       `json:"copyProperties,omitempty"`     // Indicates if the properties should be copied.
	CopyLabels         bool                       `json:"copyLabels,omitempty"`         // Indicates if the labels should be copied.
	CopyCustomContents bool                       `json:"copyCustomContents,omitempty"` // Indicates if the custom contents should be copied.
	DestinationPageID  string                     `json:"destinationPageId,omitempty"`  // The ID of the destination page.
	TitleOptions       *CopyTitleOptionScheme     `json:"titleOptions,omitempty"`       // The options for the title of the copied content.
	Destination        *CopyPageDestinationScheme `json:"destination,omitempty"`        // The destination of the copied content.
	PageTitle          string                     `json:"pageTitle,omitempty"`          // The title of the page.
	Body               *CopyPageBodyScheme        `json:"body,omitempty"`               // The body of the copied content.
}

CopyOptionsScheme represents the options for copying a content item in Confluence.

type CopyPageBodyScheme

type CopyPageBodyScheme struct {
	Storage *BodyNodeScheme `json:"storage"` // The storage of the body.
	Editor2 *BodyNodeScheme `json:"editor2"` // The editor2 of the body.
}

CopyPageBodyScheme represents the body of a copied content item in Confluence.

type CopyPageDestinationScheme

type CopyPageDestinationScheme struct {
	Type  string `json:"type,omitempty"`  // The type of the destination.
	Value string `json:"value,omitempty"` // The value of the destination.
}

CopyPageDestinationScheme represents the destination of a copied content item in Confluence.

type CopyTitleOptionScheme

type CopyTitleOptionScheme struct {
	Prefix  string `json:"prefix,omitempty"`  // The prefix of the title.
	Replace string `json:"replace,omitempty"` // The replacement for the title.
	Search  string `json:"search,omitempty"`  // The search term for the title.
}

CopyTitleOptionScheme represents the options for the title of a copied content item in Confluence.

type CreateCustomerRequestFormPayloadScheme

type CreateCustomerRequestFormPayloadScheme struct {
	Answers interface{} `json:"answers,omitempty"` // The answers provided in the form.
}

CreateCustomerRequestFormPayloadScheme represents the form payload for creating a customer request.

type CreateCustomerRequestPayloadScheme

type CreateCustomerRequestPayloadScheme struct {
	Channel             string                                  `json:"channel,omitempty"`             // The channel through which the request is made.
	Form                *CreateCustomerRequestFormPayloadScheme `json:"form,omitempty"`                // The form associated with the request.
	IsAdfRequest        bool                                    `json:"isAdfRequest,omitempty"`        // Indicates if the request is an Atlassian Document Format (ADF) request.
	RaiseOnBehalfOf     string                                  `json:"raiseOnBehalfOf,omitempty"`     // The account ID of the user on whose behalf the request is raised.
	RequestFieldValues  map[string]interface{}                  `json:"requestFieldValues,omitempty"`  // The custom field values for the request.
	RequestParticipants []string                                `json:"requestParticipants,omitempty"` // The account IDs of the participants of the request.
	RequestTypeID       string                                  `json:"requestTypeId,omitempty"`       // The ID of the request type.
	ServiceDeskID       string                                  `json:"serviceDeskId,omitempty"`       // The ID of the service desk.
}

CreateCustomerRequestPayloadScheme represents the payload for creating a customer request.

func (*CreateCustomerRequestPayloadScheme) AddCustomField

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

AddCustomField adds a custom field to the request payload. It takes a key which is the name of the custom field and a value which is the value of the custom field. If the RequestFieldValues map is not initialized, it initializes it. It returns an error if any occurs during the process.

func (*CreateCustomerRequestPayloadScheme) CascadingCustomField

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

CascadingCustomField adds a custom field of type Cascading to the request payload. It takes an id which is the name of the custom field, a parent which is the parent value of the cascading field, and a child which is the child value of the cascading field. It returns an error if the id, parent, or child is empty.

func (*CreateCustomerRequestPayloadScheme) Components

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

Components adds a custom field of type Components to the request payload. It takes components which are the names of the components. It returns an error if the components slice is empty or contains an empty string.

func (*CreateCustomerRequestPayloadScheme) DateCustomField

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

DateCustomField adds a custom field of type Date to the request payload. It takes an id which is the name of the custom field and a value which is the value of the custom field. The value is formatted as "2006-01-02". It returns an error if the id is empty or the value is zero.

func (*CreateCustomerRequestPayloadScheme) DateTimeCustomField

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

DateTimeCustomField adds a custom field of type DateTime to the request payload. It takes an id which is the name of the custom field and a value which is the value of the custom field. The value is formatted as RFC3339. It returns an error if the id is empty or the value is zero.

func (*CreateCustomerRequestPayloadScheme) GroupCustomField

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

GroupCustomField adds a custom field of type Group to the request payload. It takes an id which is the name of the custom field and a name which is the name of the group. It returns an error if the id or name is empty.

func (*CreateCustomerRequestPayloadScheme) GroupsCustomField

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

GroupsCustomField adds a custom field of type Groups to the request payload. It takes an id which is the name of the custom field and names which are the names of the groups. It returns an error if the id is empty or the names slice is empty or contains an empty string.

func (*CreateCustomerRequestPayloadScheme) MultiSelectOrCheckBoxCustomField

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

MultiSelectOrCheckBoxCustomField adds a custom field of type MultiSelect or CheckBox to the request payload. It takes an id which is the name of the custom field and values which are the values of the custom field. It returns an error if the id is empty or the values slice is empty.

func (*CreateCustomerRequestPayloadScheme) RadioButtonOrSelectCustomField

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

RadioButtonOrSelectCustomField adds a custom field of type RadioButton or Select to the request payload. It takes an id which is the name of the custom field and an option which is the selected option. It returns an error if the id or option is empty.

func (*CreateCustomerRequestPayloadScheme) UserCustomField

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

UserCustomField adds a custom field of type User to the request payload. It takes an id which is the name of the custom field and an accountID which is the account ID of the user. It returns an error if the id or accountID is empty.

func (*CreateCustomerRequestPayloadScheme) UsersCustomField

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

UsersCustomField adds a custom field of type Users to the request payload. It takes an id which is the name of the custom field and accountIDs which are the account IDs of the users. It returns an error if the id is empty or the accountIDs slice is empty or contains an empty string.

type CreateSpaceDescriptionPlainScheme

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

CreateSpaceDescriptionPlainScheme represents the plain text description of a space in Confluence.

type CreateSpaceDescriptionScheme

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

CreateSpaceDescriptionScheme represents the description of a space in Confluence.

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

CreateSpaceScheme represents the scheme for creating a space in Confluence.

type CustomContentBodyScheme

type CustomContentBodyScheme struct {
	Raw            *BodyTypeScheme `json:"raw,omitempty"`              // The raw body.
	Storage        *BodyTypeScheme `json:"storage,omitempty"`          // The storage body.
	AtlasDocFormat *BodyTypeScheme `json:"atlas_doc_format,omitempty"` // The Atlas doc format body.
}

CustomContentBodyScheme represents the body of custom content in Confluence.

type CustomContentLinksScheme

type CustomContentLinksScheme struct {
	Webui string `json:"webui,omitempty"` // The web UI link.
}

CustomContentLinksScheme represents the links of custom content in Confluence.

type CustomContentOptionsScheme

type CustomContentOptionsScheme struct {
	IDs        []int  `json:"ids,omitempty"`        // The IDs of the custom content.
	SpaceIDs   []int  `json:"spaceIDs,omitempty"`   // The IDs of the spaces of the custom content.
	Sort       string `json:"sort,omitempty"`       // The sort order of the custom content.
	BodyFormat string `json:"bodyFormat,omitempty"` // The body format of the custom content.
}

CustomContentOptionsScheme represents the options for custom content in Confluence.

type CustomContentPageLinksScheme

type CustomContentPageLinksScheme struct {
	Next string `json:"next,omitempty"` // The link to the next page.
}

CustomContentPageLinksScheme represents the links of a page of custom content in Confluence.

type CustomContentPageScheme

type CustomContentPageScheme struct {
	Results []*CustomContentScheme        `json:"results,omitempty"` // The custom content in the page.
	Links   *CustomContentPageLinksScheme `json:"_links,omitempty"`  // The links of the page.
}

CustomContentPageScheme represents a page of custom content in Confluence.

type CustomContentPayloadScheme

type CustomContentPayloadScheme struct {
	ID              string                             `json:"id,omitempty"`              // The ID of the custom content.
	Type            string                             `json:"type,omitempty"`            // The type of the custom content.
	Status          string                             `json:"status,omitempty"`          // The status of the custom content.
	SpaceID         string                             `json:"spaceId,omitempty"`         // The ID of the space of the custom content.
	PageID          string                             `json:"pageId,omitempty"`          // The ID of the page of the custom content.
	BlogPostID      string                             `json:"blogPostId,omitempty"`      // The ID of the blog post of the custom content.
	CustomContentID string                             `json:"customContentId,omitempty"` // The ID of the custom content.
	Title           string                             `json:"title,omitempty"`           // The title of the custom content.
	Body            *BodyTypeScheme                    `json:"body,omitempty"`            // The body of the custom content.
	Version         *CustomContentPayloadVersionScheme `json:"version,omitempty"`         // The version of the custom content.
}

CustomContentPayloadScheme represents the payload for custom content in Confluence.

type CustomContentPayloadVersionScheme

type CustomContentPayloadVersionScheme struct {
	Number  int    `json:"number,omitempty"`  // The number of the version.
	Message string `json:"message,omitempty"` // The message of the version.
}

CustomContentPayloadVersionScheme represents the version of the payload for custom content in Confluence.

type CustomContentScheme

type CustomContentScheme struct {
	ID              string                      `json:"id,omitempty"`              // The ID of the custom content.
	Type            string                      `json:"type,omitempty"`            // The type of the custom content.
	Status          string                      `json:"status,omitempty"`          // The status of the custom content.
	Title           string                      `json:"title,omitempty"`           // The title of the custom content.
	SpaceID         string                      `json:"spaceId,omitempty"`         // The ID of the space of the custom content.
	PageID          string                      `json:"pageId,omitempty"`          // The ID of the page of the custom content.
	BlogPostID      string                      `json:"blogPostId,omitempty"`      // The ID of the blog post of the custom content.
	CustomContentID string                      `json:"customContentId,omitempty"` // The ID of the custom content.
	AuthorID        string                      `json:"authorId,omitempty"`        // The ID of the author of the custom content.
	CreatedAt       string                      `json:"createdAt,omitempty"`       // The timestamp of the creation of the custom content.
	Version         *CustomContentVersionScheme `json:"version,omitempty"`         // The version of the custom content.
	Body            *CustomContentBodyScheme    `json:"body,omitempty"`            // The body of the custom content.
	Links           *CustomContentLinksScheme   `json:"_links,omitempty"`          // The links of the custom content.
}

CustomContentScheme represents custom content in Confluence.

type CustomContentVersionScheme

type CustomContentVersionScheme struct {
	CreatedAt string `json:"createdAt,omitempty"` // The timestamp of the creation of the version.
	Message   string `json:"message,omitempty"`   // The message of the version.
	Number    int    `json:"number,omitempty"`    // The number of the version.
	MinorEdit bool   `json:"minorEdit,omitempty"` // Indicates if the version is a minor edit.
	AuthorID  string `json:"authorId,omitempty"`  // The ID of the author of the version.
}

CustomContentVersionScheme represents the version of custom content in Confluence.

type CustomFieldAssetScheme

type CustomFieldAssetScheme struct {
	WorkspaceID string `json:"workspaceId,omitempty"` // The ID of the workspace.
	ID          string `json:"id,omitempty"`          // The ID of the custom field asset.
	ObjectID    string `json:"objectId,omitempty"`    // The object ID of the custom field asset.
}

CustomFieldAssetScheme represents a custom field asset in Jira.

func ParseAssetCustomField

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"`       // The URL of the page.
	NextPage   string                            `json:"nextPage,omitempty"`   // The URL of the next page.
	MaxResults int                               `json:"maxResults,omitempty"` // The maximum number of results in the page.
	StartAt    int                               `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                               `json:"total,omitempty"`      // The total number of custom field context options.
	IsLast     bool                              `json:"isLast,omitempty"`     // Indicates if the page is the last one.
	Values     []*CustomFieldContextOptionScheme `json:"values,omitempty"`     // The custom field context options in the page.
}

CustomFieldContextOptionPageScheme represents a page of custom field context options in Jira.

type CustomFieldContextOptionScheme

type CustomFieldContextOptionScheme struct {
	ID       string `json:"id,omitempty"`       // The ID of the custom field context option.
	Value    string `json:"value,omitempty"`    // The value of the custom field context option.
	Disabled bool   `json:"disabled"`           // Indicates if the custom field context option is disabled.
	OptionID string `json:"optionId,omitempty"` // The ID of the option.
}

CustomFieldContextOptionScheme represents a custom field context option in Jira.

func ParseMultiSelectCustomField

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

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"` // The maximum number of results in the page.
	StartAt    int                   `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                   `json:"total,omitempty"`      // The total number of custom field contexts.
	IsLast     bool                  `json:"isLast,omitempty"`     // Indicates if the page is the last one.
	Values     []*FieldContextScheme `json:"values,omitempty"`     // The custom field contexts in the page.
}

CustomFieldContextPageScheme represents a page of custom field contexts in Jira.

type CustomFieldContextProjectMappingPageScheme

type CustomFieldContextProjectMappingPageScheme struct {
	Self       string                                         `json:"self,omitempty"`       // The URL of the page.
	NextPage   string                                         `json:"nextPage,omitempty"`   // The URL of the next page.
	MaxResults int                                            `json:"maxResults,omitempty"` // The maximum number of results in the page.
	StartAt    int                                            `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                                            `json:"total,omitempty"`      // The total number of project mappings for custom field contexts.
	IsLast     bool                                           `json:"isLast,omitempty"`     // Indicates if the page is the last one.
	Values     []*CustomFieldContextProjectMappingValueScheme `json:"values,omitempty"`     // The project mappings for custom field contexts in the page.
}

CustomFieldContextProjectMappingPageScheme represents a page of project mappings for custom field contexts in Jira.

type CustomFieldContextProjectMappingValueScheme

type CustomFieldContextProjectMappingValueScheme struct {
	ContextID       string `json:"contextId,omitempty"`       // The ID of the context.
	ProjectID       string `json:"projectId,omitempty"`       // The ID of the project.
	IsGlobalContext bool   `json:"isGlobalContext,omitempty"` // Indicates if the context is global.
}

CustomFieldContextProjectMappingValueScheme represents a project mapping for a custom field context in Jira.

type CustomFieldDefaultValuePageScheme

type CustomFieldDefaultValuePageScheme struct {
	MaxResults int                              `json:"maxResults,omitempty"` // The maximum number of results in the page.
	StartAt    int                              `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                              `json:"total,omitempty"`      // The total number of default values for custom fields.
	IsLast     bool                             `json:"isLast,omitempty"`     // Indicates if the page is the last one.
	Values     []*CustomFieldDefaultValueScheme `json:"values,omitempty"`     // The default values for custom fields in the page.
}

CustomFieldDefaultValuePageScheme represents a page of default values for custom fields in Jira.

type CustomFieldDefaultValueScheme

type CustomFieldDefaultValueScheme struct {
	ContextID         string   `json:"contextId,omitempty"`         // The ID of the context.
	OptionID          string   `json:"optionId,omitempty"`          // The ID of the option.
	CascadingOptionID string   `json:"cascadingOptionId,omitempty"` // The ID of the cascading option.
	OptionIDs         []string `json:"optionIds,omitempty"`         // The IDs of the options.
	Type              string   `json:"type,omitempty"`              // The type of the default value.
}

CustomFieldDefaultValueScheme represents a default value for a custom field in Jira.

type CustomFieldRequestTypeLinkScheme

type CustomFieldRequestTypeLinkScheme struct {
	Self     string `json:"self,omitempty"`     // The URL of the custom field request type itself.
	JiraRest string `json:"jiraRest,omitempty"` // The Jira REST API link for the custom field request type.
	Web      string `json:"web,omitempty"`      // The web link for the custom field request type.
	Agent    string `json:"agent,omitempty"`    // The agent link for the custom field request type.
}

CustomFieldRequestTypeLinkScheme represents the links of a custom field request type in Jira.

type CustomFieldRequestTypeScheme

type CustomFieldRequestTypeScheme struct {
	Links         *CustomFieldRequestTypeLinkScheme   `json:"_links"`        // Links related to the custom field request type.
	RequestType   *CustomerRequestTypeScheme          `json:"requestType"`   // The request type of the custom field.
	CurrentStatus *CustomerRequestCurrentStatusScheme `json:"currentStatus"` // The current status of the request type.
}

CustomFieldRequestTypeScheme represents a custom field request type in Jira.

func ParseRequestTypeCustomField

func ParseRequestTypeCustomField(buffer bytes.Buffer, customField string) (*CustomFieldRequestTypeScheme, error)

ParseRequestTypeCustomField parses the Jira service desk request type elements from the given buffer data associated with the specified custom field ID and returns a struct CustomFieldRequestTypeScheme

Parameters:

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

Returns:

  • *CustomFieldRequestTypeScheme: the customfield value as CustomFieldRequestTypeScheme type

Example usage:

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

fmt.Println(requestType)

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

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

CustomFieldScheme represents a custom field in Jira.

type CustomFieldTempoAccountScheme

type CustomFieldTempoAccountScheme struct {
	ID    int    `json:"id"`
	Value string `json:"value"`
}

CustomFieldTempoAccountScheme represents a custom field tempo account in Jira.

func ParseTempoAccountCustomField

func ParseTempoAccountCustomField(buffer bytes.Buffer, customField string) (*CustomFieldTempoAccountScheme, error)

ParseTempoAccountCustomField parses the Jira Tempo account type elements from the given buffer data associated with the specified custom field ID and returns a struct CustomFieldTempoAccountScheme

Parameters:

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

Returns:

  • *CustomFieldTempoAccountScheme: the customfield value as CustomFieldTempoAccountScheme type

Example usage:

customfieldID := "customfield_10038"
buffer := bytes.NewBuffer([]byte{ /* Serialized data */ })
tempoAccount, err := ParseTempoAccountCustomField(customfieldID, buffer)
if err != nil {
    log.Fatal(err)
}
fmt.Println(tempoAccount)

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

type CustomFields

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

CustomFields represents a collection of custom fields.

func (*CustomFields) Cascading

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

Cascading adds a cascading custom field to the collection.

func (*CustomFields) CheckBox

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

CheckBox adds a checkbox custom field to the collection.

func (*CustomFields) Date

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

Date adds a date custom field to the collection.

func (*CustomFields) DateTime

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

DateTime adds a datetime custom field to the collection.

func (*CustomFields) Group

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

Group adds a single group custom field to the collection.

func (*CustomFields) Groups

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

Groups adds a group custom field to the collection.

func (*CustomFields) MultiSelect

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

MultiSelect adds a multi-select custom field to the collection.

func (*CustomFields) Number

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

Number adds a number custom field to the collection.

func (*CustomFields) RadioButton

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

RadioButton adds a radio button custom field to the collection.

func (*CustomFields) Raw

func (c *CustomFields) Raw(customFieldID string, value interface{}) error

Raw adds an untyped field to the collection.

func (*CustomFields) Select

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

Select adds a select custom field to the collection.

func (*CustomFields) Text

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

Text adds a text custom field to the collection.

func (*CustomFields) URL

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

URL adds a URL custom field to the collection.

func (*CustomFields) User

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

User adds a user custom field to the collection.

func (*CustomFields) Users

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

Users adds a multi-user custom field to the collection.

type CustomerApprovalLinkScheme

type CustomerApprovalLinkScheme struct {
	Self string `json:"self"` // The URL of the customer approval itself.
}

CustomerApprovalLinkScheme represents links related to a customer approval.

type CustomerApprovalPageLinkScheme

type CustomerApprovalPageLinkScheme struct {
	Self    string `json:"self,omitempty"`    // The URL of the page itself.
	Base    string `json:"base,omitempty"`    // The base URL for the links.
	Context string `json:"context,omitempty"` // The context for the links.
	Next    string `json:"next,omitempty"`    // The URL for the next page of customer approvals.
	Prev    string `json:"prev,omitempty"`    // The URL for the previous page of customer approvals.
}

CustomerApprovalPageLinkScheme represents links related to a page of customer approvals.

type CustomerApprovalPageScheme

type CustomerApprovalPageScheme struct {
	Size       int                             `json:"size,omitempty"`       // The number of customer approvals on the page.
	Start      int                             `json:"start,omitempty"`      // The index of the first customer approval on the page.
	Limit      int                             `json:"limit,omitempty"`      // The maximum number of customer approvals that can be on the page.
	IsLastPage bool                            `json:"isLastPage,omitempty"` // Indicates if this is the last page of customer approvals.
	Values     []*CustomerApprovalScheme       `json:"values,omitempty"`     // The customer approvals on the page.
	Expands    []string                        `json:"_expands,omitempty"`   // Additional data related to the customer approvals.
	Links      *CustomerApprovalPageLinkScheme `json:"_links,omitempty"`     // Links related to the page of customer approvals.
}

CustomerApprovalPageScheme represents a page of customer approvals in a system.

type CustomerApprovalScheme

type CustomerApprovalScheme struct {
	ID                string                      `json:"id,omitempty"`                // The ID of the customer approval.
	Name              string                      `json:"name,omitempty"`              // The name of the customer approval.
	FinalDecision     string                      `json:"finalDecision,omitempty"`     // The final decision of the customer approval.
	CanAnswerApproval bool                        `json:"canAnswerApproval,omitempty"` // Indicates if the customer approval can be answered.
	Approvers         []*CustomerApproveScheme    `json:"approvers,omitempty"`         // The approvers of the customer approval.
	CreatedDate       *CustomerRequestDateScheme  `json:"createdDate,omitempty"`       // The created date of the customer approval.
	CompletedDate     *CustomerRequestDateScheme  `json:"completedDate,omitempty"`     // The completed date of the customer approval.
	Links             *CustomerApprovalLinkScheme `json:"_links,omitempty"`            // Links related to the customer approval.
}

CustomerApprovalScheme represents a customer approval in a system.

type CustomerApproveScheme

type CustomerApproveScheme struct {
	Approver         *ApproverScheme `json:"approver,omitempty"`         // The approver of the customer approval.
	ApproverDecision string          `json:"approverDecision,omitempty"` // The decision of the approver.
}

CustomerApproveScheme represents an approver of a customer approval.

type CustomerFeedbackCommentScheme

type CustomerFeedbackCommentScheme struct {
	Body string `json:"body,omitempty"` // The body of the comment.
}

CustomerFeedbackCommentScheme represents the comment provided in a customer's feedback.

type CustomerFeedbackScheme

type CustomerFeedbackScheme struct {
	Type    string                         `json:"type,omitempty"`    // The type of feedback.
	Rating  int                            `json:"rating,omitempty"`  // The rating provided in the feedback.
	Comment *CustomerFeedbackCommentScheme `json:"comment,omitempty"` // The comment provided in the feedback.
}

CustomerFeedbackScheme represents the feedback provided by a customer.

type CustomerLinkScheme

type CustomerLinkScheme struct {
	JiraREST   string           `json:"jiraRest"`   // The Jira REST API link for the customer.
	AvatarURLs *AvatarURLScheme `json:"avatarUrls"` // The URLs for the customer's avatars.
	Self       string           `json:"self"`       // The URL for the customer itself.
}

CustomerLinkScheme represents links related to a customer.

type CustomerPageLinksScheme

type CustomerPageLinksScheme struct {
	Base    string `json:"base,omitempty"`    // The base URL for the links.
	Context string `json:"context,omitempty"` // The context for the links.
	Next    string `json:"next,omitempty"`    // The URL for the next page of customers.
	Prev    string `json:"prev,omitempty"`    // The URL for the previous page of customers.
}

CustomerPageLinksScheme represents links related to a page of customers.

type CustomerPageScheme

type CustomerPageScheme struct {
	Expands    []interface{}            `json:"_expands,omitempty"`   // Additional data related to the customers.
	Size       int                      `json:"size,omitempty"`       // The number of customers on the page.
	Start      int                      `json:"start,omitempty"`      // The index of the first customer on the page.
	Limit      int                      `json:"limit,omitempty"`      // The maximum number of customers that can be on the page.
	IsLastPage bool                     `json:"isLastPage,omitempty"` // Indicates if this is the last page of customers.
	Links      *CustomerPageLinksScheme `json:"_links,omitempty"`     // Links related to the page of customers.
	Values     []*CustomerScheme        `json:"values,omitempty"`     // The customers on the page.
}

CustomerPageScheme represents a page of customers in a system.

type CustomerRequestCurrentStatusDateScheme

type CustomerRequestCurrentStatusDateScheme struct {
	ISO8601     DateTimeScheme `json:"iso8601,omitempty"`     // The ISO 8601 format of the date.
	Jira        string         `json:"jira,omitempty"`        // The Jira format of the date.
	Friendly    string         `json:"friendly,omitempty"`    // The friendly format of the date.
	EpochMillis int            `json:"epochMillis,omitempty"` // The epoch milliseconds of the date.
}

CustomerRequestCurrentStatusDateScheme represents a date for a customer request current status.

type CustomerRequestCurrentStatusScheme

type CustomerRequestCurrentStatusScheme struct {
	Status         string                                  `json:"status,omitempty"`         // The status of the customer request.
	StatusCategory string                                  `json:"statusCategory,omitempty"` // The category of the status.
	StatusDate     *CustomerRequestCurrentStatusDateScheme `json:"statusDate,omitempty"`     // The date of the status.
}

CustomerRequestCurrentStatusScheme represents the current status of a customer request.

type CustomerRequestDateScheme

type CustomerRequestDateScheme struct {
	ISO8601     DateTimeScheme `json:"iso8601,omitempty"`     // The ISO 8601 format of the date.
	Jira        string         `json:"jira,omitempty"`        // The Jira format of the date.
	Friendly    string         `json:"friendly,omitempty"`    // The friendly format of the date.
	EpochMillis int            `json:"epochMillis,omitempty"` // The epoch milliseconds of the date.
}

CustomerRequestDateScheme represents a date for a customer request.

type CustomerRequestLinksScheme

type CustomerRequestLinksScheme struct {
	Self     string `json:"self,omitempty"`     // The URL of the customer request itself.
	JiraREST string `json:"jiraRest,omitempty"` // The Jira REST API link for the customer request.
	Web      string `json:"web,omitempty"`      // The web link for the customer request.
	Agent    string `json:"agent,omitempty"`    // The agent link for the customer request.
}

CustomerRequestLinksScheme represents the links related to a customer request.

type CustomerRequestPageScheme

type CustomerRequestPageScheme struct {
	Size       int                          `json:"size,omitempty"`       // The number of customer requests on the page.
	Start      int                          `json:"start,omitempty"`      // The index of the first customer request on the page.
	Limit      int                          `json:"limit,omitempty"`      // The maximum number of customer requests that can be on the page.
	IsLastPage bool                         `json:"isLastPage,omitempty"` // Indicates if this is the last page of customer requests.
	Values     []*CustomerRequestScheme     `json:"values,omitempty"`     // The customer requests on the page.
	Expands    []string                     `json:"_expands,omitempty"`   // Additional data related to the customer requests.
	Links      *CustomerRequestsLinksScheme `json:"_links,omitempty"`     // Links related to the page of customer requests.
}

CustomerRequestPageScheme represents a page of customer requests.

type CustomerRequestReporterScheme

type CustomerRequestReporterScheme struct {
	AccountID    string `json:"accountId,omitempty"`    // The account ID of the reporter.
	Name         string `json:"name,omitempty"`         // The name of the reporter.
	Key          string `json:"key,omitempty"`          // The key of the reporter.
	EmailAddress string `json:"emailAddress,omitempty"` // The email address of the reporter.
	DisplayName  string `json:"displayName,omitempty"`  // The display name of the reporter.
	Active       bool   `json:"active,omitempty"`       // Indicates if the reporter is active.
	TimeZone     string `json:"timeZone,omitempty"`     // The time zone of the reporter.
}

CustomerRequestReporterScheme represents a reporter for a customer request.

type CustomerRequestRequestFieldValueScheme

type CustomerRequestRequestFieldValueScheme struct {
	FieldID string      `json:"fieldId,omitempty"` // The ID of the field.
	Label   string      `json:"label,omitempty"`   // The label of the field.
	Value   interface{} `json:"value,omitempty"`   // The value of the field.
}

CustomerRequestRequestFieldValueScheme represents the field value of a customer request.

type CustomerRequestScheme

type CustomerRequestScheme struct {
	IssueID            string                                    `json:"issueId,omitempty"`            // The issue ID of the customer request.
	IssueKey           string                                    `json:"issueKey,omitempty"`           // The issue key of the customer request.
	RequestTypeID      string                                    `json:"requestTypeId,omitempty"`      // The request type ID of the customer request.
	RequestType        *CustomerRequestTypeScheme                `json:"requestType,omitempty"`        // The request type of the customer request.
	ServiceDeskID      string                                    `json:"serviceDeskId,omitempty"`      // The service desk ID of the customer request.
	ServiceDesk        *CustomerRequestServiceDeskScheme         `json:"serviceDesk,omitempty"`        // The service desk of the customer request.
	CreatedDate        *CustomerRequestDateScheme                `json:"createdDate,omitempty"`        // The created date of the customer request.
	Reporter           *CustomerRequestReporterScheme            `json:"reporter,omitempty"`           // The reporter of the customer request.
	RequestFieldValues []*CustomerRequestRequestFieldValueScheme `json:"requestFieldValues,omitempty"` // The field values of the customer request.
	CurrentStatus      *CustomerRequestCurrentStatusScheme       `json:"currentStatus,omitempty"`      // The current status of the customer request.
	Expands            []string                                  `json:"_expands,omitempty"`           // The fields to expand in the customer request.
	Links              *CustomerRequestLinksScheme               `json:"_links,omitempty"`             // The links related to the customer request.
}

CustomerRequestScheme represents a customer request.

type CustomerRequestServiceDeskScheme

type CustomerRequestServiceDeskScheme struct {
	ID          string `json:"id,omitempty"`          // The ID of the service desk.
	ProjectID   string `json:"projectId,omitempty"`   // The project ID for the service desk.
	ProjectName string `json:"projectName,omitempty"` // The project name for the service desk.
	ProjectKey  string `json:"projectKey,omitempty"`  // The project key for the service desk.
}

CustomerRequestServiceDeskScheme represents a service desk for a customer request.

type CustomerRequestTransitionPageLinkScheme

type CustomerRequestTransitionPageLinkScheme struct {
	Self    string `json:"self,omitempty"`    // The URL of the page itself.
	Base    string `json:"base,omitempty"`    // The base URL for the links.
	Context string `json:"context,omitempty"` // The context for the links.
	Next    string `json:"next,omitempty"`    // The URL for the next page of customer request transitions.
	Prev    string `json:"prev,omitempty"`    // The URL for the previous page of customer request transitions.
}

CustomerRequestTransitionPageLinkScheme represents links related to a page of customer request transitions.

type CustomerRequestTransitionPageScheme

type CustomerRequestTransitionPageScheme struct {
	Size       int                                      `json:"size,omitempty"`       // The number of customer request transitions on the page.
	Start      int                                      `json:"start,omitempty"`      // The index of the first customer request transition on the page.
	Limit      int                                      `json:"limit,omitempty"`      // The maximum number of customer request transitions that can be on the page.
	IsLastPage bool                                     `json:"isLastPage,omitempty"` // Indicates if this is the last page of customer request transitions.
	Values     []*CustomerRequestTransitionScheme       `json:"values,omitempty"`     // The customer request transitions on the page.
	Expands    []string                                 `json:"_expands,omitempty"`   // Additional data related to the customer request transitions.
	Links      *CustomerRequestTransitionPageLinkScheme `json:"_links,omitempty"`     // Links related to the page of customer request transitions.
}

CustomerRequestTransitionPageScheme represents a page of customer request transitions.

type CustomerRequestTransitionScheme

type CustomerRequestTransitionScheme struct {
	ID   string `json:"id,omitempty"`   // The ID of the customer request transition.
	Name string `json:"name,omitempty"` // The name of the customer request transition.
}

CustomerRequestTransitionScheme represents a customer request transition.

type CustomerRequestTypeScheme

type CustomerRequestTypeScheme struct {
	ID            string   `json:"id,omitempty"`            // The ID of the customer request type.
	Name          string   `json:"name,omitempty"`          // The name of the customer request type.
	Description   string   `json:"description,omitempty"`   // The description of the customer request type.
	HelpText      string   `json:"helpText,omitempty"`      // The help text for the customer request type.
	IssueTypeID   string   `json:"issueTypeId,omitempty"`   // The issue type ID for the customer request type.
	ServiceDeskID string   `json:"serviceDeskId,omitempty"` // The service desk ID for the customer request type.
	GroupIDs      []string `json:"groupIds,omitempty"`      // The group IDs for the customer request type.
}

CustomerRequestTypeScheme represents a type of customer request.

type CustomerRequestsLinksScheme

type CustomerRequestsLinksScheme struct {
	Self    string `json:"self,omitempty"`    // The URL of the page itself.
	Base    string `json:"base,omitempty"`    // The base URL for the links.
	Context string `json:"context,omitempty"` // The context for the links.
	Next    string `json:"next,omitempty"`    // The URL for the next page of customer requests.
	Prev    string `json:"prev,omitempty"`    // The URL for the previous page of customer requests.
}

CustomerRequestsLinksScheme represents links related to a page of customer requests.

type CustomerScheme

type CustomerScheme struct {
	AccountID    string              `json:"accountId,omitempty"`    // The account ID of the customer.
	Name         string              `json:"name,omitempty"`         // The name of the customer.
	Key          string              `json:"key,omitempty"`          // The key of the customer.
	EmailAddress string              `json:"emailAddress,omitempty"` // The email address of the customer.
	DisplayName  string              `json:"displayName,omitempty"`  // The display name of the customer.
	Active       bool                `json:"active,omitempty"`       // Indicates if the customer is active.
	TimeZone     string              `json:"timeZone,omitempty"`     // The time zone of the customer.
	Links        *CustomerLinkScheme `json:"_links,omitempty"`       // Links related to the customer.
}

CustomerScheme represents a customer in a system.

type DashboardPageScheme

type DashboardPageScheme struct {
	StartAt    int                `json:"startAt,omitempty"`    // The starting index of the page.
	MaxResults int                `json:"maxResults,omitempty"` // The maximum number of results in the page.
	Total      int                `json:"total,omitempty"`      // The total number of dashboards.
	Dashboards []*DashboardScheme `json:"dashboards,omitempty"` // The dashboards in the page.
}

DashboardPageScheme represents a page of dashboards in Jira.

type DashboardPayloadScheme

type DashboardPayloadScheme struct {
	Name             string                   `json:"name,omitempty"`             // The name of the dashboard.
	Description      string                   `json:"description,omitempty"`      // The description of the dashboard.
	SharePermissions []*SharePermissionScheme `json:"sharePermissions,omitempty"` // The share permissions of the dashboard.
	EditPermissions  []*SharePermissionScheme `json:"editPermissions,omitempty"`  // The edit permissions of the dashboard.
}

DashboardPayloadScheme represents the payload for a dashboard in Jira.

type DashboardScheme

type DashboardScheme struct {
	ID               string                   `json:"id,omitempty"`               // The ID of the dashboard.
	IsFavourite      bool                     `json:"isFavourite,omitempty"`      // Indicates if the dashboard is a favourite.
	Name             string                   `json:"name,omitempty"`             // The name of the dashboard.
	Owner            *UserScheme              `json:"owner,omitempty"`            // The owner of the dashboard.
	Popularity       int                      `json:"popularity,omitempty"`       // The popularity of the dashboard.
	Rank             int                      `json:"rank,omitempty"`             // The rank of the dashboard.
	Self             string                   `json:"self,omitempty"`             // The URL of the dashboard.
	SharePermissions []*SharePermissionScheme `json:"sharePermissions,omitempty"` // The share permissions of the dashboard.
	EditPermission   []*SharePermissionScheme `json:"editPermissions,omitempty"`  // The edit permissions of the dashboard.
	View             string                   `json:"view,omitempty"`             // The view of the dashboard.
}

DashboardScheme represents a dashboard in Jira.

type DashboardSearchOptionsScheme

type DashboardSearchOptionsScheme struct {
	DashboardName       string   // The name of the dashboard.
	OwnerAccountID      string   // The account ID of the owner of the dashboard.
	GroupPermissionName string   // The name of the group permission of the dashboard.
	OrderBy             string   // The order by criteria of the dashboard.
	Expand              []string // The fields to be expanded in the dashboard.
}

DashboardSearchOptionsScheme represents the search options for a dashboard in Jira.

type DashboardSearchPageScheme

type DashboardSearchPageScheme struct {
	Self       string             `json:"self,omitempty"`       // The URL of the search page.
	MaxResults int                `json:"maxResults,omitempty"` // The maximum number of results in the search page.
	StartAt    int                `json:"startAt,omitempty"`    // The starting index of the search page.
	Total      int                `json:"total,omitempty"`      // The total number of dashboards in the search page.
	IsLast     bool               `json:"isLast,omitempty"`     // Indicates if the search page is the last one.
	Values     []*DashboardScheme `json:"values,omitempty"`     // The dashboards in the search page.
}

DashboardSearchPageScheme represents a search page of dashboards in Jira.

type DateScheme

type DateScheme time.Time

DateScheme is a custom time type for Jira dates.

func (*DateScheme) MarshalJSON

func (d *DateScheme) MarshalJSON() ([]byte, error)

MarshalJSON marshals the DateScheme to JSON.

func (*DateScheme) UnmarshalJSON

func (d *DateScheme) UnmarshalJSON(data []byte) error

UnmarshalJSON unmarshals the DateScheme from JSON.

type DateTimeScheme

type DateTimeScheme time.Time

DateTimeScheme is a custom time type for Jira times.

func (*DateTimeScheme) MarshalJSON

func (d *DateTimeScheme) MarshalJSON() ([]byte, error)

MarshalJSON marshals the DateTimeScheme to JSON.

func (*DateTimeScheme) UnmarshalJSON

func (d *DateTimeScheme) UnmarshalJSON(data []byte) error

UnmarshalJSON unmarshals the DateTimeScheme from JSON.

type DetailedVersionScheme

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

DetailedVersionScheme represents a detailed version in Confluence.

type EntityPropertyScheme

type EntityPropertyScheme struct {
	Key   string      `json:"key"`   // The key of the entity property.
	Value interface{} `json:"value"` // The value of the entity property.
}

EntityPropertyScheme represents an entity property in Jira.

type EpicColorScheme

type EpicColorScheme struct {
	Key string `json:"key,omitempty"` // The key of the color scheme.
}

EpicColorScheme represents the color scheme of an epic. Key is the key of the color scheme.

type EpicScheme

type EpicScheme struct {
	ID      int              `json:"id,omitempty"`      // The ID of the epic.
	Key     string           `json:"key,omitempty"`     // The key of the epic.
	Self    string           `json:"self,omitempty"`    // The self URL of the epic.
	Name    string           `json:"name,omitempty"`    // The name of the epic.
	Summary string           `json:"summary,omitempty"` // The summary of the epic.
	Color   *EpicColorScheme `json:"color,omitempty"`   // The color scheme of the epic.
	Done    bool             `json:"done,omitempty"`    // The status of the epic.
}

EpicScheme represents an agile epic.

type EventNotificationScheme

type EventNotificationScheme struct {
	Expand           string             `json:"expand,omitempty"`           // The expand field for the event notification.
	ID               int                `json:"id,omitempty"`               // The ID of the event notification.
	NotificationType string             `json:"notificationType,omitempty"` // The type of the event notification.
	Parameter        string             `json:"parameter,omitempty"`        // The parameter of the event notification.
	EmailAddress     string             `json:"emailAddress,omitempty"`     // The email address associated with the event notification.
	Group            *GroupScheme       `json:"group,omitempty"`            // The group associated with the event notification.
	Field            *IssueFieldScheme  `json:"field,omitempty"`            // The field associated with the event notification.
	ProjectRole      *ProjectRoleScheme `json:"projectRole,omitempty"`      // The project role associated with the event notification.
	User             *UserScheme        `json:"user,omitempty"`             // The user associated with the event notification.
}

EventNotificationScheme represents an event notification in Jira.

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

ExpandableScheme represents the fields that can be expanded in the content.

type FieldConfigurationIssueTypeItemPageScheme

type FieldConfigurationIssueTypeItemPageScheme struct {
	MaxResults int                                      `json:"maxResults,omitempty"` // The maximum number of results in the page.
	StartAt    int                                      `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                                      `json:"total,omitempty"`      // The total number of field configuration items.
	IsLast     bool                                     `json:"isLast,omitempty"`     // Indicates if the page is the last one.
	Values     []*FieldConfigurationIssueTypeItemScheme `json:"values,omitempty"`     // The field configuration items in the page.
}

FieldConfigurationIssueTypeItemPageScheme represents a page of field configuration items in Jira.

type FieldConfigurationIssueTypeItemScheme

type FieldConfigurationIssueTypeItemScheme struct {
	FieldConfigurationSchemeID string `json:"fieldConfigurationSchemeId,omitempty"` // The ID of the field configuration scheme.
	IssueTypeID                string `json:"issueTypeId,omitempty"`                // The ID of the issue type.
	FieldConfigurationID       string `json:"fieldConfigurationId,omitempty"`       // The ID of the field configuration.
}

FieldConfigurationIssueTypeItemScheme represents a field configuration item in Jira.

type FieldConfigurationItemPageScheme

type FieldConfigurationItemPageScheme struct {
	MaxResults int                             `json:"maxResults,omitempty"` // The maximum number of results in the page.
	StartAt    int                             `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                             `json:"total,omitempty"`      // The total number of field configuration items.
	IsLast     bool                            `json:"isLast,omitempty"`     // Indicates if the page is the last one.
	Values     []*FieldConfigurationItemScheme `json:"values,omitempty"`     // The field configuration items in the page.
}

FieldConfigurationItemPageScheme represents a page of field configuration items in Jira.

type FieldConfigurationItemScheme

type FieldConfigurationItemScheme struct {
	ID          string `json:"id,omitempty"`          // The ID of the field configuration item.
	IsHidden    bool   `json:"isHidden,omitempty"`    // Indicates if the field configuration item is hidden.
	IsRequired  bool   `json:"isRequired,omitempty"`  // Indicates if the field configuration item is required.
	Description string `json:"description,omitempty"` // The description of the field configuration item.
	Renderer    string `json:"renderer,omitempty"`    // The renderer of the field configuration item.
}

FieldConfigurationItemScheme represents a field configuration item in Jira.

type FieldConfigurationPageScheme

type FieldConfigurationPageScheme struct {
	MaxResults int                         `json:"maxResults,omitempty"` // The maximum number of results in the page.
	StartAt    int                         `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                         `json:"total,omitempty"`      // The total number of field configurations.
	IsLast     bool                        `json:"isLast,omitempty"`     // Indicates if the page is the last one.
	Values     []*FieldConfigurationScheme `json:"values,omitempty"`     // The field configurations in the page.
}

FieldConfigurationPageScheme represents a page of field configurations in Jira.

type FieldConfigurationScheme

type FieldConfigurationScheme struct {
	ID          int    `json:"id,omitempty"`          // The ID of the field configuration.
	Name        string `json:"name,omitempty"`        // The name of the field configuration.
	Description string `json:"description,omitempty"` // The description of the field configuration.
	IsDefault   bool   `json:"isDefault,omitempty"`   // Indicates if the field configuration is the default one.
}

FieldConfigurationScheme represents a field configuration in Jira.

type FieldConfigurationSchemeAssignPayload

type FieldConfigurationSchemeAssignPayload struct {
	FieldConfigurationSchemeID string `json:"fieldConfigurationSchemeId"` // The ID of the field configuration scheme.
	ProjectID                  string `json:"projectId"`                  // The ID of the project.
}

FieldConfigurationSchemeAssignPayload represents the payload for assigning a field configuration scheme in Jira.

type FieldConfigurationSchemePageScheme

type FieldConfigurationSchemePageScheme struct {
	MaxResults int                               `json:"maxResults,omitempty"` // The maximum number of results in the page.
	StartAt    int                               `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                               `json:"total,omitempty"`      // The total number of field configurations.
	IsLast     bool                              `json:"isLast,omitempty"`     // Indicates if the page is the last one.
	Values     []*FieldConfigurationSchemeScheme `json:"values,omitempty"`     // The field configurations in the page.
}

FieldConfigurationSchemePageScheme represents a page of field configurations in Jira.

type FieldConfigurationSchemeProjectPageScheme

type FieldConfigurationSchemeProjectPageScheme struct {
	MaxResults int                                      `json:"maxResults,omitempty"` // The maximum number of results in the page.
	StartAt    int                                      `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                                      `json:"total,omitempty"`      // The total number of field configuration scheme projects.
	IsLast     bool                                     `json:"isLast,omitempty"`     // Indicates if the page is the last one.
	Values     []*FieldConfigurationSchemeProjectScheme `json:"values,omitempty"`     // The field configuration scheme projects in the page.
}

FieldConfigurationSchemeProjectPageScheme represents a page of field configuration scheme projects in Jira.

type FieldConfigurationSchemeProjectScheme

type FieldConfigurationSchemeProjectScheme struct {
	ProjectIDs               []string                        `json:"projectIds,omitempty"`               // The IDs of the projects.
	FieldConfigurationScheme *FieldConfigurationSchemeScheme `json:"fieldConfigurationScheme,omitempty"` // The field configuration scheme.
}

FieldConfigurationSchemeProjectScheme represents a field configuration scheme project in Jira.

type FieldConfigurationSchemeScheme

type FieldConfigurationSchemeScheme struct {
	ID          string `json:"id,omitempty"`          // The ID of the field configuration.
	Name        string `json:"name,omitempty"`        // The name of the field configuration.
	Description string `json:"description,omitempty"` // The description of the field configuration.
}

FieldConfigurationSchemeScheme represents a field configuration in Jira.

type FieldConfigurationToIssueTypeMappingPayloadScheme

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

FieldConfigurationToIssueTypeMappingPayloadScheme represents the payload for mapping a field configuration to an issue type in Jira.

type FieldConfigurationToIssueTypeMappingScheme

type FieldConfigurationToIssueTypeMappingScheme struct {
	IssueTypeID          string `json:"issueTypeId,omitempty"`          // The ID of the issue type.
	FieldConfigurationID string `json:"fieldConfigurationId,omitempty"` // The ID of the field configuration.
}

FieldConfigurationToIssueTypeMappingScheme represents a mapping of a field configuration to an issue type in Jira.

type FieldContextDefaultPayloadScheme

type FieldContextDefaultPayloadScheme struct {
	DefaultValues []*CustomFieldDefaultValueScheme `json:"defaultValues,omitempty"` // The default values for the field context.
}

FieldContextDefaultPayloadScheme represents the payload for a default field context in Jira.

type FieldContextOptionListScheme

type FieldContextOptionListScheme struct {
	Options []*CustomFieldContextOptionScheme `json:"options,omitempty"` // The field context options.
}

FieldContextOptionListScheme represents a list of field context options in Jira.

type FieldContextOptionsScheme

type FieldContextOptionsScheme struct {
	IsAnyIssueType  bool  // Indicates if any issue type is applicable.
	IsGlobalContext bool  // Indicates if the context is global.
	ContextID       []int // The IDs of the contexts.
}

FieldContextOptionsScheme represents the options for a field context in Jira.

type FieldContextPayloadScheme

type FieldContextPayloadScheme struct {
	IssueTypeIDs []int  `json:"issueTypeIds,omitempty"` // The IDs of the issue types.
	ProjectIDs   []int  `json:"projectIds,omitempty"`   // The IDs of the projects.
	Name         string `json:"name,omitempty"`         // The name of the field context.
	Description  string `json:"description,omitempty"`  // The description of the field context.
}

FieldContextPayloadScheme represents the payload for a field context in Jira.

type FieldContextScheme

type FieldContextScheme struct {
	ID              string   `json:"id,omitempty"`              // The ID of the field context.
	Name            string   `json:"name,omitempty"`            // The name of the field context.
	Description     string   `json:"description,omitempty"`     // The description of the field context.
	IsGlobalContext bool     `json:"isGlobalContext,omitempty"` // Indicates if the context is global.
	IsAnyIssueType  bool     `json:"isAnyIssueType,omitempty"`  // Indicates if any issue type is applicable.
	ProjectIDs      []string `json:"projectIds,omitempty"`      // The IDs of the projects.
	IssueTypeIDs    []string `json:"issueTypeIds,omitempty"`    // The IDs of the issue types.
}

FieldContextScheme represents a field context in Jira.

type FieldOptionContextParams

type FieldOptionContextParams struct {
	OptionID    int  // The ID of the option.
	OnlyOptions bool // Indicates if only options are applicable.
}

FieldOptionContextParams represents the parameters for a field option context in Jira.

type FieldSearchOptionsScheme

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

FieldSearchOptionsScheme represents the search options for a field in Jira.

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

FieldSearchPageScheme represents a search page of fields in Jira.

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

FilterDetailScheme represents the details of a filter in Jira.

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

FilterPageScheme represents a page of filters in Jira.

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

FilterPayloadScheme represents the payload for a filter in Jira.

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

FilterScheme represents a filter in Jira.

type FilterSearchOptionScheme

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

FilterSearchOptionScheme represents the search options for a filter in Jira.

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

FilterSearchPageScheme represents a page of filter details in Jira.

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

FilterSubscriptionPageScheme represents a page of filter subscriptions in Jira.

type FilterSubscriptionScheme

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

FilterSubscriptionScheme represents a filter subscription in Jira.

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

FilterUsersScheme represents the users of a filter in Jira.

type GenericActionSuccessScheme

type GenericActionSuccessScheme struct {
	Message string `json:"message,omitempty"` // The success message.
}

GenericActionSuccessScheme represents a successful action.

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 // The fields to expand in the content attachments.
	FileName  string   // The file name of the content attachments.
	MediaType string   // The media type of the content attachments.
}

GetContentAttachmentsOptionsScheme represents the options for getting content attachments.

type GetContentOptionsScheme

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

GetContentOptionsScheme represents the options for getting content.

type GetSpacesOptionScheme

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

GetSpacesOptionScheme represents the options for getting spaces in Confluence.

type GetSpacesOptionSchemeV2

type GetSpacesOptionSchemeV2 struct {
	IDs               []string // The IDs of the spaces.
	Keys              []string // The keys of the spaces.
	Type              string   // The type of the spaces.
	Status            string   // The status of the spaces.
	Labels            []string // The labels of the spaces.
	Sort              string   // The sort order of the spaces.
	DescriptionFormat string   // The format of the description of the spaces.
	SerializeIDs      bool     // Indicates if the IDs of the spaces should be serialized.
}

GetSpacesOptionSchemeV2 represents the options for getting spaces in Confluence.

type GroupBulkOptionsScheme

type GroupBulkOptionsScheme struct {
	GroupIDs   []string // The IDs of the groups.
	GroupNames []string // The names of the groups.
}

GroupBulkOptionsScheme represents the bulk options for a group in Jira.

type GroupDetailScheme

type GroupDetailScheme struct {
	Self    string `json:"self,omitempty"`    // The URL of the group.
	Name    string `json:"name,omitempty"`    // The name of the group.
	GroupID string `json:"groupId,omitempty"` // The ID of the group.
}

GroupDetailScheme represents the details of a group in Jira.

func ParseMultiGroupPickerCustomField

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"`       // The URL of the page.
	NextPage   string                   `json:"nextPage,omitempty"`   // The URL of the next page.
	MaxResults int                      `json:"maxResults,omitempty"` // The maximum number of results in the page.
	StartAt    int                      `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                      `json:"total,omitempty"`      // The total number of group members.
	IsLast     bool                     `json:"isLast,omitempty"`     // Indicates if the page is the last one.
	Values     []*GroupUserDetailScheme `json:"values,omitempty"`     // The group members in the page.
}

GroupMemberPageScheme represents a page of group members in Jira.

type GroupPermissionScheme

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

GroupPermissionScheme represents a group in a subject in a permission in Confluence.

type GroupScheme

type GroupScheme struct {
	Name   string               `json:"name,omitempty"`   // The name of the group.
	Self   string               `json:"self,omitempty"`   // The URL of the group.
	Users  *GroupUserPageScheme `json:"users,omitempty"`  // The users in the group.
	Expand string               `json:"expand,omitempty"` // The fields to be expanded in the group.
}

GroupScheme represents a group in Jira.

type GroupUserDetailScheme

type GroupUserDetailScheme struct {
	Self         string `json:"self"`         // The URL of the group user.
	Name         string `json:"name"`         // The name of the group user.
	Key          string `json:"key"`          // The key of the group user.
	AccountID    string `json:"accountId"`    // The account ID of the group user.
	EmailAddress string `json:"emailAddress"` // The email address of the group user.
	DisplayName  string `json:"displayName"`  // The display name of the group user.
	Active       bool   `json:"active"`       // Indicates if the group user is active.
	TimeZone     string `json:"timeZone"`     // The time zone of the group user.
	AccountType  string `json:"accountType"`  // The account type of the group user.
}

GroupUserDetailScheme represents the details of a group user in Jira.

type GroupUserPageScheme

type GroupUserPageScheme struct {
	Size       int           `json:"size,omitempty"`        // The size of the page.
	Items      []*UserScheme `json:"items,omitempty"`       // The users in the page.
	MaxResults int           `json:"max-results,omitempty"` // The maximum number of results in the page.
	StartIndex int           `json:"start-index,omitempty"` // The starting index of the page.
	EndIndex   int           `json:"end-index,omitempty"`   // The ending index of the page.
}

GroupUserPageScheme represents a page of users in a group in Jira.

type GroupUserPickerFindOptionScheme

type GroupUserPickerFindOptionScheme struct {
	// Query is the search string.
	Query string `url:"query"`
	// MaxResults is the maximum number of items to return in each list.
	MaxResults int `url:"maxResults,omitempty"`
	// ShowAvatar indicates whether the user avatar should be returned.
	ShowAvatar bool `url:"showAvatar,omitempty"`
	// FieldID is the custom field ID of the field this request is for.
	FieldID string `url:"fieldId,omitempty"`
	// ProjectIDs is the ID of a project that returned users and groups must have permission to view.
	// This parameter is only used when FieldID is present.
	ProjectIDs []string `url:"projectId,omitempty"`
	// IssueTypeIDs is the ID of an issue type that returned users and groups must have permission to view.
	// Special values, such as -1 (all standard issue types) and -2 (all subtask issue types), are supported.
	// This parameter is only used when FieldID is present.
	IssueTypeIDs []string `url:"issueTypeId,omitempty"`
	// AvatarSize is the size of the avatar to return.
	// Possible values are:
	// xsmall, xsmall@2x, xsmall@3x, small, small@2x, small@3x, medium, medium@2x, medium@3x, large,
	// large@2x, large@3x, xlarge, xlarge@2x, xlarge@3x, xxlarge, xxlarge@2x, xxlarge@3x, xxxlarge,
	// xxxlarge@2x, xxxlarge@3x
	AvatarSize string `url:"avatarSize,omitempty"`
	// CaseInsensitive indicates whether the search for groups should be case-insensitive.
	CaseInsensitive bool `url:"caseInsensitive,omitempty"`
	// ExcludeConnectAddons indicates whether Connect app users and groups should be excluded from the search results.
	ExcludeConnectAddons bool `url:"excludeConnectAddons,omitempty"`
}

GroupUserPickerFindOptionScheme represents the options for finding users and groups in Jira.

type GroupUserPickerFindScheme

type GroupUserPickerFindScheme struct {
	// Groups is the list of groups found in a search, including header text (Showing X of Y matching groups)
	// and total of matched groups.
	Groups *GroupUserPickerFoundGroupsScheme `json:"groups"`
	// Users is the list of users found in a search.
	Users *GroupUserPickerFoundUsersScheme `json:"users"`
}

GroupUserPickerFindScheme represents the result of finding users and groups in Jira.

type GroupUserPickerFoundGroupLabelScheme

type GroupUserPickerFoundGroupLabelScheme struct {
	// Text is the group label name.
	Text string `json:"text"`
	// Title is the title of the group label.
	Title string `json:"title"`
	// Type is the type of the group label.
	// Valid values: ADMIN, SINGLE, MULTIPLE
	Type string `json:"type"`
}

GroupUserPickerFoundGroupLabelScheme represents a label associated with a group.

type GroupUserPickerFoundGroupScheme

type GroupUserPickerFoundGroupScheme struct {
	// GroupID is the ID of the group, which uniquely identifies the group across all Atlassian products.
	// For example, 952d12c3-5b5b-4d04-bb32-44d383afc4b2.
	GroupID string `json:"groupId"`
	// HTML is the group name with the matched query string highlighted with the HTML bold tag.
	HTML string `json:"html"`
	// Labels is the list of labels associated with the group.
	Labels []*GroupUserPickerFoundGroupLabelScheme `json:"labels"`
	// Name is the name of the group.
	// The name of a group is mutable, to reliably identify a group use GroupID.
	Name string `json:"name"`
}

GroupUserPickerFoundGroupScheme represents a group found in a search.

type GroupUserPickerFoundGroupsScheme

type GroupUserPickerFoundGroupsScheme struct {
	// Groups is the list of groups found in a search.
	Groups []*GroupUserPickerFoundGroupScheme `json:"groups"`
	// Header is the header text indicating the number of groups in the response and the total number of groups found in the search.
	Header string `json:"header"`
	// Total is the total number of groups found in the search.
	Total int `json:"total"`
}

GroupUserPickerFoundGroupsScheme represents the groups found in a search.

type GroupUserPickerFoundUserScheme

type GroupUserPickerFoundUserScheme struct {
	// AccountID is the account ID of the user, which uniquely identifies the user across all Atlassian products.
	// For example, 5b10ac8d82e05b22cc7d4ef5.
	AccountID string `json:"accountId"`
	// AvatarURL is the avatar URL of the user.
	AvatarURL string `json:"avatarUrl"`
	// DisplayName is the display name of the user. Depending on the user’s privacy setting, this may be returned as null.
	DisplayName string `json:"displayName"`
	// HTML is the display name, email address, and key of the user with the matched query string highlighted with the HTML bold tag.
	HTML string `json:"html"`
}

GroupUserPickerFoundUserScheme represents a user found in a search.

type GroupUserPickerFoundUsersScheme

type GroupUserPickerFoundUsersScheme struct {
	// Users is the list of users found in a search.
	Users []*GroupUserPickerFoundUserScheme `json:"users"`
	// Header is the header text indicating the number of groups in the response and the total number of groups found in the search.
	Header string `json:"header"`
	// Total is the total number of groups found in the search.
	Total int `json:"total"`
}

GroupUserPickerFoundUsersScheme represents the users found in a search.

type IconScheme

type IconScheme struct {
	ID    string `json:"id,omitempty"`    // The ID of the icon.
	Name  string `json:"name,omitempty"`  // The name of the icon.
	URL16 string `json:"url16,omitempty"` // The URL for the 16x16 version of the icon.
	URL48 string `json:"url48,omitempty"` // The URL for the 48x48 version of the icon.
}

IconScheme represents an asset icon. ID is the unique identifier of the icon. Name is the name of the icon. URL16 is the URL for the 16x16 version of the icon. URL48 is the URL for the 48x48 version of the icon.

type InfoBuildDataScheme

type InfoBuildDataScheme struct {
	ISO8601     DateTimeScheme `json:"iso8601,omitempty"`     // The ISO 8601 format of the build date.
	Jira        string         `json:"jira,omitempty"`        // The Jira format of the build date.
	Friendly    string         `json:"friendly,omitempty"`    // The friendly format of the build date.
	EpochMillis int64          `json:"epochMillis,omitempty"` // The epoch milliseconds of the build date.
}

InfoBuildDataScheme represents the build date of a system.

type InfoLinkScheme

type InfoLinkScheme struct {
	Self string `json:"self,omitempty"` // The URL of the system itself.
}

InfoLinkScheme represents a link related to a system.

type InfoScheme

type InfoScheme struct {
	Version          string               `json:"version,omitempty"`          // The version of the system.
	PlatformVersion  string               `json:"platformVersion,omitempty"`  // The platform version of the system.
	BuildDate        *InfoBuildDataScheme `json:"buildDate,omitempty"`        // The build date of the system.
	BuildChangeSet   string               `json:"buildChangeSet,omitempty"`   // The build change set of the system.
	IsLicensedForUse bool                 `json:"isLicensedForUse,omitempty"` // Indicates if the system is licensed for use.
	Links            *InfoLinkScheme      `json:"_links,omitempty"`           // Links related to the system.
}

InfoScheme represents the information about a system.

type IssueAttachmentHumanMetadataEntryScheme

type IssueAttachmentHumanMetadataEntryScheme struct {
	Path      string `json:"path,omitempty"`      // The path of the entry.
	Index     int    `json:"index,omitempty"`     // The index of the entry.
	Size      string `json:"size,omitempty"`      // The size of the entry.
	MediaType string `json:"mediaType,omitempty"` // The media type of the entry.
	Label     string `json:"label,omitempty"`     // The label of the entry.
}

IssueAttachmentHumanMetadataEntryScheme represents an entry of the human-readable metadata of an attachment of an issue in Jira.

type IssueAttachmentHumanMetadataScheme

type IssueAttachmentHumanMetadataScheme struct {
	ID              int                                        `json:"id,omitempty"`              // The ID of the attachment.
	Name            string                                     `json:"name,omitempty"`            // The name of the attachment.
	Entries         []*IssueAttachmentHumanMetadataEntryScheme `json:"entries,omitempty"`         // The entries of the attachment.
	TotalEntryCount int                                        `json:"totalEntryCount,omitempty"` // The total count of entries of the attachment.
	MediaType       string                                     `json:"mediaType,omitempty"`       // The media type of the attachment.
}

IssueAttachmentHumanMetadataScheme represents the human-readable metadata of an attachment of an issue in Jira.

type IssueAttachmentMetadataScheme

type IssueAttachmentMetadataScheme struct {
	ID        int         `json:"id,omitempty"`        // The ID of the attachment.
	Self      string      `json:"self,omitempty"`      // The URL of the attachment.
	Filename  string      `json:"filename,omitempty"`  // The filename of the attachment.
	Author    *UserScheme `json:"author,omitempty"`    // The author of the attachment.
	Created   string      `json:"created,omitempty"`   // The creation time of the attachment.
	Size      int         `json:"size,omitempty"`      // The size of the attachment.
	MimeType  string      `json:"mimeType,omitempty"`  // The MIME type of the attachment.
	Content   string      `json:"content,omitempty"`   // The content of the attachment.
	Thumbnail string      `json:"thumbnail,omitempty"` // The thumbnail of the attachment.
}

IssueAttachmentMetadataScheme represents the metadata of an attachment of an issue in Jira.

type IssueAttachmentScheme

type IssueAttachmentScheme struct {
	Self      string      `json:"self,omitempty"`      // The URL of the attachment.
	ID        string      `json:"id,omitempty"`        // The ID of the attachment.
	Filename  string      `json:"filename,omitempty"`  // The filename of the attachment.
	Author    *UserScheme `json:"author,omitempty"`    // The author of the attachment.
	Created   string      `json:"created,omitempty"`   // The creation time of the attachment.
	Size      int         `json:"size,omitempty"`      // The size of the attachment.
	MimeType  string      `json:"mimeType,omitempty"`  // The MIME type of the attachment.
	Content   string      `json:"content,omitempty"`   // The content of the attachment.
	Thumbnail string      `json:"thumbnail,omitempty"` // The thumbnail of the attachment.
}

IssueAttachmentScheme represents an attachment of an issue in Jira.

type IssueBulkResponseErrorScheme

type IssueBulkResponseErrorScheme struct {
	Status        int `json:"status"` // The status of the error.
	ElementErrors struct {
		ErrorMessages []string `json:"errorMessages"` // The error messages.
		Status        int      `json:"status"`        // The status of the error messages.
	} `json:"elementErrors"` // The element errors in the response.
	FailedElementNumber int `json:"failedElementNumber"` // The number of the failed element.
}

IssueBulkResponseErrorScheme represents the error scheme of a bulk issue operation in Jira.

type IssueBulkResponseScheme

type IssueBulkResponseScheme struct {
	Issues []struct {
		ID   string `json:"id,omitempty"`   // The ID of the issue.
		Key  string `json:"key,omitempty"`  // The key of the issue.
		Self string `json:"self,omitempty"` // The URL of the issue.
	} `json:"issues,omitempty"` // The issues in the response.
	Errors []*IssueBulkResponseErrorScheme `json:"errors,omitempty"` // The errors in the response.
}

IssueBulkResponseScheme represents the response of a bulk issue operation in Jira.

type IssueBulkSchemeV2

type IssueBulkSchemeV2 struct {
	Payload      *IssueSchemeV2 // The payload of the bulk operation.
	CustomFields *CustomFields  // The custom fields of the bulk operation.
}

IssueBulkSchemeV2 represents the bulk operation scheme for issues in Jira.

type IssueBulkSchemeV3

type IssueBulkSchemeV3 struct {
	Payload      *IssueScheme  // The payload for the bulk operation.
	CustomFields *CustomFields // The custom fields for the bulk operation.
}

IssueBulkSchemeV3 represents a bulk operation on version 3 issues in Jira.

type IssueChangelogAuthor

type IssueChangelogAuthor struct {
	Self         string           `json:"self,omitempty"`         // The URL of the author's profile.
	AccountID    string           `json:"accountId,omitempty"`    // The account ID of the author.
	EmailAddress string           `json:"emailAddress,omitempty"` // The email address of the author.
	AvatarURLs   *AvatarURLScheme `json:"avatarUrls,omitempty"`   // The URLs for different sizes of the author's avatar.
	DisplayName  string           `json:"displayName,omitempty"`  // The display name of the author.
	Active       bool             `json:"active,omitempty"`       // Indicates if the author's account is active.
	TimeZone     string           `json:"timeZone,omitempty"`     // The time zone of the author.
	AccountType  string           `json:"accountType,omitempty"`  // The type of the author's account.
}

IssueChangelogAuthor represents the author of a history in an issue's changelog in Jira.

type IssueChangelogHistoryItemScheme

type IssueChangelogHistoryItemScheme struct {
	Field      string `json:"field,omitempty"`      // The field of the item.
	Fieldtype  string `json:"fieldtype,omitempty"`  // The type of the field.
	FieldID    string `json:"fieldId,omitempty"`    // The ID of the field.
	From       string `json:"from,omitempty"`       // The previous value of the field.
	FromString string `json:"fromString,omitempty"` // The previous value of the field as a string.
	To         string `json:"to,omitempty"`         // The new value of the field.
	ToString   string `json:"toString,omitempty"`   // The new value of the field as a string.
}

IssueChangelogHistoryItemScheme represents an item in a history of an issue's changelog in Jira.

type IssueChangelogHistoryScheme

type IssueChangelogHistoryScheme struct {
	ID      string                             `json:"id,omitempty"`      // The ID of the history.
	Author  *IssueChangelogAuthor              `json:"author,omitempty"`  // The author of the history.
	Created string                             `json:"created,omitempty"` // The creation time of the history.
	Items   []*IssueChangelogHistoryItemScheme `json:"items,omitempty"`   // The items in the history.
}

IssueChangelogHistoryScheme represents a history of changes in an issue's changelog in Jira.

type IssueChangelogScheme

type IssueChangelogScheme struct {
	StartAt    int                            `json:"startAt,omitempty"`    // The starting index of the changelog.
	MaxResults int                            `json:"maxResults,omitempty"` // The maximum number of results in the changelog.
	Total      int                            `json:"total,omitempty"`      // The total number of changes in the changelog.
	Histories  []*IssueChangelogHistoryScheme `json:"histories,omitempty"`  // The history of changes in the changelog.
}

IssueChangelogScheme represents the changelog of an issue in Jira.

type IssueCommentPageScheme

type IssueCommentPageScheme struct {
	StartAt    int                   `json:"startAt,omitempty"`    // The start index of the comments.
	MaxResults int                   `json:"maxResults,omitempty"` // The maximum number of comments per page.
	Total      int                   `json:"total,omitempty"`      // The total number of comments.
	Comments   []*IssueCommentScheme `json:"comments,omitempty"`   // The comments on the page.
}

IssueCommentPageScheme represents a page of issue comments.

type IssueCommentPageSchemeV2

type IssueCommentPageSchemeV2 struct {
	StartAt    int                     `json:"startAt,omitempty"`    // The starting index of the page.
	MaxResults int                     `json:"maxResults,omitempty"` // The maximum number of results in the page.
	Total      int                     `json:"total,omitempty"`      // The total number of comments.
	Comments   []*IssueCommentSchemeV2 `json:"comments,omitempty"`   // The comments in the page.
}

IssueCommentPageSchemeV2 represents a page of issue comments in Jira.

type IssueCommentScheme

type IssueCommentScheme struct {
	Self         string                   `json:"self,omitempty"`         // The self link of the comment.
	ID           string                   `json:"id,omitempty"`           // The ID of the comment.
	Author       *UserScheme              `json:"author,omitempty"`       // The author of the comment.
	RenderedBody string                   `json:"renderedBody,omitempty"` // The rendered body of the comment.
	Body         *CommentNodeScheme       `json:"body,omitempty"`         // The body of the comment.
	JSDPublic    bool                     `json:"jsdPublic,omitempty"`    // Whether the comment is public.
	UpdateAuthor *UserScheme              `json:"updateAuthor,omitempty"` // The author of the last update.
	Created      string                   `json:"created,omitempty"`      // The creation time of the comment.
	Updated      string                   `json:"updated,omitempty"`      // The last update time of the comment.
	Visibility   *CommentVisibilityScheme `json:"visibility,omitempty"`   // The visibility of the comment.
}

IssueCommentScheme represents a comment on an issue.

type IssueCommentSchemeV2

type IssueCommentSchemeV2 struct {
	Self         string                   `json:"self,omitempty"`         // The URL of the comment.
	ID           string                   `json:"id,omitempty"`           // The ID of the comment.
	Body         string                   `json:"body,omitempty"`         // The body of the comment.
	RenderedBody string                   `json:"renderedBody,omitempty"` // The rendered body of the comment.
	Author       *UserScheme              `json:"author,omitempty"`       // The author of the comment.
	JSDPublic    bool                     `json:"jsdPublic,omitempty"`    // Indicates if the comment is public in Jira Service Desk.
	UpdateAuthor *UserScheme              `json:"updateAuthor,omitempty"` // The user who last updated the comment.
	Created      string                   `json:"created,omitempty"`      // The creation time of the comment.
	Updated      string                   `json:"updated,omitempty"`      // The last update time of the comment.
	Visibility   *CommentVisibilityScheme `json:"visibility,omitempty"`   // The visibility of the comment.
}

IssueCommentSchemeV2 represents an issue comment in Jira.

type IssueFieldLastUsedScheme

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

IssueFieldLastUsedScheme represents the last used information of an issue field in Jira.

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

IssueFieldSchemaScheme represents the schema of an issue field in Jira.

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

IssueFieldScheme represents an issue field in Jira.

type IssueFieldsScheme

type IssueFieldsScheme struct {
	Parent                   *ParentScheme              `json:"parent,omitempty"`                   // The parent of the issue.
	IssueType                *IssueTypeScheme           `json:"issuetype,omitempty"`                // The type of the issue.
	IssueLinks               []*IssueLinkScheme         `json:"issuelinks,omitempty"`               // The links associated with the issue.
	Watcher                  *IssueWatcherScheme        `json:"watches,omitempty"`                  // The watchers of the issue.
	Votes                    *IssueVoteScheme           `json:"votes,omitempty"`                    // The votes for the issue.
	Versions                 []*VersionScheme           `json:"versions,omitempty"`                 // The versions associated with the issue.
	Project                  *ProjectScheme             `json:"project,omitempty"`                  // The project the issue belongs to.
	FixVersions              []*VersionScheme           `json:"fixVersions,omitempty"`              // The fix versions for the issue.
	Priority                 *PriorityScheme            `json:"priority,omitempty"`                 // The priority of the issue.
	Components               []*ComponentScheme         `json:"components,omitempty"`               // The components associated with the issue.
	Creator                  *UserScheme                `json:"creator,omitempty"`                  // The user who created the issue.
	Reporter                 *UserScheme                `json:"reporter,omitempty"`                 // The user who reported the issue.
	Assignee                 *UserScheme                `json:"assignee,omitempty"`                 // The user assigned to the issue.
	Resolution               *ResolutionScheme          `json:"resolution,omitempty"`               // The resolution of the issue.
	Resolutiondate           *DateTimeScheme            `json:"resolutiondate,omitempty"`           // The date the issue was resolved.
	Workratio                int                        `json:"workratio,omitempty"`                // The work ratio of the issue.
	StatusCategoryChangeDate *DateTimeScheme            `json:"statuscategorychangedate,omitempty"` // The date the status category changed.
	LastViewed               string                     `json:"lastViewed,omitempty"`               // The last time the issue was viewed.
	Summary                  string                     `json:"summary,omitempty"`                  // The summary of the issue.
	Created                  *DateTimeScheme            `json:"created,omitempty"`                  // The date the issue was created.
	Updated                  *DateTimeScheme            `json:"updated,omitempty"`                  // The date the issue was last updated.
	Labels                   []string                   `json:"labels,omitempty"`                   // The labels associated with the issue.
	Status                   *StatusScheme              `json:"status,omitempty"`                   // The status of the issue.
	Description              *CommentNodeScheme         `json:"description,omitempty"`              // The description of the issue.
	Comment                  *IssueCommentPageScheme    `json:"comment,omitempty"`                  // The comments on the issue.
	Subtasks                 []*IssueScheme             `json:"subtasks,omitempty"`                 // The subtasks of the issue.
	Security                 *SecurityScheme            `json:"security,omitempty"`                 // The security level of the issue.
	Attachment               []*AttachmentScheme        `json:"attachment,omitempty"`               // The attachments of the issue.
	Worklog                  *IssueWorklogADFPageScheme `json:"worklog,omitempty"`                  // The worklog of the issue.
	DueDate                  *DateScheme                `json:"duedate,omitempty"`                  // The due date of the issue.
}

IssueFieldsScheme represents the fields of an issue in Jira.

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           *DateTimeScheme                 `json:"resolutiondate,omitempty"`
	Workratio                int                             `json:"workratio,omitempty"`
	StatusCategoryChangeDate *DateTimeScheme                 `json:"statuscategorychangedate,omitempty"`
	LastViewed               string                          `json:"lastViewed,omitempty"`
	Summary                  string                          `json:"summary,omitempty"`
	Created                  *DateTimeScheme                 `json:"created,omitempty"`
	Updated                  *DateTimeScheme                 `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"`
	DueDate                  *DateScheme                     `json:"duedate,omitempty"`
}

IssueFieldsSchemeV2 represents the fields of an issue in Jira version 2.

type IssueLabelsScheme

type IssueLabelsScheme struct {
	MaxResults int      `json:"maxResults"` // The maximum number of results.
	StartAt    int      `json:"startAt"`    // The starting index of the results.
	Total      int      `json:"total"`      // The total number of results.
	IsLast     bool     `json:"isLast"`     // Indicates if this is the last page of results.
	Values     []string `json:"values"`     // The labels of the issue.
}

IssueLabelsScheme represents the labels of an issue in Jira.

type IssueLinkFieldScheme

type IssueLinkFieldScheme struct {
	IssueLinks []*IssueLinkScheme `json:"issuelinks,omitempty"` // The links in the page.
}

IssueLinkFieldScheme represents the fields of a page of links in Jira.

type IssueLinkFieldsScheme

type IssueLinkFieldsScheme struct {
	IssueType                *IssueTypeScheme    `json:"issuetype,omitempty"`                // The type of the linked issue.
	IssueLinks               []*IssueLinkScheme  `json:"issuelinks,omitempty"`               // The links of the linked issue.
	Watcher                  *IssueWatcherScheme `json:"watches,omitempty"`                  // The watchers of the linked issue.
	Votes                    *IssueVoteScheme    `json:"votes,omitempty"`                    // The votes for the linked issue.
	Versions                 []*VersionScheme    `json:"versions,omitempty"`                 // The versions of the linked issue.
	Project                  *ProjectScheme      `json:"project,omitempty"`                  // The project of the linked issue.
	FixVersions              []*VersionScheme    `json:"fixVersions,omitempty"`              // The fix versions for the linked issue.
	Priority                 *PriorityScheme     `json:"priority,omitempty"`                 // The priority of the linked issue.
	Components               []*ComponentScheme  `json:"components,omitempty"`               // The components of the linked issue.
	Creator                  *UserScheme         `json:"creator,omitempty"`                  // The creator of the linked issue.
	Reporter                 *UserScheme         `json:"reporter,omitempty"`                 // The reporter of the linked issue.
	Assignee                 *UserScheme         `json:"assignee,omitempty"`                 // The assignee of the linked issue.
	Resolution               *ResolutionScheme   `json:"resolution,omitempty"`               // The resolution of the linked issue.
	ResolutionDate           string              `json:"resolutiondate,omitempty"`           // The date the linked issue was resolved.
	Workratio                int                 `json:"workratio,omitempty"`                // The work ratio of the linked issue.
	StatusCategoryChangeDate string              `json:"statuscategorychangedate,omitempty"` // The date the status category of the linked issue changed.
	LastViewed               string              `json:"lastViewed,omitempty"`               // The last time the linked issue was viewed.
	Summary                  string              `json:"summary,omitempty"`                  // The summary of the linked issue.
	Created                  string              `json:"created,omitempty"`                  // The date the linked issue was created.
	Updated                  string              `json:"updated,omitempty"`                  // The date the linked issue was last updated.
	Labels                   []string            `json:"labels,omitempty"`                   // The labels of the linked issue.
	Status                   *StatusScheme       `json:"status,omitempty"`                   // The status of the linked issue.
	Security                 *SecurityScheme     `json:"security,omitempty"`                 // The security level of the linked issue.
}

IssueLinkFieldsScheme represents the fields of a linked issue in Jira.

type IssueLinkPageScheme

type IssueLinkPageScheme struct {
	Expand string                `json:"expand,omitempty"` // The expand option for the page.
	ID     string                `json:"id,omitempty"`     // The ID of the page.
	Self   string                `json:"self,omitempty"`   // The URL of the page.
	Key    string                `json:"key,omitempty"`    // The key of the page.
	Fields *IssueLinkFieldScheme `json:"fields,omitempty"` // The fields of the page.
}

IssueLinkPageScheme represents a page of links in Jira.

type IssueLinkScheme

type IssueLinkScheme struct {
	ID           string             `json:"id,omitempty"`           // The ID of the link.
	Type         *LinkTypeScheme    `json:"type,omitempty"`         // The type of the link.
	InwardIssue  *LinkedIssueScheme `json:"inwardIssue,omitempty"`  // The inward issue of the link.
	OutwardIssue *LinkedIssueScheme `json:"outwardIssue,omitempty"` // The outward issue of the link.
}

IssueLinkScheme represents a link of an issue in Jira.

type IssueLinkTypeScheme

type IssueLinkTypeScheme struct {
	ID      string `json:"id,omitempty"`      // The ID of the link type.
	Name    string `json:"name,omitempty"`    // The name of the link type.
	Inward  string `json:"inward,omitempty"`  // The inward description of the link type.
	Outward string `json:"outward,omitempty"` // The outward description of the link type.
	Self    string `json:"self,omitempty"`    // The URL of the link type.
}

IssueLinkTypeScheme represents a link type in Jira.

type IssueLinkTypeSearchScheme

type IssueLinkTypeSearchScheme struct {
	IssueLinkTypes []*LinkTypeScheme `json:"issueLinkTypes,omitempty"` // The link types in the search.
}

IssueLinkTypeSearchScheme represents a search for link types in Jira.

type IssueMatchesPageScheme

type IssueMatchesPageScheme struct {
	Matches []*IssueMatchesScheme `json:"matches,omitempty"` // The issue matches in the page.
}

IssueMatchesPageScheme represents a page of issue matches in Jira.

type IssueMatchesScheme

type IssueMatchesScheme struct {
	MatchedIssues []int    `json:"matchedIssues,omitempty"` // The matched issues.
	Errors        []string `json:"errors,omitempty"`        // The errors occurred during the matching process.
}

IssueMatchesScheme represents the matches of an issue in Jira.

type IssueMetadataCreateOptions

type IssueMetadataCreateOptions struct {
	ProjectIDs     []string // The IDs of the projects.
	ProjectKeys    []string // The keys of the projects.
	IssueTypeIDs   []string // The IDs of the issue types.
	IssueTypeNames []string // The names of the issue types.
	Expand         string   // The fields to be expanded in the issue metadata.
}

IssueMetadataCreateOptions represents the options for creating issue metadata in Jira.

type IssueMoveOptionsV2

type IssueMoveOptionsV2 struct {
	Fields       *IssueSchemeV2    // The fields of the issue.
	CustomFields *CustomFields     // The custom fields of the issue.
	Operations   *UpdateOperations // The operations for the issue.
}

IssueMoveOptionsV2 represents the move options for an issue in Jira.

type IssueMoveOptionsV3

type IssueMoveOptionsV3 struct {
	Fields       *IssueScheme      // The fields for the move operation.
	CustomFields *CustomFields     // The custom fields for the move operation.
	Operations   *UpdateOperations // The operations for the move operation.
}

IssueMoveOptionsV3 represents the options for moving a version 3 issue in Jira.

type IssueNotifyGroupScheme

type IssueNotifyGroupScheme struct {
	Name string `json:"name,omitempty"` // The name of the group.
}

IssueNotifyGroupScheme represents a group for notifying about an issue in Jira.

type IssueNotifyOptionsScheme

type IssueNotifyOptionsScheme struct {
	HTMLBody string                     `json:"htmlBody,omitempty"` // The HTML body of the notification.
	Subject  string                     `json:"subject,omitempty"`  // The subject of the notification.
	TextBody string                     `json:"textBody,omitempty"` // The text body of the notification.
	To       *IssueNotifyToScheme       `json:"to,omitempty"`       // The recipients of the notification.
	Restrict *IssueNotifyRestrictScheme `json:"restrict,omitempty"` // The restrictions for the notification.
}

IssueNotifyOptionsScheme represents the options for notifying about an issue in Jira.

type IssueNotifyPermissionScheme

type IssueNotifyPermissionScheme struct {
	ID  string `json:"id,omitempty"`  // The ID of the permission.
	Key string `json:"key,omitempty"` // The key of the permission.
}

IssueNotifyPermissionScheme represents a permission for notifying about an issue in Jira.

type IssueNotifyRestrictScheme

type IssueNotifyRestrictScheme struct {
	Groups      []*IssueNotifyGroupScheme      `json:"groups,omitempty"`      // The groups to restrict the notification to.
	Permissions []*IssueNotifyPermissionScheme `json:"permissions,omitempty"` // The permissions to restrict the notification to.
}

IssueNotifyRestrictScheme represents the restrictions for notifying about an issue in Jira.

type IssueNotifyToScheme

type IssueNotifyToScheme struct {
	Reporter bool                      `json:"reporter,omitempty"` // Indicates if the reporter should be notified.
	Assignee bool                      `json:"assignee,omitempty"` // Indicates if the assignee should be notified.
	Watchers bool                      `json:"watchers,omitempty"` // Indicates if the watchers should be notified.
	Voters   bool                      `json:"voters,omitempty"`   // Indicates if the voters should be notified.
	Users    []*IssueNotifyUserScheme  `json:"users,omitempty"`    // The users to notify.
	Groups   []*IssueNotifyGroupScheme `json:"groups,omitempty"`   // The groups to notify.
}

IssueNotifyToScheme represents the recipients for notifying about an issue in Jira.

type IssueNotifyUserScheme

type IssueNotifyUserScheme struct {
	AccountID string `json:"accountId,omitempty"` // The account ID of the user.
}

IssueNotifyUserScheme represents a user for notifying about an issue in Jira.

type IssueOptionScheme

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

type IssueResponseScheme

type IssueResponseScheme struct {
	ID   string `json:"id,omitempty"`   // The ID of the issue.
	Key  string `json:"key,omitempty"`  // The key of the issue.
	Self string `json:"self,omitempty"` // The URL of the issue.
}

IssueResponseScheme represents the response of an issue operation in Jira.

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"`
	RenderedFields map[string]interface{}   `json:"renderedFields,omitempty"`
}

IssueScheme represents an issue in Jira.

func (*IssueScheme) MergeCustomFields

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

MergeCustomFields merges custom fields into the issue scheme. It returns a map representation of the issue scheme with the merged fields. If the provided fields are nil or empty, it returns an error.

func (*IssueScheme) MergeOperations

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

MergeOperations merges operations into the issue scheme. It returns a map representation of the issue scheme with the merged operations. If the provided operations are nil or empty, it returns an error.

Parameters: - operations: A pointer to UpdateOperations containing the operations to be merged.

Returns: - A map[string]interface{} representing the issue scheme with the merged operations. - An error if the operations are nil, empty, or if there is an issue during the merging process.

func (*IssueScheme) ToMap

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

ToMap converts the issue to a map[string]interface{}. It returns a map[string]interface{} representing the issue and an error if any occurred.

type IssueSchemeV2

type IssueSchemeV2 struct {
	ID             string                   `json:"id,omitempty"`          // The ID of the issue.
	Key            string                   `json:"key,omitempty"`         // The key of the issue.
	Self           string                   `json:"self,omitempty"`        // The URL of the issue.
	Transitions    []*IssueTransitionScheme `json:"transitions,omitempty"` // The transitions of the issue.
	Changelog      *IssueChangelogScheme    `json:"changelog,omitempty"`   // The changelog of the issue.
	Fields         *IssueFieldsSchemeV2     `json:"fields,omitempty"`      // The fields of the issue.
	RenderedFields map[string]interface{}   `json:"renderedFields,omitempty"`
}

IssueSchemeV2 represents the scheme of an issue in Jira version 2.

func (*IssueSchemeV2) MergeCustomFields

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

MergeCustomFields merges custom fields into the issue scheme. It returns a map representation of the issue scheme with the merged fields. If the provided fields are nil or empty, it returns an error.

func (*IssueSchemeV2) MergeOperations

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

MergeOperations merges operations into the issue scheme. It returns a map representation of the issue scheme with the merged operations. If the provided operations are nil or empty, it returns an error.

Parameters: - operations: A pointer to UpdateOperations containing the operations to be merged.

Returns: - A map[string]interface{} representing the issue scheme with the merged operations. - An error if the operations are nil, empty, or if there is an issue during the merging process.

func (*IssueSchemeV2) ToMap

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

ToMap converts the issue scheme to a map representation. It returns a map[string]interface{} where the keys are the field names and the values are the field values.

type IssueSearchCheckPayloadScheme

type IssueSearchCheckPayloadScheme struct {
	IssueIDs []int    `json:"issueIds,omitempty"` // The IDs of the issues.
	JQLs     []string `json:"jqls,omitempty"`     // The JQLs for the issue search.
}

IssueSearchCheckPayloadScheme represents the payload for checking issue search in Jira.

type IssueSearchScheme

type IssueSearchScheme struct {
	Expand          string         `json:"expand,omitempty"`          // The fields that are expanded in the results.
	StartAt         int            `json:"startAt,omitempty"`         // The index of the first result returned.
	MaxResults      int            `json:"maxResults,omitempty"`      // The maximum number of results returned.
	Total           int            `json:"total,omitempty"`           // The total number of results available.
	Issues          []*IssueScheme `json:"issues,omitempty"`          // The issues returned in the results.
	WarningMessages []string       `json:"warningMessages,omitempty"` // Any warning messages generated during the search.
}

IssueSearchScheme represents the results of an issue search in Jira.

type IssueSearchSchemeV2

type IssueSearchSchemeV2 struct {
	Expand          string           `json:"expand,omitempty"`          // The fields that are expanded in the results.
	StartAt         int              `json:"startAt,omitempty"`         // The index of the first result returned.
	MaxResults      int              `json:"maxResults,omitempty"`      // The maximum number of results returned.
	Total           int              `json:"total,omitempty"`           // The total number of results available.
	Issues          []*IssueSchemeV2 `json:"issues,omitempty"`          // The issues returned in the results.
	WarningMessages []string         `json:"warningMessages,omitempty"` // Any warning messages generated during the search.
}

IssueSearchSchemeV2 represents the results of an issue search in Jira.

type IssueSecurityLevelScheme

type IssueSecurityLevelScheme struct {
	Self        string `json:"self,omitempty"`        // The URL of the security level.
	ID          string `json:"id,omitempty"`          // The ID of the security level.
	Description string `json:"description,omitempty"` // The description of the security level.
	Name        string `json:"name,omitempty"`        // The name of the security level.
}

IssueSecurityLevelScheme represents a security level of an issue in Jira.

type IssueSecurityLevelsScheme

type IssueSecurityLevelsScheme struct {
	Levels []*IssueSecurityLevelScheme `json:"levels,omitempty"` // The security levels of the issue.
}

IssueSecurityLevelsScheme represents the security levels of an issue in Jira.

type IssueTransitionScheme

type IssueTransitionScheme struct {
	ID            string        `json:"id,omitempty"`            // The ID of the transition.
	Name          string        `json:"name,omitempty"`          // The name of the transition.
	To            *StatusScheme `json:"to,omitempty"`            // The status the issue transitions to.
	HasScreen     bool          `json:"hasScreen,omitempty"`     // Indicates if the transition has a screen.
	IsGlobal      bool          `json:"isGlobal,omitempty"`      // Indicates if the transition is global.
	IsInitial     bool          `json:"isInitial,omitempty"`     // Indicates if the transition is initial.
	IsAvailable   bool          `json:"isAvailable,omitempty"`   // Indicates if the transition is available.
	IsConditional bool          `json:"isConditional,omitempty"` // Indicates if the transition is conditional.
	IsLooped      bool          `json:"isLooped,omitempty"`      // Indicates if the transition is looped.
}

IssueTransitionScheme represents a transition of an issue in Jira.

type IssueTransitionsScheme

type IssueTransitionsScheme struct {
	Expand      string                   `json:"expand,omitempty"`      // The fields that are expanded in the results.
	Transitions []*IssueTransitionScheme `json:"transitions,omitempty"` // The transitions of the issue.
}

IssueTransitionsScheme represents the transitions of an issue in Jira.

type IssueTypePayloadScheme

type IssueTypePayloadScheme struct {
	Name           string `json:"name,omitempty"`           // The name of the issue type.
	Description    string `json:"description,omitempty"`    // The description of the issue type.
	Type           string `json:"type,omitempty"`           // The type of the issue type.
	HierarchyLevel int    `json:"hierarchyLevel,omitempty"` // The hierarchy level of the issue type.
	AvatarID       int    `json:"avatarId,omitempty"`       // The ID of the avatar of the issue type.
}

IssueTypePayloadScheme represents the payload for an issue type in Jira.

type IssueTypeProjectScreenSchemePageScheme

type IssueTypeProjectScreenSchemePageScheme struct {
	Self       string                                 `json:"self,omitempty"`       // The URL of the page.
	NextPage   string                                 `json:"nextPage,omitempty"`   // The URL of the next page.
	MaxResults int                                    `json:"maxResults,omitempty"` // The maximum results per page.
	StartAt    int                                    `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                                    `json:"total,omitempty"`      // The total number of project issue type screen schemes.
	IsLast     bool                                   `json:"isLast,omitempty"`     // Indicates if this is the last page.
	Values     []*IssueTypeScreenSchemesProjectScheme `json:"values,omitempty"`     // The project issue type screen schemes in the page.
}

IssueTypeProjectScreenSchemePageScheme represents a page of project issue type screen schemes in Jira.

type IssueTypeScheme

type IssueTypeScheme struct {
	Self           string                `json:"self,omitempty"`           // The URL of the issue type.
	ID             string                `json:"id,omitempty"`             // The ID of the issue type.
	Description    string                `json:"description,omitempty"`    // The description of the issue type.
	IconURL        string                `json:"iconUrl,omitempty"`        // The URL of the icon of the issue type.
	Name           string                `json:"name,omitempty"`           // The name of the issue type.
	Subtask        bool                  `json:"subtask,omitempty"`        // Indicates if the issue type is a subtask.
	AvatarID       int                   `json:"avatarId,omitempty"`       // The ID of the avatar of the issue type.
	EntityID       string                `json:"entityId,omitempty"`       // The entity ID of the issue type.
	HierarchyLevel int                   `json:"hierarchyLevel,omitempty"` // The hierarchy level of the issue type.
	Scope          *IssueTypeScopeScheme `json:"scope,omitempty"`          // The scope of the issue type.
}

IssueTypeScheme represents an issue type in Jira.

type IssueTypeSchemeItemPageScheme

type IssueTypeSchemeItemPageScheme struct {
	MaxResults int                             `json:"maxResults,omitempty"` // The maximum results per page.
	StartAt    int                             `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                             `json:"total,omitempty"`      // The total number of issue type scheme items.
	IsLast     bool                            `json:"isLast,omitempty"`     // Indicates if this is the last page.
	Values     []*IssueTypeSchemeMappingScheme `json:"values,omitempty"`     // The issue type scheme items in the page.
}

IssueTypeSchemeItemPageScheme represents a page of issue type scheme items in Jira.

type IssueTypeSchemeMappingScheme

type IssueTypeSchemeMappingScheme struct {
	IssueTypeSchemeID string `json:"issueTypeSchemeId,omitempty"` // The ID of the issue type scheme.
	IssueTypeID       string `json:"issueTypeId,omitempty"`       // The ID of the issue type.
}

IssueTypeSchemeMappingScheme represents a mapping of an issue type scheme in Jira.

type IssueTypeSchemePageScheme

type IssueTypeSchemePageScheme struct {
	Self       string                   `json:"self,omitempty"`       // The URL of the issue type scheme page.
	NextPage   string                   `json:"nextPage,omitempty"`   // The URL of the next page.
	MaxResults int                      `json:"maxResults,omitempty"` // The maximum number of results per page.
	StartAt    int                      `json:"startAt,omitempty"`    // The index of the first item returned in the page.
	Total      int                      `json:"total,omitempty"`      // The total number of items available.
	IsLast     bool                     `json:"isLast,omitempty"`     // Indicates if this is the last page.
	Values     []*IssueTypeSchemeScheme `json:"values,omitempty"`     // The issue type schemes in the page.
}

IssueTypeSchemePageScheme represents a page of issue type schemes in Jira.

type IssueTypeSchemePayloadScheme

type IssueTypeSchemePayloadScheme struct {
	DefaultIssueTypeID string   `json:"defaultIssueTypeId,omitempty"` // The default issue type ID.
	IssueTypeIDs       []string `json:"issueTypeIds,omitempty"`       // The issue type IDs.
	Name               string   `json:"name,omitempty"`               // The name of the issue type scheme.
	Description        string   `json:"description,omitempty"`        // The description of the issue type scheme.
}

IssueTypeSchemePayloadScheme represents the payload for an issue type scheme in Jira.

type IssueTypeSchemeProjectsScheme

type IssueTypeSchemeProjectsScheme struct {
	IssueTypeScheme *IssueTypeSchemeScheme `json:"issueTypeScheme,omitempty"` // The issue type scheme.
	ProjectIDs      []string               `json:"projectIds,omitempty"`      // The IDs of the projects.
}

IssueTypeSchemeProjectsScheme represents the projects of an issue type scheme in Jira.

type IssueTypeSchemeScheme

type IssueTypeSchemeScheme struct {
	ID                 string `json:"id,omitempty"`                 // The ID of the issue type scheme.
	Name               string `json:"name,omitempty"`               // The name of the issue type scheme.
	Description        string `json:"description,omitempty"`        // The description of the issue type scheme.
	DefaultIssueTypeID string `json:"defaultIssueTypeId,omitempty"` // The ID of the default issue type in the scheme.
	IsDefault          bool   `json:"isDefault,omitempty"`          // Indicates if this is the default issue type scheme.
}

IssueTypeSchemeScheme represents an issue type scheme in Jira.

type IssueTypeScopeScheme

type IssueTypeScopeScheme struct {
	Type    string         `json:"type,omitempty"`    // The type of the scope.
	Project *ProjectScheme `json:"project,omitempty"` // The project of the scope.
}

IssueTypeScopeScheme represents the scope of an issue type in Jira.

type IssueTypeScreenSchemeByProjectPageScheme

type IssueTypeScreenSchemeByProjectPageScheme struct {
	MaxResults int                    `json:"maxResults,omitempty"` // The maximum results per page.
	StartAt    int                    `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                    `json:"total,omitempty"`      // The total number of issue type screen schemes by project.
	IsLast     bool                   `json:"isLast,omitempty"`     // Indicates if this is the last page.
	Values     []*ProjectDetailScheme `json:"values,omitempty"`     // The project details in the page.
}

IssueTypeScreenSchemeByProjectPageScheme represents a page of issue type screen schemes by project in Jira.

type IssueTypeScreenSchemeItemScheme

type IssueTypeScreenSchemeItemScheme struct {
	IssueTypeScreenSchemeID string `json:"issueTypeScreenSchemeId,omitempty"` // The ID of the issue type screen scheme.
	IssueTypeID             string `json:"issueTypeId,omitempty"`             // The ID of the issue type.
	ScreenSchemeID          string `json:"screenSchemeId,omitempty"`          // The ID of the screen scheme.
}

IssueTypeScreenSchemeItemScheme represents an item of an issue type screen scheme in Jira.

type IssueTypeScreenSchemeMappingPayloadScheme

type IssueTypeScreenSchemeMappingPayloadScheme struct {
	IssueTypeID    string `json:"issueTypeId,omitempty"`    // The ID of the issue type.
	ScreenSchemeID string `json:"screenSchemeId,omitempty"` // The ID of the screen scheme.
}

IssueTypeScreenSchemeMappingPayloadScheme represents a mapping payload for an issue type screen scheme in Jira.

type IssueTypeScreenSchemeMappingScheme

type IssueTypeScreenSchemeMappingScheme struct {
	Self       string                             `json:"self,omitempty"`       // The URL of the mapping.
	NextPage   string                             `json:"nextPage,omitempty"`   // The URL of the next page.
	MaxResults int                                `json:"maxResults,omitempty"` // The maximum results per page.
	StartAt    int                                `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                                `json:"total,omitempty"`      // The total number of issue type screen scheme mappings.
	IsLast     bool                               `json:"isLast,omitempty"`     // Indicates if this is the last page.
	Values     []*IssueTypeScreenSchemeItemScheme `json:"values,omitempty"`     // The issue type screen scheme items in the mapping.
}

IssueTypeScreenSchemeMappingScheme represents a mapping of an issue type screen scheme in Jira.

type IssueTypeScreenSchemePageScheme

type IssueTypeScreenSchemePageScheme struct {
	Self       string                         `json:"self,omitempty"`       // The URL of the page.
	NextPage   string                         `json:"nextPage,omitempty"`   // The URL of the next page.
	MaxResults int                            `json:"maxResults,omitempty"` // The maximum results per page.
	StartAt    int                            `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                            `json:"total,omitempty"`      // The total number of issue type screen schemes.
	IsLast     bool                           `json:"isLast,omitempty"`     // Indicates if this is the last page.
	Values     []*IssueTypeScreenSchemeScheme `json:"values,omitempty"`     // The issue type screen schemes in the page.
}

IssueTypeScreenSchemePageScheme represents a page of issue type screen schemes in Jira.

type IssueTypeScreenSchemePayloadScheme

type IssueTypeScreenSchemePayloadScheme struct {
	Name              string                                       `json:"name,omitempty"`              // The name of the issue type screen scheme.
	Description       string                                       `json:"description,omitempty"`       // The description of the issue type screen scheme.
	IssueTypeMappings []*IssueTypeScreenSchemeMappingPayloadScheme `json:"issueTypeMappings,omitempty"` // The issue type mappings for the screen scheme.
}

IssueTypeScreenSchemePayloadScheme represents the payload for an issue type screen scheme in Jira.

type IssueTypeScreenSchemeScheme

type IssueTypeScreenSchemeScheme struct {
	ID          string               `json:"id,omitempty"`          // The ID of the issue type screen scheme.
	Name        string               `json:"name,omitempty"`        // The name of the issue type screen scheme.
	Description string               `json:"description,omitempty"` // The description of the issue type screen scheme.
	Projects    *ProjectSearchScheme `json:"projects,omitempty"`    // The projects associated with the screen scheme.
}

IssueTypeScreenSchemeScheme represents an issue type screen scheme in Jira.

type IssueTypeScreenSchemesProjectScheme

type IssueTypeScreenSchemesProjectScheme struct {
	IssueTypeScreenScheme *IssueTypeScreenSchemeScheme `json:"issueTypeScreenScheme,omitempty"` // The issue type screen scheme.
	ProjectIDs            []string                     `json:"projectIds,omitempty"`            // The IDs of the projects.
}

IssueTypeScreenSchemesProjectScheme represents the project issue type screen schemes in Jira.

type IssueTypeScreenScreenCreatedScheme

type IssueTypeScreenScreenCreatedScheme struct {
	ID string `json:"id"` // The ID of the newly created issue type screen scheme.
}

IssueTypeScreenScreenCreatedScheme represents a newly created issue type screen scheme in Jira.

type IssueTypeToContextMappingPageScheme

type IssueTypeToContextMappingPageScheme struct {
	MaxResults int                                     `json:"maxResults,omitempty"` // The maximum number of results in the page.
	StartAt    int                                     `json:"startAt,omitempty"`    // The starting index of the page.
	Total      int                                     `json:"total,omitempty"`      // The total number of issue type to context mappings.
	IsLast     bool                                    `json:"isLast,omitempty"`     // Indicates if the page is the last one.
	Values     []*IssueTypeToContextMappingValueScheme `json:"values"`               // The issue type to context mappings in the page.
}

IssueTypeToContextMappingPageScheme represents a page of issue type to context mappings in Jira.

type IssueTypeToContextMappingValueScheme

type IssueTypeToContextMappingValueScheme struct {
	ContextID      string `json:"contextId"`                // The ID of the context.
	IsAnyIssueType bool   `json:"isAnyIssueType,omitempty"` // Indicates if any issue type is applicable.
	IssueTypeID    string `json:"issueTypeId,omitempty"`    // The ID of the issue type.
}

IssueTypeToContextMappingValueScheme represents an issue type to context mapping in Jira.

type IssueTypeWorkflowMappingScheme

type IssueTypeWorkflowMappingScheme struct {
	IssueType string `json:"issueType,omitempty"` // The type of the issue.
	Workflow  string `json:"workflow,omitempty"`  // The workflow associated with the issue type.
}

IssueTypeWorkflowMappingScheme represents the mapping between an issue type and a workflow in Jira.

type IssueTypeWorkflowPayloadScheme

type IssueTypeWorkflowPayloadScheme struct {
	IssueType           string `json:"issueType,omitempty"`           // The type of the issue.
	UpdateDraftIfNeeded bool   `json:"updateDraftIfNeeded,omitempty"` // Indicates if the draft should be updated if needed.
	Workflow            string `json:"workflow,omitempty"`            // The workflow associated with the issue type.
}

IssueTypeWorkflowPayloadScheme represents the payload for an issue type and workflow mapping in Jira.

type IssueTypesWorkflowMappingScheme

type IssueTypesWorkflowMappingScheme struct {
	Workflow       string   `json:"workflow,omitempty"`       // The workflow associated with the issue types.
	IssueTypes     []string `json:"issueTypes,omitempty"`     // The types of the issues.
	DefaultMapping bool     `json:"defaultMapping,omitempty"` // Indicates if this is the default mapping.
}

IssueTypesWorkflowMappingScheme represents the mapping between multiple issue types and a workflow in Jira.

type IssueVoteScheme

type IssueVoteScheme struct {
	Self     string        `json:"self,omitempty"`     // The URL of the voting information.
	Votes    int           `json:"votes,omitempty"`    // The number of votes for the issue.
	HasVoted bool          `json:"hasVoted,omitempty"` // Indicates if the current user has voted for the issue.
	Voters   []*UserScheme `json:"voters,omitempty"`   // The users who have voted for the issue.
}

IssueVoteScheme represents the voting information for an issue in Jira.

type IssueWatcherScheme

type IssueWatcherScheme struct {
	Self       string              `json:"self,omitempty"`       // The URL of the watcher information.
	IsWatching bool                `json:"isWatching,omitempty"` // Indicates if the current user is watching the issue.
	WatchCount int                 `json:"watchCount,omitempty"` // The number of watchers for the issue.
	Watchers   []*UserDetailScheme `json:"watchers,omitempty"`   // The users who are watching the issue.
}

IssueWatcherScheme represents the watcher information for an issue in Jira.

type IssueWorklogADFPageScheme

type IssueWorklogADFPageScheme struct {
	StartAt    int                      `json:"startAt,omitempty"`    // The index of the first result returned.
	MaxResults int                      `json:"maxResults,omitempty"` // The maximum number of results returned.
	Total      int                      `json:"total,omitempty"`      // The total number of results available.
	Worklogs   []*IssueWorklogADFScheme `json:"worklogs,omitempty"`   // The worklogs on the page.
}

IssueWorklogADFPageScheme represents a page of worklogs with Atlassian Document Format (ADF) content in Jira.

type IssueWorklogADFScheme

type IssueWorklogADFScheme struct {
	Self             string                        `json:"self,omitempty"`             // The URL of the worklog.
	Author           *UserDetailScheme             `json:"author,omitempty"`           // The author of the worklog.
	UpdateAuthor     *UserDetailScheme             `json:"updateAuthor,omitempty"`     // The user who last updated the worklog.
	Comment          *CommentNodeScheme            `json:"comment,omitempty"`          // The comment of the worklog in ADF format.
	Updated          string                        `json:"updated,omitempty"`          // The date and time when the worklog was last updated.
	Visibility       *IssueWorklogVisibilityScheme `json:"visibility,omitempty"`       // The visibility of the worklog.
	Started          string                        `json:"started,omitempty"`          // The date and time when the work started.
	TimeSpent        string                        `json:"timeSpent,omitempty"`        // The time spent on the work.
	TimeSpentSeconds int                           `json:"timeSpentSeconds,omitempty"` // The time spent on the work in seconds.
	ID               string                        `json:"id,omitempty"`               // The ID of the worklog.
	IssueID          string                        `json:"issueId,omitempty"`          // The ID of the issue the worklog is associated with.
}

IssueWorklogADFScheme represents a worklog with Atlassian Document Format (ADF) content in Jira.

type IssueWorklogRichTextPageScheme

type IssueWorklogRichTextPageScheme struct {
	StartAt    int                           `json:"startAt,omitempty"`    // The index of the first result returned.
	MaxResults int                           `json:"maxResults,omitempty"` // The maximum number of results returned.
	Total      int                           `json:"total,omitempty"`      // The total number of results available.
	Worklogs   []*IssueWorklogRichTextScheme `json:"worklogs,omitempty"`   // The worklogs on the page.
}

IssueWorklogRichTextPageScheme represents a page of worklogs with rich text content in Jira.

type IssueWorklogRichTextScheme

type IssueWorklogRichTextScheme struct {
	Self             string                        `json:"self,omitempty"`             // The URL of the worklog.
	Author           *UserDetailScheme             `json:"author,omitempty"`           // The author of the worklog.
	UpdateAuthor     *UserDetailScheme             `json:"updateAuthor,omitempty"`     // The user who last updated the worklog.
	Comment          string                        `json:"comment,omitempty"`          // The comment of the worklog.
	Updated          string                        `json:"updated,omitempty"`          // The date and time when the worklog was last updated.
	Visibility       *IssueWorklogVisibilityScheme `json:"visibility,omitempty"`       // The visibility of the worklog.
	Started          string                        `json:"started,omitempty"`          // The date and time when the work started.
	TimeSpent        string                        `json:"timeSpent,omitempty"`        // The time spent on the work.
	TimeSpentSeconds int                           `json:"timeSpentSeconds,omitempty"` // The time spent on the work in seconds.
	ID               string                        `json:"id,omitempty"`               // The ID of the worklog.
	IssueID          string                        `json:"issueId,omitempty"`          // The ID of the issue the worklog is associated with.
}

IssueWorklogRichTextScheme represents a worklog with rich text content in Jira.

type IssueWorklogVisibilityScheme

type IssueWorklogVisibilityScheme struct {
	Type       string `json:"type,omitempty"`       // The type of the visibility.
	Value      string `json:"value,omitempty"`      // The value of the visibility.
	Identifier string `json:"identifier,omitempty"` // The identifier of the visibility.
}

IssueWorklogVisibilityScheme represents the visibility of a worklog in Jira.

type JiraTeamCreatePayloadScheme

type JiraTeamCreatePayloadScheme struct {
	Title     string                    `json:"title,omitempty"`     // The title of the team.
	Shareable bool                      `json:"shareable,omitempty"` // Indicates if the team is shareable.
	Resources []*JiraTeamResourceScheme `json:"resources,omitempty"` // The resources of the team.
}

JiraTeamCreatePayloadScheme represents the payload for creating a Jira team.

type JiraTeamCreateResponseScheme

type JiraTeamCreateResponseScheme struct {
	ID      int                     `json:"id,omitempty"`      // The ID of the created team.
	Team    *JiraTeamScheme         `json:"team,omitempty"`    // The created team.
	Persons []*JiraTeamPersonScheme `json:"persons,omitempty"` // The persons associated with the created team.
}

JiraTeamCreateResponseScheme represents the response from creating a Jira team.

type JiraTeamPageScheme

type JiraTeamPageScheme struct {
	MoreResultsAvailable bool                    `json:"moreResultsAvailable,omitempty"` // Indicates if more results are available.
	Teams                []*JiraTeamScheme       `json:"teams,omitempty"`                // The teams on the page.
	Persons              []*JiraTeamPersonScheme `json:"persons,omitempty"`              // The persons on the page.
	ZeroMemberTeamsCount int                     `json:"zeroMemberTeamsCount,omitempty"` // The count of teams with zero members.
}

JiraTeamPageScheme represents a page of teams in Jira.

type JiraTeamPersonScheme

type JiraTeamPersonScheme struct {
	PersonID int                 `json:"personId,omitempty"` // The ID of the person.
	JiraUser *JiraTeamUserScheme `json:"jiraUser,omitempty"` // The Jira user associated with the person.
}

JiraTeamPersonScheme represents a person in a Jira team.

type JiraTeamResourceScheme

type JiraTeamResourceScheme struct {
	ID       int `json:"id,omitempty"`       // The ID of the resource.
	PersonID int `json:"personId,omitempty"` // The ID of the person associated with the resource.
}

JiraTeamResourceScheme represents a resource in a Jira team.

type JiraTeamScheme

type JiraTeamScheme struct {
	ID         int                       `json:"id,omitempty"`         // The ID of the team.
	ExternalID string                    `json:"externalId,omitempty"` // The external ID of the team.
	Title      string                    `json:"title,omitempty"`      // The title of the team.
	Shareable  bool                      `json:"shareable,omitempty"`  // Indicates if the team is shareable.
	Resources  []*JiraTeamResourceScheme `json:"resources,omitempty"`  // The resources of the team.
}

JiraTeamScheme represents a team in Jira.

type JiraTeamUserScheme

type JiraTeamUserScheme struct {
	Title     string `json:"title,omitempty"`     // The title of the user.
	Email     string `json:"email,omitempty"`     // The email of the user.
	AvatarURL string `json:"avatarUrl,omitempty"` // The avatar URL of the user.
}

JiraTeamUserScheme represents a user in a Jira team.

type JiraWorkflowScheme

type JiraWorkflowScheme struct {
	Description      string                           `json:"description,omitempty"`      // Description is the description of the workflow.
	ID               string                           `json:"id,omitempty"`               // ID is the ID of the workflow.
	IsEditable       bool                             `json:"isEditable,omitempty"`       // IsEditable indicates if the workflow is editable.
	Name             string                           `json:"name,omitempty"`             // Name is the name of the workflow.
	Scope            *WorkflowStatusScopeScheme       `json:"scope,omitempty"`            // Scope is the scope of the workflow.
	StartPointLayout *WorkflowLayoutScheme            `json:"startPointLayout,omitempty"` // StartPointLayout is the layout of the start point of the workflow.
	Statuses         []*WorkflowReferenceStatusScheme `json:"statuses,omitempty"`         // Statuses is a list of reference statuses in the workflow.
	TaskID           string                           `json:"taskId,omitempty"`           // TaskID is the ID of the task associated with the workflow.
	Transitions      []*WorkflowTransitionScheme      `json:"transitions,omitempty"`      // Transitions is a list of transitions in the workflow.
	Usages           []*ProjectIssueTypesScheme       `json:"usages,omitempty"`           // Usages is a list of project issue types that use the workflow.
	Version          *WorkflowDocumentVersionScheme   `json:"version,omitempty"`          // Version is the version of the workflow document.
}

JiraWorkflowScheme represents a workflow in Jira.

type JiraWorkflowStatusScheme

type JiraWorkflowStatusScheme struct {
	Description     string                     `json:"description,omitempty"`     // Description is the description of the status.
	ID              string                     `json:"id,omitempty"`              // ID is the ID of the status.
	Name            string                     `json:"name,omitempty"`            // Name is the name of the status.
	Scope           *WorkflowScopeScheme       `json:"scope,omitempty"`           // Scope is the scope of the status.
	StatusCategory  string                     `json:"statusCategory,omitempty"`  // StatusCategory is the category of the status.
	StatusReference string                     `json:"statusReference,omitempty"` // StatusReference is the reference of the status.
	Usages          []*ProjectIssueTypesScheme `json:"usages,omitempty"`          // Usages is a list of project issue types that use the status.
}

JiraWorkflowStatusScheme represents a status in a Jira workflow.

type LabelAssociatedContentPageScheme

type LabelAssociatedContentPageScheme struct {
	Results []*LabelAssociatedContentScheme `json:"results,omitempty"` // The associated contents in the page.
	Start   int                             `json:"start,omitempty"`   // The start index of the associated contents in the page.
	Limit   int                             `json:"limit,omitempty"`   // The limit of the associated contents in the page.
	Size    int                             `json:"size,omitempty"`    // The size of the associated contents in the page.
}

LabelAssociatedContentPageScheme represents a page of associated contents of a label in Confluence.

type LabelAssociatedContentScheme

type LabelAssociatedContentScheme struct {
	ContentType string `json:"contentType,omitempty"` // The content type of the associated content.
	ContentID   int    `json:"contentId,omitempty"`   // The ID of the associated content.
	Title       string `json:"title,omitempty"`       // The title of the associated content.
}

LabelAssociatedContentScheme represents an associated content of a label in Confluence.

type LabelDetailsScheme

type LabelDetailsScheme struct {
	Label              *ContentLabelScheme               `json:"label"`              // The label.
	AssociatedContents *LabelAssociatedContentPageScheme `json:"associatedContents"` // The associated contents of the label.
}

LabelDetailsScheme represents the details of a label in Confluence.

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

LabelValueScheme represents a value of a label.

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

LabelsScheme represents labels.

type LinkPageModelScheme

type LinkPageModelScheme struct {
	Self string `json:"self,omitempty"` // Link to this page.
	Prev string `json:"prev,omitempty"` // Link to the previous page.
	Next string `json:"next,omitempty"` // Link to the next page.
}

LinkPageModelScheme represents the links to other pages.

type LinkPayloadSchemeV2

type LinkPayloadSchemeV2 struct {
	Comment      *CommentPayloadSchemeV2 `json:"comment,omitempty"`      // The comment for the link.
	InwardIssue  *LinkedIssueScheme      `json:"inwardIssue,omitempty"`  // The inward issue for the link.
	OutwardIssue *LinkedIssueScheme      `json:"outwardIssue,omitempty"` // The outward issue for the link.
	Type         *LinkTypeScheme         `json:"type,omitempty"`         // The type of the link.
}

LinkPayloadSchemeV2 represents the payload for a version 2 link in Jira.

type LinkPayloadSchemeV3

type LinkPayloadSchemeV3 struct {
	Comment      *CommentPayloadScheme `json:"comment,omitempty"`      // The comment for the link.
	InwardIssue  *LinkedIssueScheme    `json:"inwardIssue,omitempty"`  // The inward issue for the link.
	OutwardIssue *LinkedIssueScheme    `json:"outwardIssue,omitempty"` // The outward issue for the link.
	Type         *LinkTypeScheme       `json:"type,omitempty"`         // The type of the link.
}

LinkPayloadSchemeV3 represents the payload for a version 3 link in Jira.

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

LinkScheme represents a link.

type LinkSelfModelScheme

type LinkSelfModelScheme struct {
	Self string `json:"self,omitempty"` // Link to the entity itself.
}

LinkSelfModelScheme represents a link to the entity itself.

type LinkTypeScheme

type LinkTypeScheme struct {
	Self    string `json:"self,omitempty"`    // The URL of the link type.
	ID      string `json:"id,omitempty"`      // The ID of the link type.
	Name    string `json:"name,omitempty"`    // The name of the link type.
	Inward  string `json:"inward,omitempty"`  // The inward description of the link type.
	Outward string `json:"outward,omitempty"` // The outward description of the link type.
}

LinkTypeScheme represents the type of a link in Jira.

type LinkedIssueScheme

type LinkedIssueScheme struct {
	ID     string                 `json:"id,omitempty"`     // The ID of the linked issue.
	Key    string                 `json:"key,omitempty"`    // The key of the linked issue.
	Self   string                 `json:"self,omitempty"`   // The URL of the linked issue.
	Fields *IssueLinkFieldsScheme `json:"fields,omitempty"` // The fields of the linked issue.
}

LinkedIssueScheme represents a linked issue in Jira.

type LongTaskDetailsScheme

type LongTaskDetailsScheme struct {
	DestinationID        string `json:"destinationId,omitempty"`        // The ID of the destination of the long task.
	DestinationURL       string `json:"destinationUrl,omitempty"`       // The URL of the destination of the long task.
	TotalPageNeedToCopy  int    `json:"totalPageNeedToCopy,omitempty"`  // The total number of pages needed to copy for the long task.
	AdditionalProperties string `json:"additionalProperties,omitempty"` // The additional properties of the long task.
}

LongTaskDetailsScheme represents the additional details of a long task in Confluence.

type LongTaskMessageScheme

type LongTaskMessageScheme struct {
	Translation string   `json:"translation,omitempty"` // The translation of the message.
	Args        []string `json:"args,omitempty"`        // The arguments of the message.
}

LongTaskMessageScheme represents a message of a long task in Confluence.

type LongTaskNameScheme

type LongTaskNameScheme struct {
	Key string `json:"key,omitempty"` // The key of the name.
}

LongTaskNameScheme represents the name of a long task in Confluence.

type LongTaskPageScheme

type LongTaskPageScheme struct {
	Results []*LongTaskScheme `json:"results,omitempty"` // The long tasks in the page.
	Start   int               `json:"start,omitempty"`   // The start index of the long tasks in the page.
	Limit   int               `json:"limit,omitempty"`   // The limit of the long tasks in the page.
	Size    int               `json:"size,omitempty"`    // The size of the long tasks in the page.
}

LongTaskPageScheme represents a page of long tasks in Confluence.

type LongTaskScheme

type LongTaskScheme struct {
	ID                 string                   `json:"id,omitempty"`                 // The ID of the long task.
	Name               *LongTaskNameScheme      `json:"name,omitempty"`               // The name of the long task.
	ElapsedTime        int                      `json:"elapsedTime,omitempty"`        // The elapsed time of the long task.
	PercentageComplete int                      `json:"percentageComplete,omitempty"` // The percentage completion of the long task.
	Successful         bool                     `json:"successful,omitempty"`         // Indicates if the long task is successful.
	Finished           bool                     `json:"finished,omitempty"`           // Indicates if the long task is finished.
	Messages           []*LongTaskMessageScheme `json:"messages,omitempty"`           // The messages of the long task.
	Status             string                   `json:"status,omitempty"`             // The status of the long task.
	Errors             []*LongTaskMessageScheme `json:"errors,omitempty"`             // The errors of the long task.
	AdditionalDetails  *LongTaskDetailsScheme   `json:"additionalDetails,omitempty"`  // The additional details of the long task.
}

LongTaskScheme represents a long task in Confluence.

type MarkScheme

type MarkScheme struct {
	Type  string                 `json:"type,omitempty"`  // The type of the mark.
	Attrs map[string]interface{} `json:"attrs,omitempty"` // The attributes of the mark.
}

MarkScheme represents a mark in a comment.

type MetadataScheme

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

MetadataScheme represents the metadata of content.

type NewIssueTypeSchemeScheme

type NewIssueTypeSchemeScheme struct {
	IssueTypeSchemeID string `json:"issueTypeSchemeId"` // The ID of the issue type scheme.
}

NewIssueTypeSchemeScheme represents a new issue type scheme in Jira.

type NewProjectCreatedScheme

type NewProjectCreatedScheme struct {
	Self string `json:"self"` // The URL of the newly created project.
	ID   int    `json:"id"`   // The ID of the newly created project.
	Key  string `json:"key"`  // The key of the newly created project.
}

NewProjectCreatedScheme represents a newly created project in Jira.

type NotificationEventScheme

type NotificationEventScheme struct {
	ID            int                      `json:"id,omitempty"`            // The ID of the notification event.
	Name          string                   `json:"name,omitempty"`          // The name of the notification event.
	Description   string                   `json:"description,omitempty"`   // The description of the notification event.
	TemplateEvent *NotificationEventScheme `json:"templateEvent,omitempty"` // The template event of the notification event.
}

NotificationEventScheme represents a notification event in Jira.

type NotificationSchemeCreatedPayload

type NotificationSchemeCreatedPayload struct {
	ID string `json:"id"` // The ID of the created notification scheme.
}

NotificationSchemeCreatedPayload represents the payload for a created notification scheme in Jira.

type NotificationSchemeEventNotificationScheme

type NotificationSchemeEventNotificationScheme struct {
	NotificationType string `json:"notificationType,omitempty"` // The type of the notification.
	Parameter        string `json:"parameter,omitempty"`        // The parameter for the notification.
}

NotificationSchemeEventNotificationScheme represents a notification for an event in the payload for a notification scheme in Jira.

type NotificationSchemeEventTypeScheme

type NotificationSchemeEventTypeScheme struct {
	ID string `json:"id,omitempty"` // The ID of the event type.
}

NotificationSchemeEventTypeScheme represents the type of an event in the payload for a notification scheme in Jira.

type NotificationSchemeEventsPayloadScheme

type NotificationSchemeEventsPayloadScheme struct {
	NotificationSchemeEvents []*NotificationSchemePayloadEventScheme `json:"notificationSchemeEvents,omitempty"` // The events of the notification scheme.
}

NotificationSchemeEventsPayloadScheme represents the payload for the events of a notification scheme in Jira.

type NotificationSchemePageScheme

type NotificationSchemePageScheme struct {
	MaxResults int                         `json:"maxResults,omitempty"` // The maximum number of results per page.
	StartAt    int                         `json:"startAt,omitempty"`    // The starting index of the results.
	Total      int                         `json:"total,omitempty"`      // The total number of results.
	IsLast     bool                        `json:"isLast,omitempty"`     // Indicates if this is the last page of results.
	Values     []*NotificationSchemeScheme `json:"values,omitempty"`     // The notification schemes in the page.
}

NotificationSchemePageScheme represents a page of notification schemes in Jira.

type NotificationSchemePayloadEventScheme

type NotificationSchemePayloadEventScheme struct {
	Event         *NotificationSchemeEventTypeScheme           `json:"event,omitempty"`         // The type of the event.
	Notifications []*NotificationSchemeEventNotificationScheme `json:"notifications,omitempty"` // The notifications for the event.
}

NotificationSchemePayloadEventScheme represents an event in the payload for a notification scheme in Jira.

type NotificationSchemePayloadScheme

type NotificationSchemePayloadScheme struct {
	Description string                                  `json:"description,omitempty"`              // The description of the notification scheme.
	Name        string                                  `json:"name,omitempty"`                     // The name of the notification scheme.
	Events      []*NotificationSchemePayloadEventScheme `json:"notificationSchemeEvents,omitempty"` // The events of the notification scheme.
}

NotificationSchemePayloadScheme represents the payload for a notification scheme in Jira.

type NotificationSchemeProjectPageScheme

type NotificationSchemeProjectPageScheme struct {
	MaxResults int                                `json:"maxResults,omitempty"` // The maximum number of results per page.
	StartAt    int                                `json:"startAt,omitempty"`    // The starting index of the results.
	Total      int                                `json:"total,omitempty"`      // The total number of results.
	IsLast     bool                               `json:"isLast,omitempty"`     // Indicates if this is the last page of results.
	Values     []*NotificationSchemeProjectScheme `json:"values,omitempty"`     // The projects for the notification scheme in the page.
}

NotificationSchemeProjectPageScheme represents a page of projects for a notification scheme in Jira.

type NotificationSchemeProjectScheme

type NotificationSchemeProjectScheme struct {
	NotificationSchemeID string `json:"notificationSchemeId,omitempty"` // The ID of the notification scheme.
	ProjectID            string `json:"projectId,omitempty"`            // The ID of the project.
}

NotificationSchemeProjectScheme represents a project for a notification scheme in Jira.

type NotificationSchemeScheme

type NotificationSchemeScheme struct {
	Expand                   string                                  `json:"expand,omitempty"`                   // The expand field for the notification scheme.
	ID                       int                                     `json:"id,omitempty"`                       // The ID of the notification scheme.
	Self                     string                                  `json:"self,omitempty"`                     // The URL of the notification scheme.
	Name                     string                                  `json:"name,omitempty"`                     // The name of the notification scheme.
	Description              string                                  `json:"description,omitempty"`              // The description of the notification scheme.
	NotificationSchemeEvents []*ProjectNotificationSchemeEventScheme `json:"notificationSchemeEvents,omitempty"` // The events of the notification scheme.
	Scope                    *TeamManagedProjectScopeScheme          `json:"scope,omitempty"`                    // The scope of the notification scheme.
	Projects                 []int                                   `json:"projects,omitempty"`                 // The projects associated with the notification scheme.
}

NotificationSchemeScheme represents a notification scheme in Jira.

type NotificationSchemeSearchOptions

type NotificationSchemeSearchOptions struct {
	NotificationSchemeIDs []string // The IDs of the notification schemes to search for.
	ProjectIDs            []string // The IDs of the projects to search for.
	OnlyDefault           bool     // Indicates if only default notification schemes should be searched for.
	Expand                []string // The fields to expand in the search results.
}

NotificationSchemeSearchOptions represents the search options for notification schemes in Jira.

type ObjectAttributeScheme

type ObjectAttributeScheme struct {
	WorkspaceID           string                                 `json:"workspaceId,omitempty"`           // The ID of the workspace.
	GlobalID              string                                 `json:"globalId,omitempty"`              // The global ID of the attribute.
	ID                    string                                 `json:"id,omitempty"`                    // The ID of the attribute.
	ObjectTypeAttribute   *ObjectTypeAttributeScheme             `json:"objectTypeAttribute,omitempty"`   // The type of the attribute.
	ObjectTypeAttributeID string                                 `json:"objectTypeAttributeId,omitempty"` // The ID of the attribute type.
	ObjectAttributeValues []*ObjectTypeAssetAttributeValueScheme `json:"objectAttributeValues,omitempty"` // The values of the attribute.
}

ObjectAttributeScheme represents an attribute of an object. WorkspaceID is the ID of the workspace. GlobalID is the global ID of the attribute. ID is the unique identifier of the attribute. ObjectTypeAttribute is the type of the attribute. ObjectTypeAttributeID is the ID of the attribute type. ObjectAttributeValues is a slice of the values of the attribute.

type ObjectAvatarScheme

type ObjectAvatarScheme struct {
	WorkspaceID string `json:"workspaceId,omitempty"` // The ID of the workspace.
	GlobalID    string `json:"globalId,omitempty"`    // The global ID of the avatar.
	ID          string `json:"id,omitempty"`          // The ID of the avatar.
	AvatarUUID  string `json:"avatarUUID,omitempty"`  // The UUID of the avatar.
	URL16       string `json:"url16,omitempty"`       // The URL for the 16x16 version of the avatar.
	URL48       string `json:"url48,omitempty"`       // The URL for the 48x48 version of the avatar.
	URL72       string `json:"url72,omitempty"`       // The URL for the 72x72 version of the avatar.
	URL144      string `json:"url144,omitempty"`      // The URL for the 144x144 version of the avatar.
	URL288      string `json:"url288,omitempty"`      // The URL for the 288x288 version of the avatar.
	ObjectID    string `json:"objectId,omitempty"`    // The ID of the object.
}

ObjectAvatarScheme represents an avatar of an object. WorkspaceID is the ID of the workspace. GlobalID is the global ID of the avatar. ID is the unique identifier of the avatar. AvatarUUID is the UUID of the avatar. URL16 is the URL for the 16x16 version of the avatar. URL48 is the URL for the 48x48 version of the avatar. URL72 is the URL for the 72x72 version of the avatar. URL144 is the URL for the 144x144 version of the avatar. URL288 is the URL for the 288x288 version of the avatar. ObjectID is the ID of the object.

type ObjectHistoryActorScheme

type ObjectHistoryActorScheme struct {
	AvatarURL       string `json:"avatarUrl,omitempty"`       // The URL of the actor's avatar.
	DisplayName     string `json:"displayName,omitempty"`     // The display name of the actor.
	Name            string `json:"name,omitempty"`            // The name of the actor.
	Key             string `json:"key,omitempty"`             // The key of the actor.
	EmailAddress    string `json:"emailAddress,omitempty"`    // The email address of the actor.
	HTML            string `json:"html,omitempty"`            // The HTML representation of the actor.
	RenderedLink    string `json:"renderedLink,omitempty"`    // The rendered link of the actor.
	IsDeleted       bool   `json:"isDeleted,omitempty"`       // Indicates if the actor is deleted.
	LastSeenVersion string `json:"lastSeenVersion,omitempty"` // The last seen version of the actor.
	Self            string `json:"self,omitempty"`            // The self URL of the actor.
}

ObjectHistoryActorScheme represents the actor who made a change in the object history. AvatarURL is the URL of the actor's avatar. DisplayName is the display name of the actor. Name is the name of the actor. Key is the key of the actor. EmailAddress is the email address of the actor. HTML is the HTML representation of the actor. RenderedLink is the rendered link of the actor. IsDeleted indicates if the actor is deleted. LastSeenVersion is the last seen version of the actor. Self is the self URL of the actor.

type ObjectHistoryScheme

type ObjectHistoryScheme struct {
	Actor             *ObjectHistoryActorScheme `json:"actor,omitempty"`             // The actor who made the change.
	ID                string                    `json:"id,omitempty"`                // The ID of the history entry.
	AffectedAttribute string                    `json:"affectedAttribute,omitempty"` // The affected attribute.
	OldValue          string                    `json:"oldValue,omitempty"`          // The old value of the attribute.
	NewValue          string                    `json:"newValue,omitempty"`          // The new value of the attribute.
	Type              int                       `json:"type,omitempty"`              // The type of the history entry.
	Created           string                    `json:"created,omitempty"`           // The creation time of the history entry.
	ObjectID          string                    `json:"objectId,omitempty"`          // The ID of the object.
}

ObjectHistoryScheme represents the history of an object. Actor is the actor who made the change. ID is the unique identifier of the history entry. AffectedAttribute is the attribute that was affected. OldValue is the old value of the attribute. NewValue is the new value of the attribute. Type is the type of the history entry. Created is the creation time of the history entry. ObjectID is the ID of the object.

type ObjectLinksScheme

type ObjectLinksScheme struct {
	Self string `json:"self,omitempty"` // The self URL of the object.
}

ObjectLinksScheme represents the links of an object. Self is the self URL of the object.

type ObjectListResultScheme

type ObjectListResultScheme struct {
	StartAt              int                          `json:"startAt,omitempty"`              // The starting index of the list.
	MaxResults           int                          `json:"maxResults,omitempty"`           // The maximum number of results in the list.
	Total                int                          `json:"total,omitempty"`                // The total number of objects in the list.
	IsLast               bool                         `json:"isLast,omitempty"`               // Indicates if this is the last page of the list.
	Values               []*ObjectScheme              `json:"values,omitempty"`               // The objects in the list.
	ObjectTypeAttributes []*ObjectTypeAttributeScheme `json:"objectTypeAttributes,omitempty"` // The attributes of the object type.
}

ObjectListResultScheme represents the result of a list of objects. StartAt is the starting index of the list. MaxResults is the maximum number of results in the list. Total is the total number of objects in the list. IsLast indicates if this is the last page of the list. Values is a slice of the objects in the list. ObjectTypeAttributes is a slice of the attributes of the object type.

type ObjectListScheme

type ObjectListScheme struct {
	ObjectEntries         []*ObjectScheme              `json:"objectEntries,omitempty"`         // The objects in the list.
	ObjectTypeAttributes  []*ObjectTypeAttributeScheme `json:"objectTypeAttributes,omitempty"`  // The attributes of the object type.
	ObjectTypeID          string                       `json:"objectTypeId,omitempty"`          // The ID of the object type.
	ObjectTypeIsInherited bool                         `json:"objectTypeIsInherited,omitempty"` // Indicates if the object type is inherited.
	AbstractObjectType    bool                         `json:"abstractObjectType,omitempty"`    // Indicates if the object type is abstract.
	TotalFilterCount      int                          `json:"totalFilterCount,omitempty"`      // The total count of filters.
	StartIndex            int                          `json:"startIndex,omitempty"`            // The start index of the list.
	ToIndex               int                          `json:"toIndex,omitempty"`               // The end index of the list.
	PageObjectSize        int                          `json:"pageObjectSize,omitempty"`        // The size of the page of objects.
	PageNumber            int                          `json:"pageNumber,omitempty"`            // The number of the page of objects.
	OrderByTypeAttrID     int                          `json:"orderByTypeAttrId,omitempty"`     // The ID of the attribute type to order by.
	OrderWay              string                       `json:"orderWay,omitempty"`              // The way to order the list.
	QlQuery               string                       `json:"qlQuery,omitempty"`               // The QL query to filter the list.
	QlQuerySearchResult   bool                         `json:"qlQuerySearchResult,omitempty"`   // Indicates if the QL query search result is included.
	Iql                   string                       `json:"iql,omitempty"`                   // The IQL to filter the list.
	IqlSearchResult       bool                         `json:"iqlSearchResult,omitempty"`       // Indicates if the IQL search result is included.
	ConversionPossible    bool                         `json:"conversionPossible,omitempty"`    // Indicates if a conversion is possible.
}

ObjectListScheme represents a list of objects.

type ObjectPageScheme

type ObjectPageScheme struct {
	// ObjectEntries is a slice of the objects in the page.
	ObjectEntries []*ObjectScheme `json:"objectEntries"`

	// ObjectTypeAttributes is a slice of the object type attributes in the page.
	ObjectTypeAttributes []*ObjectTypeAttributeScheme `json:"objectTypeAttributes"`

	// ObjectTypeID is the ID of the object type.
	ObjectTypeID string `json:"objectTypeId"`

	// ObjectTypeIsInherited determines if the object type is inherited.
	ObjectTypeIsInherited bool `json:"objectTypeIsInherited"`

	// AbstractObjectType determines if the object type is abstract.
	AbstractObjectType bool `json:"abstractObjectType"`

	// TotalFilterCount is the total number of filters applied.
	TotalFilterCount int `json:"totalFilterCount"`

	// StartIndex is the starting index of the page.
	StartIndex int `json:"startIndex"`

	// ToIndex is the ending index of the page.
	ToIndex int `json:"toIndex"`

	// PageObjectSize is the number of objects in the page.
	PageObjectSize int `json:"pageObjectSize"`

	// PageNumber is the number of the page.
	PageNumber int `json:"pageNumber"`

	// OrderByTypeAttrID is the ID of the attribute used for ordering.
	OrderByTypeAttrID int `json:"orderByTypeAttrId"`

	// OrderWay is the way of ordering (ascending or descending).
	OrderWay string `json:"orderWay"`

	// QlQuery is the AQL query used for the search.
	QlQuery string `json:"qlQuery"`

	// QlQuerySearchResult determines if the result is from an AQL query search.
	QlQuerySearchResult bool `json:"qlQuerySearchResult"`

	// Iql is the IQL query used for the search.
	Iql string `json:"iql"`

	// IqlSearchResult determines if the result is from an IQL query search.
	IqlSearchResult bool `json:"iqlSearchResult"`

	// ConversionPossible determines if a conversion is possible.
	ConversionPossible bool `json:"conversionPossible"`
}

ObjectPageScheme represents a page of objects in an AQL search.

type ObjectPayloadAttributeScheme

type ObjectPayloadAttributeScheme struct {
	ObjectTypeAttributeID string                               `json:"objectTypeAttributeId,omitempty"` // The ID of the object type attribute.
	ObjectAttributeValues []*ObjectPayloadAttributeValueScheme `json:"objectAttributeValues,omitempty"` // The values of the object attribute.
}

ObjectPayloadAttributeScheme represents an attribute in the payload for an object. ObjectTypeAttributeID is the ID of the object type attribute. ObjectAttributeValues is a slice of the values of the object attribute.

type ObjectPayloadAttributeValueScheme

type ObjectPayloadAttributeValueScheme struct {
	Value string `json:"value,omitempty"` // The value of the attribute.
}

ObjectPayloadAttributeValueScheme represents the value of an attribute in the payload for an object. Value is the value of the attribute.

type ObjectPayloadScheme

type ObjectPayloadScheme struct {
	ObjectTypeID string                          `json:"objectTypeId,omitempty"` // The ID of the object type.
	AvatarUUID   string                          `json:"avatarUUID,omitempty"`   // The UUID of the avatar.
	HasAvatar    bool                            `json:"hasAvatar,omitempty"`    // Indicates if the object has an avatar.
	Attributes   []*ObjectPayloadAttributeScheme `json:"attributes,omitempty"`   // The attributes of the object.
}

ObjectPayloadScheme represents the payload for an object. ObjectTypeID is the ID of the object type. AvatarUUID is the UUID of the avatar. HasAvatar indicates if the object has an avatar. Attributes is a slice of the attributes of the object.

type ObjectReferenceTypeInfoScheme

type ObjectReferenceTypeInfoScheme struct {
	ReferenceTypes            []*TypeReferenceScheme `json:"referenceTypes,omitempty"`            // The reference types of the object.
	ObjectType                *ObjectTypeScheme      `json:"objectType,omitempty"`                // The type of the object.
	NumberOfReferencedObjects int                    `json:"numberOfReferencedObjects,omitempty"` // The number of referenced objects.
	OpenIssuesExists          bool                   `json:"openIssuesExists,omitempty"`          // Indicates if there are open issues related to this type.
}

ObjectReferenceTypeInfoScheme represents the information about an object reference type. ReferenceTypes is a slice of the reference types. ObjectType is the type of the object. NumberOfReferencedObjects is the number of objects that reference this type. OpenIssuesExists is a boolean indicating if there are open issues related to this type.

type ObjectSchemaAttributesParamsScheme

type ObjectSchemaAttributesParamsScheme struct {
	OnlyValueEditable bool   // Return only values that are associated with values that can be edited.
	Extended          bool   // Include the object type with each object type attribute.
	Query             string // A query that will be used to filter object type attributes by their name.
}

ObjectSchemaAttributesParamsScheme represents the search parameters for an object schema's attributes. OnlyValueEditable return only values that are associated with values that can be edited. Extended include the object type with each object type attribute. Query it's a query that will be used to filter object type attributes by their name.

type ObjectSchemaPageScheme

type ObjectSchemaPageScheme struct {
	StartAt    int                   `json:"startAt,omitempty"`    // The starting index of the list.
	MaxResults int                   `json:"maxResults,omitempty"` // The maximum number of results in the list.
	Total      int                   `json:"total,omitempty"`      // The total number of object schemas in the list.
	Values     []*ObjectSchemaScheme `json:"values,omitempty"`     // The object schemas in the list.
}

ObjectSchemaPageScheme represents a paginated list of object schemas. StartAt is the starting index of the list. MaxResults is the maximum number of results in the list. Total is the total number of object schemas in the list. Values is a slice of the object schemas in the list.

type ObjectSchemaPayloadScheme

type ObjectSchemaPayloadScheme struct {
	Name            string `json:"name,omitempty"`            // The name of the object schema.
	ObjectSchemaKey string `json:"objectSchemaKey,omitempty"` // The key of the object schema.
	Description     string `json:"description,omitempty"`     // The description of the object schema.
}

ObjectSchemaPayloadScheme represents the payload for an object schema. Name is the name of the object schema. ObjectSchemaKey is the key of the object schema. Description is the description of the object schema.

type ObjectSchemaScheme

type ObjectSchemaScheme struct {
	WorkspaceID     string `json:"workspaceId,omitempty"`     // The ID of the workspace.
	GlobalID        string `json:"globalId,omitempty"`        // The global ID of the object schema.
	ID              string `json:"id,omitempty"`              // The ID of the object schema.
	Name            string `json:"name,omitempty"`            // The name of the object schema.
	ObjectSchemaKey string `json:"objectSchemaKey,omitempty"` // The key of the object schema.
	Description     string `json:"description,omitempty"`     // The description of the object schema.
	Status          string `json:"status,omitempty"`          // The status of the object schema.
	Created         string `json:"created,omitempty"`         // The creation time of the object schema.
	Updated         string `json:"updated,omitempty"`         // The update time of the object schema.
	ObjectCount     int    `json:"objectCount,omitempty"`     // The number of objects in the object schema.
	ObjectTypeCount int    `json:"objectTypeCount,omitempty"` // The number of object types in the object schema.
	CanManage       bool   `json:"canManage,omitempty"`       // Indicates if the object schema can be managed.
}

ObjectSchemaScheme represents an object schema.

type ObjectSchemaTypePageScheme

type ObjectSchemaTypePageScheme struct {
	Entries []*ObjectTypeScheme `json:"entries,omitempty"` // The object types on the page.
}

ObjectSchemaTypePageScheme represents a page of object types. Entries is a slice of the object types on the page.

type ObjectScheme

type ObjectScheme struct {
	WorkspaceID string                   `json:"workspaceId,omitempty"` // The ID of the workspace.
	GlobalID    string                   `json:"globalId,omitempty"`    // The global ID of the object.
	ID          string                   `json:"id,omitempty"`          // The ID of the object.
	Label       string                   `json:"label,omitempty"`       // The label of the object.
	ObjectKey   string                   `json:"objectKey,omitempty"`   // The key of the object.
	Avatar      *ObjectAvatarScheme      `json:"avatar,omitempty"`      // The avatar of the object.
	ObjectType  *ObjectTypeScheme        `json:"objectType,omitempty"`  // The type of the object.
	Created     string                   `json:"created,omitempty"`     // The creation time of the object.
	Updated     string                   `json:"updated,omitempty"`     // The update time of the object.
	HasAvatar   bool                     `json:"hasAvatar,omitempty"`   // Indicates if the object has an avatar.
	Timestamp   int                      `json:"timestamp,omitempty"`   // The timestamp of the object.
	Attributes  []*ObjectAttributeScheme `json:"attributes"`            // The attributes of the object.
	Links       *ObjectLinksScheme       `json:"_links,omitempty"`      // The links of the object.
}

ObjectScheme represents an object. WorkspaceID is the ID of the workspace. GlobalID is the global ID of the object. ID is the unique identifier of the object. Label is the label of the object. ObjectKey is the key of the object. Avatar is the avatar of the object. ObjectType is the type of the object. Created is the creation time of the object. Updated is the update time of the object. HasAvatar indicates if the object has an avatar. Timestamp is the timestamp of the object. Attributes is a slice of the attributes of the object. Links is the links of the object.

type ObjectSearchParamsScheme

type ObjectSearchParamsScheme struct {
	Query                  string                     `json:"qlQuery,omitempty"`             // The AQL that will fetch the objects.
	Iql                    string                     `json:"iql,omitempty"`                 // Deprecated. Use Query instead.
	ObjectTypeID           string                     `json:"objectTypeId,omitempty"`        // The ID of the object type.
	Page                   int                        `json:"page,omitempty"`                // The requested page to be loaded for a paginated result.
	ResultPerPage          int                        `json:"resultsPerPage,omitempty"`      // How many objects should be returned in the request.
	OrderByTypeAttributeID int                        `json:"orderByTypeAttrId,omitempty"`   // Which attribute should be used to order by.
	Asc                    int                        `json:"asc,omitempty"`                 // Sort objects in ascending order or descending order based on the attribute identified by OrderByTypeAttributeID.
	ObjectID               string                     `json:"objectId,omitempty"`            // Identifies an object that should be included in the result.
	ObjectSchemaID         string                     `json:"objectSchemaId,omitempty"`      // The ID of the object schema.
	IncludeAttributes      bool                       `json:"includeAttributes,omitempty"`   // Should attribute values be included in the response.
	AttributesToDisplay    *AttributesToDisplayScheme `json:"attributesToDisplay,omitempty"` // Identifies attributes to be displayed.
}

ObjectSearchParamsScheme represents the search parameters for an object. Query is the AQL that will fetch the objects. Iql is deprecated and Query should be used instead. ObjectTypeID is the ID of the object type. Page is the requested page to be loaded for a paginated result. ResultPerPage is how many objects should be returned in the request. OrderByTypeAttributeID is which attribute should be used to order by. Asc is to sort objects in ascending order or descending order based on the attribute identified by OrderByTypeAttributeID. ObjectID identifies an object that should be included in the result. ObjectSchemaID is the ID of the object schema. IncludeAttributes indicates if attribute values should be included in the response. AttributesToDisplay identifies attributes to be displayed.

type ObjectTypeAssetAttributeDefaultTypeScheme

type ObjectTypeAssetAttributeDefaultTypeScheme struct {
	ID   int    `json:"id,omitempty"`   // The ID of the default type.
	Name string `json:"name,omitempty"` // The name of the default type.
}

ObjectTypeAssetAttributeDefaultTypeScheme represents the default type of an attribute in an asset. ID is the unique identifier of the default type. Name is the name of the default type.

type ObjectTypeAssetAttributeReferenceTypeScheme

type ObjectTypeAssetAttributeReferenceTypeScheme struct {
	WorkspaceID string `json:"workspaceId,omitempty"` // The ID of the workspace.
	GlobalID    string `json:"globalId,omitempty"`    // The global ID of the reference type.
	Name        string `json:"name,omitempty"`        // The name of the reference type.
}

ObjectTypeAssetAttributeReferenceTypeScheme represents a reference type of an attribute in an asset. WorkspaceID is the ID of the workspace. GlobalID is the global ID of the reference type. Name is the name of the reference type.

type ObjectTypeAssetAttributeStatusScheme

type ObjectTypeAssetAttributeStatusScheme struct {
	ID       string `json:"id,omitempty"`       // The ID of the status.
	Name     string `json:"name,omitempty"`     // The name of the status.
	Category int    `json:"category,omitempty"` // The category of the status.
}

ObjectTypeAssetAttributeStatusScheme represents the status of an attribute value in an asset. ID is the unique identifier of the status. Name is the name of the status. Category is the category of the status.

type ObjectTypeAssetAttributeValueGroupScheme

type ObjectTypeAssetAttributeValueGroupScheme struct {
	AvatarURL string `json:"avatarUrl,omitempty"` // The URL of the avatar for the group.
	Name      string `json:"name,omitempty"`      // The name of the group.
}

ObjectTypeAssetAttributeValueGroupScheme represents a group of attribute values in an asset. AvatarURL is the URL of the avatar for the group. Name is the name of the group.

type ObjectTypeAssetAttributeValueScheme

type ObjectTypeAssetAttributeValueScheme struct {
	Value           string                                    `json:"value,omitempty"`           // The value of the attribute.
	DisplayValue    string                                    `json:"displayValue,omitempty"`    // The display value of the attribute.
	SearchValue     string                                    `json:"searchValue,omitempty"`     // The search value of the attribute.
	Group           *ObjectTypeAssetAttributeValueGroupScheme `json:"group,omitempty"`           // The group of the attribute value.
	Status          *ObjectTypeAssetAttributeStatusScheme     `json:"status,omitempty"`          // The status of the attribute value.
	AdditionalValue string                                    `json:"additionalValue,omitempty"` // The additional value of the attribute.
}

ObjectTypeAssetAttributeValueScheme represents the value of an attribute in an asset. Value is the value of the attribute. DisplayValue is the display value of the attribute. SearchValue is the search value of the attribute. Group is the group of the attribute value. Status is the status of the attribute value. AdditionalValue is the additional value of the attribute.

type ObjectTypeAttributePayloadScheme

type ObjectTypeAttributePayloadScheme struct {
	Name                    string   `json:"name,omitempty"`                    // The name of the attribute type.
	Label                   bool     `json:"label,omitempty"`                   // Indicates if the attribute type is a label.
	Description             string   `json:"description,omitempty"`             // The description of the attribute type.
	Type                    *int     `json:"type,omitempty"`                    // The type of the attribute type.
	DefaultTypeID           *int     `json:"defaultTypeId,omitempty"`           // The default type ID of the attribute type.
	TypeValue               string   `json:"typeValue,omitempty"`               // The type value of the attribute type.
	TypeValueMulti          []string `json:"typeValueMulti,omitempty"`          // The multiple type values of the attribute type.
	AdditionalValue         string   `json:"additionalValue,omitempty"`         // The additional value of the attribute type.
	MinimumCardinality      *int     `json:"minimumCardinality,omitempty"`      // The minimum cardinality of the attribute type.
	MaximumCardinality      *int     `json:"maximumCardinality,omitempty"`      // The maximum cardinality of the attribute type.
	Suffix                  string   `json:"suffix,omitempty"`                  // The suffix of the attribute type.
	IncludeChildObjectTypes bool     `json:"includeChildObjectTypes,omitempty"` // Indicates if child object types are included.
	Hidden                  bool     `json:"hidden,omitempty"`                  // Indicates if the attribute type is hidden.
	UniqueAttribute         bool     `json:"uniqueAttribute,omitempty"`         // Indicates if the attribute type is unique.
	Summable                bool     `json:"summable,omitempty"`                // Indicates if the attribute type is summable.
	RegexValidation         string   `json:"regexValidation,omitempty"`         // The regex validation of the attribute type.
	QlQuery                 string   `json:"qlQuery,omitempty"`                 // The QL query of the attribute type.
	Iql                     string   `json:"iql,omitempty"`                     // The IQL of the attribute type.
	Options                 string   `json:"options,omitempty"`                 // The options of the attribute type.
}

ObjectTypeAttributePayloadScheme represents the payload for an attribute type. It includes various properties of the attribute type like name, label, description, type, default type ID, type value, etc.

type ObjectTypeAttributeScheme

type ObjectTypeAttributeScheme struct {
	WorkspaceID             string                                       `json:"workspaceId,omitempty"`             // The ID of the workspace.
	GlobalID                string                                       `json:"globalId,omitempty"`                // The global ID of the attribute type.
	ID                      string                                       `json:"id,omitempty"`                      // The ID of the attribute type.
	ObjectType              *ObjectTypeScheme                            `json:"objectType,omitempty"`              // The type of the object.
	Name                    string                                       `json:"name,omitempty"`                    // The name of the attribute type.
	Label                   bool                                         `json:"label,omitempty"`                   // Indicates if the attribute type is a label.
	Type                    int                                          `json:"type,omitempty"`                    // The type of the attribute type.
	Description             string                                       `json:"description,omitempty"`             // The description of the attribute type.
	DefaultType             *ObjectTypeAssetAttributeDefaultTypeScheme   `json:"defaultType,omitempty"`             // The default type of the attribute type.
	TypeValue               string                                       `json:"typeValue,omitempty"`               // The type value of the attribute type.
	TypeValueMulti          []string                                     `json:"typeValueMulti,omitempty"`          // The multiple type values of the attribute type.
	AdditionalValue         string                                       `json:"additionalValue,omitempty"`         // The additional value of the attribute type.
	ReferenceType           *ObjectTypeAssetAttributeReferenceTypeScheme `json:"referenceType,omitempty"`           // The reference type of the attribute type.
	ReferenceObjectTypeID   string                                       `json:"referenceObjectTypeId,omitempty"`   // The ID of the reference object type.
	ReferenceObjectType     *ObjectTypeScheme                            `json:"referenceObjectType,omitempty"`     // The reference object type.
	Editable                bool                                         `json:"editable,omitempty"`                // Indicates if the attribute type is editable.
	System                  bool                                         `json:"system,omitempty"`                  // Indicates if the attribute type is a system attribute.
	Indexed                 bool                                         `json:"indexed,omitempty"`                 // Indicates if the attribute type is indexed.
	Sortable                bool                                         `json:"sortable,omitempty"`                // Indicates if the attribute type is sortable.
	Summable                bool                                         `json:"summable,omitempty"`                // Indicates if the attribute type is summable.
	MinimumCardinality      int                                          `json:"minimumCardinality,omitempty"`      // The minimum cardinality of the attribute type.
	MaximumCardinality      int                                          `json:"maximumCardinality,omitempty"`      // The maximum cardinality of the attribute type.
	Suffix                  string                                       `json:"suffix,omitempty"`                  // The suffix of the attribute type.
	Removable               bool                                         `json:"removable,omitempty"`               // Indicates if the attribute type is removable.
	ObjectAttributeExists   bool                                         `json:"objectAttributeExists,omitempty"`   // Indicates if the attribute exists in the object.
	Hidden                  bool                                         `json:"hidden,omitempty"`                  // Indicates if the attribute type is hidden.
	IncludeChildObjectTypes bool                                         `json:"includeChildObjectTypes,omitempty"` // Indicates if child object types are included.
	UniqueAttribute         bool                                         `json:"uniqueAttribute,omitempty"`         // Indicates if the attribute type is unique.
	RegexValidation         string                                       `json:"regexValidation,omitempty"`         // The regex validation of the attribute type.
	Iql                     string                                       `json:"iql,omitempty"`                     // The IQL of the attribute type.
	QlQuery                 string                                       `json:"qlQuery,omitempty"`                 // The QL query of the attribute type.
	Options                 string                                       `json:"options,omitempty"`                 // The options of the attribute type.
	Position                int                                          `json:"position,omitempty"`                // The position of the attribute type.
}

ObjectTypeAttributeScheme represents an attribute type of an object. It includes various properties of the attribute type like workspace ID, global ID, ID, object type, name, label, type, description, etc.

type ObjectTypeAttributesParamsScheme

type ObjectTypeAttributesParamsScheme struct {
	OnlyValueEditable       bool   // Return only values that are associated with values that can be edited.
	OrderByName             bool   // Order by the name of the attribute.
	Query                   string // A query that will be used to filter object type attributes by their name.
	IncludeValuesExist      bool   // Include values that exist.
	ExcludeParentAttributes bool   // Exclude parent attributes.
	IncludeChildren         bool   // Include children.
	OrderByRequired         bool   // Order by required.
}

ObjectTypeAttributesParamsScheme represents the search parameters for an object type's attributes. OnlyValueEditable return only values that are associated with values that can be edited. OrderByName order by the name of the attribute. Query is a query that will be used to filter object type attributes by their name. IncludeValuesExist include values that exist. ExcludeParentAttributes exclude parent attributes. IncludeChildren include children. OrderByRequired order by required.

type ObjectTypePayloadScheme

type ObjectTypePayloadScheme struct {
	Name               string `json:"name,omitempty"`               // The name of the object type.
	Description        string `json:"description,omitempty"`        // The description of the object type.
	IconID             string `json:"iconId,omitempty"`             // The ID of the icon of the object type.
	ObjectSchemaID     string `json:"objectSchemaId,omitempty"`     // The ID of the object schema.
	ParentObjectTypeID string `json:"parentObjectTypeId,omitempty"` // The ID of the parent object type.
	Inherited          bool   `json:"inherited,omitempty"`          // Indicates if the object type is inherited.
	AbstractObjectType bool   `json:"abstractObjectType,omitempty"` // Indicates if the object type is abstract.
}

ObjectTypePayloadScheme represents the payload for an object type. Name is the name of the object type. Description is the description of the object type. IconID is the ID of the icon of the object type. ObjectSchemaID is the ID of the object schema. ParentObjectTypeID is the ID of the parent object type. Inherited indicates if the object type is inherited. AbstractObjectType indicates if the object type is abstract.

type ObjectTypePositionPayloadScheme

type ObjectTypePositionPayloadScheme struct {
	ToObjectTypeID string `json:"toObjectTypeId,omitempty"` // The ID of the object type to which the position is related.
	Position       int    `json:"position,omitempty"`       // The position of the object type.
}

ObjectTypePositionPayloadScheme represents the payload for the position of an object type. ToObjectTypeID is the ID of the object type to which the position is related. Position is the position of the object type.

type ObjectTypeScheme

type ObjectTypeScheme struct {
	WorkspaceID               string      `json:"workspaceId,omitempty"`               // The ID of the workspace.
	GlobalID                  string      `json:"globalId,omitempty"`                  // The global ID of the object type.
	ID                        string      `json:"id,omitempty"`                        // The ID of the object type.
	Name                      string      `json:"name,omitempty"`                      // The name of the object type.
	Description               string      `json:"description,omitempty"`               // The description of the object type.
	Icon                      *IconScheme `json:"icon,omitempty"`                      // The icon of the object type.
	Position                  int         `json:"position,omitempty"`                  // The position of the object type.
	Created                   string      `json:"created,omitempty"`                   // The creation time of the object type.
	Updated                   string      `json:"updated,omitempty"`                   // The update time of the object type.
	ObjectCount               int         `json:"objectCount,omitempty"`               // The number of objects of the object type.
	ParentObjectTypeID        string      `json:"parentObjectTypeId,omitempty"`        // The ID of the parent object type.
	ObjectSchemaID            string      `json:"objectSchemaId,omitempty"`            // The ID of the object schema.
	Inherited                 bool        `json:"inherited,omitempty"`                 // Indicates if the object type is inherited.
	AbstractObjectType        bool        `json:"abstractObjectType,omitempty"`        // Indicates if the object type is abstract.
	ParentObjectTypeInherited bool        `json:"parentObjectTypeInherited,omitempty"` // Indicates if the parent object type is inherited.
}

ObjectTypeScheme represents an object type. WorkspaceID is the ID of the workspace. GlobalID is the global ID of the object type. ID is the unique identifier of the object type. Name is the name of the object type. Description is the description of the object type. Icon is the icon of the object type. Position is the position of the object type. Created is the creation time of the object type. Updated is the update time of the object type. ObjectCount is the number of objects of the object type. ParentObjectTypeID is the ID of the parent object type. ObjectSchemaID is the ID of the object schema. Inherited indicates if the object type is inherited. AbstractObjectType indicates if the object type is abstract. ParentObjectTypeInherited indicates if the parent object type is inherited.

type OperationPermissionScheme

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

OperationPermissionScheme represents an operation in a permission in Confluence.

type OperationScheme

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

OperationScheme represents an operation.

type OrderFieldOptionPayloadScheme

type OrderFieldOptionPayloadScheme struct {
	After                string   `json:"after,omitempty"`                // The ID of the option after which the current option should be placed.
	Position             string   `json:"position,omitempty"`             // The position of the option.
	CustomFieldOptionIDs []string `json:"customFieldOptionIds,omitempty"` // The IDs of the custom field options.
}

OrderFieldOptionPayloadScheme represents the payload for ordering a field option in Jira.

type OrganizationDomainDataScheme

type OrganizationDomainDataScheme struct {
	ID         string `json:"id"`   // The ID of the domain.
	Type       string `json:"type"` // The type of the domain.
	Attributes struct {
		Name  string `json:"name"` // The name of the domain.
		Claim struct {
			Type   string `json:"type"`   // The type of the claim.
			Status string `json:"status"` // The status of the claim.
		} `json:"claim"` // The claim of the domain.
	} `json:"attributes"` // The attributes of the domain.
	Links struct {
		Self string `json:"self"` // Link to the domain itself.
	} `json:"links"` // Links related to the domain.
}

OrganizationDomainDataScheme represents the data of a domain.

type OrganizationDomainModelAttributeClaimScheme

type OrganizationDomainModelAttributeClaimScheme struct {
	Type   string `json:"type,omitempty"`   // The type of the claim.
	Status string `json:"status,omitempty"` // The status of the claim.
}

OrganizationDomainModelAttributeClaimScheme represents the claim of a domain.

type OrganizationDomainModelAttributesScheme

type OrganizationDomainModelAttributesScheme struct {
	Name  string                                       `json:"name,omitempty"`  // The name of the domain.
	Claim *OrganizationDomainModelAttributeClaimScheme `json:"claim,omitempty"` // The claim of the domain.
}

OrganizationDomainModelAttributesScheme represents the attributes of a domain.

type OrganizationDomainModelScheme

type OrganizationDomainModelScheme struct {
	ID         string                                   `json:"id,omitempty"`         // The ID of the domain.
	Type       string                                   `json:"type,omitempty"`       // The type of the domain.
	Attributes *OrganizationDomainModelAttributesScheme `json:"attributes,omitempty"` // The attributes of the domain.
	Links      *LinkSelfModelScheme                     `json:"links,omitempty"`      // Links related to the domain.
}

OrganizationDomainModelScheme represents a domain in an organization.

type OrganizationDomainPageScheme

type OrganizationDomainPageScheme struct {
	Data  []*OrganizationDomainModelScheme `json:"data,omitempty"`  // The domains on this page.
	Links *LinkPageModelScheme             `json:"links,omitempty"` // Links to other pages.
}

OrganizationDomainPageScheme represents a page of domains in an organization.

type OrganizationDomainScheme

type OrganizationDomainScheme struct {
	Data *OrganizationDomainDataScheme `json:"data"` // The domain data.
}

OrganizationDomainScheme represents a domain.

type OrganizationEventActionModelAttributesScheme

type OrganizationEventActionModelAttributesScheme struct {
	DisplayName      string `json:"displayName,omitempty"`      // The display name of the action.
	GroupDisplayName string `json:"groupDisplayName,omitempty"` // The group display name of the action.
}

OrganizationEventActionModelAttributesScheme represents the attributes of an action in an event.

type OrganizationEventActionModelScheme

type OrganizationEventActionModelScheme struct {
	ID         string                                        `json:"id,omitempty"`         // The ID of the action.
	Type       string                                        `json:"type,omitempty"`       // The type of the action.
	Attributes *OrganizationEventActionModelAttributesScheme `json:"attributes,omitempty"` // The attributes of the action.
}

OrganizationEventActionModelScheme represents an action in an event.

type OrganizationEventActionScheme

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

OrganizationEventActionScheme represents an action in an event.

type OrganizationEventActorModel

type OrganizationEventActorModel struct {
	ID    string               `json:"id,omitempty"`    // The ID of the actor.
	Name  string               `json:"name,omitempty"`  // The name of the actor.
	Links *LinkSelfModelScheme `json:"links,omitempty"` // Links related to the actor.
}

OrganizationEventActorModel represents the actor of an event.

type OrganizationEventLocationModel

type OrganizationEventLocationModel struct {
	IP  string `json:"ip,omitempty"`  // The IP address of the location.
	Geo string `json:"geo,omitempty"` // The geographical location.
}

OrganizationEventLocationModel represents the location of an event.

type OrganizationEventModelAttributesScheme

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

OrganizationEventModelAttributesScheme represents the attributes of an event.

type OrganizationEventModelScheme

type OrganizationEventModelScheme struct {
	ID         string                                  `json:"id,omitempty"`         // The ID of the event.
	Type       string                                  `json:"type,omitempty"`       // The type of the event.
	Attributes *OrganizationEventModelAttributesScheme `json:"attributes,omitempty"` // The attributes of the event.
	Links      *LinkSelfModelScheme                    `json:"links,omitempty"`      // Links related to the event.
}

OrganizationEventModelScheme represents an event in an organization.

type OrganizationEventObjectModel

type OrganizationEventObjectModel struct {
	ID    string `json:"id,omitempty"`   // The ID of the object.
	Type  string `json:"type,omitempty"` // The type of the object.
	Links struct {
		Self string `json:"self,omitempty"` // Link to the object itself.
		Alt  string `json:"alt,omitempty"`  // Alternative link to the object.
	} `json:"links,omitempty"` // Links related to the object.
}

OrganizationEventObjectModel represents an object in the context or container of an event.

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.
}

OrganizationEventOptScheme represents the options for getting events.

type OrganizationEventPageScheme

type OrganizationEventPageScheme struct {
	Data  []*OrganizationEventModelScheme `json:"data,omitempty"`  // The events on this page.
	Links *LinkPageModelScheme            `json:"links,omitempty"` // Links to other pages.
	Meta  struct {
		Next     string `json:"next,omitempty"`      // The next page.
		PageSize int    `json:"page_size,omitempty"` // The page size.
	} `json:"meta,omitempty"`
}

OrganizationEventPageScheme represents a page of events in an organization.

type OrganizationEventScheme

type OrganizationEventScheme struct {
	Data *OrganizationEventModelScheme `json:"data,omitempty"` // The event data.
}

OrganizationEventScheme represents an event.

type OrganizationModelAttribute

type OrganizationModelAttribute struct {
	Name string `json:"name,omitempty"` // The name of the organization.
}

OrganizationModelAttribute represents the attributes of an organization.

type OrganizationModelRelationships

type OrganizationModelRelationships struct {
	Domains *OrganizationModelSchemes `json:"domains,omitempty"` // The domains of the organization.
	Users   *OrganizationModelSchemes `json:"users,omitempty"`   // The users of the organization.
}

OrganizationModelRelationships represents the relationships of an organization.

type OrganizationModelScheme

type OrganizationModelScheme struct {
	ID            string                          `json:"id,omitempty"`            // The ID of the organization.
	Type          string                          `json:"type,omitempty"`          // The type of the organization.
	Attributes    *OrganizationModelAttribute     `json:"attributes,omitempty"`    // The attributes of the organization.
	Relationships *OrganizationModelRelationships `json:"relationships,omitempty"` // The relationships of the organization.
	Links         *LinkSelfModelScheme            `json:"links,omitempty"`         // Links related to the organization.
}

OrganizationModelScheme represents an organization.

type OrganizationModelSchemes

type OrganizationModelSchemes struct {
	Links struct {
		Related string `json:"related,omitempty"` // Link to the related entity.
	} `json:"links,omitempty"`
}

OrganizationModelSchemes represents the links to related entities.

type OrganizationPageLinkScheme

type OrganizationPageLinkScheme struct {
	Self    string `json:"self,omitempty"`    // The URL of the page itself.
	Base    string `json:"base,omitempty"`    // The base URL for the links.
	Context string `json:"context,omitempty"` // The context for the links.
	Next    string `json:"next,omitempty"`    // The URL for the next page of organizations.
	Prev    string `json:"prev,omitempty"`    // The URL for the previous page of organizations.
}

OrganizationPageLinkScheme represents links related to a page of organizations.

type OrganizationPageScheme

type OrganizationPageScheme struct {
	Size       int                         `json:"size,omitempty"`       // The number of organizations on the page.
	Start      int                         `json:"start,omitempty"`      // The index of the first organization on the page.
	Limit      int                         `json:"limit,omitempty"`      // The maximum number of organizations that can be on the page.
	IsLastPage bool                        `json:"isLastPage,omitempty"` // Indicates if this is the last page of organizations.
	Values     []*OrganizationScheme       `json:"values,omitempty"`     // The organizations on the page.
	Expands    []string                    `json:"_expands,omitempty"`   // Additional data related to the organizations.
	Links      *OrganizationPageLinkScheme `json:"_links,omitempty"`     // Links related to the page of organizations.
}

OrganizationPageScheme represents a page of organizations in a system.

type OrganizationPolicyAttributes

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

OrganizationPolicyAttributes represents the attributes of an organization policy.

type OrganizationPolicyData

type OrganizationPolicyData struct {
	ID         string                        `json:"id,omitempty"`         // The ID of the policy.
	Type       string                        `json:"type,omitempty"`       // The type of the policy.
	Attributes *OrganizationPolicyAttributes `json:"attributes,omitempty"` // The attributes of the policy.
}

OrganizationPolicyData represents the data of an organization policy.

type OrganizationPolicyPageScheme

type OrganizationPolicyPageScheme struct {
	Data  []*OrganizationPolicyData `json:"data,omitempty"`  // The organization policies on this page.
	Links *LinkPageModelScheme      `json:"links,omitempty"` // Links to other pages.
	Meta  struct {
		Next     string `json:"next,omitempty"`      // The next page.
		PageSize int    `json:"page_size,omitempty"` // The page size.
	} `json:"meta,omitempty"` // Metadata about the page.
}

OrganizationPolicyPageScheme represents a page of organization policies.

type OrganizationPolicyResource

type OrganizationPolicyResource struct {
	ID                string `json:"id,omitempty"`                // The ID of the resource.
	ApplicationStatus string `json:"applicationStatus,omitempty"` // The application status of the resource.
}

OrganizationPolicyResource represents a resource in an organization policy.

type OrganizationPolicyScheme

type OrganizationPolicyScheme struct {
	Data OrganizationPolicyData `json:"data,omitempty"` // The organization policy data.
}

OrganizationPolicyScheme represents an organization policy.

type OrganizationScheme

type OrganizationScheme struct {
	ID    string `json:"id,omitempty"`   // The ID of the organization.
	Name  string `json:"name,omitempty"` // The name of the organization.
	Links struct {
		Self string `json:"self,omitempty"` // The URL of the organization itself.
	} `json:"_links,omitempty"` // Links related to the organization.
}

OrganizationScheme represents an organization in a system.

type OrganizationUserLinkScheme

type OrganizationUserLinkScheme struct {
	Self     string `json:"self,omitempty"`     // The URL of the organization user itself.
	JiraRest string `json:"jiraRest,omitempty"` // The Jira REST API link for the organization user.
}

OrganizationUserLinkScheme represents links related to an organization user.

type OrganizationUserPageScheme

type OrganizationUserPageScheme struct {
	Data  []*AdminOrganizationUserScheme `json:"data,omitempty"`  // The users on this page.
	Links *LinkPageModelScheme           `json:"links,omitempty"` // Links to other pages.
	Meta  struct {
		Total int `json:"total,omitempty"` // The total number of users.
	} `json:"meta,omitempty"`
}

OrganizationUserPageScheme represents a page of users in an organization.

type OrganizationUserProductScheme

type OrganizationUserProductScheme struct {
	Key        string `json:"key,omitempty"`         // The key of the product.
	Name       string `json:"name,omitempty"`        // The name of the product.
	URL        string `json:"url,omitempty"`         // The URL of the product.
	LastActive string `json:"last_active,omitempty"` // The last active time of the product.
}

OrganizationUserProductScheme represents a product a user has access to.

type OrganizationUserScheme

type OrganizationUserScheme struct {
	AccountID    string                      `json:"accountId,omitempty"`    // The account ID of the organization user.
	Name         string                      `json:"name,omitempty"`         // The name of the organization user.
	Key          string                      `json:"key,omitempty"`          // The key of the organization user.
	EmailAddress string                      `json:"emailAddress,omitempty"` // The email address of the organization user.
	DisplayName  string                      `json:"displayName,omitempty"`  // The display name of the organization user.
	Active       bool                        `json:"active,omitempty"`       // Indicates if the organization user is active.
	TimeZone     string                      `json:"timeZone,omitempty"`     // The time zone of the organization user.
	Links        *OrganizationUserLinkScheme `json:"_links,omitempty"`       // Links related to the organization user.
}

OrganizationUserScheme represents an organization user in a system.

type OrganizationUsersPageLinkScheme

type OrganizationUsersPageLinkScheme struct {
	Self    string `json:"self,omitempty"`    // The URL of the page itself.
	Base    string `json:"base,omitempty"`    // The base URL for the links.
	Context string `json:"context,omitempty"` // The context for the links.
	Next    string `json:"next,omitempty"`    // The URL for the next page of organization users.
	Prev    string `json:"prev,omitempty"`    // The URL for the previous page of organization users.
}

OrganizationUsersPageLinkScheme represents links related to a page of organization users.

type OrganizationUsersPageScheme

type OrganizationUsersPageScheme struct {
	Size       int                              `json:"size,omitempty"`       // The number of organization users on the page.
	Start      int                              `json:"start,omitempty"`      // The index of the first organization user on the page.
	Limit      int                              `json:"limit,omitempty"`      // The maximum number of organization users that can be on the page.
	IsLastPage bool                             `json:"isLastPage,omitempty"` // Indicates if this is the last page of organization users.
	Values     []*OrganizationUserScheme        `json:"values,omitempty"`     // The organization users on the page.
	Expands    []string                         `json:"_expands,omitempty"`   // Additional data related to the organization users.
	Links      *OrganizationUsersPageLinkScheme `json:"_links,omitempty"`     // Links related to the page of organization users.
}

OrganizationUsersPageScheme represents a page of organization users in a system.

type PageBodyRepresentationScheme

type PageBodyRepresentationScheme struct {
	Representation string `json:"representation,omitempty"` // The representation of the body.
	Value          string `json:"value,omitempty"`          // The value of the body.
}

PageBodyRepresentationScheme represents a representation of a body in Confluence.

type PageBodyScheme

type PageBodyScheme struct {
	Storage        *PageBodyRepresentationScheme `json:"storage,omitempty"`          // The storage body.
	AtlasDocFormat *PageBodyRepresentationScheme `json:"atlas_doc_format,omitempty"` // The Atlas doc format body.
}

PageBodyScheme represents the body of a page in Confluence.

type PageChunkLinksScheme

type PageChunkLinksScheme struct {
	Next string `json:"next,omitempty"` // The link to the next chunk of pages.
}

PageChunkLinksScheme represents the links of a chunk of pages in Confluence.

type PageChunkScheme

type PageChunkScheme struct {
	Results []*PageScheme         `json:"results,omitempty"` // The pages in the chunk.
	Links   *PageChunkLinksScheme `json:"_links,omitempty"`  // The links of the chunk.
}

PageChunkScheme represents a chunk of pages in Confluence.

type PageCreatePayloadScheme

type PageCreatePayloadScheme struct {
	SpaceID  string                        `json:"spaceId,omitempty"`  // The ID of the space of the page.
	Status   string                        `json:"status,omitempty"`   // The status of the page.
	Title    string                        `json:"title,omitempty"`    // The title of the page.
	ParentID string                        `json:"parentId,omitempty"` // The ID of the parent of the page.
	Body     *PageBodyRepresentationScheme `json:"body,omitempty"`     // The body of the page.
}

PageCreatePayloadScheme represents the payload for creating a page in Confluence.

type PageLinkScheme

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

PageLinkScheme represents a link in a page in Confluence.

type PageOptionsScheme

type PageOptionsScheme struct {
	PageIDs    []int    `json:"pageIDs,omitempty"`    // The IDs of the pages.
	SpaceIDs   []int    `json:"spaceIDs,omitempty"`   // The IDs of the spaces of the pages.
	Sort       string   `json:"sort,omitempty"`       // The sort order of the pages.
	Status     []string `json:"status,omitempty"`     // The statuses of the pages.
	Title      string   `json:"title,omitempty"`      // The title of the pages.
	BodyFormat string   `json:"bodyFormat,omitempty"` // The body format of the pages.
}

PageOptionsScheme represents the options for a page in Confluence.

type PageScheme

type PageScheme struct {
	ID         string             `json:"id,omitempty"`         // The ID of the page.
	Status     string             `json:"status,omitempty"`     // The status of the page.
	Title      string             `json:"title,omitempty"`      // The title of the page.
	SpaceID    string             `json:"spaceId,omitempty"`    // The ID of the space of the page.
	ParentID   string             `json:"parentId,omitempty"`   // The ID of the parent of the page.
	AuthorID   string             `json:"authorId,omitempty"`   // The ID of the author of the page.
	CreatedAt  string             `json:"createdAt,omitempty"`  // The timestamp of the creation of the page.
	ParentType string             `json:"parentType,omitempty"` // The type of the parent of the page.
	Position   int                `json:"position,omitempty"`   // The position of the page.
	Version    *PageVersionScheme `json:"version,omitempty"`    // The version of the page.
	Body       *PageBodyScheme    `json:"body,omitempty"`       // The body of the page.
}

PageScheme represents a page in Confluence.

type PageUpdatePayloadScheme

type PageUpdatePayloadScheme struct {
	ID       string                          `json:"id,omitempty"`       // The ID of the page.
	Status   string                          `json:"status,omitempty"`   // The status of the page.
	Title    string                          `json:"title,omitempty"`    // The title of the page.
	SpaceID  string                          `json:"spaceId,omitempty"`  // The ID of the space of the page.
	ParentID string                          `json:"parentId,omitempty"` // The ID of the parent of the page.
	OwnerID  string                          `json:"ownerId,omitempty"`  // The ID of the owner of the page.
	Body     *PageBodyRepresentationScheme   `json:"body,omitempty"`     // The body of the page.
	Version  *PageUpdatePayloadVersionScheme `json:"version,omitempty"`  // The version of the page.
}

PageUpdatePayloadScheme represents the payload for updating a page in Confluence.

type PageUpdatePayloadVersionScheme

type PageUpdatePayloadVersionScheme struct {
	Number  int    `json:"number,omitempty"`  // The number of the version.
	Message string `json:"message,omitempty"` // The message of the version.
}

PageUpdatePayloadVersionScheme represents the version of the payload for updating a page in Confluence.

type PageVersionScheme

type PageVersionScheme struct {
	CreatedAt string `json:"createdAt,omitempty"` // The timestamp of the creation of the version.
	Message   string `json:"message,omitempty"`   // The message of the version.
	Number    int    `json:"number,omitempty"`    // The number of the version.
	MinorEdit bool   `json:"minorEdit,omitempty"` // Indicates if the version is a minor edit.
	AuthorID  string `json:"authorId,omitempty"`  // The ID of the author of the version.
}

PageVersionScheme represents the version of a page in Confluence.

type ParentFieldsScheme

type ParentFieldsScheme struct {
	Summary string        `json:"summary,omitempty"` // The summary of the parent issue.
	Status  *StatusScheme `json:"status,omitempty"`  // The status of the parent issue.
}

ParentFieldsScheme represents the fields of a parent issue in Jira.

type ParentScheme

type ParentScheme struct {
	ID     string              `json:"id,omitempty"`     // The ID of the parent issue.
	Key    string              `json:"key,omitempty"`    // The key of the parent issue.
	Self   string              `json:"self,omitempty"`   // The URL of the parent issue.
	Fields *ParentFieldsScheme `json:"fields,omitempty"` // The fields of the parent issue.
}

ParentScheme represents the parent of an issue in Jira.

type ParseQueryScheme

type ParseQueryScheme struct {
	Query     string `json:"query"` // The query.
	Structure struct {
		Where struct {
		} `json:"where"` // The where clause of the query.
		OrderBy *QueryStructureOrderScheme `json:"orderBy"` // The order by clause of the query.
	} `json:"structure"` // The structure of the query.
	Errors []string `json:"errors"` // The errors occurred during parsing the query.
}

ParseQueryScheme represents a parsed query in Jira.

type ParsedQueryPageScheme

type ParsedQueryPageScheme struct {
	Queries []*ParseQueryScheme `json:"queries"` // The parsed queries in the page.
}

ParsedQueryPageScheme represents a page of parsed queries in Jira. Queries is a slice of pointers to ParseQueryScheme which represents the parsed queries in the page.

type PermissionCheckMessageScheme

type PermissionCheckMessageScheme struct {
	Translation string `json:"translation"` // The translation of the message.
	Args        []struct {
	} `json:"args"` // The arguments of the message.
}

PermissionCheckMessageScheme represents a message scheme for checking permissions in Confluence.

type PermissionCheckPayload

type PermissionCheckPayload struct {
	GlobalPermissions  []string                        `json:"globalPermissions,omitempty"`  // The global permissions to check.
	AccountID          string                          `json:"accountId,omitempty"`          // The account ID to check the permissions for.
	ProjectPermissions []*BulkProjectPermissionsScheme `json:"projectPermissions,omitempty"` // The project permissions to check.
}

PermissionCheckPayload represents the payload for a permission check in Jira.

type PermissionCheckResponseScheme

type PermissionCheckResponseScheme struct {
	HasPermission bool                            `json:"hasPermission"`    // Indicates if the permission is granted.
	Errors        []*PermissionCheckMessageScheme `json:"errors,omitempty"` // The errors occurred during the permission check.
}

PermissionCheckResponseScheme represents the response scheme for checking permissions in Confluence.

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

PermissionFilterPayloadScheme represents the payload for a permission filter in Jira.

type PermissionGrantHolderScheme

type PermissionGrantHolderScheme struct {
	Type      string `json:"type,omitempty"`      // The type of the holder.
	Parameter string `json:"parameter,omitempty"` // The parameter of the holder.
	Expand    string `json:"expand,omitempty"`    // The expand option for the holder.
}

PermissionGrantHolderScheme represents a holder of a permission grant in Jira.

type PermissionGrantPayloadScheme

type PermissionGrantPayloadScheme struct {
	Holder     *PermissionGrantHolderScheme `json:"holder,omitempty"`     // The holder of the permission grant.
	Permission string                       `json:"permission,omitempty"` // The permission to grant.
}

PermissionGrantPayloadScheme represents the payload for a permission grant in Jira.

type PermissionGrantScheme

type PermissionGrantScheme struct {
	ID         int                          `json:"id,omitempty"`         // The ID of the permission grant.
	Self       string                       `json:"self,omitempty"`       // The URL of the permission grant.
	Holder     *PermissionGrantHolderScheme `json:"holder,omitempty"`     // The holder of the permission grant.
	Permission string                       `json:"permission,omitempty"` // The permission to grant.
}

PermissionGrantScheme represents a grant of a permission in Jira.

type PermissionGrantsScheme

type PermissionGrantsScheme struct {
	ProjectPermissions []*ProjectPermissionGrantsScheme `json:"projectPermissions,omitempty"` // The project permission grants.
	GlobalPermissions  []string                         `json:"globalPermissions,omitempty"`  // The global permission grants.
}

PermissionGrantsScheme represents the grants of a permission in Jira.

type PermissionScheme

type PermissionScheme struct {
	Key         string `json:"key,omitempty"`         // The key of the permission scheme.
	Name        string `json:"name,omitempty"`        // The name of the permission scheme.
	Type        string `json:"type,omitempty"`        // The type of the permission scheme.
	Description string `json:"description,omitempty"` // The description of the permission scheme.
}

PermissionScheme represents a permission scheme in Jira.

type PermissionSchemeGrantsScheme

type PermissionSchemeGrantsScheme struct {
	Permissions []*PermissionGrantScheme `json:"permissions,omitempty"` // The permission grants.
	Expand      string                   `json:"expand,omitempty"`      // The expand option for the permission scheme grants.
}

PermissionSchemeGrantsScheme represents the grants of a permission scheme in Jira.

type PermissionSchemePageScheme

type PermissionSchemePageScheme struct {
	PermissionSchemes []*PermissionSchemeScheme `json:"permissionSchemes,omitempty"` // The permission schemes in the page.
}

PermissionSchemePageScheme represents a page of permission schemes in Jira.

type PermissionSchemeScheme

type PermissionSchemeScheme struct {
	Expand      string                         `json:"expand,omitempty"`      // The expand option for the permission scheme.
	ID          int                            `json:"id,omitempty"`          // The ID of the permission scheme.
	Self        string                         `json:"self,omitempty"`        // The URL of the permission scheme.
	Name        string                         `json:"name,omitempty"`        // The name of the permission scheme.
	Description string                         `json:"description,omitempty"` // The description of the permission scheme.
	Permissions []*PermissionGrantScheme       `json:"permissions,omitempty"` // The permissions of the permission scheme.
	Scope       *TeamManagedProjectScopeScheme `json:"scope,omitempty"`       // The scope of the permission scheme.
}

PermissionSchemeScheme represents a permission scheme in Jira.

type PermissionScopeItemScheme

type PermissionScopeItemScheme struct {
	Self            string                 `json:"self,omitempty"`            // The URL of the item.
	ID              string                 `json:"id,omitempty"`              // The ID of the item.
	Key             string                 `json:"key,omitempty"`             // The key of the item.
	Name            string                 `json:"name,omitempty"`            // The name of the item.
	ProjectTypeKey  string                 `json:"projectTypeKey,omitempty"`  // The project type key of the item.
	Simplified      bool                   `json:"simplified,omitempty"`      // Indicates if the item is simplified.
	ProjectCategory *ProjectCategoryScheme `json:"projectCategory,omitempty"` // The project category of the item.
}

PermissionScopeItemScheme represents an item in the scope of a permission in Jira.

type PermissionSubjectScheme

type PermissionSubjectScheme struct {
	Identifier string `json:"identifier,omitempty"` // The identifier of the subject.
	Type       string `json:"type,omitempty"`       // The type of the subject.
}

PermissionSubjectScheme represents the subject of a permission in Confluence.

type PermittedProjectsScheme

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

PermittedProjectsScheme represents the permitted projects of a permission in Jira.

type PriorityScheme

type PriorityScheme struct {
	Self        string `json:"self,omitempty"`        // The URL of the priority.
	StatusColor string `json:"statusColor,omitempty"` // The status color of the priority.
	Description string `json:"description,omitempty"` // The description of the priority.
	IconURL     string `json:"iconUrl,omitempty"`     // The URL of the icon for the priority.
	Name        string `json:"name,omitempty"`        // The name of the priority.
	ID          string `json:"id,omitempty"`          // The ID of the priority.
}

PriorityScheme represents a priority in Jira.

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

ProfilePictureScheme represents a profile picture.

type ProjectAndIssueTypePairScheme

type ProjectAndIssueTypePairScheme struct {
	IssueTypeID string `json:"issueTypeId,omitempty"` // IssueTypeID is the ID of the issue type.
	ProjectID   string `json:"projectId,omitempty"`   // ProjectID is the ID of the project.
}

ProjectAndIssueTypePairScheme represents a pair of project and issue type.

type ProjectCategoryPayloadScheme

type ProjectCategoryPayloadScheme struct {
	Name        string `json:"name,omitempty"`        // The name of the project category.
	Description string `json:"description,omitempty"` // The description of the project category.
}

ProjectCategoryPayloadScheme represents the payload for a project category in Jira.

type ProjectCategoryScheme

type ProjectCategoryScheme struct {
	Self        string `json:"self,omitempty"`        // The URL of the category.
	ID          string `json:"id,omitempty"`          // The ID of the category.
	Name        string `json:"name,omitempty"`        // The name of the category.
	Description string `json:"description,omitempty"` // The description of the category.
}

ProjectCategoryScheme represents a category of a project in Jira.

type ProjectDetailScheme

type ProjectDetailScheme struct {
	Self            string                 `json:"self,omitempty"`            // The URL of the project.
	ID              string                 `json:"id,omitempty"`              // The ID of the project.
	Key             string                 `json:"key,omitempty"`             // The key of the project.
	Name            string                 `json:"name,omitempty"`            // The name of the project.
	ProjectTypeKey  string                 `json:"projectTypeKey,omitempty"`  // The type key of the project.
	Simplified      bool                   `json:"simplified,omitempty"`      // Indicates if the project is simplified.
	ProjectCategory *ProjectCategoryScheme `json:"projectCategory,omitempty"` // The category of the project.
}

ProjectDetailScheme represents the details of a project in Jira.

type ProjectFeatureScheme

type ProjectFeatureScheme struct {
	ProjectID            int      `json:"projectId,omitempty"`            // The ID of the project.
	State                string   `json:"state,omitempty"`                // The state of the feature.
	ToggleLocked         bool     `json:"toggleLocked,omitempty"`         // Indicates if the feature is locked.
	Feature              string   `json:"feature,omitempty"`              // The name of the feature.
	Prerequisites        []string `json:"prerequisites,omitempty"`        // The prerequisites of the feature.
	LocalisedName        string   `json:"localisedName,omitempty"`        // The localized name of the feature.
	LocalisedDescription string   `json:"localisedDescription,omitempty"` // The localized description of the feature.
	ImageURI             string   `json:"imageUri,omitempty"`             // The URI of the feature image.
}

ProjectFeatureScheme represents a feature of a project in Jira.

type ProjectFeaturesScheme

type ProjectFeaturesScheme struct {
	Features []*ProjectFeatureScheme `json:"features,omitempty"` // The features of the project.
}

ProjectFeaturesScheme represents the features of a project in Jira.

type ProjectHierarchyIssueTypeScheme

type ProjectHierarchyIssueTypeScheme struct {
	ID       int    `json:"id,omitempty"`       // The ID of the issue type.
	EntityID string `json:"entityId,omitempty"` // The entity ID of the issue type.
	Name     string `json:"name,omitempty"`     // The name of the issue type.
	AvatarID int    `json:"avatarId,omitempty"` // The ID of the avatar for the issue type.
}

ProjectHierarchyIssueTypeScheme represents the hierarchy issue type scheme for a project in Jira.

type ProjectHierarchyScheme

type ProjectHierarchyScheme struct {
	EntityID   string                             `json:"entityId,omitempty"`   // The entity ID of the hierarchy.
	Level      int                                `json:"level,omitempty"`      // The level of the hierarchy.
	Name       string                             `json:"name,omitempty"`       // The name of the hierarchy.
	IssueTypes []*ProjectHierarchyIssueTypeScheme `json:"issueTypes,omitempty"` // The issue types in the hierarchy.
}

ProjectHierarchyScheme represents the hierarchy scheme for a project in Jira.

type ProjectIdentifierScheme

type ProjectIdentifierScheme struct {
	ID  int    `json:"id,omitempty"`  // The ID of the project.
	Key string `json:"key,omitempty"` // The key of the project.
}

ProjectIdentifierScheme represents the identifier scheme for a project in Jira.

type ProjectInsightScheme

type ProjectInsightScheme struct {
	TotalIssueCount     int    `json:"totalIssueCount,omitempty"`     // The total number of issues in the project.
	LastIssueUpdateTime string `json:"lastIssueUpdateTime,omitempty"` // The last time an issue was updated in the project.
}

ProjectInsightScheme represents the insight of a project in Jira.

type ProjectIssueTypeSchemePageScheme

type ProjectIssueTypeSchemePageScheme struct {
	MaxResults int                              `json:"maxResults"` // The maximum results per page.
	StartAt    int                              `json:"startAt"`    // The starting index of the page.
	Total      int                              `json:"total"`      // The total number of project issue type schemes.
	IsLast     bool                             `json:"isLast"`     // Indicates if this is the last page.
	Values     []*IssueTypeSchemeProjectsScheme `json:"values"`     // The project issue type schemes in the page.
}

ProjectIssueTypeSchemePageScheme represents a page of project issue type schemes in Jira.

type ProjectIssueTypesScheme

type ProjectIssueTypesScheme struct {
	Project    *ProjectScheme `json:"project,omitempty"`    // The project associated with the issue types.
	IssueTypes []string       `json:"issueTypes,omitempty"` // The issue types associated with the project.
}

ProjectIssueTypesScheme represents the issue types associated with a project in Jira.

type ProjectNotificationSchemeEventScheme

type ProjectNotificationSchemeEventScheme struct {
	Event         *NotificationEventScheme   `json:"event,omitempty"`         // The event of the project notification scheme.
	Notifications []*EventNotificationScheme `json:"notifications,omitempty"` // The notifications of the project notification scheme.
}

ProjectNotificationSchemeEventScheme represents an event in a project notification scheme in Jira.

type ProjectPayloadScheme

type ProjectPayloadScheme struct {
	NotificationScheme       int    `json:"notificationScheme,omitempty"`       // The ID of the notification scheme for the project.
	FieldConfigurationScheme int    `json:"fieldConfigurationScheme,omitempty"` // The ID of the field configuration scheme for the project.
	IssueSecurityScheme      int    `json:"issueSecurityScheme,omitempty"`      // The ID of the issue security scheme for the project.
	PermissionScheme         int    `json:"permissionScheme,omitempty"`         // The ID of the permission scheme for the project.
	IssueTypeScheme          int    `json:"issueTypeScheme,omitempty"`          // The ID of the issue type scheme for the project.
	IssueTypeScreenScheme    int    `json:"issueTypeScreenScheme,omitempty"`    // The ID of the issue type screen scheme for the project.
	WorkflowScheme           int    `json:"workflowScheme,omitempty"`           // The ID of the workflow scheme for the project.
	Description              string `json:"description,omitempty"`              // The description of the project.
	LeadAccountID            string `json:"leadAccountId,omitempty"`            // The account ID of the lead for the project.
	URL                      string `json:"url,omitempty"`                      // The URL of the project.
	ProjectTemplateKey       string `json:"projectTemplateKey,omitempty"`       // The key of the project template for the project.
	AvatarID                 int    `json:"avatarId,omitempty"`                 // The ID of the avatar for the project.
	Name                     string `json:"name,omitempty"`                     // The name of the project.
	AssigneeType             string `json:"assigneeType,omitempty"`             // The type of assignee for the project.
	ProjectTypeKey           string `json:"projectTypeKey,omitempty"`           // The key of the project type for the project.
	Key                      string `json:"key,omitempty"`                      // The key of the project.
	CategoryID               int    `json:"categoryId,omitempty"`               // The ID of the category for the project.
}

ProjectPayloadScheme represents the payload for a project in Jira.

type ProjectPermissionGrantsScheme

type ProjectPermissionGrantsScheme struct {
	Permission string `json:"permission,omitempty"` // The permission to grant.
	Issues     []int  `json:"issues,omitempty"`     // The issues to grant the permission for.
	Projects   []int  `json:"projects,omitempty"`   // The projects to grant the permission for.
}

ProjectPermissionGrantsScheme represents the grants of a project permission in Jira.

type ProjectRequestTypePageLinkScheme

type ProjectRequestTypePageLinkScheme struct {
	Base    string `json:"base,omitempty"`    // The base link of the page.
	Context string `json:"context,omitempty"` // The context link of the page.
	Next    string `json:"next,omitempty"`    // The next link of the page.
	Prev    string `json:"prev,omitempty"`    // The previous link of the page.
}

ProjectRequestTypePageLinkScheme represents the links related to a page of project request types.

type ProjectRequestTypePageScheme

type ProjectRequestTypePageScheme struct {
	Expands    []string                          `json:"_expands,omitempty"`   // The fields to expand in the page.
	Size       int                               `json:"size,omitempty"`       // The size of the page.
	Start      int                               `json:"start,omitempty"`      // The start index of the page.
	Limit      int                               `json:"limit,omitempty"`      // The limit of the page.
	IsLastPage bool                              `json:"isLastPage,omitempty"` // Indicates if this is the last page.
	Values     []*RequestTypeScheme              `json:"values,omitempty"`     // The project request types in the page.
	Links      *ProjectRequestTypePageLinkScheme `json:"_links,omitempty"`     // The links related to the page.
}

ProjectRequestTypePageScheme represents a page of project request types.

type ProjectRoleDetailScheme

type ProjectRoleDetailScheme struct {
	Self             string                         `json:"self,omitempty"`             // The URL of the project role.
	Name             string                         `json:"name,omitempty"`             // The name of the project role.
	ID               int                            `json:"id,omitempty"`               // The ID of the project role.
	Description      string                         `json:"description,omitempty"`      // The description of the project role.
	Admin            bool                           `json:"admin,omitempty"`            // Indicates if the project role has admin privileges.
	Scope            *TeamManagedProjectScopeScheme `json:"scope,omitempty"`            // The scope of the project role.
	RoleConfigurable bool                           `json:"roleConfigurable,omitempty"` // Indicates if the project role is configurable.
	TranslatedName   string                         `json:"translatedName,omitempty"`   // The translated name of the project role.
	Default          bool                           `json:"default,omitempty"`          // Indicates if the project role is the default role.
}

ProjectRoleDetailScheme represents the details of a project role in Jira.

type ProjectRolePayloadScheme

type ProjectRolePayloadScheme struct {
	Name        string `json:"name,omitempty"`        // The name of the project role.
	Description string `json:"description,omitempty"` // The description of the project role.
}

ProjectRolePayloadScheme represents the payload for a project role in Jira.

type ProjectRoleScheme

type ProjectRoleScheme struct {
	Self             string                         `json:"self,omitempty"`             // The URL of the project role.
	Name             string                         `json:"name,omitempty"`             // The name of the project role.
	ID               int                            `json:"id,omitempty"`               // The ID of the project role.
	Description      string                         `json:"description,omitempty"`      // The description of the project role.
	Actors           []*RoleActorScheme             `json:"actors,omitempty"`           // The actors of the project role.
	Scope            *TeamManagedProjectScopeScheme `json:"scope,omitempty"`            // The scope of the project role.
	TranslatedName   string                         `json:"translatedName,omitempty"`   // The translated name of the project role.
	CurrentUserRole  bool                           `json:"currentUserRole,omitempty"`  // Indicates if the current user has this role.
	Admin            bool                           `json:"admin,omitempty"`            // Indicates if the project role has admin privileges.
	RoleConfigurable bool                           `json:"roleConfigurable,omitempty"` // Indicates if the project role is configurable.
	Default          bool                           `json:"default,omitempty"`          // Indicates if the project role is the default role.
}

ProjectRoleScheme represents a role in a project in Jira.

type ProjectRolesScheme

type ProjectRolesScheme struct {
	AtlassianAddonsProjectAccess string `json:"atlassian-addons-project-access,omitempty"` // The access of Atlassian addons in the project.
	ServiceDeskTeam              string `json:"Service Desk Team,omitempty"`               // The team of the service desk in the project.
	ServiceDeskCustomers         string `json:"Service Desk Customers,omitempty"`          // The customers of the service desk in the project.
	Administrators               string `json:"Administrators,omitempty"`                  // The administrators of the project.
}

ProjectRolesScheme represents the roles of a project in Jira.

type ProjectScheme

type ProjectScheme struct {
	Expand            string                 `json:"expand,omitempty"`            // The fields to expand in the project.
	Self              string                 `json:"self,omitempty"`              // The URL of the project.
	ID                string                 `json:"id,omitempty"`                // The ID of the project.
	Key               string                 `json:"key,omitempty"`               // The key of the project.
	Description       string                 `json:"description,omitempty"`       // The description of the project.
	URL               string                 `json:"url,omitempty"`               // The URL of the project.
	Email             string                 `json:"email,omitempty"`             // The email of the project.
	AssigneeType      string                 `json:"assigneeType,omitempty"`      // The type of assignee for the project.
	Name              string                 `json:"name,omitempty"`              // The name of the project.
	ProjectTypeKey    string                 `json:"projectTypeKey,omitempty"`    // The key of the project type for the project.
	Simplified        bool                   `json:"simplified,omitempty"`        // Indicates if the project is simplified.
	Style             string                 `json:"style,omitempty"`             // The style of the project.
	Favourite         bool                   `json:"favourite,omitempty"`         // Indicates if the project is a favourite.
	IsPrivate         bool                   `json:"isPrivate,omitempty"`         // Indicates if the project is private.
	UUID              string                 `json:"uuid,omitempty"`              // The UUID of the project.
	Lead              *UserScheme            `json:"lead,omitempty"`              // The lead of the project.
	Components        []*ComponentScheme     `json:"components,omitempty"`        // The components of the project.
	IssueTypes        []*IssueTypeScheme     `json:"issueTypes,omitempty"`        // The issue types of the project.
	Versions          []*VersionScheme       `json:"versions,omitempty"`          // The versions of the project.
	Roles             *ProjectRolesScheme    `json:"roles,omitempty"`             // The roles of the project.
	AvatarURLs        *AvatarURLScheme       `json:"avatarUrls,omitempty"`        // The avatar URLs of the project.
	ProjectKeys       []string               `json:"projectKeys,omitempty"`       // The keys of the project.
	Insight           *ProjectInsightScheme  `json:"insight,omitempty"`           // The insight of the project.
	Category          *ProjectCategoryScheme `json:"projectCategory,omitempty"`   // The category of the project.
	Deleted           bool                   `json:"deleted,omitempty"`           // Indicates if the project is deleted.
	RetentionTillDate *DateTimeScheme        `json:"retentionTillDate,omitempty"` // The retention till date of the project.
	DeletedDate       *DateTimeScheme        `json:"deletedDate,omitempty"`       // The date the project was deleted.
	DeletedBy         *UserScheme            `json:"deletedBy,omitempty"`         // The user who deleted the project.
	Archived          bool                   `json:"archived,omitempty"`          // Indicates if the project is archived.
	ArchivedDate      *DateTimeScheme        `json:"archivedDate,omitempty"`      // The date the project was archived.
	ArchivedBy        *UserScheme            `json:"archivedBy,omitempty"`        // The user who archived the project.
}

ProjectScheme represents a project in Jira.

type ProjectSearchOptionsScheme

type ProjectSearchOptionsScheme struct {
	OrderBy string // The order by field for the search.

	// 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 // The action to perform on the search results.

	// 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
}

ProjectSearchOptionsScheme represents the search options for projects in Jira.

type ProjectSearchScheme

type ProjectSearchScheme struct {
	Self       string           `json:"self,omitempty"`       // The URL of the search results.
	NextPage   string           `json:"nextPage,omitempty"`   // The URL of the next page of search results.
	MaxResults int              `json:"maxResults,omitempty"` // The maximum number of results per page.
	StartAt    int              `json:"startAt,omitempty"`    // The starting index of the results.
	Total      int              `json:"total,omitempty"`      // The total number of results.
	IsLast     bool             `json:"isLast,omitempty"`     // Indicates if this is the last page of results.
	Values     []*ProjectScheme `json:"values,omitempty"`     // The projects in the search results.
}

ProjectSearchScheme represents the search results for projects in Jira.

type ProjectStatusDetailsScheme

type ProjectStatusDetailsScheme struct {
	Self           string                `json:"self,omitempty"`           // The URL of the status details.
	Description    string                `json:"description,omitempty"`    // The description of the status.
	IconURL        string                `json:"iconUrl,omitempty"`        // The URL of the icon for the status.
	Name           string                `json:"name,omitempty"`           // The name of the status.
	ID             string                `json:"id,omitempty"`             // The ID of the status.
	StatusCategory *StatusCategoryScheme `json:"statusCategory,omitempty"` // The status category of the status.
}

ProjectStatusDetailsScheme represents the status details scheme for a project in Jira.

type ProjectStatusPageScheme

type ProjectStatusPageScheme struct {
	Self     string                        `json:"self,omitempty"`     // The URL of the status page.
	ID       string                        `json:"id,omitempty"`       // The ID of the status page.
	Name     string                        `json:"name,omitempty"`     // The name of the status page.
	Subtask  bool                          `json:"subtask,omitempty"`  // Indicates if the status page is a subtask.
	Statuses []*ProjectStatusDetailsScheme `json:"statuses,omitempty"` // The statuses in the status page.
}

ProjectStatusPageScheme represents the status page scheme for a project in Jira.

type ProjectTypeScheme

type ProjectTypeScheme struct {
	Key                string `json:"key"`                // The key of the project type.
	FormattedKey       string `json:"formattedKey"`       // The formatted key of the project type.
	DescriptionI18NKey string `json:"descriptionI18nKey"` // The internationalized description key of the project type.
	Icon               string `json:"icon"`               // The icon of the project type.
	Color              string `json:"color"`              // The color associated with the project type.
}

ProjectTypeScheme represents a project type in Jira.

type ProjectUpdateScheme

type ProjectUpdateScheme struct {
	AssigneeType        string `json:"assigneeType,omitempty"`        // The type of assignee for the project.
	AvatarID            int    `json:"avatarId,omitempty"`            // The ID of the avatar for the project.
	CategoryID          int    `json:"categoryId,omitempty"`          // The ID of the category for the project.
	Description         string `json:"description,omitempty"`         // The description of the project.
	IssueSecurityScheme int    `json:"issueSecurityScheme,omitempty"` // The ID of the issue security scheme for the project.
	Key                 string `json:"key,omitempty"`                 // The key of the project.
	Lead                string `json:"lead,omitempty"`                // Deprecated, use LeadAccountID instead. The lead of the project.
	LeadAccountID       string `json:"leadAccountId,omitempty"`       // The account ID of the lead for the project.
	Name                string `json:"name,omitempty"`                // The name of the project.
	NotificationScheme  int    `json:"notificationScheme,omitempty"`  // The ID of the notification scheme for the project.
	PermissionScheme    int    `json:"permissionScheme,omitempty"`    // The ID of the permission scheme for the project.
	URL                 string `json:"url,omitempty"`                 // The URL of the project.
	ProjectTemplateKey  string `json:"projectTemplateKey,omitempty"`  // The key of the project template for the project.
	ProjectTypeKey      string `json:"projectTypeKey,omitempty"`      // The key of the project type for the project.
}

ProjectUpdateScheme represents the update scheme for a project in Jira.

type ProjectValidationMessageScheme

type ProjectValidationMessageScheme struct {
	ErrorMessages []string `json:"errorMessages"` // The error messages of the project validation.
	Errors        struct {
		ProjectKey string `json:"projectKey"` // The key of the project that has errors.
	} `json:"errors"` // The errors of the project validation.
}

ProjectValidationMessageScheme represents a validation message for a project in Jira.

type PropertyPageScheme

type PropertyPageScheme struct {
	Keys []*PropertyScheme `json:"keys,omitempty"` // The keys of the properties on the page.
}

PropertyPageScheme represents a page of properties in Jira.

type PropertyScheme

type PropertyScheme struct {
	Self string `json:"self,omitempty"` // The URL of the property.
	Key  string `json:"key,omitempty"`  // The key of the property.
}

PropertyScheme represents a property in Jira.

type QueryPropertyScheme

type QueryPropertyScheme struct {
	Entity string `json:"entity"` // The entity of the property.
	Key    string `json:"key"`    // The key of the property.
	Path   string `json:"path"`   // The path of the property.
	Type   string `json:"type"`   // The type of the property.
}

QueryPropertyScheme represents a property of a field in the order by clause of a query in Jira.

type QueryStructureOrderFieldNodeScheme

type QueryStructureOrderFieldNodeScheme struct {
	Name     string                 `json:"name"`     // The name of the field.
	Property []*QueryPropertyScheme `json:"property"` // The properties of the field.
}

QueryStructureOrderFieldNodeScheme represents a field node in the order by clause of a query in Jira.

type QueryStructureOrderFieldScheme

type QueryStructureOrderFieldScheme struct {
	Field     *QueryStructureOrderFieldNodeScheme `json:"field"`     // The field node.
	Direction string                              `json:"direction"` // The direction of the order.
}

QueryStructureOrderFieldScheme represents a field in the order by clause of a query in Jira.

type QueryStructureOrderScheme

type QueryStructureOrderScheme struct {
	Fields []*QueryStructureOrderFieldScheme `json:"fields"` // The fields in the order by clause.
}

QueryStructureOrderScheme represents the order by clause of a query in Jira.

type QueryStructureScheme

type QueryStructureScheme struct {
	OrderBy *QueryStructureOrderScheme `json:"orderBy"` // The order by clause of the query.
}

QueryStructureScheme represents the structure of a query in Jira.

type RemoteLinkApplicationScheme

type RemoteLinkApplicationScheme struct {
	Name string `json:"name,omitempty"` // The name of the remote link application.
	Type string `json:"type,omitempty"` // The type of the remote link application.
}

RemoteLinkApplicationScheme represents an application in a remote link in Jira.

type RemoteLinkIdentify

type RemoteLinkIdentify struct {
	ID   int    `json:"id,omitempty"`   // The ID of the remote link.
	Self string `json:"self,omitempty"` // The URL of the remote link.
}

RemoteLinkIdentify represents the identification of a remote link in Jira.

type RemoteLinkObjectLinkScheme

type RemoteLinkObjectLinkScheme struct {
	Link     string `json:"link,omitempty"`     // The link of the remote link object.
	Title    string `json:"title,omitempty"`    // The title of the remote link object link.
	URL16X16 string `json:"url16x16,omitempty"` // The 16x16 URL of the remote link object link.
}

RemoteLinkObjectLinkScheme represents a link of an object in a remote link in Jira.

type RemoteLinkObjectScheme

type RemoteLinkObjectScheme struct {
	Icon    *RemoteLinkObjectLinkScheme   `json:"icon,omitempty"`    // The icon of the remote link object.
	Status  *RemoteLinkObjectStatusScheme `json:"status,omitempty"`  // The status of the remote link object.
	Summary string                        `json:"summary,omitempty"` // The summary of the remote link object.
	Title   string                        `json:"title,omitempty"`   // The title of the remote link object.
	URL     string                        `json:"url,omitempty"`     // The URL of the remote link object.
}

RemoteLinkObjectScheme represents an object in a remote link in Jira.

type RemoteLinkObjectStatusScheme

type RemoteLinkObjectStatusScheme struct {
	Icon     *RemoteLinkObjectLinkScheme `json:"icon,omitempty"`     // The icon of the remote link object status.
	Resolved bool                        `json:"resolved,omitempty"` // Indicates if the remote link object status is resolved.
}

RemoteLinkObjectStatusScheme represents the status of an object in a remote link in Jira.

type RemoteLinkScheme

type RemoteLinkScheme struct {
	Application  *RemoteLinkApplicationScheme `json:"application,omitempty"`  // The application associated with the remote link.
	GlobalID     string                       `json:"globalId,omitempty"`     // The global ID of the remote link.
	ID           int                          `json:"id,omitempty"`           // The ID of the remote link.
	Object       *RemoteLinkObjectScheme      `json:"object,omitempty"`       // The object associated with the remote link.
	Relationship string                       `json:"relationship,omitempty"` // The relationship of the remote link.
	Self         string                       `json:"self,omitempty"`         // The URL of the remote link.
}

RemoteLinkScheme represents a remote link in Jira.

type RepositoryLinksScheme

type RepositoryLinksScheme struct {
	Self         *BitbucketLinkScheme   `json:"self,omitempty"`         // The link to the repository itself.
	HTML         *BitbucketLinkScheme   `json:"html,omitempty"`         // The link to the repository's HTML page.
	Avatar       *BitbucketLinkScheme   `json:"avatar,omitempty"`       // The link to the repository's avatar.
	PullRequests *BitbucketLinkScheme   `json:"pullrequests,omitempty"` // The link to the repository's pull requests.
	Commits      *BitbucketLinkScheme   `json:"commits,omitempty"`      // The link to the repository's commits.
	Forks        *BitbucketLinkScheme   `json:"forks,omitempty"`        // The link to the repository's forks.
	Watchers     *BitbucketLinkScheme   `json:"watchers,omitempty"`     // The link to the repository's watchers.
	Downloads    *BitbucketLinkScheme   `json:"downloads,omitempty"`    // The link to the repository's downloads.
	Clone        []*BitbucketLinkScheme `json:"clone,omitempty"`        // The links to clone the repository.
	Hooks        *BitbucketLinkScheme   `json:"hooks,omitempty"`        // The link to the repository's hooks.
}

RepositoryLinksScheme represents a collection of links related to a repository.

type RepositoryPermissionPageScheme

type RepositoryPermissionPageScheme struct {
	Size     int                           `json:"size,omitempty"`     // The number of permissions in the current page.
	Page     int                           `json:"page,omitempty"`     // The current page number.
	Pagelen  int                           `json:"pagelen,omitempty"`  // The total number of pages.
	Next     string                        `json:"next,omitempty"`     // The URL to the next page.
	Previous string                        `json:"previous,omitempty"` // The URL to the previous page.
	Values   []*RepositoryPermissionScheme `json:"values,omitempty"`   // The repository permissions in the current page.
}

RepositoryPermissionPageScheme represents a paginated list of repository permissions.

type RepositoryPermissionScheme

type RepositoryPermissionScheme struct {
	Type       string                  `json:"type,omitempty"`       // The type of the permission.
	Permission string                  `json:"permission,omitempty"` // The level of the permission.
	User       *BitbucketAccountScheme `json:"user,omitempty"`       // The user who has the permission.
	Repository *RepositoryScheme       `json:"repository,omitempty"` // The repository to which the permission applies.
}

RepositoryPermissionScheme represents a repository permission.

type RepositoryScheme

type RepositoryScheme struct {
	Type        string                  `json:"type,omitempty"`        // The type of the repository.
	UUID        string                  `json:"uuid,omitempty"`        // The unique identifier of the repository.
	FullName    string                  `json:"full_name,omitempty"`   // The full name of the repository.
	IsPrivate   bool                    `json:"is_private,omitempty"`  // Indicates if the repository is private.
	SCM         string                  `json:"scm,omitempty"`         // The source control management system used by the repository.
	Name        string                  `json:"name,omitempty"`        // The name of the repository.
	Description string                  `json:"description,omitempty"` // The description of the repository.
	CreatedOn   string                  `json:"created_on,omitempty"`  // The creation time of the repository.
	UpdatedOn   string                  `json:"updated_on,omitempty"`  // The update time of the repository.
	Size        int                     `json:"size,omitempty"`        // The size of the repository.
	Language    string                  `json:"language,omitempty"`    // The programming language used in the repository.
	HasIssues   bool                    `json:"has_issues,omitempty"`  // Indicates if the repository has issues enabled.
	HasWiki     bool                    `json:"has_wiki,omitempty"`    // Indicates if the repository has a wiki enabled.
	ForkPolicy  string                  `json:"fork_policy,omitempty"` // The fork policy of the repository.
	Owner       *BitbucketAccountScheme `json:"owner,omitempty"`       // The owner of the repository.
	Parent      *RepositoryScheme       `json:"parent,omitempty"`      // The parent repository, if the repository is a fork.
	Project     BitbucketProjectScheme  `json:"project,omitempty"`     // The project to which the repository belongs.
	Links       *RepositoryLinksScheme  `json:"links,omitempty"`       // A collection of links related to the repository.
}

RepositoryScheme represents a repository.

type RequestAttachmentCreationAdditionalCommentPayloadScheme

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

RequestAttachmentCreationAdditionalCommentPayloadScheme represents the additional comment for creating a request attachment.

type RequestAttachmentCreationCommentScheme

type RequestAttachmentCreationCommentScheme struct {
	Expands []string                   `json:"_expands,omitempty"` // The fields to expand in the comment.
	ID      string                     `json:"id,omitempty"`       // The ID of the comment.
	Body    string                     `json:"body,omitempty"`     // The body of the comment.
	Public  bool                       `json:"public,omitempty"`   // Indicates if the comment is public.
	Author  RequestAuthorScheme        `json:"author,omitempty"`   // The author of the comment.
	Created *CustomerRequestDateScheme `json:"created,omitempty"`  // The created date of the comment.
	Links   struct {
		Self string `json:"self,omitempty"` // The URL of the comment itself.
	} `json:"_links,omitempty"` // Links related to the comment.
}

RequestAttachmentCreationCommentScheme represents a comment during the creation of a request attachment.

type RequestAttachmentCreationPayloadScheme

type RequestAttachmentCreationPayloadScheme struct {
	TemporaryAttachmentIDs []string                                                 `json:"temporaryAttachmentIds,omitempty"`
	Public                 bool                                                     `json:"public"`
	AdditionalComment      *RequestAttachmentCreationAdditionalCommentPayloadScheme `json:"additionalComment,omitempty"`
}

RequestAttachmentCreationPayloadScheme represents the payload for creating a request attachment.

type RequestAttachmentCreationScheme

type RequestAttachmentCreationScheme struct {
	Comment     *RequestAttachmentCreationCommentScheme `json:"comment,omitempty"`     // The comment during the creation of the request attachment.
	Attachments *RequestAttachmentPageScheme            `json:"attachments,omitempty"` // The request attachment that was created.
}

RequestAttachmentCreationScheme represents the creation of a request attachment.

type RequestAttachmentLinkScheme

type RequestAttachmentLinkScheme struct {
	Self      string `json:"self,omitempty"`      // The URL of the request attachment itself.
	JiraREST  string `json:"jiraRest,omitempty"`  // The Jira REST API link for the request attachment.
	Content   string `json:"content,omitempty"`   // The content link for the request attachment.
	Thumbnail string `json:"thumbnail,omitempty"` // The thumbnail link for the request attachment.
}

RequestAttachmentLinkScheme represents links related to a request attachment.

type RequestAttachmentPageLinkScheme

type RequestAttachmentPageLinkScheme struct {
	Self    string `json:"self,omitempty"`    // The URL of the page itself.
	Base    string `json:"base,omitempty"`    // The base URL for the links.
	Context string `json:"context,omitempty"` // The context for the links.
	Next    string `json:"next,omitempty"`    // The URL for the next page of request attachments.
	Prev    string `json:"prev,omitempty"`    // The URL for the previous page of request attachments.
}

RequestAttachmentPageLinkScheme represents links related to a page of request attachments.

type RequestAttachmentPageScheme

type RequestAttachmentPageScheme struct {
	Size       int                              `json:"size,omitempty"`       // The number of request attachments on the page.
	Start      int                              `json:"start,omitempty"`      // The index of the first request attachment on the page.
	Limit      int                              `json:"limit,omitempty"`      // The maximum number of request attachments that can be on the page.
	IsLastPage bool                             `json:"isLastPage,omitempty"` // Indicates if this is the last page of request attachments.
	Values     []*RequestAttachmentScheme       `json:"values,omitempty"`     // The request attachments on the page.
	Expands    []string                         `json:"_expands,omitempty"`   // Additional data related to the request attachments.
	Links      *RequestAttachmentPageLinkScheme `json:"_links,omitempty"`     // Links related to the page of request attachments.
}

RequestAttachmentPageScheme represents a page of request attachments in a system.

type RequestAttachmentScheme

type RequestAttachmentScheme struct {
	Filename string                       `json:"filename,omitempty"` // The filename of the request attachment.
	Author   *RequestAuthorScheme         `json:"author,omitempty"`   // The author of the request attachment.
	Created  *CustomerRequestDateScheme   `json:"created,omitempty"`  // The created date of the request attachment.
	Size     int                          `json:"size,omitempty"`     // The size of the request attachment.
	MimeType string                       `json:"mimeType,omitempty"` // The MIME type of the request attachment.
	Links    *RequestAttachmentLinkScheme `json:"_links,omitempty"`   // Links related to the request attachment.
}

RequestAttachmentScheme represents a request attachment in a system.

type RequestAuthorScheme

type RequestAuthorScheme struct {
	AccountID    string `json:"accountId,omitempty"`    // The account ID of the author.
	Name         string `json:"name,omitempty"`         // The name of the author.
	Key          string `json:"key,omitempty"`          // The key of the author.
	EmailAddress string `json:"emailAddress,omitempty"` // The email address of the author.
	DisplayName  string `json:"displayName,omitempty"`  // The display name of the author.
	Active       bool   `json:"active,omitempty"`       // Indicates if the author is active.
	TimeZone     string `json:"timeZone,omitempty"`     // The time zone of the author.
}

RequestAuthorScheme represents an author in a system.

type RequestCommentLinkScheme

type RequestCommentLinkScheme struct {
	Self string `json:"self"` // The URL of the request comment itself.
}

RequestCommentLinkScheme represents links related to a request comment.

type RequestCommentOptionsScheme

type RequestCommentOptionsScheme struct {
	Public   *bool    `url:"public,omitempty"`
	Internal *bool    `url:"internal,omitempty"`
	Expand   []string `url:"expand,omitempty"`
	Start    int      `url:"start,omitempty"`
	Limit    int      `url:"limit,omitempty"`
}

RequestCommentOptionsScheme represents the options for filtering and paginating request comments.

type RequestCommentPageLinkScheme

type RequestCommentPageLinkScheme struct {
	Self    string `json:"self"`    // The URL of the page itself.
	Base    string `json:"base"`    // The base URL for the links.
	Context string `json:"context"` // The context for the links.
	Next    string `json:"next"`    // The URL for the next page of request comments.
	Prev    string `json:"prev"`    // The URL for the previous page of request comments.
}

RequestCommentPageLinkScheme represents links related to a page of request comments.

type RequestCommentPageScheme

type RequestCommentPageScheme struct {
	Size       int                           `json:"size"`       // The number of request comments on the page.
	Start      int                           `json:"start"`      // The index of the first request comment on the page.
	Limit      int                           `json:"limit"`      // The maximum number of request comments that can be on the page.
	IsLastPage bool                          `json:"isLastPage"` // Indicates if this is the last page of request comments.
	Values     []*RequestCommentScheme       `json:"values"`     // The request comments on the page.
	Expands    []string                      `json:"_expands"`   // Additional data related to the request comments.
	Links      *RequestCommentPageLinkScheme `json:"_links"`     // Links related to the page of request comments.
}

RequestCommentPageScheme represents a page of request comments in a system.

type RequestCommentRenderScheme

type RequestCommentRenderScheme struct {
	HTML string `json:"html"` // The HTML of the rendered body.
}

RequestCommentRenderScheme represents the rendered body of a request comment.

type RequestCommentScheme

type RequestCommentScheme struct {
	ID           string                       `json:"id,omitempty"`           // The ID of the request comment.
	Body         string                       `json:"body,omitempty"`         // The body of the request comment.
	RenderedBody *RequestCommentRenderScheme  `json:"renderedBody,omitempty"` // The rendered body of the request comment.
	Author       *RequestAuthorScheme         `json:"author,omitempty"`       // The author of the request comment.
	Created      *CustomerRequestDateScheme   `json:"created,omitempty"`      // The created date of the request comment.
	Attachments  *RequestAttachmentPageScheme `json:"attachments,omitempty"`  // The attachments of the request comment.
	Expands      []string                     `json:"_expands,omitempty"`     // The fields to expand in the request comment.
	Public       bool                         `json:"public,omitempty"`       // Indicates if the request comment is public.
	Links        *RequestCommentLinkScheme    `json:"_links,omitempty"`       // Links related to the request comment.
}

RequestCommentScheme represents a request comment in a system.

type RequestParticipantLinkScheme

type RequestParticipantLinkScheme struct {
	Self     string `json:"self,omitempty"`     // The self link of the participant.
	JiraREST string `json:"jiraRest,omitempty"` // The Jira REST link of the participant.
}

RequestParticipantLinkScheme represents the links related to a request participant.

type RequestParticipantPageLinkScheme

type RequestParticipantPageLinkScheme struct {
	Self    string `json:"self,omitempty"`    // The self link of the page.
	Base    string `json:"base,omitempty"`    // The base link of the page.
	Context string `json:"context,omitempty"` // The context link of the page.
	Next    string `json:"next,omitempty"`    // The next link of the page.
	Prev    string `json:"prev,omitempty"`    // The previous link of the page.
}

RequestParticipantPageLinkScheme represents the links related to a page of request participants.

type RequestParticipantPageScheme

type RequestParticipantPageScheme struct {
	Size       int                               `json:"size,omitempty"`       // The size of the page.
	Start      int                               `json:"start,omitempty"`      // The start index of the page.
	Limit      int                               `json:"limit,omitempty"`      // The limit of the page.
	IsLastPage bool                              `json:"isLastPage,omitempty"` // Indicates if this is the last page.
	Values     []*RequestParticipantScheme       `json:"values,omitempty"`     // The request participants in the page.
	Expands    []string                          `json:"_expands,omitempty"`   // The fields to expand in the page.
	Links      *RequestParticipantPageLinkScheme `json:"_links,omitempty"`     // The links related to the page.
}

RequestParticipantPageScheme represents a page of request participants.

type RequestParticipantScheme

type RequestParticipantScheme struct {
	AccountID    string                        `json:"accountId,omitempty"`    // The account ID of the participant.
	Name         string                        `json:"name,omitempty"`         // The name of the participant.
	Key          string                        `json:"key,omitempty"`          // The key of the participant.
	EmailAddress string                        `json:"emailAddress,omitempty"` // The email address of the participant.
	DisplayName  string                        `json:"displayName,omitempty"`  // The display name of the participant.
	Active       bool                          `json:"active,omitempty"`       // Indicates if the participant is active.
	TimeZone     string                        `json:"timeZone,omitempty"`     // The time zone of the participant.
	Links        *RequestParticipantLinkScheme `json:"_links,omitempty"`       // The links related to the participant.
}

RequestParticipantScheme represents a request participant.

type RequestSLALinkScheme

type RequestSLALinkScheme struct {
	Self string `json:"self,omitempty"` // The self link of the SLA.
}

RequestSLALinkScheme represents the links related to a request SLA.

type RequestSLAOngoingCycleScheme

type RequestSLAOngoingCycleScheme struct {
	Breached            bool `json:"breached,omitempty"`            // Indicates if the SLA is breached.
	Paused              bool `json:"paused,omitempty"`              // Indicates if the SLA is paused.
	WithinCalendarHours bool `json:"withinCalendarHours,omitempty"` // Indicates if the SLA is within calendar hours.
}

RequestSLAOngoingCycleScheme represents the ongoing cycle of a request SLA.

type RequestSLAPageLinkScheme

type RequestSLAPageLinkScheme struct {
	Self    string `json:"self,omitempty"`    // The self link of the page.
	Base    string `json:"base,omitempty"`    // The base link of the page.
	Context string `json:"context,omitempty"` // The context link of the page.
	Next    string `json:"next,omitempty"`    // The next link of the page.
	Prev    string `json:"prev,omitempty"`    // The previous link of the page.
}

RequestSLAPageLinkScheme represents the links related to a page of request SLAs.

type RequestSLAPageScheme

type RequestSLAPageScheme struct {
	Size       int                       `json:"size,omitempty"`       // The size of the page.
	Start      int                       `json:"start,omitempty"`      // The start index of the page.
	Limit      int                       `json:"limit,omitempty"`      // The limit of the page.
	IsLastPage bool                      `json:"isLastPage,omitempty"` // Indicates if this is the last page.
	Values     []*RequestSLAScheme       `json:"values,omitempty"`     // The request SLAs in the page.
	Expands    []string                  `json:"_expands,omitempty"`   // The fields to expand in the page.
	Links      *RequestSLAPageLinkScheme `json:"_links,omitempty"`     // The links related to the page.
}

RequestSLAPageScheme represents a page of request SLAs.

type RequestSLAScheme

type RequestSLAScheme struct {
	ID           string                        `json:"id,omitempty"`           // The ID of the SLA.
	Name         string                        `json:"name,omitempty"`         // The name of the SLA.
	OngoingCycle *RequestSLAOngoingCycleScheme `json:"ongoingCycle,omitempty"` // The ongoing cycle of the SLA.
	Links        *RequestSLALinkScheme         `json:"_links,omitempty"`       // The links related to the SLA.
}

RequestSLAScheme represents a request SLA.

type RequestTypeFieldScheme

type RequestTypeFieldScheme struct {
	FieldID       string                         `json:"fieldId,omitempty"`       // The field ID of the request type field.
	Name          string                         `json:"name,omitempty"`          // The name of the request type field.
	Description   string                         `json:"description,omitempty"`   // The description of the request type field.
	Required      bool                           `json:"required,omitempty"`      // Indicates if the request type field is required.
	DefaultValues []*RequestTypeFieldValueScheme `json:"defaultValues,omitempty"` // The default values of the request type field.
	ValidValues   []*RequestTypeFieldValueScheme `json:"validValues,omitempty"`   // The valid values of the request type field.
	PresetValues  []string                       `json:"presetValues,omitempty"`  // The preset values of the request type field.
	JiraSchema    *RequestTypeJiraSchema         `json:"jiraSchema,omitempty"`    // The Jira schema of the request type field.
	Visible       bool                           `json:"visible,omitempty"`       // Indicates if the request type field is visible.
}

RequestTypeFieldScheme represents a field of a request type.

type RequestTypeFieldValueScheme

type RequestTypeFieldValueScheme struct {
	Value    string                         `json:"value,omitempty"`    // The value of the request type field value.
	Label    string                         `json:"label,omitempty"`    // The label of the request type field value.
	Children []*RequestTypeFieldValueScheme `json:"children,omitempty"` // The children of the request type field value.
}

RequestTypeFieldValueScheme represents a field value of a request type field.

type RequestTypeFieldsScheme

type RequestTypeFieldsScheme struct {
	RequestTypeFields         []*RequestTypeFieldScheme `json:"requestTypeFields,omitempty"`         // The fields of the request type.
	CanRaiseOnBehalfOf        bool                      `json:"canRaiseOnBehalfOf,omitempty"`        // Indicates if the request type can be raised on behalf of.
	CanAddRequestParticipants bool                      `json:"canAddRequestParticipants,omitempty"` // Indicates if the request type can add request participants.
}

RequestTypeFieldsScheme represents the fields of a request type.

type RequestTypeGroupPageLinkScheme

type RequestTypeGroupPageLinkScheme struct {
	Base    string `json:"base,omitempty"`    // The base link of the page.
	Context string `json:"context,omitempty"` // The context link of the page.
	Next    string `json:"next,omitempty"`    // The next link of the page.
	Prev    string `json:"prev,omitempty"`    // The previous link of the page.
}

RequestTypeGroupPageLinkScheme represents the links related to a page of project request type groups.

type RequestTypeGroupPageScheme

type RequestTypeGroupPageScheme struct {
	Expands    []string                        `json:"_expands,omitempty"`   // The fields to expand in the page.
	Size       int                             `json:"size,omitempty"`       // The size of the page.
	Start      int                             `json:"start,omitempty"`      // The start index of the page.
	Limit      int                             `json:"limit,omitempty"`      // The limit of the page.
	IsLastPage bool                            `json:"isLastPage,omitempty"` // Indicates if this is the last page.
	Values     []*RequestTypeGroupsScheme      `json:"values,omitempty"`     // The project request types in the page.
	Links      *RequestTypeGroupPageLinkScheme `json:"_links,omitempty"`     // The links related to the page.
}

RequestTypeGroupPageScheme represents a page of project request type groups.

type RequestTypeGroupsScheme

type RequestTypeGroupsScheme struct {
	ID   string `json:"id,omitempty"`   // The ID of the request type group.
	Name string `json:"name,omitempty"` // The name of the request type group.
}

RequestTypeGroupsScheme represents the groups for request types.

type RequestTypeJiraSchema

type RequestTypeJiraSchema struct {
	Type          string            `json:"type,omitempty"`          // The type of the Jira schema.
	Items         string            `json:"items,omitempty"`         // The items of the Jira schema.
	System        string            `json:"system,omitempty"`        // The system of the Jira schema.
	Custom        string            `json:"custom,omitempty"`        // The custom of the Jira schema.
	CustomID      int               `json:"customId,omitempty"`      // The custom ID of the Jira schema.
	Configuration map[string]string `json:"configuration,omitempty"` // The configuration of the Jira schema.
}

RequestTypeJiraSchema represents the Jira schema of a request type field.

type RequestTypeLinksScheme

type RequestTypeLinksScheme struct {
	Self string `json:"self,omitempty"` // The self link the request type.
}

RequestTypeLinksScheme represents the links related to a request type.

type RequestTypePageLinkScheme

type RequestTypePageLinkScheme struct {
	Self    string `json:"self,omitempty"`    // The self link of the page.
	Base    string `json:"base,omitempty"`    // The base link of the page.
	Context string `json:"context,omitempty"` // The context link of the page.
	Next    string `json:"next,omitempty"`    // The next link of the page.
	Prev    string `json:"prev,omitempty"`    // The previous link of the page.
}

RequestTypePageLinkScheme represents the links related to a page of request types.

type RequestTypePageScheme

type RequestTypePageScheme struct {
	Size       int                        `json:"size,omitempty"`       // The size of the page.
	Start      int                        `json:"start,omitempty"`      // The start index of the page.
	Limit      int                        `json:"limit,omitempty"`      // The limit of the page.
	IsLastPage bool                       `json:"isLastPage,omitempty"` // Indicates if this is the last page.
	Values     []*RequestTypeScheme       `json:"values,omitempty"`     // The request types in the page.
	Expands    []string                   `json:"_expands,omitempty"`   // The fields to expand in the page.
	Links      *RequestTypePageLinkScheme `json:"_links,omitempty"`     // The links related to the page.
}

RequestTypePageScheme represents a page of request types.

type RequestTypePayloadScheme

type RequestTypePayloadScheme struct {
	Description string `json:"description,omitempty"` // The description of the request type payload.
	HelpText    string `json:"helpText,omitempty"`    // The help text of the request type payload.
	IssueTypeID string `json:"issueTypeId,omitempty"` // The issue type ID of the request type payload.
	Name        string `json:"name,omitempty"`        // The name of the request type payload.
}

RequestTypePayloadScheme represents a request type payload.

type RequestTypeScheme

type RequestTypeScheme struct {
	ID            string                  `json:"id,omitempty"`            // The ID of the request type.
	Name          string                  `json:"name,omitempty"`          // The name of the request type.
	Description   string                  `json:"description,omitempty"`   // The description of the request type.
	HelpText      string                  `json:"helpText,omitempty"`      // The help text of the request type.
	Practice      string                  `json:"practice,omitempty"`      // The practice of the request type.
	IssueTypeID   string                  `json:"issueTypeId,omitempty"`   // The issue type ID of the request type.
	ServiceDeskID string                  `json:"serviceDeskId,omitempty"` // The service desk ID of the request type.
	PortalID      string                  `json:"portalId,omitempty"`      // The portal ID of the request type.
	GroupIDs      []string                `json:"groupIds,omitempty"`      // The group IDs of the request type.
	Expands       []string                `json:"_expands,omitempty"`      // The fields to expand in the request type.
	Links         *RequestTypeLinksScheme `json:"_links,omitempty"`        // The links related to the request type.
}

RequestTypeScheme represents a request type.

type ResolutionScheme

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

ResolutionScheme represents a resolution in Jira.

type ResourceMetaScheme

type ResourceMetaScheme struct {
	ResourceType string `json:"resourceType,omitempty"` // The type of the resource.
	Location     string `json:"location,omitempty"`     // The location of the resource.
}

ResourceMetaScheme represents the metadata of a resource.

type ResourceScheme

type ResourceScheme struct {
	ID          string              `json:"id,omitempty"`          // The ID of the resource.
	Name        string              `json:"name,omitempty"`        // The name of the resource.
	Description string              `json:"description,omitempty"` // The description of the resource.
	Attributes  []*AttributeScheme  `json:"attributes,omitempty"`  // The attributes of the resource.
	Meta        *ResourceMetaScheme `json:"meta,omitempty"`        // The metadata of the resource.
}

ResourceScheme represents a resource.

type ResponseScheme

type ResponseScheme struct {
	*http.Response // Embedding the http.Response struct from the net/http package.

	Code     int          // The HTTP status code of the response.
	Endpoint string       // The endpoint that the request was made to.
	Method   string       // The HTTP method used for the request.
	Bytes    bytes.Buffer // The response body.
}

ResponseScheme represents the response from an HTTP request.

type RoleActorScheme

type RoleActorScheme struct {
	ID          int                  `json:"id,omitempty"`          // The ID of the role actor.
	DisplayName string               `json:"displayName,omitempty"` // The display name of the role actor.
	Type        string               `json:"type,omitempty"`        // The type of the role actor.
	Name        string               `json:"name,omitempty"`        // The name of the role actor.
	AvatarURL   string               `json:"avatarUrl,omitempty"`   // The avatar URL of the role actor.
	ActorGroup  *GroupScheme         `json:"actorGroup,omitempty"`  // The group of the role actor.
	ActorUser   *RoleActorUserScheme `json:"actorUser,omitempty"`   // The user of the role actor.
}

RoleActorScheme represents an actor in a role in a project in Jira.

type RoleActorUserScheme

type RoleActorUserScheme struct {
	AccountID string `json:"accountId,omitempty"` // The account ID of the role actor user.
}

RoleActorUserScheme represents a user in a role actor in a project in Jira.

type SCIMEnterpriseUserInfoScheme

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

SCIMEnterpriseUserInfoScheme represents the enterprise user info of a SCIM user.

type SCIMExtensionScheme

type SCIMExtensionScheme struct {
	AtlassianAccountID string `json:"atlassianAccountId,omitempty"` // The Atlassian account ID.
}

SCIMExtensionScheme represents the SCIM extension of a SCIM user.

type SCIMGroupOperationScheme

type SCIMGroupOperationScheme struct {
	Op    string                           `json:"op,omitempty"`    // The operation type.
	Path  string                           `json:"path,omitempty"`  // The path for the operation.
	Value []*SCIMGroupOperationValueScheme `json:"value,omitempty"` // The values for the operation.
}

SCIMGroupOperationScheme represents the operation scheme for a SCIM group.

type SCIMGroupOperationValueScheme

type SCIMGroupOperationValueScheme struct {
	Value   string `json:"value,omitempty"`   // The value for the operation.
	Display string `json:"display,omitempty"` // The display for the operation.
}

SCIMGroupOperationValueScheme represents the value scheme for a SCIM group operation.

type SCIMGroupPathScheme

type SCIMGroupPathScheme struct {
	Schemas    []string                    `json:"schemas,omitempty"`    // The schemas for the SCIM group.
	Operations []*SCIMGroupOperationScheme `json:"Operations,omitempty"` // The operations for the SCIM group.
}

SCIMGroupPathScheme represents the path scheme for a SCIM group.

type SCIMSchemaScheme

type SCIMSchemaScheme struct {
	ID          string              `json:"id,omitempty"`          // The ID of the schema.
	Name        string              `json:"name,omitempty"`        // The name of the schema.
	Description string              `json:"description,omitempty"` // The description of the schema.
	Attributes  []*AttributeScheme  `json:"attributes,omitempty"`  // The attributes of the schema.
	Meta        *ResourceMetaScheme `json:"meta,omitempty"`        // The metadata of the schema.
}

SCIMSchemaScheme represents a SCIM schema.

type SCIMSchemasScheme

type SCIMSchemasScheme struct {
	TotalResults int               `json:"totalResults,omitempty"` // The total number of results.
	ItemsPerPage int               `json:"itemsPerPage,omitempty"` // The number of items per page.
	StartIndex   int               `json:"startIndex,omitempty"`   // The start index of the results.
	Schemas      []string          `json:"schemas,omitempty"`      // The schemas.
	Resources    []*ResourceScheme `json:"Resources,omitempty"`    // The resources.
}

SCIMSchemasScheme represents a SCIM schema.

type SCIMUserComplexOperationScheme

type SCIMUserComplexOperationScheme struct {
	Value     string `json:"value,omitempty"`   // The value of the operation.
	ValueType string `json:"type,omitempty"`    // Available values (work, home, other)
	Primary   bool   `json:"primary,omitempty"` // Whether the operation is primary.
}

SCIMUserComplexOperationScheme represents a complex operation of a SCIM user.

type SCIMUserEmailScheme

type SCIMUserEmailScheme struct {
	Value   string `json:"value,omitempty"`   // The value of the email.
	Type    string `json:"type,omitempty"`    // The type of the email.
	Primary bool   `json:"primary,omitempty"` // Whether the email is primary.
}

SCIMUserEmailScheme represents an email of a SCIM user.

type SCIMUserGetsOptionsScheme

type SCIMUserGetsOptionsScheme struct {
	Attributes         []string // The attributes to get.
	ExcludedAttributes []string // The attributes to exclude.
	Filter             string   // The filter.
}

SCIMUserGetsOptionsScheme represents the options for getting SCIM users.

type SCIMUserGroupScheme

type SCIMUserGroupScheme struct {
	Type    string `json:"type,omitempty"`    // The type of the group.
	Value   string `json:"value,omitempty"`   // The value of the group.
	Display string `json:"display,omitempty"` // The display of the group.
	Ref     string `json:"$ref,omitempty"`    // The reference of the group.
}

SCIMUserGroupScheme represents a group of a SCIM user.

type SCIMUserMetaScheme

type SCIMUserMetaScheme struct {
	ResourceType string `json:"resourceType,omitempty"` // The resource type.
	Location     string `json:"location,omitempty"`     // The location.
	LastModified string `json:"lastModified,omitempty"` // The last modified time.
	Created      string `json:"created,omitempty"`      // The creation time.
}

SCIMUserMetaScheme represents the metadata of a SCIM user.

type SCIMUserNameScheme

type SCIMUserNameScheme struct {
	Formatted       string `json:"formatted,omitempty"`       // The formatted name.
	FamilyName      string `json:"familyName,omitempty"`      // The family name.
	GivenName       string `json:"givenName,omitempty"`       // The given name.
	MiddleName      string `json:"middleName,omitempty"`      // The middle name.
	HonorificPrefix string `json:"honorificPrefix,omitempty"` // The honorific prefix.
	HonorificSuffix string `json:"honorificSuffix,omitempty"` // The honorific suffix.
}

SCIMUserNameScheme represents the name of a SCIM user.

type SCIMUserPageScheme

type SCIMUserPageScheme struct {
	Schemas      []string          `json:"schemas,omitempty"`      // The schemas.
	TotalResults int               `json:"totalResults,omitempty"` // The total results.
	StartIndex   int               `json:"startIndex,omitempty"`   // The start index.
	ItemsPerPage int               `json:"itemsPerPage,omitempty"` // The items per page.
	Resources    []*SCIMUserScheme `json:"Resources,omitempty"`    // The resources.
}

SCIMUserPageScheme represents a page of SCIM users.

type SCIMUserPhoneNumberScheme

type SCIMUserPhoneNumberScheme struct {
	Value   string `json:"value,omitempty"`   // The value of the phone number.
	Type    string `json:"type,omitempty"`    // The type of the phone number.
	Primary bool   `json:"primary,omitempty"` // Whether the phone number is primary.
}

SCIMUserPhoneNumberScheme represents a phone number of a SCIM user.

type SCIMUserScheme

type SCIMUserScheme struct {
	ID                string                        `json:"id"`                                                                   // The ID of the user.
	ExternalID        string                        `json:"externalId"`                                                           // The external ID of the user.
	Meta              *SCIMUserMetaScheme           `json:"meta,omitempty"`                                                       // The metadata of the user.
	Groups            []*SCIMUserGroupScheme        `json:"groups,omitempty"`                                                     // The groups the user belongs to.
	UserName          string                        `json:"userName,omitempty"`                                                   // The username of the user.
	Emails            []*SCIMUserEmailScheme        `json:"emails,omitempty"`                                                     // The emails of the user.
	Name              *SCIMUserNameScheme           `json:"name,omitempty"`                                                       // The name of the user.
	DisplayName       string                        `json:"displayName,omitempty"`                                                // The display name of the user.
	NickName          string                        `json:"nickName,omitempty"`                                                   // The nickname of the user.
	Title             string                        `json:"title,omitempty"`                                                      // The title of the user.
	PreferredLanguage string                        `json:"preferredLanguage,omitempty"`                                          // The preferred language of the user.
	Department        string                        `json:"department,omitempty"`                                                 // The department of the user.
	Organization      string                        `json:"organization,omitempty"`                                               // The organization of the user.
	Timezone          string                        `json:"timezone,omitempty"`                                                   // The timezone of the user.
	PhoneNumbers      []*SCIMUserPhoneNumberScheme  `json:"phoneNumbers,omitempty"`                                               // The phone numbers of the user.
	Active            bool                          `json:"active,omitempty"`                                                     // Whether the user is active.
	EnterpriseInfo    *SCIMEnterpriseUserInfoScheme `json:"urn:ietf:params:scim:schemas:extension:enterprise:2.1:User,omitempty"` // The enterprise user info of the user.
	SCIMExtension     *SCIMExtensionScheme          `json:"urn:scim:schemas:extension:atlassian-external:1.1,omitempty"`          // The SCIM extension of the user.
}

SCIMUserScheme represents a SCIM user.

type SCIMUserToPathOperationScheme

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

SCIMUserToPathOperationScheme represents the operation scheme for a path of a SCIM user.

type SCIMUserToPathScheme

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

SCIMUserToPathScheme represents the path scheme for a SCIM user.

func (*SCIMUserToPathScheme) AddBoolOperation

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

AddBoolOperation adds a boolean operation to the SCIM user path scheme.

func (*SCIMUserToPathScheme) AddComplexOperation

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

AddComplexOperation adds a complex operation to the SCIM user path scheme.

func (*SCIMUserToPathScheme) AddStringOperation

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

AddStringOperation adds a string operation to the SCIM user path scheme.

type SCIMUserToPathValueScheme

type SCIMUserToPathValueScheme struct {
	Array               bool   `json:"array,omitempty"`               // Whether the value is an array.
	Null                bool   `json:"null,omitempty"`                // Whether the value is null.
	ValueNode           bool   `json:"valueNode,omitempty"`           // Whether the value is a node.
	ContainerNode       bool   `json:"containerNode,omitempty"`       // Whether the value is a container node.
	MissingNode         bool   `json:"missingNode,omitempty"`         // Whether the value is a missing node.
	Object              bool   `json:"object,omitempty"`              // Whether the value is an object.
	NodeType            string `json:"nodeType,omitempty"`            // The node type.
	Pojo                bool   `json:"pojo,omitempty"`                // Whether the value is a POJO.
	Number              bool   `json:"number,omitempty"`              // Whether the value is a number.
	IntegralNumber      bool   `json:"integralNumber,omitempty"`      // Whether the value is an integral number.
	FloatingPointNumber bool   `json:"floatingPointNumber,omitempty"` // Whether the value is a floating point number.
	Short               bool   `json:"short,omitempty"`               // Whether the value is short.
	Int                 bool   `json:"int,omitempty"`                 // Whether the value is an integer.
	Long                bool   `json:"long,omitempty"`                // Whether the value is long.
	Double              bool   `json:"double,omitempty"`              // Whether the value is double.
	BigDecimal          bool   `json:"bigDecimal,omitempty"`          // Whether the value is a big decimal.
	BigInteger          bool   `json:"bigInteger,omitempty"`          // Whether the value is a big integer.
	Textual             bool   `json:"textual,omitempty"`             // Whether the value is textual.
	Boolean             bool   `json:"boolean,omitempty"`             // Whether the value is boolean.
	Binary              bool   `json:"binary,omitempty"`              // Whether the value is binary.
	Float               bool   `json:"float,omitempty"`               // Whether the value is float.
}

SCIMUserToPathValueScheme represents the value scheme for a path of a SCIM user.

type ScimGroupMemberScheme

type ScimGroupMemberScheme struct {
	Type    string `json:"type,omitempty"`    // The type of the member.
	Value   string `json:"value,omitempty"`   // The value of the member.
	Display string `json:"display,omitempty"` // The display of the member.
	Ref     string `json:"$ref,omitempty"`    // The reference of the member.
}

ScimGroupMemberScheme represents a member of a SCIM group.

type ScimGroupPageScheme

type ScimGroupPageScheme struct {
	Schemas      []string           `json:"schemas,omitempty"`      // The schemas for the SCIM groups.
	TotalResults int                `json:"totalResults,omitempty"` // The total number of SCIM groups.
	StartIndex   int                `json:"startIndex,omitempty"`   // The start index for the SCIM groups.
	ItemsPerPage int                `json:"itemsPerPage,omitempty"` // The number of SCIM groups per page.
	Resources    []*ScimGroupScheme `json:"Resources,omitempty"`    // The SCIM groups on the page.
}

ScimGroupPageScheme represents a page of SCIM groups.

type ScimGroupScheme

type ScimGroupScheme struct {
	Schemas     []string                 `json:"schemas,omitempty"`     // The schemas for the SCIM group.
	ID          string                   `json:"id,omitempty"`          // The ID of the SCIM group.
	ExternalID  string                   `json:"externalId,omitempty"`  // The external ID of the SCIM group.
	DisplayName string                   `json:"displayName,omitempty"` // The display name of the SCIM group.
	Members     []*ScimGroupMemberScheme `json:"members,omitempty"`     // The members of the SCIM group.
	Meta        *ScimMetadata            `json:"meta,omitempty"`        // The metadata for the SCIM group.
}

ScimGroupScheme represents a SCIM group.

type ScimMetadata

type ScimMetadata struct {
	ResourceType string `json:"resourceType,omitempty"` // The resource type of the SCIM group.
	Location     string `json:"location,omitempty"`     // The location of the SCIM group.
	LastModified string `json:"lastModified,omitempty"` // The last modified time of the SCIM group.
	Created      string `json:"created,omitempty"`      // The creation time of the SCIM group.
}

ScimMetadata represents the metadata for a SCIM group.

type ScreenFieldPageScheme

type ScreenFieldPageScheme struct {
	Self       string                 `json:"self,omitempty"`       // The URL of the screen field page.
	NextPage   string                 `json:"nextPage,omitempty"`   // The URL of the next page.
	MaxResults int                    `json:"maxResults,omitempty"` // The maximum number of results per page.
	StartAt    int                    `json:"startAt,omitempty"`    // The index of the first item returned in the page.
	Total      int                    `json:"total,omitempty"`      // The total number of items available.
	IsLast     bool                   `json:"isLast,omitempty"`     // Indicates if this is the last page.
	Values     []*ScreenWithTabScheme `json:"values,omitempty"`     // The screen fields in the page.
}

ScreenFieldPageScheme represents a page of screen fields in Jira.

type ScreenParamsScheme

type ScreenParamsScheme struct {

	// IDs is the list of screen IDs
	IDs []int

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

	// Scope is used to filter by multiple scopes.
	Scope []string

	// OrderBy is used to order the results by a field:
	// 1. id Sorts by screen ID.
	// 2. name Sorts by screen name.
	OrderBy string
}

ScreenParamsScheme represents the parameters for a screen in Jira.

type ScreenScheme

type ScreenScheme struct {
	ID          int                            `json:"id,omitempty"`          // The ID of the screen.
	Name        string                         `json:"name,omitempty"`        // The name of the screen.
	Description string                         `json:"description,omitempty"` // The description of the screen.
	Scope       *TeamManagedProjectScopeScheme `json:"scope,omitempty"`       // The scope of the screen.
}

ScreenScheme represents a screen in Jira.

type ScreenSchemePageScheme

type ScreenSchemePageScheme struct {
	Self       string                `json:"self,omitempty"`       // The URL of the screen scheme page.
	NextPage   string                `json:"nextPage,omitempty"`   // The URL of the next page.
	MaxResults int                   `json:"maxResults,omitempty"` // The maximum number of results per page.
	StartAt    int                   `json:"startAt,omitempty"`    // The index of the first item returned in the page.
	Total      int                   `json:"total,omitempty"`      // The total number of items available.
	IsLast     bool                  `json:"isLast,omitempty"`     // Indicates if this is the last page.
	Values     []*ScreenSchemeScheme `json:"values,omitempty"`     // The screen schemes in the page.
}

ScreenSchemePageScheme represents a page of screen schemes in Jira.

type ScreenSchemeParamsScheme

type ScreenSchemeParamsScheme struct {
	IDs         []int    // The IDs of the screen schemes.
	QueryString string   // The query string for the screen scheme search.
	OrderBy     string   // The order by field for the screen scheme search.
	Expand      []string // The fields to be expanded in the screen scheme.
}

ScreenSchemeParamsScheme represents the parameters for a screen scheme in Jira.

type ScreenSchemePayloadScheme

type ScreenSchemePayloadScheme struct {
	Screens     *ScreenTypesScheme `json:"screens,omitempty"`     // The types of screens in the screen scheme.
	Name        string             `json:"name,omitempty"`        // The name of the screen scheme.
	Description string             `json:"description,omitempty"` // The description of the screen scheme.
}

ScreenSchemePayloadScheme represents the payload for a screen scheme in Jira.

type ScreenSchemeScheme

type ScreenSchemeScheme struct {
	ID                     int                        `json:"id,omitempty"`                     // The ID of the screen scheme.
	Name                   string                     `json:"name,omitempty"`                   // The name of the screen scheme.
	Description            string                     `json:"description,omitempty"`            // The description of the screen scheme.
	Screens                *ScreenTypesScheme         `json:"screens,omitempty"`                // The types of screens in the screen scheme.
	IssueTypeScreenSchemes *IssueTypeSchemePageScheme `json:"issueTypeScreenSchemes,omitempty"` // The issue type screen schemes in the screen scheme.
}

ScreenSchemeScheme represents a screen scheme in Jira.

type ScreenSearchPageScheme

type ScreenSearchPageScheme struct {
	Self       string          `json:"self,omitempty"`       // The URL of the screen search page.
	MaxResults int             `json:"maxResults,omitempty"` // The maximum number of results per page.
	StartAt    int             `json:"startAt,omitempty"`    // The index of the first item returned in the page.
	Total      int             `json:"total,omitempty"`      // The total number of items available.
	IsLast     bool            `json:"isLast,omitempty"`     // Indicates if this is the last page.
	Values     []*ScreenScheme `json:"values,omitempty"`     // The screens in the page.
}

ScreenSearchPageScheme represents a page of screens in a search in Jira.

type ScreenTabFieldScheme

type ScreenTabFieldScheme struct {
	ID   string `json:"id,omitempty"`   // The ID of the field.
	Name string `json:"name,omitempty"` // The name of the field.
}

ScreenTabFieldScheme represents a field in a tab in a screen in Jira.

type ScreenTabScheme

type ScreenTabScheme struct {
	ID   int    `json:"id"`   // The ID of the tab.
	Name string `json:"name"` // The name of the tab.
}

ScreenTabScheme represents a tab in a screen in Jira.

type ScreenTypesScheme

type ScreenTypesScheme struct {
	Create  int `json:"create,omitempty"`  // The ID of the create screen.
	Default int `json:"default,omitempty"` // The ID of the default screen.
	View    int `json:"view,omitempty"`    // The ID of the view screen.
	Edit    int `json:"edit,omitempty"`    // The ID of the edit screen.
}

ScreenTypesScheme represents the types of screens in a screen scheme in Jira.

type ScreenWithTabScheme

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

ScreenWithTabScheme represents a screen with a tab in Jira.

type SearchBreadcrumbScheme

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

SearchBreadcrumbScheme represents a breadcrumb in a search result in Confluence.

type SearchContentOptions

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
}

SearchContentOptions represents the options for searching content in Confluence.

type SearchPageLinksScheme

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

SearchPageLinksScheme represents the links of a page of search results in Confluence.

type SearchPageScheme

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

SearchPageScheme represents a page of search results in Confluence.

type SearchResultScheme

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

SearchResultScheme represents a search result in Confluence.

type SecurityScheme

type SecurityScheme struct {
	Self        string `json:"self,omitempty"`        // The URL of the security scheme.
	ID          string `json:"id,omitempty"`          // The ID of the security scheme.
	Name        string `json:"name,omitempty"`        // The name of the security scheme.
	Description string `json:"description,omitempty"` // The description of the security scheme.
}

SecurityScheme represents a security scheme in Jira.

type ServerHealthCheckScheme

type ServerHealthCheckScheme struct {
	Name        string `json:"name,omitempty"`        // The name of the health check.
	Description string `json:"description,omitempty"` // The description of the health check.
	Passed      bool   `json:"passed,omitempty"`      // Indicates if the health check passed.
}

ServerHealthCheckScheme represents a health check of a server in Jira.

type ServerInformationScheme

type ServerInformationScheme struct {
	BaseURL        string                     `json:"baseUrl,omitempty"`        // The base URL of the Jira server.
	Version        string                     `json:"version,omitempty"`        // The version of the Jira server.
	VersionNumbers []int                      `json:"versionNumbers,omitempty"` // The version numbers of the Jira server.
	DeploymentType string                     `json:"deploymentType,omitempty"` // The deployment type of the Jira server.
	BuildNumber    int                        `json:"buildNumber,omitempty"`    // The build number of the Jira server.
	BuildDate      string                     `json:"buildDate,omitempty"`      // The build date of the Jira server.
	ServerTime     string                     `json:"serverTime,omitempty"`     // The server time of the Jira server.
	ScmInfo        string                     `json:"scmInfo,omitempty"`        // The SCM information of the Jira server.
	ServerTitle    string                     `json:"serverTitle,omitempty"`    // The server title of the Jira server.
	HealthChecks   []*ServerHealthCheckScheme `json:"healthChecks,omitempty"`   // The health checks of the Jira server.
}

ServerInformationScheme represents the server information in Jira.

type ServiceDeskIssueQueueScheme

type ServiceDeskIssueQueueScheme struct {
	Size       int                             `json:"size,omitempty"`       // The size of the page.
	Start      int                             `json:"start,omitempty"`      // The start index of the page.
	Limit      int                             `json:"limit,omitempty"`      // The limit of the page.
	IsLastPage bool                            `json:"isLastPage,omitempty"` // Indicates if this is the last page.
	Values     []*IssueSchemeV2                `json:"values,omitempty"`     // The issues in the page.
	Expands    []string                        `json:"_expands,omitempty"`   // The fields to expand in the page.
	Links      *ServiceDeskQueuePageLinkScheme `json:"_links,omitempty"`     // The links related to the page.
}

ServiceDeskIssueQueueScheme represents a service desk issue queue. It contains information about the page and a slice of issues.

type ServiceDeskPageLinkScheme

type ServiceDeskPageLinkScheme struct {
	Base    string `json:"base,omitempty"`    // The base link of the page.
	Context string `json:"context,omitempty"` // The context link of the page.
	Next    string `json:"next,omitempty"`    // The next link of the page.
	Prev    string `json:"prev,omitempty"`    // The previous link of the page.
}

ServiceDeskPageLinkScheme represents the links related to a page of service desks.

type ServiceDeskPageScheme

type ServiceDeskPageScheme struct {
	Expands    []string                   `json:"_expands,omitempty"`   // The fields to expand in the page.
	Size       int                        `json:"size,omitempty"`       // The size of the page.
	Start      int                        `json:"start,omitempty"`      // The start index of the page.
	Limit      int                        `json:"limit,omitempty"`      // The limit of the page.
	IsLastPage bool                       `json:"isLastPage,omitempty"` // Indicates if this is the last page.
	Links      *ServiceDeskPageLinkScheme `json:"_links,omitempty"`     // The links related to the page.
	Values     []*ServiceDeskScheme       `json:"values,omitempty"`     // The service desks in the page.
}

ServiceDeskPageScheme represents a page of service desks. It contains information about the page and a slice of service desks.

type ServiceDeskQueuePageLinkScheme

type ServiceDeskQueuePageLinkScheme struct {
	Self    string `json:"self,omitempty"`    // The self link of the page.
	Base    string `json:"base,omitempty"`    // The base link of the page.
	Context string `json:"context,omitempty"` // The context link of the page.
	Next    string `json:"next,omitempty"`    // The next link of the page.
	Prev    string `json:"prev,omitempty"`    // The previous link of the page.
}

ServiceDeskQueuePageLinkScheme represents the links related to a page of service desk queues.

type ServiceDeskQueuePageScheme

type ServiceDeskQueuePageScheme struct {
	Size       int                             `json:"size,omitempty"`       // The size of the page.
	Start      int                             `json:"start,omitempty"`      // The start index of the page.
	Limit      int                             `json:"limit,omitempty"`      // The limit of the page.
	IsLastPage bool                            `json:"isLastPage,omitempty"` // Indicates if this is the last page.
	Values     []*ServiceDeskQueueScheme       `json:"values,omitempty"`     // The service desk queues in the page.
	Expands    []string                        `json:"_expands,omitempty"`   // The fields to expand in the page.
	Links      *ServiceDeskQueuePageLinkScheme `json:"_links,omitempty"`     // The links related to the page.
}

ServiceDeskQueuePageScheme represents a page of service desk queues. It contains information about the page and a slice of service desk queues.

type ServiceDeskQueueScheme

type ServiceDeskQueueScheme struct {
	ID         string   `json:"id,omitempty"`         // The ID of the queue.
	Name       string   `json:"name,omitempty"`       // The name of the queue.
	JQL        string   `json:"jql,omitempty"`        // The JQL of the queue.
	Fields     []string `json:"fields,omitempty"`     // The fields of the queue.
	IssueCount int      `json:"issueCount,omitempty"` // The issue count of the queue.
}

ServiceDeskQueueScheme represents a service desk queue. It contains information about the queue and a slice of fields.

type ServiceDeskScheme

type ServiceDeskScheme struct {
	ID          string `json:"id,omitempty"`          // The ID of the service desk.
	ProjectID   string `json:"projectId,omitempty"`   // The ID of the related project.
	ProjectName string `json:"projectName,omitempty"` // The name of the related project.
	ProjectKey  string `json:"projectKey,omitempty"`  // The key of the related project.
	Links       struct {
		Self string `json:"self,omitempty"` // The self link of the service desk.
	} `json:"_links,omitempty"` // The links related to the service desk.
}

ServiceDeskScheme represents a service desk. It contains information about the service desk and its related project.

type ServiceDeskTemporaryFileScheme

type ServiceDeskTemporaryFileScheme struct {
	TemporaryAttachments []*TemporaryAttachmentScheme `json:"temporaryAttachments,omitempty"` // The temporary attachments of the file.
}

ServiceDeskTemporaryFileScheme represents a temporary file in a service desk. It contains a slice of temporary attachments.

type ServiceProviderConfigScheme

type ServiceProviderConfigScheme struct {
	Schemas []string `json:"schemas"` // The schemas.
	Patch   struct {
		Supported bool `json:"supported"` // Whether patching is supported.
	} `json:"patch"`
	Bulk struct {
		Supported      bool `json:"supported"`      // Whether bulk operations are supported.
		MaxOperations  int  `json:"maxOperations"`  // The maximum number of operations.
		MaxPayloadSize int  `json:"maxPayloadSize"` // The maximum payload size.
	} `json:"bulk"`
	Filter struct {
		MaxResults int  `json:"maxResults"` // The maximum number of results.
		Supported  bool `json:"supported"`  // Whether filtering is supported.
	} `json:"filter"`
	ChangePassword struct {
		Supported bool `json:"supported"` // Whether password change is supported.
	} `json:"changePassword"`
	Sort struct {
		Supported bool `json:"supported"` // Whether sorting is supported.
	} `json:"sort"`
	Etag struct {
		Supported bool `json:"supported"` // Whether ETag is supported.
	} `json:"etag"`
	AuthenticationSchemes []struct {
		Type        string `json:"type"`        // The type of the authentication scheme.
		Name        string `json:"name"`        // The name of the authentication scheme.
		Description string `json:"description"` // The description of the authentication scheme.
	} `json:"authenticationSchemes"`
	Meta struct {
		Location     string    `json:"location"`     // The location of the metadata.
		ResourceType string    `json:"resourceType"` // The type of the resource.
		LastModified time.Time `json:"lastModified"` // The last modified time.
		Created      time.Time `json:"created"`      // The creation time.
	} `json:"meta"`
}

ServiceProviderConfigScheme represents a service provider configuration.

type ServiceRequestOptionScheme

type ServiceRequestOptionScheme struct {
	ApprovalStatus, RequestStatus, SearchTerm string   // The approval status, request status, and search term for the service request.
	OrganizationID, ServiceDeskID             int      // The organization ID and service desk ID for the service request.
	RequestTypeID                             int      // The request type ID for the service request.
	Expand, RequestOwnerships                 []string // The fields to expand and the request ownerships for the service request.
}

ServiceRequestOptionScheme represents the options for a service request.

type ShareFilterScopeScheme

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

ShareFilterScopeScheme represents the scope of a shared filter in Jira.

type SharePermissionScheme

type SharePermissionScheme struct {
	ID      int                `json:"id,omitempty"`      // The ID of the share permission.
	Type    string             `json:"type,omitempty"`    // The type of the share permission.
	Project *ProjectScheme     `json:"project,omitempty"` // The project of the share permission.
	Role    *ProjectRoleScheme `json:"role,omitempty"`    // The role of the share permission.
	Group   *GroupScheme       `json:"group,omitempty"`   // The group of the share permission.
	User    *UserDetailScheme  `json:"user,omitempty"`    // The user of the share permission.
}

SharePermissionScheme represents a share permission in Jira.

type SpaceChunkV2Scheme

type SpaceChunkV2Scheme struct {
	Results []*SpaceSchemeV2 `json:"results,omitempty"` // The spaces in the chunk.
	Links   struct {
		Next string `json:"next"` // The link to the next chunk of spaces.
	} `json:"_links"`
}

SpaceChunkV2Scheme represents a chunk of spaces in Confluence.

type SpaceDescriptionSchemeV2

type SpaceDescriptionSchemeV2 struct {
	Plain *PageBodyRepresentationScheme `json:"plain,omitempty"` // The plain text description of the space.
	View  *PageBodyRepresentationScheme `json:"view,omitempty"`  // The view description of the space.
}

SpaceDescriptionSchemeV2 represents the description of a space in Confluence.

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

SpaceGroupScheme represents a group in a subject in a permission in Confluence.

type SpaceHistoryScheme

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

SpaceHistoryScheme represents the history of a space in Confluence.

type SpaceOperationPayloadScheme

type SpaceOperationPayloadScheme struct {
	Key    string `json:"key,omitempty"`    // The key of the operation.
	Target string `json:"target,omitempty"` // The target of the operation.
	Access bool   `json:"access,omitempty"` // Indicates if the operation has access.
}

SpaceOperationPayloadScheme represents the payload for a space operation in Confluence.

type SpaceOperationScheme

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

SpaceOperationScheme represents an operation in a space in Confluence.

type SpacePageLinkSchemeV2

type SpacePageLinkSchemeV2 struct {
	Next string `json:"next,omitempty"` // The link to the next page of spaces.
}

SpacePageLinkSchemeV2 represents the links of a page of spaces in Confluence.

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

SpacePageScheme represents a page of spaces in Confluence.

type SpacePermissionArrayPayloadScheme

type SpacePermissionArrayPayloadScheme struct {
	Subject    *PermissionSubjectScheme       `json:"subject,omitempty"`    // The subject of the permissions.
	Operations []*SpaceOperationPayloadScheme `json:"operations,omitempty"` // The operations of the permissions.
}

SpacePermissionArrayPayloadScheme represents the payload for an array of space permissions in Confluence.

type SpacePermissionOperationScheme

type SpacePermissionOperationScheme struct {
	Operation string `json:"operation,omitempty"` // The operation.
	Target    string `json:"target,omitempty"`    // The target of the operation.
	Key       string `json:"key,omitempty"`       // The key of the operation.
}

SpacePermissionOperationScheme represents an operation in a space permission in Confluence.

type SpacePermissionPageLinkScheme

type SpacePermissionPageLinkScheme struct {
	Next string `json:"next,omitempty"` // The link to the next page of space permissions.
}

SpacePermissionPageLinkScheme represents the links of a page of space permissions in Confluence.

type SpacePermissionPageScheme

type SpacePermissionPageScheme struct {
	Results []*SpacePermissionsV2Scheme    `json:"results,omitempty"` // The space permissions in the page.
	Links   *SpacePermissionPageLinkScheme `json:"_links,omitempty"`  // The links of the page.
}

SpacePermissionPageScheme represents a page of space permissions in Confluence.

type SpacePermissionPayloadScheme

type SpacePermissionPayloadScheme struct {
	Subject   *PermissionSubjectScheme        `json:"subject,omitempty"`   // The subject of the permission.
	Operation *SpacePermissionOperationScheme `json:"operation,omitempty"` // The operation of the permission.
}

SpacePermissionPayloadScheme represents the payload for a space permission in Confluence.

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

SpacePermissionScheme represents a permission in a space in Confluence.

type SpacePermissionV2Scheme

type SpacePermissionV2Scheme struct {
	Subject   *PermissionSubjectScheme        `json:"subject,omitempty"`   // The subject of the permission.
	Operation *SpacePermissionOperationScheme `json:"operation,omitempty"` // The operation of the permission.
}

SpacePermissionV2Scheme represents a version 2 space permission in Confluence.

type SpacePermissionsOperationScheme

type SpacePermissionsOperationScheme struct {
	Key        string `json:"key,omitempty"`        // The key of the operation.
	TargetType string `json:"targetType,omitempty"` // The target type of the operation.
}

SpacePermissionsOperationScheme represents an operation in a space permission in Confluence.

type SpacePermissionsPrincipalScheme

type SpacePermissionsPrincipalScheme struct {
	Type string `json:"type,omitempty"` // The type of the principal.
	ID   string `json:"id,omitempty"`   // The ID of the principal.
}

SpacePermissionsPrincipalScheme represents a principal in a space permission in Confluence.

type SpacePermissionsV2Scheme

type SpacePermissionsV2Scheme struct {
	ID        string                           `json:"id"`                  // The ID of the space permission.
	Principal *SpacePermissionsPrincipalScheme `json:"principal,omitempty"` // The principal of the space permission.
	Operation *SpacePermissionsOperationScheme `json:"operation,omitempty"` // The operation of the space permission.
}

SpacePermissionsV2Scheme represents a version 2 space permission in Confluence.

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

SpaceScheme represents a space in Confluence.

type SpaceSchemeV2

type SpaceSchemeV2 struct {
	ID          string                    `json:"id,omitempty"`          // The ID of the space.
	Key         string                    `json:"key,omitempty"`         // The key of the space.
	Name        string                    `json:"name,omitempty"`        // The name of the space.
	Type        string                    `json:"type,omitempty"`        // The type of the space.
	Status      string                    `json:"status,omitempty"`      // The status of the space.
	HomepageID  string                    `json:"homepageId,omitempty"`  // The ID of the home page of the space.
	Description *SpaceDescriptionSchemeV2 `json:"description,omitempty"` // The description of the space.
}

SpaceSchemeV2 represents a space in Confluence.

type SprintDetailScheme

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

SprintDetailScheme represents the details of a sprint. ID is the unique identifier of the sprint. State is the state of the sprint. Name is the name of the sprint. StartDate is the start date of the sprint. EndDate is the end date of the sprint. CompleteDate is the completion date of the sprint. OriginBoardID is the ID of the board where the sprint originated. Goal is the goal of the sprint. BoardID is the ID of the board where the sprint is located.

func ParseSprintCustomField

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

SprintIssuePageScheme represents a page of issues in a sprint. Expand is a string that contains the instructions for expanding the issues in the page. StartAt is the starting index of the page. MaxResults is the maximum number of results per page. Total is the total number of issues. Issues is a slice of the issues in the page.

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

SprintIssueScheme represents an issue in a sprint. Expand is a string that contains the instructions for expanding the issue. ID is the unique identifier of the issue. Self is the self URL of the issue. Key is the key of the issue.

type SprintMovePayloadScheme

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

SprintMovePayloadScheme represents the payload for moving an issue in a sprint. Issues is a slice of the issues to be moved. RankBeforeIssue is the rank of the issue before the move. RankAfterIssue is the rank of the issue after the move. RankCustomFieldID is the ID of the custom field used for ranking.

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

SprintPayloadScheme represents the payload for creating or updating a sprint. Name is the name of the sprint. StartDate is the start date of the sprint. EndDate is the end date of the sprint. OriginBoardID is the ID of the board where the sprint originated. Goal is the goal of the sprint. State is the state of the sprint.

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

SprintScheme represents an agile sprint. ID is the unique identifier of the sprint. Self is the self URL of the sprint. State is the state of the sprint. Name is the name of the sprint. StartDate is the start date of the sprint. EndDate is the end date of the sprint. CompleteDate is the completion date of the sprint. OriginBoardID is the ID of the board where the sprint originated. Goal is the goal of the sprint.

type StatusCategoryScheme

type StatusCategoryScheme struct {
	Self      string `json:"self,omitempty"`      // The URL of the status category.
	ID        int    `json:"id,omitempty"`        // The ID of the status category.
	Key       string `json:"key,omitempty"`       // The key of the status category.
	ColorName string `json:"colorName,omitempty"` // The color name of the status category.
	Name      string `json:"name,omitempty"`      // The name of the status category.
}

StatusCategoryScheme represents the category of a status in Jira.

type StatusDetailScheme

type StatusDetailScheme struct {
	Self           string                     `json:"self,omitempty"`           // The URL of the status detail.
	Description    string                     `json:"description,omitempty"`    // The description of the status detail.
	IconURL        string                     `json:"iconUrl,omitempty"`        // The URL of the icon for the status detail.
	Name           string                     `json:"name,omitempty"`           // The name of the status detail.
	ID             string                     `json:"id,omitempty"`             // The ID of the status detail.
	StatusCategory *StatusCategoryScheme      `json:"statusCategory,omitempty"` // The status category of the status detail.
	Scope          *WorkflowStatusScopeScheme `json:"scope,omitempty"`          // The scope of the status detail.
}

StatusDetailScheme represents a status detail in Jira.

type StatusLayoutUpdateScheme

type StatusLayoutUpdateScheme struct {
	// Layout is the layout of the status.
	Layout *WorkflowLayoutScheme `json:"layout,omitempty"`
	// StatusReference is the reference of the status.
	StatusReference string `json:"statusReference"`
}

StatusLayoutUpdateScheme represents an update to the layout of a status in a workflow.

type StatusMappingDTOScheme

type StatusMappingDTOScheme struct {
	IssueTypeID      string                       `json:"issueTypeId,omitempty"`      // IssueTypeID is the ID of the issue type.
	ProjectID        string                       `json:"projectId,omitempty"`        // ProjectID is the ID of the project.
	StatusMigrations []*StatusMigrationScheme     `json:"statusMigrations,omitempty"` // StatusMigrations is a list of status migrations.
	Statuses         []*StatusLayoutUpdateScheme  `json:"statuses,omitempty"`         // Statuses is a list of statuses in the workflow.
	Transitions      []*TransitionUpdateDTOScheme `json:"transitions,omitempty"`      // Transitions is a list of transitions in the workflow.
}

StatusMappingDTOScheme represents a status mapping DTO in a workflow in Jira.

type StatusMigrationScheme

type StatusMigrationScheme struct {
	NewStatusReference string `json:"newStatusReference,omitempty"` // NewStatusReference is the reference of the new status.
	OldStatusReference string `json:"oldStatusReference,omitempty"` // OldStatusReference is the reference of the old status.
}

StatusMigrationScheme represents a status migration in a workflow in Jira.

type StatusReferenceAndPortScheme

type StatusReferenceAndPortScheme struct {
	Port            int    `json:"port,omitempty"`            // Port is the port associated with the status.
	StatusReference string `json:"statusReference,omitempty"` // StatusReference is the reference of the status.
}

StatusReferenceAndPortScheme represents a status reference and port in a workflow.

type StatusScheme

type StatusScheme struct {
	Self           string                `json:"self,omitempty"`           // The URL of the status.
	Description    string                `json:"description,omitempty"`    // The description of the status.
	IconURL        string                `json:"iconUrl,omitempty"`        // The icon URL of the status.
	Name           string                `json:"name,omitempty"`           // The name of the status.
	ID             string                `json:"id,omitempty"`             // The ID of the status.
	StatusCategory *StatusCategoryScheme `json:"statusCategory,omitempty"` // The category of the status.
}

StatusScheme represents the status of an issue in Jira.

type SubAttributeScheme

type SubAttributeScheme struct {
	Name        string `json:"name,omitempty"`        // The name of the sub-attribute.
	Type        string `json:"type,omitempty"`        // The type of the sub-attribute.
	MultiValued bool   `json:"multiValued,omitempty"` // Whether the sub-attribute is multi-valued.
	Description string `json:"description,omitempty"` // The description of the sub-attribute.
	Required    bool   `json:"required,omitempty"`    // Whether the sub-attribute is required.
	CaseExact   bool   `json:"caseExact,omitempty"`   // Whether the sub-attribute is case exact.
	Mutability  string `json:"mutability,omitempty"`  // The mutability of the sub-attribute.
	Returned    string `json:"returned,omitempty"`    // When the sub-attribute is returned.
	Uniqueness  string `json:"uniqueness,omitempty"`  // The uniqueness of the sub-attribute.
}

SubAttributeScheme represents a sub-attribute.

type SubjectPermissionScheme

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

SubjectPermissionScheme represents a subject in a permission in Confluence.

type TaskLinkScheme

type TaskLinkScheme struct {
	Status string `json:"status"` // The status of the task.
}

TaskLinkScheme represents the links related to a task in a content item in Confluence.

type TaskScheme

type TaskScheme struct {
	Self           string `json:"self"`           // The URL of the task.
	ID             string `json:"id"`             // The ID of the task.
	Description    string `json:"description"`    // The description of the task.
	Status         string `json:"status"`         // The status of the task.
	Result         string `json:"result"`         // The result of the task.
	SubmittedBy    int    `json:"submittedBy"`    // The ID of the user who submitted the task.
	Progress       int    `json:"progress"`       // The progress of the task.
	ElapsedRuntime int    `json:"elapsedRuntime"` // The elapsed runtime of the task.
	Submitted      int64  `json:"submitted"`      // The timestamp when the task was submitted.
	Started        int64  `json:"started"`        // The timestamp when the task started.
	Finished       int64  `json:"finished"`       // The timestamp when the task finished.
	LastUpdate     int64  `json:"lastUpdate"`     // The timestamp of the last update to the task.
}

TaskScheme represents a task in Jira.

type TeamManagedProjectScopeScheme

type TeamManagedProjectScopeScheme struct {
	Type    string         `json:"type,omitempty"`    // The type of the scope.
	Project *ProjectScheme `json:"project,omitempty"` // The project in the scope.
}

TeamManagedProjectScopeScheme represents the scope of a team-managed project in Jira.

type TemporaryAttachmentScheme

type TemporaryAttachmentScheme struct {
	TemporaryAttachmentID string `json:"temporaryAttachmentId,omitempty"` // The ID of the temporary attachment.
	FileName              string `json:"fileName,omitempty"`              // The name of the temporary attachment.
}

TemporaryAttachmentScheme represents a temporary attachment in a service desk. It contains the ID and the name of the temporary attachment.

type TicketPageScheme

type TicketPageScheme struct {
	Tickets         []*TicketScheme `json:"tickets,omitempty"`         // The tickets on the page.
	AllTicketsQuery string          `json:"allTicketsQuery,omitempty"` // A query that fetches all tickets.
}

TicketPageScheme represents a paginated list of tickets.

type TicketPriorityScheme

type TicketPriorityScheme struct {
	Name    string `json:"name,omitempty"`    // The name of the priority.
	IconURL string `json:"iconUrl,omitempty"` // The URL of the icon associated with the priority.
}

TicketPriorityScheme represents the priority of a ticket.

type TicketScheme

type TicketScheme struct {
	WorkspaceID string                `json:"workspaceId,omitempty"` // The ID of the workspace.
	GlobalID    string                `json:"globalId,omitempty"`    // The global ID of the ticket.
	Key         string                `json:"key,omitempty"`         // The key of the ticket.
	ID          string                `json:"id,omitempty"`          // The ID of the ticket.
	Reporter    string                `json:"reporter,omitempty"`    // The reporter of the ticket.
	Created     string                `json:"created,omitempty"`     // The creation time of the ticket.
	Updated     string                `json:"updated,omitempty"`     // The update time of the ticket.
	Title       string                `json:"title,omitempty"`       // The title of the ticket.
	Status      *TicketStatusScheme   `json:"status,omitempty"`      // The status of the ticket.
	Type        *TicketTypeScheme     `json:"type,omitempty"`        // The type of the ticket.
	Priority    *TicketPriorityScheme `json:"priority,omitempty"`    // The priority of the ticket.
}

TicketScheme represents a ticket.

type TicketStatusScheme

type TicketStatusScheme struct {
	Name        string `json:"name,omitempty"`        // The name of the status.
	Description string `json:"description,omitempty"` // The description of the status.
	ColorName   string `json:"colorName,omitempty"`   // The name of the color associated with the status.
}

TicketStatusScheme represents the status of a ticket.

type TicketTypeScheme

type TicketTypeScheme struct {
	Name        string `json:"name,omitempty"`        // The name of the type.
	Description string `json:"description,omitempty"` // The description of the type.
	IconURL     string `json:"iconUrl,omitempty"`     // The URL of the icon associated with the type.
}

TicketTypeScheme represents the type of a ticket.

type TransitionUpdateDTOScheme

type TransitionUpdateDTOScheme struct {
	Actions            []*WorkflowRuleConfigurationScheme `json:"actions,omitempty"`            // Actions is a list of actions associated with the transition.
	Conditions         *ConditionGroupUpdateScheme        `json:"conditions,omitempty"`         // Conditions is a list of conditions associated with the transition.
	CustomIssueEventID string                             `json:"customIssueEventId,omitempty"` // CustomIssueEventID is the custom issue event ID associated with the transition.
	Description        string                             `json:"description,omitempty"`        // Description is the description of the transition.
	From               []*StatusReferenceAndPortScheme    `json:"from,omitempty"`               // From is a list of statuses from which this transition can be executed.
	ID                 string                             `json:"id,omitempty"`                 // ID is the ID of the transition.
	Links              []*WorkflowTransitionLinkScheme    `json:"links,omitempty"`              // Links is a list of links associated with the transition.
	Name               string                             `json:"name,omitempty"`               // Name is the name of the transition.
	To                 *StatusReferenceAndPortScheme      `json:"to,omitempty"`                 // To is the status to which this transition goes.
	ToStatusReference  string                             `json:"toStatusReference,omitempty"`  // ToStatusReference is the reference of the status to which this transition goes.
	TransitionScreen   *WorkflowRuleConfigurationScheme   `json:"transitionScreen,omitempty"`   // TransitionScreen is the screen associated with the transition.
	Triggers           []*WorkflowTriggerScheme           `json:"triggers,omitempty"`           // Triggers is a list of triggers associated with the transition.
	Type               string                             `json:"type,omitempty"`               // Type is the type of the transition.
	Validators         []*WorkflowRuleConfigurationScheme `json:"validators,omitempty"`         // Validators is a list of validators associated with the transition.
}

TransitionUpdateDTOScheme represents an update to a transition in a workflow.

type TypeReferenceScheme

type TypeReferenceScheme struct {
	WorkspaceID    string `json:"workspaceId,omitempty"`    // The ID of the workspace.
	GlobalID       string `json:"globalId,omitempty"`       // The global ID of the type reference.
	ID             string `json:"id,omitempty"`             // The ID of the type reference.
	Name           string `json:"name,omitempty"`           // The name of the type reference.
	Description    string `json:"description,omitempty"`    // The description of the type reference.
	Color          string `json:"color,omitempty"`          // The color of the type reference.
	URL16          string `json:"url16,omitempty"`          // The URL for the 16x16 version of the type reference.
	Removable      bool   `json:"removable,omitempty"`      // Indicates if the type reference is removable.
	ObjectSchemaID string `json:"objectSchemaId,omitempty"` // The ID of the object schema.
}

TypeReferenceScheme represents a type reference. WorkspaceID is the ID of the workspace. GlobalID is the global ID of the type reference. ID is the unique identifier of the type reference. Name is the name of the type reference. Description is the description of the type reference. Color is the color of the type reference. URL16 is the URL for the 16x16 version of the type reference. Removable indicates if the type reference is removable. ObjectSchemaID is the ID of the object schema.

type UpdateFieldConfigurationItemPayloadScheme

type UpdateFieldConfigurationItemPayloadScheme struct {
	FieldConfigurationItems []*FieldConfigurationItemScheme `json:"fieldConfigurationItems"` // The field configuration items to be updated.
}

UpdateFieldConfigurationItemPayloadScheme represents the payload for updating a field configuration item in Jira.

type UpdateOperations

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

UpdateOperations represents a collection of update operations. Fields is a slice of maps, each containing a string key and an interface{} value.

func (*UpdateOperations) AddArrayOperation

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

AddArrayOperation adds an array operation to the collection. It takes a custom field ID and a mapping of string to string as parameters. If the custom field ID is not provided, it returns an ErrNoFieldID. It creates an operation node for each value-operation pair in the mapping, with the operation as the key and the value as the value, and appends the operation node to the operations. It then creates a field node with the custom field ID as the key and the operations as the value, creates an update node with the "update" key and the field node as the value, and appends the update node to the Fields of the UpdateOperations. It returns nil if the operation is successful.

func (*UpdateOperations) AddMultiRawOperation

func (u *UpdateOperations) AddMultiRawOperation(customFieldID string, mappings []map[string]interface{}) error

AddMultiRawOperation adds a multi raw operation to the collection. It takes a custom field ID and a slice of mappings as parameters. Each mapping is a map with string keys and interface{} values. If the custom field ID is not provided, it returns an ErrNoFieldID. It appends the mappings to the operations, creates a field node with the custom field ID and the operations, creates an update node with the "update" key and the field node, and appends the update node to the Fields of the UpdateOperations. It returns nil if the operation is successful.

func (*UpdateOperations) AddStringOperation

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

AddStringOperation adds a string operation to the collection. It takes a custom field ID, an operation, and a value as parameters. If the custom field ID is not provided, it returns an ErrNoFieldID. If the operation is not provided, it returns an ErrNoEditOperator. If the value is not provided, it returns an ErrNoEditValue. It creates an operation node with the operation as the key and the value as the value, appends the operation node to the operations, creates a field node with the custom field ID as the key and the operations as the value, creates an update node with the "update" key and the field node as the value, and appends the update node to the Fields of the UpdateOperations. It returns nil if the operation is successful.

type UpdateSpaceHomepageScheme

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

UpdateSpaceHomepageScheme represents the home page of a space in Confluence.

type UpdateSpaceScheme

type UpdateSpaceScheme struct {
	Name        string                        `json:"name,omitempty"`
	Description *CreateSpaceDescriptionScheme `json:"description,omitempty"`
	Homepage    *UpdateSpaceHomepageScheme    `json:"homepage,omitempty"`
}

UpdateSpaceScheme represents the scheme for updating a space in Confluence.

type UserApplicationRoleItemsScheme

type UserApplicationRoleItemsScheme struct {
	Key                  string   `json:"key,omitempty"`                  // The key of the item.
	Groups               []string `json:"groups,omitempty"`               // The groups of the item.
	Name                 string   `json:"name,omitempty"`                 // The name of the item.
	DefaultGroups        []string `json:"defaultGroups,omitempty"`        // The default groups of the item.
	SelectedByDefault    bool     `json:"selectedByDefault,omitempty"`    // Indicates if the item is selected by default.
	Defined              bool     `json:"defined,omitempty"`              // Indicates if the item is defined.
	NumberOfSeats        int      `json:"numberOfSeats,omitempty"`        // The number of seats of the item.
	RemainingSeats       int      `json:"remainingSeats,omitempty"`       // The remaining seats of the item.
	UserCount            int      `json:"userCount,omitempty"`            // The user count of the item.
	UserCountDescription string   `json:"userCountDescription,omitempty"` // The user count description of the item.
	HasUnlimitedSeats    bool     `json:"hasUnlimitedSeats,omitempty"`    // Indicates if the item has unlimited seats.
	Platform             bool     `json:"platform,omitempty"`             // Indicates if the item is a platform.
}

UserApplicationRoleItemsScheme represents an item of the application roles of a user in Jira.

type UserApplicationRolesScheme

type UserApplicationRolesScheme struct {
	Size       int                               `json:"size,omitempty"`        // The size of the application roles.
	Items      []*UserApplicationRoleItemsScheme `json:"items,omitempty"`       // The items of the application roles.
	MaxResults int                               `json:"max-results,omitempty"` // The maximum number of results returned.
}

UserApplicationRolesScheme represents the application roles of a user in Jira.

type UserBusinessDetailScheme

type UserBusinessDetailScheme struct {
	Position   string `json:"position,omitempty"`   // The position of the user in the business.
	Department string `json:"department,omitempty"` // The department of the user in the business.
	Location   string `json:"location,omitempty"`   // The location of the user in the business.
}

UserBusinessDetailScheme represents the business details of a user.

type UserDetailScheme

type UserDetailScheme struct {
	Self         string `json:"self,omitempty"`         // The URL of the user detail.
	Name         string `json:"name,omitempty"`         // The name of the user.
	Key          string `json:"key,omitempty"`          // The key of the user.
	AccountID    string `json:"accountId,omitempty"`    // The account ID of the user.
	EmailAddress string `json:"emailAddress,omitempty"` // The email address of the user.
	DisplayName  string `json:"displayName,omitempty"`  // The display name of the user.
	Active       bool   `json:"active,omitempty"`       // Indicates if the user is active.
	TimeZone     string `json:"timeZone,omitempty"`     // The time zone of the user.
	AccountType  string `json:"accountType,omitempty"`  // The account type of the user.
}

UserDetailScheme represents the detail of a user in Jira.

func ParseMultiUserPickerCustomField

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

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"` // The name of the user group.
	Self string `json:"self,omitempty"` // The URL of the user group.
}

UserGroupScheme represents a user group in Jira.

type UserGroupsScheme

type UserGroupsScheme struct {
	Size       int                `json:"size,omitempty"`        // The size of the collection.
	Items      []*UserGroupScheme `json:"items,omitempty"`       // The user groups.
	MaxResults int                `json:"max-results,omitempty"` // The maximum number of results in the collection.
}

UserGroupsScheme represents a collection of user groups in Jira.

type UserPayloadScheme

type UserPayloadScheme struct {
	Password     string `json:"password,omitempty"`     // The password of the user.
	EmailAddress string `json:"emailAddress,omitempty"` // The email address of the user.
	DisplayName  string `json:"displayName,omitempty"`  // The display name of the user.
	Notification bool   `json:"notification,omitempty"` // Indicates if the user receives notifications.
}

UserPayloadScheme represents the payload for a user in Jira.

type UserPermissionCheckParamsScheme

type UserPermissionCheckParamsScheme struct {
	Query      string // The query for the check.
	AccountID  string // The account ID for the check.
	IssueKey   string // The issue key for the check.
	ProjectKey string // The project key for the check.
}

UserPermissionCheckParamsScheme represents the parameters for checking a user's permissions in Jira.

type UserPermissionScheme

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

UserPermissionScheme represents a user in a subject in a permission in Confluence.

type UserPersonalDetailScheme

type UserPersonalDetailScheme struct {
	Phone   string `json:"phone,omitempty"`   // The phone number of the user.
	Im      string `json:"im,omitempty"`      // The instant messaging handle of the user.
	Website string `json:"website,omitempty"` // The website of the user.
	Email   string `json:"email,omitempty"`   // The email of the user.
}

UserPersonalDetailScheme represents the personal details of a user.

type UserProductAccessDataScheme

type UserProductAccessDataScheme struct {
	ProductAccess []*UserProductLastActiveScheme `json:"product_access,omitempty"` // The products the user has access to.
	AddedToOrg    string                         `json:"added_to_org,omitempty"`   // The time the user was added to the organization.
}

UserProductAccessDataScheme represents the data of a user's product access.

type UserProductAccessScheme

type UserProductAccessScheme struct {
	Data *UserProductAccessDataScheme `json:"data,omitempty"` // The product access data.
}

UserProductAccessScheme represents the product access of a user.

type UserProductLastActiveScheme

type UserProductLastActiveScheme struct {
	ID         string `json:"id,omitempty"`          // The ID of the product.
	Key        string `json:"key,omitempty"`         // The key of the product.
	Name       string `json:"name,omitempty"`        // The name of the product.
	URL        string `json:"url,omitempty"`         // The URL of the product.
	LastActive string `json:"last_active,omitempty"` // The last active time of the product.
}

UserProductLastActiveScheme represents a product a user has access to.

type UserScheme

type UserScheme struct {
	Self             string                      `json:"self,omitempty"`             // The URL of the user.
	Key              string                      `json:"key,omitempty"`              // The key of the user.
	AccountID        string                      `json:"accountId,omitempty"`        // The account ID of the user.
	AccountType      string                      `json:"accountType,omitempty"`      // The account type of the user.
	Name             string                      `json:"name,omitempty"`             // The name of the user.
	EmailAddress     string                      `json:"emailAddress,omitempty"`     // The email address of the user.
	AvatarURLs       *AvatarURLScheme            `json:"avatarUrls,omitempty"`       // The avatar URLs of the user.
	DisplayName      string                      `json:"displayName,omitempty"`      // The display name of the user.
	Active           bool                        `json:"active,omitempty"`           // Indicates if the user is active.
	TimeZone         string                      `json:"timeZone,omitempty"`         // The time zone of the user.
	Locale           string                      `json:"locale,omitempty"`           // The locale of the user.
	Groups           *UserGroupsScheme           `json:"groups,omitempty"`           // The groups of the user.
	ApplicationRoles *UserApplicationRolesScheme `json:"applicationRoles,omitempty"` // The application roles of the user.
	Expand           string                      `json:"expand,omitempty"`           // The fields that are expanded in the results.
}

UserScheme represents a user in Jira.

type UserSearchPageScheme

type UserSearchPageScheme struct {
	MaxResults int           `json:"maxResults,omitempty"` // The maximum number of results returned.
	StartAt    int           `json:"startAt,omitempty"`    // The index of the first result returned.
	Total      int           `json:"total,omitempty"`      // The total number of results available.
	IsLast     bool          `json:"isLast,omitempty"`     // Indicates if this is the last page of results.
	Values     []*UserScheme `json:"values,omitempty"`     // The users on the page.
}

UserSearchPageScheme represents a page of users in Jira.

type UserTokensScheme

type UserTokensScheme struct {
	ID         string    `json:"id,omitempty"`         // The ID of the user token.
	Label      string    `json:"label,omitempty"`      // The label of the user token.
	CreatedAt  time.Time `json:"createdAt,omitempty"`  // The creation time of the user token.
	LastAccess time.Time `json:"lastAccess,omitempty"` // The last access time of the user token.
}

UserTokensScheme represents a user token. ID is the unique identifier of the token. Label is the label assigned to the token. CreatedAt is the time when the token was created. LastAccess is the last time the token was accessed.

type ValidationOptionsForCreateScheme

type ValidationOptionsForCreateScheme struct {
	Payload *WorkflowCreatesPayload       `json:"payload,omitempty"` // Payload is the payload for creating workflows.
	Options *ValidationOptionsLevelScheme `json:"validationOptions"` // Options are the validation options.
}

ValidationOptionsForCreateScheme represents the validation options for creating a workflow.

type ValidationOptionsForUpdateScheme

type ValidationOptionsForUpdateScheme struct {
	Payload *WorkflowUpdatesPayloadScheme `json:"payload,omitempty"`           // Payload is the payload for updating workflows.
	Options *ValidationOptionsLevelScheme `json:"validationOptions,omitempty"` // Options are the validation options.
}

ValidationOptionsForUpdateScheme represents the validation options for updating a workflow.

type ValidationOptionsLevelScheme

type ValidationOptionsLevelScheme struct {
	Levels []string `json:"levels,omitempty"` // Valid values: WARNING, ERROR.
}

ValidationOptionsLevelScheme represents the levels of validation options.

type VersionCollaboratorsScheme

type VersionCollaboratorsScheme struct {
	Users    []*ContentUserScheme `json:"users,omitempty"`    // The users who are collaborators.
	UserKeys []string             `json:"userKeys,omitempty"` // The keys of the users who are collaborators.
}

VersionCollaboratorsScheme represents the collaborators of a version in Confluence.

type VersionDetailScheme

type VersionDetailScheme struct {
	Self        string `json:"self,omitempty"`        // The URL of the detail.
	ID          string `json:"id,omitempty"`          // The ID of the detail.
	Description string `json:"description,omitempty"` // The description of the detail.
	Name        string `json:"name,omitempty"`        // The name of the detail.
	Archived    bool   `json:"archived,omitempty"`    // Indicates if the detail is archived.
	Released    bool   `json:"released,omitempty"`    // Indicates if the detail is released.
	ReleaseDate string `json:"releaseDate,omitempty"` // The release date of the detail.
}

VersionDetailScheme represents the detail of a version in Jira.

func ParseMultiVersionCustomField

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   // The order by option.
	Query   string   // The query option.
	Status  string   // The status option.
	Expand  []string // The expand option.
}

VersionGetsOptions represents the options for getting versions in Jira.

type VersionIssueCountCustomFieldUsageScheme

type VersionIssueCountCustomFieldUsageScheme struct {
	FieldName                          string `json:"fieldName,omitempty"`                          // The field name of the custom field usage.
	CustomFieldID                      int    `json:"customFieldId,omitempty"`                      // The custom field ID of the custom field usage.
	IssueCountWithVersionInCustomField int    `json:"issueCountWithVersionInCustomField,omitempty"` // The issue count with version in custom field of the custom field usage.
}

VersionIssueCountCustomFieldUsageScheme represents the custom field usage for a version in Jira.

type VersionIssueCountsScheme

type VersionIssueCountsScheme struct {
	Self                                     string                                     `json:"self,omitempty"`                                     // The URL of the issue counts.
	IssuesFixedCount                         int                                        `json:"issuesFixedCount,omitempty"`                         // The count of issues fixed.
	IssuesAffectedCount                      int                                        `json:"issuesAffectedCount,omitempty"`                      // The count of issues affected.
	IssueCountWithCustomFieldsShowingVersion int                                        `json:"issueCountWithCustomFieldsShowingVersion,omitempty"` // The count of issues with custom fields showing version.
	CustomFieldUsage                         []*VersionIssueCountCustomFieldUsageScheme `json:"customFieldUsage,omitempty"`                         // The custom field usage of the version.
}

VersionIssueCountsScheme represents the issue counts for a version in Jira.

type VersionIssuesStatusForFixVersionScheme

type VersionIssuesStatusForFixVersionScheme struct {
	Unmapped   int `json:"unmapped,omitempty"`   // The unmapped status.
	ToDo       int `json:"toDo,omitempty"`       // The to do status.
	InProgress int `json:"inProgress,omitempty"` // The in progress status.
	Done       int `json:"done,omitempty"`       // The done status.
}

VersionIssuesStatusForFixVersionScheme represents the issues status for fix version in a version in Jira.

type VersionOperation

type VersionOperation struct {
	ID         string `json:"id,omitempty"`         // The ID of the operation.
	StyleClass string `json:"styleClass,omitempty"` // The style class of the operation.
	Label      string `json:"label,omitempty"`      // The label of the operation.
	Href       string `json:"href,omitempty"`       // The href of the operation.
	Weight     int    `json:"weight,omitempty"`     // The weight of the operation.
}

VersionOperation represents an operation in a version in Jira.

type VersionPageScheme

type VersionPageScheme struct {
	Self       string           `json:"self,omitempty"`       // The URL of the page.
	NextPage   string           `json:"nextPage,omitempty"`   // The URL of the next page.
	MaxResults int              `json:"maxResults,omitempty"` // The maximum number of results returned.
	StartAt    int              `json:"startAt,omitempty"`    // The index of the first result returned.
	Total      int              `json:"total,omitempty"`      // The total number of results available.
	IsLast     bool             `json:"isLast,omitempty"`     // Indicates if this is the last page of results.
	Values     []*VersionScheme `json:"values,omitempty"`     // The versions on the page.
}

VersionPageScheme represents a page of versions in Jira.

type VersionPayloadScheme

type VersionPayloadScheme struct {
	Archived    bool   `json:"archived,omitempty"`    // Indicates if the version is archived.
	ReleaseDate string `json:"releaseDate,omitempty"` // The release date of the version.
	Name        string `json:"name,omitempty"`        // The name of the version.
	Description string `json:"description,omitempty"` // The description of the version.
	ProjectID   int    `json:"projectId,omitempty"`   // The project ID of the version.
	Released    bool   `json:"released,omitempty"`    // Indicates if the version is released.
	StartDate   string `json:"startDate,omitempty"`   // The start date of the version.
}

VersionPayloadScheme represents the payload for a version in Jira.

type VersionScheme

type VersionScheme struct {
	Self                      string                                  `json:"self,omitempty"`                      // The URL of the version.
	ID                        string                                  `json:"id,omitempty"`                        // The ID of the version.
	Description               string                                  `json:"description,omitempty"`               // The description of the version.
	Name                      string                                  `json:"name,omitempty"`                      // The name of the version.
	Archived                  bool                                    `json:"archived,omitempty"`                  // Indicates if the version is archived.
	Released                  bool                                    `json:"released,omitempty"`                  // Indicates if the version is released.
	ReleaseDate               string                                  `json:"releaseDate,omitempty"`               // The release date of the version.
	Overdue                   bool                                    `json:"overdue,omitempty"`                   // Indicates if the version is overdue.
	UserReleaseDate           string                                  `json:"userReleaseDate,omitempty"`           // The user release date of the version.
	ProjectID                 int                                     `json:"projectId,omitempty"`                 // The project ID of the version.
	Operations                []*VersionOperation                     `json:"operations,omitempty"`                // The operations of the version.
	IssuesStatusForFixVersion *VersionIssuesStatusForFixVersionScheme `json:"issuesStatusForFixVersion,omitempty"` // The issues status for fix version of the version.
}

VersionScheme represents a version in Jira.

type VersionUnresolvedIssuesCountScheme

type VersionUnresolvedIssuesCountScheme struct {
	Self                  string `json:"self"`                  // The URL of the unresolved issues count.
	IssuesUnresolvedCount int    `json:"issuesUnresolvedCount"` // The count of unresolved issues.
	IssuesCount           int    `json:"issuesCount"`           // The count of issues.
}

VersionUnresolvedIssuesCountScheme represents the unresolved issues count for a version in Jira.

type WebhookSubscriptionPageScheme

type WebhookSubscriptionPageScheme struct {
	Size     int                          `json:"size,omitempty"`     // The number of subscriptions in the current page.
	Page     int                          `json:"page,omitempty"`     // The current page number.
	Pagelen  int                          `json:"pagelen,omitempty"`  // The total number of pages.
	Next     string                       `json:"next,omitempty"`     // The URL to the next page.
	Previous string                       `json:"previous,omitempty"` // The URL to the previous page.
	Values   []*WebhookSubscriptionScheme `json:"values,omitempty"`   // The webhook subscriptions in the current page.
}

WebhookSubscriptionPageScheme represents a paginated list of webhook subscriptions.

type WebhookSubscriptionPayloadScheme

type WebhookSubscriptionPayloadScheme struct {
	Description string   `json:"description,omitempty"` // The description of the webhook subscription.
	URL         string   `json:"url,omitempty"`         // The URL of the webhook subscription.
	Active      bool     `json:"active,omitempty"`      // Indicates if the webhook subscription is active.
	Events      []string `json:"events,omitempty"`      // The events for the webhook subscription.
}

WebhookSubscriptionPayloadScheme represents the payload for a webhook subscription.

type WebhookSubscriptionScheme

type WebhookSubscriptionScheme struct {
	UUID        string                            `json:"uuid,omitempty"`         // The unique identifier of the webhook subscription.
	URL         string                            `json:"url,omitempty"`          // The URL of the webhook subscription.
	Description string                            `json:"description,omitempty"`  // The description of the webhook subscription.
	SubjectType string                            `json:"subject_type,omitempty"` // The type of the subject of the webhook subscription.
	Subject     *WebhookSubscriptionSubjectScheme `json:"subject,omitempty"`      // The subject of the webhook subscription.
	Active      bool                              `json:"active,omitempty"`       // Indicates if the webhook subscription is active.
	CreatedAt   string                            `json:"created_at,omitempty"`   // The creation time of the webhook subscription.
	Events      []string                          `json:"events,omitempty"`       // The events for the webhook subscription.
}

WebhookSubscriptionScheme represents a webhook subscription.

type WebhookSubscriptionSubjectScheme

type WebhookSubscriptionSubjectScheme struct {
	Type string `json:"type,omitempty"` // The type of the subject.
}

WebhookSubscriptionSubjectScheme represents the subject of a webhook subscription.

type WorkSpaceLinksPageScheme

type WorkSpaceLinksPageScheme struct {
	Self    string `json:"self,omitempty"`    // The self link of the page.
	Base    string `json:"base,omitempty"`    // The base link of the page.
	Context string `json:"context,omitempty"` // The context link of the page.
}

WorkSpaceLinksPageScheme represents the links related to a page of workspaces.

type WorkSpacePageScheme

type WorkSpacePageScheme struct {
	Size       int                       `json:"size,omitempty"`       // The size of the page.
	Start      int                       `json:"start,omitempty"`      // The start index of the page.
	Limit      int                       `json:"limit,omitempty"`      // The limit of the page.
	IsLastPage bool                      `json:"isLastPage,omitempty"` // Indicates if this is the last page.
	Links      *WorkSpaceLinksPageScheme `json:"_links,omitempty"`     // The links related to the page.
	Values     []*WorkSpaceScheme        `json:"values,omitempty"`     // The workspaces in the page.
}

WorkSpacePageScheme represents a page of workspaces. It contains information about the page and a slice of workspaces.

type WorkSpaceScheme

type WorkSpaceScheme struct {
	WorkspaceID string `json:"workspaceId,omitempty"` // The ID of the workspace.
}

WorkSpaceScheme represents a workspace. It contains the ID of the workspace.

type WorkflowCapabilitiesScheme

type WorkflowCapabilitiesScheme struct {
	ConnectRules []*AvailableWorkflowConnectRuleScheme `json:"connectRules,omitempty"` // ConnectRules is a list of available workflow connect rules.
	EditorScope  string                                `json:"editorScope,omitempty"`  // EditorScope is the scope of the editor.
	ForgeRules   []*AvailableWorkflowForgeRuleScheme   `json:"forgeRules,omitempty"`   // ForgeRules is a list of available workflow forge rules.
	SystemRules  []*AvailableWorkflowSystemRuleScheme  `json:"systemRules,omitempty"`  // SystemRules is a list of available workflow system rules.
	TriggerRules []*AvailableWorkflowTriggers          `json:"triggerRules,omitempty"` // TriggerRules is a list of available workflow trigger rules.
}

WorkflowCapabilitiesScheme represents the capabilities of a workflow in Jira.

type WorkflowConditionScheme

type WorkflowConditionScheme struct {
	Conditions    []*WorkflowConditionScheme `json:"conditions,omitempty"`    // The conditions of the workflow.
	Configuration interface{}                `json:"configuration,omitempty"` // The configuration of the condition.
	Operator      string                     `json:"operator,omitempty"`      // The operator of the condition.
	Type          string                     `json:"type,omitempty"`          // The type of the condition.
}

WorkflowConditionScheme represents a condition in a workflow in Jira.

type WorkflowCreateResponseScheme

type WorkflowCreateResponseScheme struct {
	Statuses  []*JiraWorkflowStatusScheme `json:"statuses,omitempty"`  // Statuses is a list of statuses in the workflow.
	Workflows []*JiraWorkflowScheme       `json:"workflows,omitempty"` // Workflows is a list of Jira workflows.
}

WorkflowCreateResponseScheme represents the response after creating a workflow in Jira.

type WorkflowCreateScheme

type WorkflowCreateScheme struct {
	Description      string                       `json:"description,omitempty"`      // Description is the description of the workflow.
	Name             string                       `json:"name,omitempty"`             // Name is the name of the workflow.
	StartPointLayout *WorkflowLayoutScheme        `json:"startPointLayout,omitempty"` // StartPointLayout is the layout of the start point of the workflow.
	Statuses         []*StatusLayoutUpdateScheme  `json:"statuses,omitempty"`         // Statuses is a list of statuses in the workflow.
	Transitions      []*TransitionUpdateDTOScheme `json:"transitions,omitempty"`      // Transitions is a list of transitions in the workflow.
}

WorkflowCreateScheme represents the creation of a workflow in Jira.

func (*WorkflowCreateScheme) AddStatus

func (w *WorkflowCreateScheme) AddStatus(status *StatusLayoutUpdateScheme)

AddStatus adds a new status to the WorkflowCreateScheme.

func (*WorkflowCreateScheme) AddTransition

func (w *WorkflowCreateScheme) AddTransition(transition *TransitionUpdateDTOScheme) error

AddTransition adds a new transition to the WorkflowCreateScheme.

type WorkflowCreatedResponseScheme

type WorkflowCreatedResponseScheme struct {
	Name     string `json:"name,omitempty"`     // The name of the created workflow.
	EntityID string `json:"entityId,omitempty"` // The entity ID of the created workflow.
}

WorkflowCreatedResponseScheme represents the response after a workflow is created in Jira.

type WorkflowCreatesPayload

type WorkflowCreatesPayload struct {
	Scope     *WorkflowScopeScheme          `json:"scope,omitempty"`     // Scope is the scope of the workflow.
	Statuses  []*WorkflowStatusUpdateScheme `json:"statuses,omitempty"`  // Statuses is a list of statuses in the workflow.
	Workflows []*WorkflowCreateScheme       `json:"workflows,omitempty"` // Workflows is a list of workflows to be created.
}

WorkflowCreatesPayload represents the payload for creating workflows in Jira.

func (*WorkflowCreatesPayload) AddStatus

func (w *WorkflowCreatesPayload) AddStatus(status *WorkflowStatusUpdateScheme)

AddStatus adds a new status to the WorkflowCreatesPayload.

func (*WorkflowCreatesPayload) AddWorkflow

func (w *WorkflowCreatesPayload) AddWorkflow(workflow *WorkflowCreateScheme) error

AddWorkflow adds a new workflow and its statuses to the payload, ensuring no duplicate statuses.

type WorkflowDocumentVersionScheme

type WorkflowDocumentVersionScheme struct {
	ID            string `json:"id,omitempty"`            // ID is the ID of the document version.
	VersionNumber int    `json:"versionNumber,omitempty"` // VersionNumber is the version number of the document.
}

WorkflowDocumentVersionScheme represents the version of a workflow document in Jira.

type WorkflowElementReferenceScheme

type WorkflowElementReferenceScheme struct {
	PropertyKey            string                         `json:"propertyKey,omitempty"`            // PropertyKey is the key of the property.
	RuleID                 string                         `json:"ruleId,omitempty"`                 // RuleID is the ID of the rule.
	StatusMappingReference *ProjectAndIssueTypePairScheme `json:"statusMappingReference,omitempty"` // StatusMappingReference is the reference to the status mapping.
	StatusReference        string                         `json:"statusReference,omitempty"`        // StatusReference is the reference of the status.
	TransitionID           string                         `json:"transitionId,omitempty"`           // TransitionID is the ID of the transition.
}

WorkflowElementReferenceScheme represents a reference to an element in a workflow.

type WorkflowLayoutScheme

type WorkflowLayoutScheme struct {
	X float64 `json:"x,omitempty"` // X is the X coordinate of the layout.
	Y float64 `json:"y,omitempty"` // Y is the Y coordinate of the layout.
}

WorkflowLayoutScheme represents the layout of a workflow element in Jira.

type WorkflowPageScheme

type WorkflowPageScheme struct {
	Self       string            `json:"self,omitempty"`       // The URL of the page.
	NextPage   string            `json:"nextPage,omitempty"`   // The URL of the next page.
	MaxResults int               `json:"maxResults,omitempty"` // The maximum number of results returned.
	StartAt    int               `json:"startAt,omitempty"`    // The index of the first result returned.
	Total      int               `json:"total,omitempty"`      // The total number of results available.
	IsLast     bool              `json:"isLast,omitempty"`     // Indicates if this is the last page of results.
	Values     []*WorkflowScheme `json:"values,omitempty"`     // The workflows on the page.
}

WorkflowPageScheme represents a page of workflows in Jira.

type WorkflowPayloadScheme

type WorkflowPayloadScheme struct {
	Name        string                             `json:"name,omitempty"`        // The name of the workflow.
	Description string                             `json:"description,omitempty"` // The description of the workflow.
	Statuses    []*WorkflowTransitionScreenScheme  `json:"statuses,omitempty"`    // The statuses of the workflow.
	Transitions []*WorkflowTransitionPayloadScheme `json:"transitions,omitempty"` // The transitions of the workflow.
}

WorkflowPayloadScheme represents the payload for creating a workflow in Jira.

type WorkflowPublishedIDScheme

type WorkflowPublishedIDScheme struct {
	Name     string `json:"name,omitempty"`     // The name of the workflow.
	EntityID string `json:"entityId,omitempty"` // The entity ID of the workflow.
}

WorkflowPublishedIDScheme represents the published ID of a workflow in Jira.

type WorkflowReadResponseScheme

type WorkflowReadResponseScheme struct {
	Statuses  []*WorkflowStatusDetailScheme `json:"statuses,omitempty"`  // Statuses is a list of workflow status details.
	Workflows []*JiraWorkflowScheme         `json:"workflows,omitempty"` // Workflows is a list of Jira workflows.
}

WorkflowReadResponseScheme represents the response scheme for reading workflows in Jira.

type WorkflowReferenceStatusScheme

type WorkflowReferenceStatusScheme struct {
	Deprecated      bool                  `json:"deprecated,omitempty"`      // Deprecated indicates if the status is deprecated.
	Layout          *WorkflowLayoutScheme `json:"layout,omitempty"`          // Layout is the layout of the status.
	StatusReference string                `json:"statusReference,omitempty"` // StatusReference is the reference of the status.
}

WorkflowReferenceStatusScheme represents a reference status in a workflow in Jira.

type WorkflowRuleConfigurationScheme

type WorkflowRuleConfigurationScheme struct {
	ID      string `json:"id,omitempty"`
	RuleKey string `json:"ruleKey,omitempty"`
}

type WorkflowScheme

type WorkflowScheme struct {
	ID          *WorkflowPublishedIDScheme  `json:"id,omitempty"`          // The ID of the workflow.
	Transitions []*WorkflowTransitionScheme `json:"transitions,omitempty"` // The transitions of the workflow.
	Statuses    []*WorkflowStatusScheme     `json:"statuses,omitempty"`    // The statuses of the workflow.
	Description string                      `json:"description,omitempty"` // The description of the workflow.
	IsDefault   bool                        `json:"isDefault,omitempty"`   // Indicates if the workflow is the default workflow.
}

WorkflowScheme represents a workflow in Jira.

type WorkflowSchemeAssociationPageScheme

type WorkflowSchemeAssociationPageScheme struct {
	Values []*WorkflowSchemeAssociationsScheme `json:"values,omitempty"` // The workflow scheme associations on the page.
}

WorkflowSchemeAssociationPageScheme represents a page of workflow scheme associations in Jira.

type WorkflowSchemeAssociationsScheme

type WorkflowSchemeAssociationsScheme struct {
	ProjectIDs     []string              `json:"projectIds,omitempty"`     // The IDs of the projects associated with the scheme.
	WorkflowScheme *WorkflowSchemeScheme `json:"workflowScheme,omitempty"` // The workflow scheme associated with the projects.
}

WorkflowSchemeAssociationsScheme represents a workflow scheme association in Jira.

type WorkflowSchemePageScheme

type WorkflowSchemePageScheme struct {
	Self       string                  `json:"self,omitempty"`       // The URL of the page.
	NextPage   string                  `json:"nextPage,omitempty"`   // The URL of the next page.
	MaxResults int                     `json:"maxResults,omitempty"` // The maximum number of results returned.
	StartAt    int                     `json:"startAt,omitempty"`    // The index of the first result returned.
	Total      int                     `json:"total,omitempty"`      // The total number of results available.
	IsLast     bool                    `json:"isLast,omitempty"`     // Indicates if this is the last page of results.
	Values     []*WorkflowSchemeScheme `json:"values,omitempty"`     // The workflow schemes on the page.
}

WorkflowSchemePageScheme represents a page of workflow schemes in Jira.

type WorkflowSchemePayloadScheme

type WorkflowSchemePayloadScheme struct {
	DefaultWorkflow     string      `json:"defaultWorkflow,omitempty"`     // The default workflow of the scheme.
	Name                string      `json:"name,omitempty"`                // The name of the scheme.
	Description         string      `json:"description,omitempty"`         // The description of the scheme.
	IssueTypeMappings   interface{} `json:"issueTypeMappings,omitempty"`   // The issue type mappings of the scheme.
	UpdateDraftIfNeeded bool        `json:"updateDraftIfNeeded,omitempty"` // Indicates if the draft should be updated if needed.
}

WorkflowSchemePayloadScheme represents the payload for a workflow scheme in Jira.

type WorkflowSchemeScheme

type WorkflowSchemeScheme struct {
	ID                  int         `json:"id,omitempty"`                  // The ID of the scheme.
	Name                string      `json:"name,omitempty"`                // The name of the scheme.
	Description         string      `json:"description,omitempty"`         // The description of the scheme.
	DefaultWorkflow     string      `json:"defaultWorkflow,omitempty"`     // The default workflow of the scheme.
	Draft               bool        `json:"draft,omitempty"`               // Indicates if the scheme is a draft.
	LastModifiedUser    *UserScheme `json:"lastModifiedUser,omitempty"`    // The user who last modified the scheme.
	LastModified        string      `json:"lastModified,omitempty"`        // The date and time when the scheme was last modified.
	Self                string      `json:"self,omitempty"`                // The URL of the scheme.
	UpdateDraftIfNeeded bool        `json:"updateDraftIfNeeded,omitempty"` // Indicates if the draft should be updated if needed.
}

WorkflowSchemeScheme represents a workflow scheme in Jira.

type WorkflowScopeProjectScheme

type WorkflowScopeProjectScheme struct {
	ID string `json:"id,omitempty"` // ID is the ID of the project.
}

WorkflowScopeProjectScheme represents a project in the workflow scope.

type WorkflowScopeScheme

type WorkflowScopeScheme struct {
	Project *WorkflowScopeProjectScheme `json:"project,omitempty"` // Project is the project associated with the workflow.
	Type    string                      `json:"type,omitempty"`    // Valid values: PROJECT, GLOBAL.
}

WorkflowScopeScheme represents the scope of a workflow in Jira.

type WorkflowSearchCriteria

type WorkflowSearchCriteria struct {
	ProjectAndIssueTypes []*WorkflowSearchProjectIssueTypeMapping `json:"projectAndIssueTypes,omitempty"` // ProjectAndIssueTypes is a list of project and issue type mappings to filter the search.
	WorkflowIDs          []string                                 `json:"workflowIds,omitempty"`          // WorkflowIDs is a list of workflow IDs to filter the search.
	WorkflowNames        []string                                 `json:"workflowNames,omitempty"`        // WorkflowNames is a list of workflow names to filter the search.
}

WorkflowSearchCriteria represents the criteria for searching workflows in Jira.

type WorkflowSearchOptions

type WorkflowSearchOptions struct {
	WorkflowName []string // The names of the workflows to search for.
	Expand       []string // The fields to expand in the response.
	QueryString  string   // The query string for the search.
	OrderBy      string   // The field to order the results by.
	IsActive     bool     // Indicates if only active workflows should be returned.
}

WorkflowSearchOptions represents the search options for a workflow in Jira.

type WorkflowSearchProjectIssueTypeMapping

type WorkflowSearchProjectIssueTypeMapping struct {
	IssueTypeID string `json:"issueTypeId,omitempty"` // IssueTypeID is the ID of the issue type.
	ProjectID   string `json:"projectId,omitempty"`   // ProjectID is the ID of the project.
}

WorkflowSearchProjectIssueTypeMapping represents a mapping of project and issue type for workflow search.

type WorkflowStatusAndPortScheme

type WorkflowStatusAndPortScheme struct {
	Port            int    `json:"port,omitempty"`
	StatusReference string `json:"statusReference,omitempty"`
}

type WorkflowStatusDetailPageScheme

type WorkflowStatusDetailPageScheme struct {
	StartAt    int                           `json:"startAt,omitempty"`    // The index of the first result returned.
	Total      int                           `json:"total,omitempty"`      // The total number of results available.
	IsLast     bool                          `json:"isLast,omitempty"`     // Indicates if this is the last page of results.
	MaxResults int                           `json:"maxResults,omitempty"` // The maximum number of results returned.
	Values     []*WorkflowStatusDetailScheme `json:"values,omitempty"`     // The workflow status details on the page.
	Self       string                        `json:"self,omitempty"`       // The URL of the page.
	NextPage   string                        `json:"nextPage,omitempty"`   // The URL of the next page.
}

WorkflowStatusDetailPageScheme represents a page of workflow status details in Jira.

type WorkflowStatusDetailScheme

type WorkflowStatusDetailScheme struct {
	ID             string                     `json:"id,omitempty"`             // The ID of the workflow status.
	Name           string                     `json:"name,omitempty"`           // The name of the workflow status.
	StatusCategory string                     `json:"statusCategory,omitempty"` // The status category of the workflow status.
	Scope          *WorkflowStatusScopeScheme `json:"scope,omitempty"`          // The scope of the workflow status.
	Description    string                     `json:"description,omitempty"`    // The description of the workflow status.
	Usages         []*ProjectIssueTypesScheme `json:"usages,omitempty"`         // The usages of the workflow status.
}

WorkflowStatusDetailScheme represents a workflow status detail in Jira.

type WorkflowStatusNodeScheme

type WorkflowStatusNodeScheme struct {
	ID             string `json:"id,omitempty"`             // The ID of the workflow status node.
	Name           string `json:"name,omitempty"`           // The name of the workflow status node.
	StatusCategory string `json:"statusCategory,omitempty"` // The status category of the workflow status node.
	Description    string `json:"description,omitempty"`    // The description of the workflow status node.
}

WorkflowStatusNodeScheme represents a node of a workflow status in Jira.

type WorkflowStatusPayloadScheme

type WorkflowStatusPayloadScheme struct {
	Statuses []*WorkflowStatusNodeScheme `json:"statuses,omitempty"` // The statuses of the workflow.
	Scope    *WorkflowStatusScopeScheme  `json:"scope,omitempty"`    // The scope of the workflow status.
}

WorkflowStatusPayloadScheme represents the payload for a workflow status in Jira.

type WorkflowStatusProjectScheme

type WorkflowStatusProjectScheme struct {
	ID string `json:"id,omitempty"` // The ID of the project.
}

WorkflowStatusProjectScheme represents a project associated with a workflow status scope in Jira.

type WorkflowStatusPropertiesScheme

type WorkflowStatusPropertiesScheme struct {
	IssueEditable bool `json:"issueEditable,omitempty"` // Indicates if the issue is editable.
}

WorkflowStatusPropertiesScheme represents the properties of a status in a workflow in Jira.

type WorkflowStatusScheme

type WorkflowStatusScheme struct {
	ID         string                          `json:"id,omitempty"`         // The ID of the status.
	Name       string                          `json:"name,omitempty"`       // The name of the status.
	Properties *WorkflowStatusPropertiesScheme `json:"properties,omitempty"` // The properties of the status.
}

WorkflowStatusScheme represents a status in a workflow in Jira.

type WorkflowStatusScopeScheme

type WorkflowStatusScopeScheme struct {
	Type    string                       `json:"type,omitempty"`    // The type of the scope.
	Project *WorkflowStatusProjectScheme `json:"project,omitempty"` // The project associated with the scope.
}

WorkflowStatusScopeScheme represents the scope of a workflow status in Jira.

type WorkflowStatusSearchParams

type WorkflowStatusSearchParams struct {
	ProjectID      string   // The ID of the project.
	SearchString   string   // The search string.
	StatusCategory string   // The status category.
	Expand         []string // The fields to expand in the response.
}

WorkflowStatusSearchParams represents the search parameters for a workflow status in Jira.

type WorkflowStatusUpdateScheme

type WorkflowStatusUpdateScheme struct {
	Description     string `json:"description,omitempty"`     // Description is the description of the status.
	ID              string `json:"id,omitempty"`              // ID is the ID of the status.
	Name            string `json:"name,omitempty"`            // Name is the name of the status.
	StatusCategory  string `json:"statusCategory,omitempty"`  // StatusCategory is the category of the status.
	StatusReference string `json:"statusReference,omitempty"` // StatusReference is the reference of the status.
}

WorkflowStatusUpdateScheme represents an update to a workflow status in Jira.

type WorkflowTransitionLinkScheme

type WorkflowTransitionLinkScheme struct {
	FromPort            int    `json:"fromPort,omitempty"`
	FromStatusReference string `json:"fromStatusReference,omitempty"`
	ToPort              int    `json:"toPort,omitempty"`
}

type WorkflowTransitionPayloadScheme

type WorkflowTransitionPayloadScheme struct {
	Name        string                                 `json:"name,omitempty"`        // The name of the transition.
	Description string                                 `json:"description,omitempty"` // The description of the transition.
	From        []string                               `json:"from,omitempty"`        // The statuses from which this transition can be executed.
	To          string                                 `json:"to,omitempty"`          // The status to which this transition goes.
	Type        string                                 `json:"type,omitempty"`        // The type of the transition.
	Rules       *WorkflowTransitionRulePayloadScheme   `json:"rules,omitempty"`       // The rules of the transition.
	Screen      *WorkflowTransitionScreenPayloadScheme `json:"screen,omitempty"`      // The screen associated with the transition.
	Properties  interface{}                            `json:"properties,omitempty"`  // The properties of the transition.
}

WorkflowTransitionPayloadScheme represents the payload for a transition in a workflow in Jira.

type WorkflowTransitionRulePayloadScheme

type WorkflowTransitionRulePayloadScheme struct {
	Conditions    *WorkflowConditionScheme        `json:"conditions,omitempty"`    // The conditions of the transition.
	PostFunctions []*WorkflowTransitionRuleScheme `json:"postFunctions,omitempty"` // The post functions of the transition.
	Validators    []*WorkflowTransitionRuleScheme `json:"validators,omitempty"`    // The validators of the transition.
}

WorkflowTransitionRulePayloadScheme represents the payload for the rules of a transition in a workflow in Jira.

type WorkflowTransitionRuleScheme

type WorkflowTransitionRuleScheme struct {
	Type          string      `json:"type,omitempty"`          // The type of the rule.
	Configuration interface{} `json:"configuration,omitempty"` // The configuration of the rule.
}

WorkflowTransitionRuleScheme represents a rule of a transition in a workflow in Jira.

type WorkflowTransitionRulesScheme

type WorkflowTransitionRulesScheme struct {
	Conditions    []*WorkflowTransitionRuleScheme `json:"conditions,omitempty"`    // The conditions of the transition.
	Validators    []*WorkflowTransitionRuleScheme `json:"validators,omitempty"`    // The validators of the transition.
	PostFunctions []*WorkflowTransitionRuleScheme `json:"postFunctions,omitempty"` // The post functions of the transition.
}

WorkflowTransitionRulesScheme represents the rules of a transition in a workflow in Jira.

type WorkflowTransitionScheme

type WorkflowTransitionScheme struct {
	Actions            []*WorkflowRuleConfigurationScheme `json:"actions,omitempty"`
	Conditions         *ConditionGroupConfigurationScheme `json:"conditions,omitempty"`
	CustomIssueEventID string                             `json:"customIssueEventId,omitempty"`
	Description        string                             `json:"description,omitempty"`
	From               []*WorkflowStatusAndPortScheme     `json:"from,omitempty"` // This field is deprecated - use toStatusReference/links instead.
	ID                 string                             `json:"id,omitempty"`
	Links              []*WorkflowTransitionLinkScheme    `json:"links,omitempty"`
	Name               string                             `json:"name,omitempty"` // The name of the transition.
	To                 *WorkflowStatusAndPortScheme       `json:"to,omitempty"`   // The status to which this transition goes.
	ToStatusReference  string                             `json:"toStatusReference,omitempty"`
	TransitionScreen   *WorkflowRuleConfigurationScheme   `json:"transitionScreen,omitempty"`
	Triggers           []*WorkflowTriggerScheme           `json:"triggers,omitempty"`
	Type               string                             `json:"type,omitempty"` // The type of the transition.
	Validators         []*WorkflowRuleConfigurationScheme `json:"validators,omitempty"`
}

WorkflowTransitionScheme represents a transition in a workflow in Jira. Note that a transition can have either the deprecated to/from fields or the toStatusReference/links fields, but never both nor a combination.

type WorkflowTransitionScreenPayloadScheme

type WorkflowTransitionScreenPayloadScheme struct {
	ID string `json:"id"` // The ID of the screen.
}

WorkflowTransitionScreenPayloadScheme represents the payload for a screen associated with a transition in a workflow in Jira.

type WorkflowTransitionScreenScheme

type WorkflowTransitionScreenScheme struct {
	ID         string      `json:"id,omitempty"`         // The ID of the screen.
	Properties interface{} `json:"properties,omitempty"` // The properties of the screen.
}

WorkflowTransitionScreenScheme represents a screen associated with a transition in a workflow in Jira.

type WorkflowTriggerScheme

type WorkflowTriggerScheme struct {
	ID      string `json:"id,omitempty"`
	RuleKey string `json:"ruleKey,omitempty"`
}

type WorkflowUpdateResponseScheme

type WorkflowUpdateResponseScheme struct {
	Statuses  []*JiraWorkflowStatusScheme `json:"statuses,omitempty"`  // Statuses is a list of statuses in the workflow.
	TaskID    string                      `json:"taskId,omitempty"`    // TaskID is the ID of the task associated with the workflow update.
	Workflows []*JiraWorkflowScheme       `json:"workflows,omitempty"` // Workflows is a list of Jira workflows.
}

WorkflowUpdateResponseScheme represents the response after updating a workflow in Jira.

type WorkflowUpdateScheme

type WorkflowUpdateScheme struct {
	DefaultStatusMappings []*StatusMigrationScheme       `json:"defaultStatusMappings,omitempty"` // DefaultStatusMappings is a list of default status mappings.
	Description           string                         `json:"description,omitempty"`           // Description is the description of the workflow.
	ID                    string                         `json:"id,omitempty"`                    // ID is the ID of the workflow.
	StartPointLayout      *WorkflowLayoutScheme          `json:"startPointLayout,omitempty"`      // StartPointLayout is the layout of the start point of the workflow.
	StatusMappings        []*StatusMappingDTOScheme      `json:"statusMappings,omitempty"`        // StatusMappings is a list of status mappings in the workflow.
	Statuses              []*StatusLayoutUpdateScheme    `json:"statuses,omitempty"`              // Statuses is a list of statuses in the workflow.
	Transitions           []*TransitionUpdateDTOScheme   `json:"transitions,omitempty"`           // Transitions is a list of transitions in the workflow.
	Version               *WorkflowDocumentVersionScheme `json:"version,omitempty"`               // Version is the version of the workflow document.
}

WorkflowUpdateScheme represents the update scheme for a workflow in Jira.

type WorkflowUpdatesPayloadScheme

type WorkflowUpdatesPayloadScheme struct {
	Statuses  []*WorkflowStatusUpdateScheme `json:"statuses,omitempty"`  // Statuses is a list of statuses in the workflow.
	Workflows []*WorkflowUpdateScheme       `json:"workflows,omitempty"` // Workflows is a list of workflows to be updated.
}

WorkflowUpdatesPayloadScheme represents the payload for updating workflows in Jira.

func (*WorkflowUpdatesPayloadScheme) InjectWorkflow

func (w *WorkflowUpdatesPayloadScheme) InjectWorkflow(workflow *JiraWorkflowScheme)

InjectWorkflow adds a new workflow to the payload for updating workflows. It takes a JiraWorkflowScheme as input and appends it to the Workflows slice.

type WorkflowValidationErrorListScheme

type WorkflowValidationErrorListScheme struct {
	Errors []*WorkflowValidationErrorScheme `json:"errors,omitempty"` // Errors is a list of workflow validation errors.
}

WorkflowValidationErrorListScheme represents a list of workflow validation errors.

type WorkflowValidationErrorScheme

type WorkflowValidationErrorScheme struct {
	Code             string                          `json:"code,omitempty"`             // Valid values: INVALID_TRANSITION, INVALID_STATUS, INVALID_TRANSITION_TO_STATUS, INVALID_TRANSITION_FROM_STATUS, INVALID_TRANSITION_TO_STATUS
	ElementReference *WorkflowElementReferenceScheme `json:"elementReference,omitempty"` // ElementReference is the reference to the element that caused the error.
	Level            string                          `json:"level,omitempty"`            // Valid values: WARNING, ERROR.
	Message          string                          `json:"message,omitempty"`          // Message is the error message.
	Type             string                          `json:"type,omitempty"`             // Valid values: TRANSITION, STATUS
}

WorkflowValidationErrorScheme represents a workflow validation error.

type WorklogADFPayloadScheme

type WorklogADFPayloadScheme struct {
	Comment          *CommentNodeScheme            `json:"comment,omitempty"`          // The comment for the worklog in ADF format.
	Visibility       *IssueWorklogVisibilityScheme `json:"visibility,omitempty"`       // The visibility of the worklog.
	Started          string                        `json:"started,omitempty"`          // The date and time when the work started.
	TimeSpent        string                        `json:"timeSpent,omitempty"`        // The time spent on the work.
	TimeSpentSeconds int                           `json:"timeSpentSeconds,omitempty"` // The time spent on the work in seconds.
}

WorklogADFPayloadScheme represents the payload for a worklog with Atlassian Document Format (ADF) content in Jira.

type WorklogOptionsScheme

type WorklogOptionsScheme struct {
	Notify               bool     // Indicates if notifications should be sent for the worklog.
	AdjustEstimate       string   // The method for adjusting the estimate of the issue.
	NewEstimate          string   // The new estimate of the issue if the adjust estimate is "new".
	ReduceBy             string   // The amount to reduce the estimate by if the adjust estimate is "manual".
	OverrideEditableFlag bool     // Indicates if the editable flag of the worklog should be overridden.
	Expand               []string // The fields that should be expanded in the response.
}

WorklogOptionsScheme represents the options for a worklog in Jira.

type WorklogRichTextPayloadScheme

type WorklogRichTextPayloadScheme struct {
	Comment          *CommentPayloadSchemeV2       `json:"comment,omitempty"`          // The comment for the worklog in rich text format.
	Visibility       *IssueWorklogVisibilityScheme `json:"visibility,omitempty"`       // The visibility of the worklog.
	Started          string                        `json:"started,omitempty"`          // The date and time when the work started.
	TimeSpent        string                        `json:"timeSpent,omitempty"`        // The time spent on the work.
	TimeSpentSeconds int                           `json:"timeSpentSeconds,omitempty"` // The time spent on the work in seconds.
}

WorklogRichTextPayloadScheme represents the payload for a worklog with rich text content in Jira.

type WorkspaceLinksScheme

type WorkspaceLinksScheme struct {
	Avatar       *BitbucketLinkScheme `json:"avatar,omitempty"`       // The link to the workspace's avatar.
	HTML         *BitbucketLinkScheme `json:"html,omitempty"`         // The link to the workspace's HTML page.
	Members      *BitbucketLinkScheme `json:"members,omitempty"`      // The link to the workspace's members.
	Owners       *BitbucketLinkScheme `json:"owners,omitempty"`       // The link to the workspace's owners.
	Projects     *BitbucketLinkScheme `json:"projects,omitempty"`     // The link to the workspace's projects.
	Repositories *BitbucketLinkScheme `json:"repositories,omitempty"` // The link to the workspace's repositories.
	Snippets     *BitbucketLinkScheme `json:"snippets,omitempty"`     // The link to the workspace's snippets.
	Self         *BitbucketLinkScheme `json:"self,omitempty"`         // The link to the workspace itself.
}

WorkspaceLinksScheme represents a collection of links related to a workspace.

type WorkspaceMembershipLinksScheme

type WorkspaceMembershipLinksScheme struct {
	Self *BitbucketLinkScheme `json:"self,omitempty"` // The link to the membership itself.
}

WorkspaceMembershipLinksScheme represents a collection of links related to a workspace membership.

type WorkspaceMembershipPageScheme

type WorkspaceMembershipPageScheme struct {
	Size     int                          `json:"size,omitempty"`     // The number of memberships in the current page.
	Page     int                          `json:"page,omitempty"`     // The current page number.
	Pagelen  int                          `json:"pagelen,omitempty"`  // The total number of pages.
	Next     string                       `json:"next,omitempty"`     // The URL to the next page.
	Previous string                       `json:"previous,omitempty"` // The URL to the previous page.
	Values   []*WorkspaceMembershipScheme `json:"values,omitempty"`   // The workspace memberships in the current page.
}

WorkspaceMembershipPageScheme represents a paginated list of workspace memberships.

type WorkspaceMembershipScheme

type WorkspaceMembershipScheme struct {
	Links        *WorkspaceMembershipLinksScheme `json:"links,omitempty"`         // The links related to the membership.
	User         *BitbucketAccountScheme         `json:"user,omitempty"`          // The user who has the membership.
	Workspace    *WorkspaceScheme                `json:"workspace,omitempty"`     // The workspace to which the membership applies.
	AddedOn      time.Time                       `json:"added_on,omitempty"`      // The time when the membership was added.
	Permission   string                          `json:"permission,omitempty"`    // The level of the membership.
	LastAccessed time.Time                       `json:"last_accessed,omitempty"` // The last time the membership was accessed.
}

WorkspaceMembershipScheme represents a workspace membership.

type WorkspaceScheme

type WorkspaceScheme struct {
	Type      string                `json:"type,omitempty"`       // The type of the workspace.
	Links     *WorkspaceLinksScheme `json:"links,omitempty"`      // The links related to the workspace.
	UUID      string                `json:"uuid,omitempty"`       // The unique identifier of the workspace.
	Name      string                `json:"name,omitempty"`       // The name of the workspace.
	Slug      string                `json:"slug,omitempty"`       // The slug of the workspace.
	IsPrivate bool                  `json:"is_private,omitempty"` // Indicates if the workspace is private.
	CreatedOn string                `json:"created_on,omitempty"` // The creation time of the workspace.
	UpdatedOn string                `json:"updated_on,omitempty"` // The update time of the workspace.
}

WorkspaceScheme represents a workspace.

Source Files

Jump to

Keyboard shortcuts

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