tasks

package
v0.0.0-...-1fa52ee Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2024 License: Apache-2.0, BSD-2-Clause, ISC, + 1 more Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const RAW_BOARD_TABLE = "jira_api_boards"
View Source
const RAW_CHANGELOG_TABLE = "jira_api_issue_changelogs"
View Source
const RAW_DEVELOPMENT_PANEL = "jira_api_development_panels"
View Source
const RAW_EPIC_TABLE = "jira_api_epics"
View Source
const RAW_ISSUE_COMMENT_TABLE = "jira_api_issue_comments"
View Source
const RAW_ISSUE_TABLE = "jira_api_issues"
View Source
const RAW_ISSUE_TYPE_TABLE = "jira_api_issue_types"
View Source
const RAW_PROJECT_TABLE = "jira_api_projects"
View Source
const RAW_REMOTELINK_TABLE = "jira_api_remotelinks"
View Source
const RAW_SPRINT_TABLE = "jira_api_sprints"
View Source
const RAW_STATUS_TABLE = "jira_api_status"
View Source
const RAW_USERS_TABLE = "jira_api_users"
View Source
const RAW_WORKLOGS_TABLE = "jira_api_worklogs"

Variables

View Source
var CollectAccountsMeta = plugin.SubTaskMeta{
	Name:             "collectAccounts",
	EntryPoint:       CollectAccounts,
	EnabledByDefault: true,
	Description:      "collect Jira accounts, does not support either timeFilter or diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS},
}
View Source
var CollectBoardFilterBeginMeta = plugin.SubTaskMeta{
	Name:             "collectBoardFilterBegin",
	EntryPoint:       CollectBoardFilterBegin,
	EnabledByDefault: true,
	Description:      "Jira board filter jql checker before running",
	DomainTypes:      plugin.DOMAIN_TYPES,
}
View Source
var CollectBoardFilterEndMeta = plugin.SubTaskMeta{
	Name:             "collectBoardFilterEnd",
	EntryPoint:       CollectBoardFilterEnd,
	EnabledByDefault: true,
	Description:      "Jira board filter jql checker after running",
	DomainTypes:      plugin.DOMAIN_TYPES,
}
View Source
var CollectDevelopmentPanelMeta = plugin.SubTaskMeta{
	Name:             "collectDevelopmentPanel",
	EntryPoint:       CollectDevelopmentPanel,
	EnabledByDefault: true,
	Description:      "collect Jira development panel",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET, plugin.DOMAIN_TYPE_CROSS},
}
View Source
var CollectEpicsMeta = plugin.SubTaskMeta{
	Name:             "collectEpics",
	EntryPoint:       CollectEpics,
	EnabledByDefault: true,
	Description:      "collect Jira epics from all boards, supports both timeFilter and diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET, plugin.DOMAIN_TYPE_CROSS},
}
View Source
var CollectIssueChangelogsMeta = plugin.SubTaskMeta{
	Name:             "collectIssueChangelogs",
	EntryPoint:       CollectIssueChangelogs,
	EnabledByDefault: true,
	Description:      "collect Jira Issue change logs, supports both timeFilter and diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET, plugin.DOMAIN_TYPE_CROSS},
}
View Source
var CollectIssueCommentsMeta = plugin.SubTaskMeta{
	Name:             "collectIssueComments",
	EntryPoint:       CollectIssueComments,
	EnabledByDefault: false,
	Description:      "collect Jira issue comments, supports both timeFilter and diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET, plugin.DOMAIN_TYPE_CROSS},
}
View Source
var CollectIssueTypesMeta = plugin.SubTaskMeta{
	Name:             "collectIssueTypes",
	EntryPoint:       CollectIssueTypes,
	EnabledByDefault: true,
	Description:      "collect Jira issue_types, does not support either timeFilter or diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var CollectIssuesMeta = plugin.SubTaskMeta{
	Name:             "collectIssues",
	EntryPoint:       CollectIssues,
	EnabledByDefault: true,
	Description:      "collect Jira issues, supports both timeFilter and diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET, plugin.DOMAIN_TYPE_CROSS},
}
View Source
var CollectProjectsMeta = plugin.SubTaskMeta{
	Name:             "collectProjects",
	EntryPoint:       CollectProjects,
	EnabledByDefault: true,
	Description:      "collect Jira projects, does not support either timeFilter or diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var CollectRemotelinksMeta = plugin.SubTaskMeta{
	Name:             "collectRemotelinks",
	EntryPoint:       CollectRemotelinks,
	EnabledByDefault: true,
	Description:      "collect Jira remote links, supports both timeFilter and diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var CollectSprintsMeta = plugin.SubTaskMeta{
	Name:             "collectSprints",
	EntryPoint:       CollectSprints,
	EnabledByDefault: true,
	Description:      "collect Jira sprints, does not support either timeFilter or diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var CollectStatusMeta = plugin.SubTaskMeta{
	Name:             "collectStatus",
	EntryPoint:       CollectStatus,
	EnabledByDefault: true,
	Description:      "collect Jira status, does not support either timeFilter or diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var CollectWorklogsMeta = plugin.SubTaskMeta{
	Name:             "collectWorklogs",
	EntryPoint:       CollectWorklogs,
	EnabledByDefault: true,
	Description:      "collect Jira work logs, supports both timeFilter and diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ConvertAccountsMeta = plugin.SubTaskMeta{
	Name:             "convertAccounts",
	EntryPoint:       ConvertAccounts,
	EnabledByDefault: true,
	Description:      "convert Jira accounts",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS},
}
View Source
var ConvertBoardMeta = plugin.SubTaskMeta{
	Name:             "convertBoard",
	EntryPoint:       ConvertBoard,
	EnabledByDefault: true,
	Description:      "convert Jira board",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ConvertIssueChangelogsMeta = plugin.SubTaskMeta{
	Name:             "convertIssueChangelogs",
	EntryPoint:       ConvertIssueChangelogs,
	EnabledByDefault: true,
	Description:      "convert Jira Issue change logs",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET, plugin.DOMAIN_TYPE_CROSS},
}
View Source
var ConvertIssueCommentsMeta = plugin.SubTaskMeta{
	Name:             "ConvertIssueComments",
	EntryPoint:       ConvertIssueComments,
	EnabledByDefault: false,
	Description:      "convert Jira issue comments",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS},
}
View Source
var ConvertIssueCommitsMeta = plugin.SubTaskMeta{
	Name:             "convertIssueCommits",
	EntryPoint:       ConvertIssueCommits,
	EnabledByDefault: true,
	Description:      "convert Jira issue commits",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS},
}
View Source
var ConvertIssueLabelsMeta = plugin.SubTaskMeta{
	Name:             "convertIssueLabels",
	EntryPoint:       ConvertIssueLabels,
	EnabledByDefault: true,
	Description:      "Convert tool layer table jira_issue_labels into  domain layer table issue_labels",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ConvertIssueRelationshipsMeta = plugin.SubTaskMeta{
	Name:             "convertIssueRelationships",
	EntryPoint:       ConvertIssueRelationships,
	EnabledByDefault: true,
	Description:      "Convert tool layer table jira_issue_relationships into  domain layer table issue_relationships",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ConvertIssueRepoCommitsMeta = plugin.SubTaskMeta{
	Name:             "convertIssueRepoCommits",
	EntryPoint:       ConvertIssueRepoCommits,
	EnabledByDefault: true,
	Description:      "convert Jira issue repo commits",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS},
}
View Source
var ConvertIssuesMeta = plugin.SubTaskMeta{
	Name:             "convertIssues",
	EntryPoint:       ConvertIssues,
	EnabledByDefault: true,
	Description:      "convert Jira issues",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ConvertSprintIssuesMeta = plugin.SubTaskMeta{
	Name:             "convertSprintIssues",
	EntryPoint:       ConvertSprintIssues,
	EnabledByDefault: true,
	Description:      "convert Jira sprint_issues",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ConvertSprintsMeta = plugin.SubTaskMeta{
	Name:             "convertSprints",
	EntryPoint:       ConvertSprints,
	EnabledByDefault: true,
	Description:      "convert Jira sprints",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ConvertWorklogsMeta = plugin.SubTaskMeta{
	Name:             "convertWorklogs",
	EntryPoint:       ConvertWorklogs,
	EnabledByDefault: true,
	Description:      "convert Jira work logs",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ExtractAccountsMeta = plugin.SubTaskMeta{
	Name:             "extractAccounts",
	EntryPoint:       ExtractAccounts,
	EnabledByDefault: true,
	Description:      "extract Jira users",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS},
}
View Source
var ExtractDevelopmentPanelMeta = plugin.SubTaskMeta{
	Name:             "ExtractDevelopmentPanel",
	EntryPoint:       ExtractDevelopmentPanel,
	EnabledByDefault: true,
	Description:      "Extract Jira development panel",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET, plugin.DOMAIN_TYPE_CROSS},
}
View Source
var ExtractEpicsMeta = plugin.SubTaskMeta{
	Name:             "extractEpics",
	EntryPoint:       ExtractEpics,
	EnabledByDefault: true,
	Description:      "extract Jira epics from all boards",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET, plugin.DOMAIN_TYPE_CROSS},
}
View Source
var ExtractIssueChangelogsMeta = plugin.SubTaskMeta{
	Name:             "extractIssueChangelogs",
	EntryPoint:       ExtractIssueChangelogs,
	EnabledByDefault: true,
	Description:      "extract Jira Issue change logs",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET, plugin.DOMAIN_TYPE_CROSS},
}
View Source
var ExtractIssueCommentsMeta = plugin.SubTaskMeta{
	Name:             "extractIssueComments",
	EntryPoint:       ExtractIssueComments,
	EnabledByDefault: false,
	Description:      "extract Jira Issue comments",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET, plugin.DOMAIN_TYPE_CROSS},
}
View Source
var ExtractIssueTypesMeta = plugin.SubTaskMeta{
	Name:             "extractIssueType",
	EntryPoint:       ExtractIssueType,
	EnabledByDefault: true,
	Description:      "extract Jira issueType",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ExtractIssuesMeta = plugin.SubTaskMeta{
	Name:             "extractIssues",
	EntryPoint:       ExtractIssues,
	EnabledByDefault: true,
	Description:      "extract Jira issues",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET, plugin.DOMAIN_TYPE_CROSS},
}
View Source
var ExtractProjectsMeta = plugin.SubTaskMeta{
	Name:             "extractProjects",
	EntryPoint:       ExtractProjects,
	EnabledByDefault: true,
	Description:      "extract Jira projects",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ExtractRemotelinksMeta = plugin.SubTaskMeta{
	Name:             "extractRemotelinks",
	EntryPoint:       ExtractRemotelinks,
	EnabledByDefault: true,
	Description:      "extract Jira remote links",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ExtractSprintsMeta = plugin.SubTaskMeta{
	Name:             "extractSprints",
	EntryPoint:       ExtractSprints,
	EnabledByDefault: true,
	Description:      "extract Jira sprints",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ExtractStatusMeta = plugin.SubTaskMeta{
	Name:             "extractStatus",
	EntryPoint:       ExtractStatus,
	EnabledByDefault: true,
	Description:      "extract Jira status",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}
View Source
var ExtractWorklogsMeta = plugin.SubTaskMeta{
	Name:             "extractWorklogs",
	EntryPoint:       ExtractWorklogs,
	EnabledByDefault: true,
	Description:      "extract Jira work logs",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_TICKET},
}

Functions

func CollectAccounts

func CollectAccounts(taskCtx plugin.SubTaskContext) errors.Error

func CollectBoardFilterBegin

func CollectBoardFilterBegin(taskCtx plugin.SubTaskContext) errors.Error

func CollectBoardFilterEnd

func CollectBoardFilterEnd(taskCtx plugin.SubTaskContext) errors.Error

func CollectDevelopmentPanel

func CollectDevelopmentPanel(taskCtx plugin.SubTaskContext) errors.Error

func CollectEpics

func CollectEpics(taskCtx plugin.SubTaskContext) errors.Error

func CollectIssueChangelogs

func CollectIssueChangelogs(taskCtx plugin.SubTaskContext) errors.Error

func CollectIssueComments

func CollectIssueComments(taskCtx plugin.SubTaskContext) errors.Error

func CollectIssueTypes

func CollectIssueTypes(taskCtx plugin.SubTaskContext) errors.Error

func CollectIssues

func CollectIssues(taskCtx plugin.SubTaskContext) errors.Error

func CollectProjects

func CollectProjects(taskCtx plugin.SubTaskContext) errors.Error
func CollectRemotelinks(taskCtx plugin.SubTaskContext) errors.Error

func CollectSprints

func CollectSprints(taskCtx plugin.SubTaskContext) errors.Error

func CollectStatus

func CollectStatus(taskCtx plugin.SubTaskContext) errors.Error

func CollectWorklogs

func CollectWorklogs(taskCtx plugin.SubTaskContext) errors.Error

func ConvertAccounts

func ConvertAccounts(taskCtx plugin.SubTaskContext) errors.Error

func ConvertBoard

func ConvertBoard(taskCtx plugin.SubTaskContext) errors.Error

func ConvertIssueChangelogs

func ConvertIssueChangelogs(taskCtx plugin.SubTaskContext) errors.Error

func ConvertIssueComments

func ConvertIssueComments(taskCtx plugin.SubTaskContext) errors.Error

func ConvertIssueCommits

func ConvertIssueCommits(taskCtx plugin.SubTaskContext) errors.Error

func ConvertIssueLabels

func ConvertIssueLabels(taskCtx plugin.SubTaskContext) errors.Error

func ConvertIssueRelationships

func ConvertIssueRelationships(taskCtx plugin.SubTaskContext) errors.Error

func ConvertIssueRepoCommits

func ConvertIssueRepoCommits(taskCtx plugin.SubTaskContext) errors.Error

ConvertIssueRepoCommits is to extract issue_repo_commits from jira_issue_commits, nothing difference with issue_commits but added a RepoUrl. This task is needed by EE group.

func ConvertIssues

func ConvertIssues(taskCtx plugin.SubTaskContext) errors.Error

func ConvertSprintIssues

func ConvertSprintIssues(taskCtx plugin.SubTaskContext) errors.Error

func ConvertSprints

func ConvertSprints(taskCtx plugin.SubTaskContext) errors.Error

func ConvertWorklogs

func ConvertWorklogs(taskCtx plugin.SubTaskContext) errors.Error

func ExtractAccounts

func ExtractAccounts(taskCtx plugin.SubTaskContext) errors.Error

func ExtractDevelopmentPanel

func ExtractDevelopmentPanel(taskCtx plugin.SubTaskContext) errors.Error

func ExtractEpics

func ExtractEpics(taskCtx plugin.SubTaskContext) errors.Error

func ExtractIssueChangelogs

func ExtractIssueChangelogs(taskCtx plugin.SubTaskContext) errors.Error

func ExtractIssueComments

func ExtractIssueComments(taskCtx plugin.SubTaskContext) errors.Error

func ExtractIssueType

func ExtractIssueType(taskCtx plugin.SubTaskContext) errors.Error

func ExtractIssues

func ExtractIssues(taskCtx plugin.SubTaskContext) errors.Error

func ExtractProjects

func ExtractProjects(taskCtx plugin.SubTaskContext) errors.Error
func ExtractRemotelinks(taskCtx plugin.SubTaskContext) errors.Error

func ExtractSprints

func ExtractSprints(taskCtx plugin.SubTaskContext) errors.Error

func ExtractStatus

func ExtractStatus(taskCtx plugin.SubTaskContext) errors.Error

func ExtractWorklogs

func ExtractWorklogs(taskCtx plugin.SubTaskContext) errors.Error

func GetEpicKeysIterator

func GetEpicKeysIterator(db dal.Dal, data *JiraTaskData, batchSize int) (api.Iterator, errors.Error)

func GetJiraServerInfo

func GetJiraServerInfo(client *api.ApiAsyncClient) (*models.JiraServerInfo, int, errors.Error)

func GetTotalPagesFromResponse

func GetTotalPagesFromResponse(res *http.Response, args *api.ApiCollectorArgs) (int, errors.Error)

func NewJiraApiClient

func NewJiraApiClient(taskCtx plugin.TaskContext, connection *models.JiraConnection) (*api.ApiAsyncClient, errors.Error)

Types

type BoardConfiguration

type BoardConfiguration struct {
	ID       int    `json:"id"`
	Name     string `json:"name"`
	Type     string `json:"type"`
	Self     string `json:"self"`
	Location struct {
		Type string `json:"type"`
		Key  string `json:"key"`
		ID   string `json:"id"`
		Self string `json:"self"`
		Name string `json:"name"`
	} `json:"location"`
	Filter struct {
		ID   string `json:"id"`
		Self string `json:"self"`
	} `json:"filter"`
	ColumnConfig struct {
		Columns []struct {
			Name     string `json:"name"`
			Statuses []struct {
				ID   string `json:"id"`
				Self string `json:"self"`
			} `json:"statuses"`
		} `json:"columns"`
		ConstraintType string `json:"constraintType"`
	} `json:"columnConfig"`
	Estimation struct {
		Type  string `json:"type"`
		Field struct {
			FieldID     string `json:"fieldId"`
			DisplayName string `json:"displayName"`
		} `json:"field"`
	} `json:"estimation"`
	Ranking struct {
		RankCustomFieldID int `json:"rankCustomFieldId"`
	} `json:"ranking"`
}

type FilterInfo

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

type IssueChangelogItemResult

type IssueChangelogItemResult struct {
	models.JiraIssueChangelogItems
	IssueId           uint64 `gorm:"index"`
	AuthorAccountId   string
	AuthorDisplayName string
	Created           time.Time
}

type JiraApiParams

type JiraApiParams models.JiraApiParams

type JiraOptions

type JiraOptions struct {
	ConnectionId         uint64                  `json:"connectionId" mapstructure:"connectionId"`
	BoardId              uint64                  `json:"boardId" mapstructure:"boardId"`
	ScopeConfig          *models.JiraScopeConfig `json:"scopeConfig" mapstructure:"scopeConfig"`
	ScopeConfigId        uint64                  `json:"scopeConfigId" mapstructure:"scopeConfigId"`
	PageSize             int                     `json:"pageSize" mapstructure:"pageSize"`
	api.CollectorOptions `mapstructure:",squash"`
}

func DecodeAndValidateTaskOptions

func DecodeAndValidateTaskOptions(options map[string]interface{}) (*JiraOptions, errors.Error)

type JiraPagination

type JiraPagination struct {
	StartAt    int `json:"startAt"`
	MaxResults int `json:"maxResults"`
	Total      int `json:"total"`
}

type JiraTaskData

type JiraTaskData struct {
	Options        *JiraOptions
	ApiClient      *api.ApiAsyncClient
	JiraServerInfo models.JiraServerInfo
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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