Documentation
¶
Index ¶
- Variables
- func GetAPITaskFromTask(ctx context.Context, sc data.Connector, task task.Task) (*restModel.APITask, error)
- func GetFormattedDate(t *time.Time, timezone string) (*string, error)
- func Handler(apiURL string) func(w http.ResponseWriter, r *http.Request)
- func IsURL(str string) bool
- func MarshalStringMap(val map[string]string) graphql.Marshaler
- func ModifyVersion(version model.Version, user user.DBUser, proj *model.ProjectRef, ...) (int, error)
- func ModifyVersionHandler(ctx context.Context, dataConnector data.Connector, patchID string, ...) error
- func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
- func SchedulePatch(ctx context.Context, patchId string, version *model.Version, ...) (error, int, string, string)
- func SetScheduled(ctx context.Context, sc data.Connector, taskID string, isActive bool) (*restModel.APITask, error)
- func UnmarshalStringMap(v interface{}) (map[string]string, error)
- type BaseTaskMetadata
- type BaseTaskStatuses
- type ComplexityRoot
- type Config
- type Dependency
- type DirectiveRoot
- type DisplayTask
- type GqlError
- type GroupedFiles
- type GroupedProjects
- type MetStatus
- type MutationResolver
- type PatchBuildVariant
- type PatchBuildVariantTask
- type PatchDuration
- type PatchMetadata
- type PatchProject
- type PatchReconfigure
- type PatchResolver
- type PatchTasks
- type PatchTime
- type PatchVariantsTasksRequest
- type ProjectBuildVariant
- type Projects
- type QueryResolver
- type RecentTaskLogs
- type RequiredStatus
- type Resolver
- type ResolverRoot
- type SortDirection
- type TaskFiles
- type TaskResolver
- type TaskResult
- type TaskSortCategory
- type TaskTestResult
- type TestSortCategory
- type UserConfig
- type UserPatches
- type VariantTasks
- type VariantsAndTasksFromProject
- type VersionModificationAction
- type VersionModifications
Constants ¶
This section is empty.
Variables ¶
var AllMetStatus = []MetStatus{ MetStatusUnmet, MetStatusMet, MetStatusPending, }
var AllRequiredStatus = []RequiredStatus{ RequiredStatusMustFail, RequiredStatusMustFinish, RequiredStatusMustSucceed, }
var AllSortDirection = []SortDirection{ SortDirectionAsc, SortDirectionDesc, }
var AllTaskSortCategory = []TaskSortCategory{ TaskSortCategoryName, TaskSortCategoryStatus, TaskSortCategoryBaseStatus, TaskSortCategoryVariant, }
var AllTestSortCategory = []TestSortCategory{ TestSortCategoryStatus, TestSortCategoryDuration, TestSortCategoryTestName, }
Functions ¶
func GetAPITaskFromTask ¶
func GetAPITaskFromTask(ctx context.Context, sc data.Connector, task task.Task) (*restModel.APITask, error)
GetAPITaskFromTask builds an APITask from the given task
func GetFormattedDate ¶
GetFormattedDate returns a time.Time type in the format "Dec 13, 2020, 11:58:04 pm"
func Handler ¶
func Handler(apiURL string) func(w http.ResponseWriter, r *http.Request)
Handler returns a gimlet http handler func used as the gql route handler
func MarshalStringMap ¶
MarshalStringMap handles marshaling StringMap
func ModifyVersion ¶
func ModifyVersion(version model.Version, user user.DBUser, proj *model.ProjectRef, modifications VersionModifications) (int, error)
func ModifyVersionHandler ¶
func ModifyVersionHandler(ctx context.Context, dataConnector data.Connector, patchID string, modifications VersionModifications) error
ModifyVersionHandler handles the boilerplate code for performing a modify version action, i.e. schedule, unschedule, restart and set priority
func NewExecutableSchema ¶
func NewExecutableSchema(cfg Config) graphql.ExecutableSchema
NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.
func SchedulePatch ¶
func SchedulePatch(ctx context.Context, patchId string, version *model.Version, patchUpdateReq PatchVariantsTasksRequest) (error, int, string, string)
SchedulePatch schedules a patch. It returns an error and an HTTP status code. In the case of success, it also returns a success message and a version ID.
func SetScheduled ¶
func UnmarshalStringMap ¶
UnmarshalStringMap handles unmarshaling StringMap
Types ¶
type BaseTaskMetadata ¶
type BaseTaskMetadata struct {
BaseTaskDuration *model.APIDuration `json:"baseTaskDuration"`
BaseTaskLink string `json:"baseTaskLink"`
}
type BaseTaskStatuses ¶
BaseTaskStatuses represents the format {buildVariant: {displayName: status}} for base task statuses
func GetBaseTaskStatusesFromPatchID ¶
func GetBaseTaskStatusesFromPatchID(d data.Connector, patchID string) (BaseTaskStatuses, error)
GetBaseTaskStatusesFromPatchID gets the status of each base build associated with a task
type ComplexityRoot ¶
type ComplexityRoot struct {
BaseTaskMetadata struct {
BaseTaskDuration func(childComplexity int) int
BaseTaskLink func(childComplexity int) int
}
Build struct {
ActualMakespan func(childComplexity int) int
BuildVariant func(childComplexity int) int
Id func(childComplexity int) int
PredictedMakespan func(childComplexity int) int
Status func(childComplexity int) int
}
ClientBinary struct {
Arch func(childComplexity int) int
DisplayName func(childComplexity int) int
OS func(childComplexity int) int
URL func(childComplexity int) int
}
ClientConfig struct {
ClientBinaries func(childComplexity int) int
LatestRevision func(childComplexity int) int
}
CommitQueue struct {
ProjectID func(childComplexity int) int
Queue func(childComplexity int) int
}
CommitQueueItem struct {
EnqueueTime func(childComplexity int) int
Issue func(childComplexity int) int
Modules func(childComplexity int) int
Patch func(childComplexity int) int
Version func(childComplexity int) int
}
Dependency struct {
BuildVariant func(childComplexity int) int
MetStatus func(childComplexity int) int
Name func(childComplexity int) int
RequiredStatus func(childComplexity int) int
UILink func(childComplexity int) int
}
File struct {
Link func(childComplexity int) int
Name func(childComplexity int) int
Visibility func(childComplexity int) int
}
FileDiff struct {
Additions func(childComplexity int) int
Deletions func(childComplexity int) int
DiffLink func(childComplexity int) int
FileName func(childComplexity int) int
}
GithubUser struct {
LastKnownAs func(childComplexity int) int
UID func(childComplexity int) int
}
GroupedFiles struct {
Files func(childComplexity int) int
TaskName func(childComplexity int) int
}
GroupedProjects struct {
Name func(childComplexity int) int
Projects func(childComplexity int) int
}
LogMessage struct {
Message func(childComplexity int) int
Severity func(childComplexity int) int
Timestamp func(childComplexity int) int
Type func(childComplexity int) int
Version func(childComplexity int) int
}
Module struct {
Issue func(childComplexity int) int
Module func(childComplexity int) int
}
ModuleCodeChange struct {
BranchName func(childComplexity int) int
FileDiffs func(childComplexity int) int
HTMLLink func(childComplexity int) int
RawLink func(childComplexity int) int
}
Mutation struct {
AbortTask func(childComplexity int, taskID string) int
AddFavoriteProject func(childComplexity int, identifier string) int
RemoveFavoriteProject func(childComplexity int, identifier string) int
RemovePatchFromCommitQueue func(childComplexity int, commitQueueID string, patchID string) int
RestartPatch func(childComplexity int, patchID string, abort bool, taskIds []string) int
RestartTask func(childComplexity int, taskID string) int
SaveSubscription func(childComplexity int, subscription model.APISubscription) int
SchedulePatch func(childComplexity int, patchID string, reconfigure PatchReconfigure) int
SchedulePatchTasks func(childComplexity int, patchID string) int
ScheduleTask func(childComplexity int, taskID string) int
SetPatchPriority func(childComplexity int, patchID string, priority int) int
SetTaskPriority func(childComplexity int, taskID string, priority int) int
UnschedulePatchTasks func(childComplexity int, patchID string, abort bool) int
UnscheduleTask func(childComplexity int, taskID string) int
UpdateUserSettings func(childComplexity int, userSettings *model.APIUserSettings) int
}
Notifications struct {
BuildBreak func(childComplexity int) int
CommitQueue func(childComplexity int) int
PatchFinish func(childComplexity int) int
PatchFirstFailure func(childComplexity int) int
SpawnHostExpiration func(childComplexity int) int
SpawnHostOutcome func(childComplexity int) int
}
Patch struct {
Activated func(childComplexity int) int
Alias func(childComplexity int) int
Author func(childComplexity int) int
BaseTaskStatuses func(childComplexity int) int
BaseVersionID func(childComplexity int) int
Builds func(childComplexity int) int
CommitQueuePosition func(childComplexity int) int
CreateTime func(childComplexity int) int
Description func(childComplexity int) int
Duration func(childComplexity int) int
Githash func(childComplexity int) int
Id func(childComplexity int) int
ModuleCodeChanges func(childComplexity int) int
PatchNumber func(childComplexity int) int
Project func(childComplexity int) int
ProjectId func(childComplexity int) int
Status func(childComplexity int) int
TaskCount func(childComplexity int) int
TaskStatuses func(childComplexity int) int
Tasks func(childComplexity int) int
Time func(childComplexity int) int
Variants func(childComplexity int) int
VariantsTasks func(childComplexity int) int
Version func(childComplexity int) int
}
PatchBuildVariant struct {
DisplayName func(childComplexity int) int
Tasks func(childComplexity int) int
Variant func(childComplexity int) int
}
PatchBuildVariantTask struct {
ID func(childComplexity int) int
Name func(childComplexity int) int
Status func(childComplexity int) int
}
PatchDuration struct {
Makespan func(childComplexity int) int
Time func(childComplexity int) int
TimeTaken func(childComplexity int) int
}
PatchMetadata struct {
Author func(childComplexity int) int
}
PatchProject struct {
Tasks func(childComplexity int) int
Variants func(childComplexity int) int
}
PatchTasks struct {
Count func(childComplexity int) int
Tasks func(childComplexity int) int
}
PatchTime struct {
Finished func(childComplexity int) int
Started func(childComplexity int) int
SubmittedAt func(childComplexity int) int
}
Project struct {
DisplayName func(childComplexity int) int
Identifier func(childComplexity int) int
Owner func(childComplexity int) int
Repo func(childComplexity int) int
}
ProjectBuildVariant struct {
DisplayName func(childComplexity int) int
Name func(childComplexity int) int
Tasks func(childComplexity int) int
}
Projects struct {
Favorites func(childComplexity int) int
OtherProjects func(childComplexity int) int
}
Query struct {
AwsRegions func(childComplexity int) int
ClientConfig func(childComplexity int) int
CommitQueue func(childComplexity int, id string) int
Patch func(childComplexity int, id string) int
PatchBuildVariants func(childComplexity int, patchID string) int
PatchTasks func(childComplexity int, patchID string, sortBy *TaskSortCategory, sortDir *SortDirection, page *int, limit *int, statuses []string, baseStatuses []string, variant *string, taskName *string) int
Projects func(childComplexity int) int
SiteBanner func(childComplexity int) int
Task func(childComplexity int, taskID string, execution *int) int
TaskFiles func(childComplexity int, taskID string, execution *int) int
TaskLogs func(childComplexity int, taskID string) int
TaskTests func(childComplexity int, taskID string, execution *int, sortCategory *TestSortCategory, sortDirection *SortDirection, page *int, limit *int, testName *string, statuses []string) int
User func(childComplexity int) int
UserConfig func(childComplexity int) int
UserPatches func(childComplexity int, limit *int, page *int, patchName *string, statuses []string, userID *string, includeCommitQueue *bool) int
UserSettings func(childComplexity int) int
}
RecentTaskLogs struct {
AgentLogs func(childComplexity int) int
EventLogs func(childComplexity int) int
SystemLogs func(childComplexity int) int
TaskLogs func(childComplexity int) int
}
SiteBanner struct {
Text func(childComplexity int) int
Theme func(childComplexity int) int
}
Task struct {
Aborted func(childComplexity int) int
Activated func(childComplexity int) int
ActivatedBy func(childComplexity int) int
ActivatedTime func(childComplexity int) int
BaseTaskMetadata func(childComplexity int) int
BuildId func(childComplexity int) int
BuildVariant func(childComplexity int) int
CanAbort func(childComplexity int) int
CanRestart func(childComplexity int) int
CanSchedule func(childComplexity int) int
CanSetPriority func(childComplexity int) int
CanUnschedule func(childComplexity int) int
CreateTime func(childComplexity int) int
Details func(childComplexity int) int
DispatchTime func(childComplexity int) int
DisplayName func(childComplexity int) int
DisplayOnly func(childComplexity int) int
DistroId func(childComplexity int) int
EstimatedStart func(childComplexity int) int
Execution func(childComplexity int) int
ExecutionTasks func(childComplexity int) int
ExpectedDuration func(childComplexity int) int
FailedTestCount func(childComplexity int) int
FinishTime func(childComplexity int) int
GenerateTask func(childComplexity int) int
GeneratedBy func(childComplexity int) int
HostId func(childComplexity int) int
HostLink func(childComplexity int) int
Id func(childComplexity int) int
IngestTime func(childComplexity int) int
Logs func(childComplexity int) int
PatchMetadata func(childComplexity int) int
PatchNumber func(childComplexity int) int
Priority func(childComplexity int) int
ProjectId func(childComplexity int) int
ReliesOn func(childComplexity int) int
Requester func(childComplexity int) int
Restarts func(childComplexity int) int
Revision func(childComplexity int) int
ScheduledTime func(childComplexity int) int
SpawnHostLink func(childComplexity int) int
StartTime func(childComplexity int) int
Status func(childComplexity int) int
TaskGroup func(childComplexity int) int
TaskGroupMaxHosts func(childComplexity int) int
TimeTaken func(childComplexity int) int
Version func(childComplexity int) int
}
TaskEndDetail struct {
Description func(childComplexity int) int
Status func(childComplexity int) int
TimedOut func(childComplexity int) int
Type func(childComplexity int) int
}
TaskEventLogData struct {
HostId func(childComplexity int) int
JiraIssue func(childComplexity int) int
JiraLink func(childComplexity int) int
Priority func(childComplexity int) int
Status func(childComplexity int) int
Timestamp func(childComplexity int) int
UserId func(childComplexity int) int
}
TaskEventLogEntry struct {
Data func(childComplexity int) int
EventType func(childComplexity int) int
Timestamp func(childComplexity int) int
}
TaskFiles struct {
FileCount func(childComplexity int) int
GroupedFiles func(childComplexity int) int
}
TaskLogLinks struct {
AgentLogLink func(childComplexity int) int
AllLogLink func(childComplexity int) int
EventLogLink func(childComplexity int) int
SystemLogLink func(childComplexity int) int
TaskLogLink func(childComplexity int) int
}
TaskResult struct {
BaseStatus func(childComplexity int) int
BuildVariant func(childComplexity int) int
DisplayName func(childComplexity int) int
ID func(childComplexity int) int
Status func(childComplexity int) int
Version func(childComplexity int) int
}
TaskTestResult struct {
FilteredTestCount func(childComplexity int) int
TestResults func(childComplexity int) int
TotalTestCount func(childComplexity int) int
}
TestLog struct {
HTMLDisplayURL func(childComplexity int) int
RawDisplayURL func(childComplexity int) int
}
TestResult struct {
Duration func(childComplexity int) int
EndTime func(childComplexity int) int
ExitCode func(childComplexity int) int
Id func(childComplexity int) int
Logs func(childComplexity int) int
StartTime func(childComplexity int) int
Status func(childComplexity int) int
TestFile func(childComplexity int) int
}
UseSpruceOptions struct {
HasUsedSpruceBefore func(childComplexity int) int
SpruceV1 func(childComplexity int) int
}
User struct {
DisplayName func(childComplexity int) int
UserID func(childComplexity int) int
}
UserConfig struct {
APIKey func(childComplexity int) int
APIServerHost func(childComplexity int) int
UIServerHost func(childComplexity int) int
User func(childComplexity int) int
}
UserPatches struct {
FilteredPatchCount func(childComplexity int) int
Patches func(childComplexity int) int
}
UserSettings struct {
GithubUser func(childComplexity int) int
Notifications func(childComplexity int) int
Region func(childComplexity int) int
SlackUsername func(childComplexity int) int
Timezone func(childComplexity int) int
UseSpruceOptions func(childComplexity int) int
}
VariantTask struct {
Name func(childComplexity int) int
Tasks func(childComplexity int) int
}
}
type Config ¶
type Config struct {
Resolvers ResolverRoot
Directives DirectiveRoot
Complexity ComplexityRoot
}
type Dependency ¶
type Dependency struct {
Name string `json:"name"`
MetStatus MetStatus `json:"metStatus"`
RequiredStatus RequiredStatus `json:"requiredStatus"`
BuildVariant string `json:"buildVariant"`
UILink string `json:"uiLink"`
}
type DirectiveRoot ¶
type DirectiveRoot struct {
}
type DisplayTask ¶
type GqlError ¶
type GqlError string
GqlError represents the error codes send alongside gql errors
const ( // InternalServerError conveys that the server errored out when trying to perform an action InternalServerError GqlError = "INTERNAL_SERVER_ERROR" // Forbidden conveys that user does not required permissions to access resource Forbidden GqlError = "FORBIDDEN" // ResourceNotFound conveys the requested resource does not exist ResourceNotFound GqlError = "RESOURCE_NOT_FOUND" // InputValidationError conveys that the given input is not formatted properly InputValidationError GqlError = "INPUT_VALIDATION_ERROR" )
type GroupedFiles ¶
type GroupedFiles struct {
TaskName *string `json:"taskName"`
Files []*model.APIFile `json:"files"`
}
func GetGroupedFiles ¶
func GetGroupedFiles(ctx context.Context, name string, taskID string, execution int) (*GroupedFiles, error)
GetGroupedFiles returns the files of a Task inside a GroupedFile struct
type GroupedProjects ¶
type GroupedProjects struct {
Name string `json:"name"`
Projects []*model.UIProjectFields `json:"projects"`
}
type MetStatus ¶
type MetStatus string
func (MetStatus) MarshalGQL ¶
func (*MetStatus) UnmarshalGQL ¶
type MutationResolver ¶
type MutationResolver interface {
AddFavoriteProject(ctx context.Context, identifier string) (*model.UIProjectFields, error)
RemoveFavoriteProject(ctx context.Context, identifier string) (*model.UIProjectFields, error)
SchedulePatch(ctx context.Context, patchID string, reconfigure PatchReconfigure) (*model.APIPatch, error)
SchedulePatchTasks(ctx context.Context, patchID string) (*string, error)
UnschedulePatchTasks(ctx context.Context, patchID string, abort bool) (*string, error)
RestartPatch(ctx context.Context, patchID string, abort bool, taskIds []string) (*string, error)
SetPatchPriority(ctx context.Context, patchID string, priority int) (*string, error)
ScheduleTask(ctx context.Context, taskID string) (*model.APITask, error)
UnscheduleTask(ctx context.Context, taskID string) (*model.APITask, error)
AbortTask(ctx context.Context, taskID string) (*model.APITask, error)
SetTaskPriority(ctx context.Context, taskID string, priority int) (*model.APITask, error)
RestartTask(ctx context.Context, taskID string) (*model.APITask, error)
SaveSubscription(ctx context.Context, subscription model.APISubscription) (bool, error)
RemovePatchFromCommitQueue(ctx context.Context, commitQueueID string, patchID string) (*string, error)
UpdateUserSettings(ctx context.Context, userSettings *model.APIUserSettings) (bool, error)
}
type PatchBuildVariant ¶
type PatchBuildVariant struct {
Variant string `json:"variant"`
DisplayName string `json:"displayName"`
Tasks []*PatchBuildVariantTask `json:"tasks"`
}
type PatchBuildVariantTask ¶
type PatchDuration ¶
type PatchMetadata ¶
type PatchMetadata struct {
Author string `json:"author"`
}
type PatchProject ¶
type PatchProject struct {
Variants []*ProjectBuildVariant `json:"variants"`
Tasks []string `json:"tasks"`
}
func GetPatchProjectVariantsAndTasksForUI ¶
func GetPatchProjectVariantsAndTasksForUI(ctx context.Context, apiPatch *restModel.APIPatch) (*PatchProject, error)
GetPatchProjectVariantsAndTasksForUI gets the variants and tasks for a project for a patch id
type PatchReconfigure ¶
type PatchReconfigure struct {
Description string `json:"description"`
VariantsTasks []*VariantTasks `json:"variantsTasks"`
}
type PatchResolver ¶
type PatchResolver interface {
Duration(ctx context.Context, obj *model.APIPatch) (*PatchDuration, error)
Time(ctx context.Context, obj *model.APIPatch) (*PatchTime, error)
TaskCount(ctx context.Context, obj *model.APIPatch) (*int, error)
BaseVersionID(ctx context.Context, obj *model.APIPatch) (*string, error)
Project(ctx context.Context, obj *model.APIPatch) (*PatchProject, error)
Builds(ctx context.Context, obj *model.APIPatch) ([]*model.APIBuild, error)
CommitQueuePosition(ctx context.Context, obj *model.APIPatch) (*int, error)
TaskStatuses(ctx context.Context, obj *model.APIPatch) ([]string, error)
BaseTaskStatuses(ctx context.Context, obj *model.APIPatch) ([]string, error)
}
type PatchTasks ¶
type PatchTasks struct {
Tasks []*TaskResult `json:"tasks"`
Count int `json:"count"`
}
type PatchVariantsTasksRequest ¶
type PatchVariantsTasksRequest struct {
VariantsTasks []patch.VariantTasks `json:"variants_tasks,omitempty"` // new format
Variants []string `json:"variants"` // old format
Tasks []string `json:"tasks"` // old format
Description string `json:"description"`
}
func (*PatchVariantsTasksRequest) BuildFromGqlInput ¶
func (p *PatchVariantsTasksRequest) BuildFromGqlInput(r PatchReconfigure)
BuildFromGqlInput takes a PatchReconfigure gql type and returns a PatchVariantsTasksRequest type
type ProjectBuildVariant ¶
type Projects ¶
type Projects struct {
Favorites []*model.UIProjectFields `json:"favorites"`
OtherProjects []*GroupedProjects `json:"otherProjects"`
}
type QueryResolver ¶
type QueryResolver interface {
UserPatches(ctx context.Context, limit *int, page *int, patchName *string, statuses []string, userID *string, includeCommitQueue *bool) (*UserPatches, error)
Task(ctx context.Context, taskID string, execution *int) (*model.APITask, error)
Patch(ctx context.Context, id string) (*model.APIPatch, error)
Projects(ctx context.Context) (*Projects, error)
PatchTasks(ctx context.Context, patchID string, sortBy *TaskSortCategory, sortDir *SortDirection, page *int, limit *int, statuses []string, baseStatuses []string, variant *string, taskName *string) (*PatchTasks, error)
TaskTests(ctx context.Context, taskID string, execution *int, sortCategory *TestSortCategory, sortDirection *SortDirection, page *int, limit *int, testName *string, statuses []string) (*TaskTestResult, error)
TaskFiles(ctx context.Context, taskID string, execution *int) (*TaskFiles, error)
User(ctx context.Context) (*model.APIUser, error)
TaskLogs(ctx context.Context, taskID string) (*RecentTaskLogs, error)
PatchBuildVariants(ctx context.Context, patchID string) ([]*PatchBuildVariant, error)
CommitQueue(ctx context.Context, id string) (*model.APICommitQueue, error)
UserSettings(ctx context.Context) (*model.APIUserSettings, error)
AwsRegions(ctx context.Context) ([]string, error)
UserConfig(ctx context.Context) (*UserConfig, error)
ClientConfig(ctx context.Context) (*model.APIClientConfig, error)
SiteBanner(ctx context.Context) (*model.APIBanner, error)
}
type RecentTaskLogs ¶
type RecentTaskLogs struct {
EventLogs []*model.APIEventLogEntry `json:"eventLogs"`
TaskLogs []*apimodels.LogMessage `json:"taskLogs"`
SystemLogs []*apimodels.LogMessage `json:"systemLogs"`
AgentLogs []*apimodels.LogMessage `json:"agentLogs"`
}
type RequiredStatus ¶
type RequiredStatus string
const ( RequiredStatusMustFail RequiredStatus = "MUST_FAIL" RequiredStatusMustFinish RequiredStatus = "MUST_FINISH" RequiredStatusMustSucceed RequiredStatus = "MUST_SUCCEED" )
func (RequiredStatus) IsValid ¶
func (e RequiredStatus) IsValid() bool
func (RequiredStatus) MarshalGQL ¶
func (e RequiredStatus) MarshalGQL(w io.Writer)
func (RequiredStatus) String ¶
func (e RequiredStatus) String() string
func (*RequiredStatus) UnmarshalGQL ¶
func (e *RequiredStatus) UnmarshalGQL(v interface{}) error
type Resolver ¶
type Resolver struct {
// contains filtered or unexported fields
}
func (*Resolver) Mutation ¶
func (r *Resolver) Mutation() MutationResolver
func (*Resolver) Patch ¶
func (r *Resolver) Patch() PatchResolver
func (*Resolver) Query ¶
func (r *Resolver) Query() QueryResolver
func (*Resolver) Task ¶
func (r *Resolver) Task() TaskResolver
type ResolverRoot ¶
type ResolverRoot interface {
Mutation() MutationResolver
Patch() PatchResolver
Query() QueryResolver
Task() TaskResolver
}
type SortDirection ¶
type SortDirection string
const ( SortDirectionAsc SortDirection = "ASC" SortDirectionDesc SortDirection = "DESC" )
func (SortDirection) IsValid ¶
func (e SortDirection) IsValid() bool
func (SortDirection) MarshalGQL ¶
func (e SortDirection) MarshalGQL(w io.Writer)
func (SortDirection) String ¶
func (e SortDirection) String() string
func (*SortDirection) UnmarshalGQL ¶
func (e *SortDirection) UnmarshalGQL(v interface{}) error
type TaskFiles ¶
type TaskFiles struct {
FileCount int `json:"fileCount"`
GroupedFiles []*GroupedFiles `json:"groupedFiles"`
}
type TaskResolver ¶
type TaskResolver interface {
FailedTestCount(ctx context.Context, obj *model.APITask) (int, error)
SpawnHostLink(ctx context.Context, obj *model.APITask) (*string, error)
PatchMetadata(ctx context.Context, obj *model.APITask) (*PatchMetadata, error)
ReliesOn(ctx context.Context, obj *model.APITask) ([]*Dependency, error)
PatchNumber(ctx context.Context, obj *model.APITask) (*int, error)
Status(ctx context.Context, obj *model.APITask) (string, error)
BaseTaskMetadata(ctx context.Context, obj *model.APITask) (*BaseTaskMetadata, error)
CanRestart(ctx context.Context, obj *model.APITask) (bool, error)
CanAbort(ctx context.Context, obj *model.APITask) (bool, error)
CanSchedule(ctx context.Context, obj *model.APITask) (bool, error)
CanUnschedule(ctx context.Context, obj *model.APITask) (bool, error)
CanSetPriority(ctx context.Context, obj *model.APITask) (bool, error)
}
type TaskResult ¶
type TaskResult struct {
ID string `json:"id"`
DisplayName string `json:"displayName"`
Version string `json:"version"`
Status string `json:"status"`
BaseStatus string `json:"baseStatus"`
BuildVariant string `json:"buildVariant"`
}
func ConvertDBTasksToGqlTasks ¶
func ConvertDBTasksToGqlTasks(tasks []task.Task, baseTaskStatuses BaseTaskStatuses) []*TaskResult
func FilterTasksByBaseStatuses ¶
func FilterTasksByBaseStatuses(taskResults []*TaskResult, baseStatuses []string, baseTaskStatuses BaseTaskStatuses) []*TaskResult
type TaskSortCategory ¶
type TaskSortCategory string
const ( TaskSortCategoryName TaskSortCategory = "NAME" TaskSortCategoryStatus TaskSortCategory = "STATUS" TaskSortCategoryBaseStatus TaskSortCategory = "BASE_STATUS" TaskSortCategoryVariant TaskSortCategory = "VARIANT" )
func (TaskSortCategory) IsValid ¶
func (e TaskSortCategory) IsValid() bool
func (TaskSortCategory) MarshalGQL ¶
func (e TaskSortCategory) MarshalGQL(w io.Writer)
func (TaskSortCategory) String ¶
func (e TaskSortCategory) String() string
func (*TaskSortCategory) UnmarshalGQL ¶
func (e *TaskSortCategory) UnmarshalGQL(v interface{}) error
type TaskTestResult ¶
type TestSortCategory ¶
type TestSortCategory string
const ( TestSortCategoryStatus TestSortCategory = "STATUS" TestSortCategoryDuration TestSortCategory = "DURATION" TestSortCategoryTestName TestSortCategory = "TEST_NAME" )
func (TestSortCategory) IsValid ¶
func (e TestSortCategory) IsValid() bool
func (TestSortCategory) MarshalGQL ¶
func (e TestSortCategory) MarshalGQL(w io.Writer)
func (TestSortCategory) String ¶
func (e TestSortCategory) String() string
func (*TestSortCategory) UnmarshalGQL ¶
func (e *TestSortCategory) UnmarshalGQL(v interface{}) error
type UserConfig ¶
type UserPatches ¶
type VariantTasks ¶
type VariantTasks struct {
Variant string `json:"variant"`
Tasks []string `json:"tasks"`
DisplayTasks []*DisplayTask `json:"displayTasks"`
}
type VariantsAndTasksFromProject ¶
type VariantsAndTasksFromProject struct {
Variants map[string]model.BuildVariant
Tasks []struct{ Name string }
Project model.Project
}
func GetVariantsAndTasksFromProject ¶
func GetVariantsAndTasksFromProject(patchedConfig string, patchProject string) (*VariantsAndTasksFromProject, error)
type VersionModificationAction ¶
type VersionModificationAction string
const ( Restart VersionModificationAction = "restart" SetActive VersionModificationAction = "set_active" SetPriority VersionModificationAction = "set_priority" )
type VersionModifications ¶
type VersionModifications struct {
Action VersionModificationAction `json:"action"`
Active bool `json:"active"`
Abort bool `json:"abort"`
Priority int64 `json:"priority"`
TaskIds []string `json:"task_ids"`
}