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: 18 Imported by: 0

Documentation

Index

Constants

View Source
const RawBuildTable = "azuredevops_go_api_builds"
View Source
const RawCommitTable = "azuredevops_go_api_commits"
View Source
const RawPrCommitTable = "azuredevops_go_api_pull_request_commits"
View Source
const RawPullRequestTable = "azuredevops_go_api_pull_requests"
View Source
const RawTimelineRecordTable = "azuredevops_go_api_timeline_records"

Variables

View Source
var CollectAccountsMeta = plugin.SubTaskMeta{
	Name:             "collectAccounts",
	EntryPoint:       CollectAccounts,
	EnabledByDefault: true,
	Description:      "Collect Azure DevOps users.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS},
	DependencyTables: []string{},
	ProductTables:    []string{RawPullRequestTable},
}
View Source
var CollectApiPullRequestCommitsMeta = plugin.SubTaskMeta{
	Name:             "collectApiPullRequestCommits",
	EntryPoint:       CollectApiPullRequestCommits,
	EnabledByDefault: true,
	Description:      "Collect PullRequestCommits data from Azure DevOps API.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS, plugin.DOMAIN_TYPE_CODE_REVIEW},
	DependencyTables: []string{models.AzuredevopsPullRequest{}.TableName()},
	ProductTables:    []string{RawPrCommitTable},
}
View Source
var CollectApiPullRequestsMeta = plugin.SubTaskMeta{
	Name:             "collectApiPullRequests",
	EntryPoint:       CollectApiPullRequests,
	EnabledByDefault: true,
	Description:      "Collect PullRequests data from Azure DevOps API, supports timeFilter but not diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS, plugin.DOMAIN_TYPE_CODE_REVIEW},
	DependencyTables: []string{},
	ProductTables:    []string{RawPullRequestTable},
}
View Source
var CollectBuildsMeta = plugin.SubTaskMeta{
	Name:             "collectApiBuilds",
	EntryPoint:       CollectBuilds,
	EnabledByDefault: true,
	Description:      "Collect Builds data from Azure DevOps API, supports timeFilter and diffSync.",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CICD},
	ProductTables:    []string{RawBuildTable},
}
View Source
var CollectCommitsMeta = plugin.SubTaskMeta{
	Name:             "collectApiCommits",
	EntryPoint:       CollectApiCommits,
	EnabledByDefault: false,
	Description:      "Collect commit data from Azure DevOps API",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE, plugin.DOMAIN_TYPE_CROSS},
	ProductTables:    []string{RawCommitTable},
}
View Source
var CollectJobsMeta = plugin.SubTaskMeta{
	Name:             "collectApiTimelineRecords",
	EntryPoint:       CollectRecords,
	EnabledByDefault: true,
	Description:      "Collect Timeline Records data from Azure DevOps API",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CICD},
	DependencyTables: []string{models.AzuredevopsBuild{}.TableName()},
	ProductTables:    []string{RawTimelineRecordTable},
}
View Source
var ConvertAccountsMeta = plugin.SubTaskMeta{
	Name:             "convertAccounts",
	EntryPoint:       ConvertAccounts,
	EnabledByDefault: true,
	Description:      "Convert tool layer table azuredevops_go_users into  domain layer table accounts",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS},
	DependencyTables: []string{
		models.AzuredevopsUser{}.TableName(),
	},
}
View Source
var ConvertApiPrCommitsMeta = plugin.SubTaskMeta{
	Name:             "convertApiPullRequestsCommits",
	EntryPoint:       ConvertApiPullRequestsCommits,
	EnabledByDefault: true,
	Description:      "Add domain layer PullRequestCommit according to Azure DevOps Pull Request Commit",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_REVIEW},
	DependencyTables: []string{
		models.AzuredevopsPrCommit{}.TableName(),
	},
}
View Source
var ConvertApiPullRequestsMeta = plugin.SubTaskMeta{
	Name:             "convertApiPullRequests",
	EntryPoint:       ConvertApiPullRequests,
	EnabledByDefault: true,
	Description:      "Add domain layer PullRequest according to Azure DevOps Pull Requests",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_REVIEW},
	DependencyTables: []string{
		models.AzuredevopsPullRequest{}.TableName(),
	},
}
View Source
var ConvertApiTimelineRecordsMeta = plugin.SubTaskMeta{
	Name:             "convertApiTimelineRecords",
	EntryPoint:       ConvertApiTimelineRecords,
	EnabledByDefault: true,
	Description:      "Convert tool layer table azuredevops_timeline_records into domain layer table cicd_tasks",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_REVIEW},
	DependencyTables: []string{
		models.AzuredevopsTimelineRecord{}.TableName(),
	},
}
View Source
var ConvertBuildsMeta = plugin.SubTaskMeta{
	Name:             "convertApiBuilds",
	EntryPoint:       ConvertBuilds,
	EnabledByDefault: true,
	Description:      "Convert tool layer table azuredevops_builds into  domain layer table cicd_pipelines",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_REVIEW},
	DependencyTables: []string{
		models.AzuredevopsBuild{}.TableName(),
	},
}
View Source
var ConvertCommitsMeta = plugin.SubTaskMeta{
	Name:             "convertApiCommits",
	EntryPoint:       ConvertApiCommits,
	EnabledByDefault: false,
	Description:      "Update domain layer commit according to Azure DevOps Commit",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE},
	DependencyTables: []string{
		models.AzuredevopsCommit{}.TableName(),
	},
}
View Source
var ConvertPrLabelsMeta = plugin.SubTaskMeta{
	Name:             "convertPrLabels",
	EntryPoint:       ConvertPrLabels,
	EnabledByDefault: true,
	Description:      "Convert tool layer table azuredevops_go_pull_request_labels into domain layer table pull_request_labels",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE_REVIEW},
	DependencyTables: []string{
		models.AzuredevopsPrLabel{}.TableName(),
	},
}
View Source
var ConvertRepoMeta = plugin.SubTaskMeta{
	Name:             "convertRepo",
	EntryPoint:       ConvertRepo,
	EnabledByDefault: true,
	Description:      "Convert tool layer table _tool_azuredevops_go_repos into domain layer table repos and cicd scope",
	DomainTypes: []string{
		plugin.DOMAIN_TYPE_CODE,
		plugin.DOMAIN_TYPE_TICKET,
		plugin.DOMAIN_TYPE_CICD,
		plugin.DOMAIN_TYPE_CODE_REVIEW,
		plugin.DOMAIN_TYPE_CROSS},
	DependencyTables: []string{
		models.AzuredevopsRepo{}.TableName(),
	},
	ProductTables: []string{
		code.Repo{}.TableName(),
		devops.CicdScope{}.TableName()},
}
View Source
var ExtractAccountsMeta = plugin.SubTaskMeta{
	Name:             "extractAccounts",
	EntryPoint:       ExtractAccounts,
	EnabledByDefault: true,
	Description:      "Extract raw workspace data into tool layer table _tool_azuredevops_go_users",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS},
	DependencyTables: []string{rawUserTable},
	ProductTables: []string{
		models.AzuredevopsUser{}.TableName(),
	},
}
View Source
var ExtractApiBuildRecordsMeta = plugin.SubTaskMeta{
	Name:             "extractApiTimelineRecords",
	EntryPoint:       ExtractApiTimelineTasks,
	EnabledByDefault: true,
	Description:      "Extract raw timeline record data into tool layer table",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CICD},
	DependencyTables: []string{RawTimelineRecordTable},
	ProductTables: []string{
		models.AzuredevopsTimelineRecord{}.TableName(),
	},
}
View Source
var ExtractApiBuildsMeta = plugin.SubTaskMeta{
	Name:             "extractApiBuilds",
	EntryPoint:       ExtractApiBuilds,
	EnabledByDefault: true,
	Description:      "Extract raw build data into tool layer table",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CICD},
	DependencyTables: []string{RawBuildTable},
	ProductTables: []string{
		models.AzuredevopsBuild{}.TableName(),
	},
}
View Source
var ExtractApiCommitsMeta = plugin.SubTaskMeta{
	Name:             "extractApiCommits",
	EntryPoint:       ExtractApiCommits,
	EnabledByDefault: false,
	Description:      "Extract raw commit data into tool layer table",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CODE},
	DependencyTables: []string{RawCommitTable},
	ProductTables: []string{
		models.AzuredevopsCommit{}.TableName(),
		models.AzuredevopsRepoCommit{}.TableName()},
}
View Source
var ExtractApiPullRequestCommitsMeta = plugin.SubTaskMeta{
	Name:             "extractApiPullRequestCommits",
	EntryPoint:       ExtractApiPullRequestCommits,
	EnabledByDefault: true,
	Description:      "Extract raw pull requests commit data into tool layer table AzuredevopsPullRequestCommit and AzuredevopsRepoCommit",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS, plugin.DOMAIN_TYPE_CODE_REVIEW},
	DependencyTables: []string{RawPrCommitTable},
	ProductTables: []string{
		models.AzuredevopsPrCommit{}.TableName(),
		models.AzuredevopsRepoCommit{}.TableName(),
	},
}
View Source
var ExtractApiPullRequestsMeta = plugin.SubTaskMeta{
	Name:             "extractApiPullRequests",
	EntryPoint:       ExtractApiPullRequests,
	EnabledByDefault: true,
	Description:      "Extract raw PullRequests data into tool layer table azuredevops_pull_requests",
	DomainTypes:      []string{plugin.DOMAIN_TYPE_CROSS, plugin.DOMAIN_TYPE_CODE_REVIEW},
	DependencyTables: []string{RawPullRequestTable},
	ProductTables: []string{
		models.AzuredevopsPullRequest{}.TableName(),
		models.AzuredevopsPrLabel{}.TableName(),
	},
}
View Source
var SubTaskMetaList []*plugin.SubTaskMeta

Functions

func BuildPaginator

func BuildPaginator(cursor bool) func(reqData *api.RequestData) (url.Values, errors.Error)

func CollectAccounts

func CollectAccounts(taskCtx plugin.SubTaskContext) errors.Error

func CollectApiCommits

func CollectApiCommits(taskCtx plugin.SubTaskContext) errors.Error

func CollectApiPullRequestCommits

func CollectApiPullRequestCommits(taskCtx plugin.SubTaskContext) errors.Error

func CollectApiPullRequests

func CollectApiPullRequests(taskCtx plugin.SubTaskContext) errors.Error

func CollectBuilds

func CollectBuilds(taskCtx plugin.SubTaskContext) errors.Error

func CollectRecords

func CollectRecords(taskCtx plugin.SubTaskContext) errors.Error

func ConvertAccounts

func ConvertAccounts(taskCtx plugin.SubTaskContext) errors.Error

func ConvertApiCommits

func ConvertApiCommits(taskCtx plugin.SubTaskContext) errors.Error

func ConvertApiPullRequests

func ConvertApiPullRequests(taskCtx plugin.SubTaskContext) errors.Error

func ConvertApiPullRequestsCommits

func ConvertApiPullRequestsCommits(taskCtx plugin.SubTaskContext) errors.Error

func ConvertApiTimelineRecords

func ConvertApiTimelineRecords(taskCtx plugin.SubTaskContext) errors.Error

func ConvertBuilds

func ConvertBuilds(taskCtx plugin.SubTaskContext) errors.Error

func ConvertCommit

func ConvertCommit(commit *CommitApiResponse) (*models.AzuredevopsCommit, errors.Error)

func ConvertPrLabels

func ConvertPrLabels(taskCtx plugin.SubTaskContext) errors.Error

func ConvertRepo

func ConvertRepo(taskCtx plugin.SubTaskContext) errors.Error

func CreateApiClient

func CreateApiClient(taskCtx plugin.TaskContext, connection *models.AzuredevopsConnection) (*api.ApiAsyncClient, errors.Error)

func ExtractAccounts

func ExtractAccounts(taskCtx plugin.SubTaskContext) errors.Error

func ExtractApiBuilds

func ExtractApiBuilds(taskCtx plugin.SubTaskContext) errors.Error

func ExtractApiCommits

func ExtractApiCommits(taskCtx plugin.SubTaskContext) errors.Error

func ExtractApiPullRequestCommits

func ExtractApiPullRequestCommits(taskCtx plugin.SubTaskContext) errors.Error

func ExtractApiPullRequests

func ExtractApiPullRequests(taskCtx plugin.SubTaskContext) errors.Error

func ExtractApiTimelineTasks

func ExtractApiTimelineTasks(taskCtx plugin.SubTaskContext) errors.Error

func ExtractContToken

func ExtractContToken(_ *api.RequestData, prevPageResponse *http.Response) (interface{}, errors.Error)

func ParseRawMessageFromRecords

func ParseRawMessageFromRecords(res *http.Response) ([]json.RawMessage, errors.Error)

func ParseRawMessageFromValue

func ParseRawMessageFromValue(res *http.Response) ([]json.RawMessage, errors.Error)

func RegisterSubtaskMeta

func RegisterSubtaskMeta(meta *plugin.SubTaskMeta)

Types

type AzuredevopsOptions

type AzuredevopsOptions struct {
	ConnectionId   uint64 `json:"connectionId" mapstructure:"connectionId,omitempty"`
	ProjectId      string `json:"projectId" mapstructure:"projectId,omitempty"`
	OrganizationId string `json:"organizationId" mapstructure:"organizationId,omitempty"`
	RepositoryId   string `json:"repositoryId"  mapstructure:"repositoryId,omitempty"`

	ScopeConfigId uint64                         `json:"scopeConfigId" mapstructure:"scopeConfigId,omitempty"`
	TimeAfter     string                         `json:"timeAfter" mapstructure:"timeAfter,omitempty"`
	ScopeConfig   *models.AzuredevopsScopeConfig `mapstructure:"scopeConfig,omitempty" json:"scopeConfig"`
}

func DecodeTaskOptions

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

func (*AzuredevopsOptions) GetParams

func (p *AzuredevopsOptions) GetParams() any

type AzuredevopsParams

type AzuredevopsParams struct {
	OrganizationId string
	RepositoryId   string
	ProjectId      string
}

type AzuredevopsTaskData

type AzuredevopsTaskData struct {
	Options       *AzuredevopsOptions
	ApiClient     *helper.ApiAsyncClient
	TimeAfter     *time.Time
	RegexEnricher *helper.RegexEnricher
}

func CreateRawDataSubTaskArgs

func CreateRawDataSubTaskArgs(taskCtx plugin.SubTaskContext, Table string) (*api.RawDataSubTaskArgs, *AzuredevopsTaskData)

type CommitApiResponse

type CommitApiResponse struct {
	CommitId string `json:"commitId"`
	Author   struct {
		Name  string    `json:"name"`
		Email string    `json:"email"`
		Date  time.Time `json:"date"`
	} `json:"author"`
	Committer struct {
		Name  string    `json:"name"`
		Email string    `json:"email"`
		Date  time.Time `json:"date"`
	} `json:"committer"`
	Comment      string `json:"comment"`
	ChangeCounts struct {
		Add    int `json:"Add"`
		Edit   int `json:"Edit"`
		Delete int `json:"Delete"`
	} `json:"changeCounts"`
	Url       string `json:"url"`
	RemoteUrl string `json:"remoteUrl"`
}

type CustomPageDate

type CustomPageDate struct {
	ContinuationToken string
}

type SimplePr

type SimplePr struct {
	AzuredevopsId int
}

Jump to

Keyboard shortcuts

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