MCPcopy Create free account
hub / github.com/bytebase/bytebase / ListTaskRuns

Method ListTaskRuns

backend/api/v1/rollout_service.go:324–371  ·  view source on GitHub ↗

ListTaskRuns lists rollout task runs.

(ctx context.Context, req *connect.Request[v1pb.ListTaskRunsRequest])

Source from the content-addressed store, hash-verified

322
323// ListTaskRuns lists rollout task runs.
324func (s *RolloutService) ListTaskRuns(ctx context.Context, req *connect.Request[v1pb.ListTaskRunsRequest]) (*connect.Response[v1pb.ListTaskRunsResponse], error) {
325 request := req.Msg
326 projectID, planID, maybeStageID, maybeTaskID, err := common.GetProjectIDPlanIDMaybeStageIDMaybeTaskID(request.Parent)
327 if err != nil {
328 return nil, connect.NewError(connect.CodeInvalidArgument, err)
329 }
330
331 project, err := s.store.GetProject(ctx, &store.FindProjectMessage{
332 Workspace: common.GetWorkspaceIDFromContext(ctx),
333 ResourceID: &projectID,
334 })
335 if err != nil {
336 return nil, connect.NewError(connect.CodeInternal, errors.Wrapf(err, "failed to find project"))
337 }
338 if project == nil {
339 return nil, connect.NewError(connect.CodeNotFound, errors.Errorf("project %v not found", projectID))
340 }
341
342 plan, err := s.store.GetPlan(ctx, &store.FindPlanMessage{
343 Workspace: common.GetWorkspaceIDFromContext(ctx),
344 ProjectID: projectID,
345 UID: &planID,
346 })
347 if err != nil {
348 return nil, connect.NewError(connect.CodeInternal, errors.Wrapf(err, "failed to get rollout"))
349 }
350 if plan == nil {
351 return nil, connect.NewError(connect.CodeNotFound, errors.Errorf("rollout %d not found in project %s", planID, projectID))
352 }
353 taskRuns, err := s.store.ListTaskRuns(ctx, &store.FindTaskRunMessage{
354 Workspace: common.GetWorkspaceIDFromContext(ctx),
355 ProjectID: projectID,
356 PlanUID: &planID,
357 Environment: maybeStageID,
358 TaskUID: maybeTaskID,
359 })
360 if err != nil {
361 return nil, connect.NewError(connect.CodeInternal, errors.Wrapf(err, "failed to list task runs"))
362 }
363
364 taskRunsV1, err := convertToTaskRuns(ctx, s.store, taskRuns)
365 if err != nil {
366 return nil, connect.NewError(connect.CodeInternal, errors.Wrapf(err, "failed to convert to task runs"))
367 }
368 return connect.NewResponse(&v1pb.ListTaskRunsResponse{
369 TaskRuns: taskRunsV1,
370 }), nil
371}
372
373// CreateRolloutAndPendingTasks creates rollout tasks and pending task runs.
374func CreateRolloutAndPendingTasks(

Callers

nothing calls this directly

Calls 7

convertToTaskRunsFunction · 0.85
ErrorfMethod · 0.80
GetProjectMethod · 0.65
GetPlanMethod · 0.65
ListTaskRunsMethod · 0.65

Tested by

no test coverage detected