goharbor/harbor · error · github.com/goharbor/harbor/src/lib/errors.Error

BAD_REQUEST

BAD_REQUEST

Error message

invalid cron string for scheduled scan all: %s, error: %v

What it means

Error "invalid cron string for scheduled scan all: %s, error: %v" thrown in goharbor/harbor.

Source

Thrown at src/server/v2.0/handler/scan_all.go:198

	return operation.NewGetLatestScanAllMetricsOK().WithPayload(stats)
}

func (s *scanAllAPI) GetLatestScheduledScanAllMetrics(ctx context.Context, _ operation.GetLatestScheduledScanAllMetricsParams) middleware.Responder {
	if err := s.requireAccess(ctx, rbac.ActionRead); err != nil {
		return s.SendError(ctx, err)
	}
	stats, err := s.getMetrics(ctx, task.ExecutionTriggerSchedule)
	if err != nil {
		return s.SendError(ctx, err)
	}

	return operation.NewGetLatestScanAllMetricsOK().WithPayload(stats)
}

func (s *scanAllAPI) createOrUpdateScanAllSchedule(ctx context.Context, cronType, cron string, previous *scheduler.Schedule) (int64, error) {
	if err := utils.ValidateCronString(cron); err != nil {
		return 0, errors.New(nil).WithCode(errors.BadRequestCode).
			WithMessagef("invalid cron string for scheduled scan all: %s, error: %v", cron, err)
	}
	if previous != nil {
		if cronType == previous.CRONType && cron == previous.CRON {
			return previous.ID, nil
		}

		if err := s.scheduler.UnScheduleByID(ctx, previous.ID); err != nil {
			return 0, err
		}
	}

	cbParams := map[string]any{
		// the operator of schedule job is harbor-jobservice
		"operator": secret.JobserviceUser,
	}
	return s.scheduler.Schedule(ctx, job.ScanAllVendorType, 0, cronType, cron, scan.ScanAllCallback, cbParams, nil)
}

View on GitHub (pinned to 7b2fd08cc5)

When it happens

Trigger: Thrown at src/server/v2.0/handler/scan_all.go:198 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of goharbor/harbor@7b2fd08cc5 (2026-08-16). Data as JSON: /api/errors/64c6f31f83a44243. Report an issue: GitHub.