goharbor/harbor · error · BadRequestError
BAD_REQUEST
BAD_REQUEST
Error message
the immutable_rule_id doesn't match the id in the payload body of ImmutableRule
What it means
Error "the immutable_rule_id doesn't match the id in the payload body of ImmutableRule" thrown in goharbor/harbor.
Source
Thrown at src/server/v2.0/handler/immutable.go:99
projectID, err := ia.getProjectID(ctx, projectNameOrID)
if err != nil {
return ia.SendError(ctx, err)
}
if err := ia.requireRuleAccess(ctx, projectID, params.ImmutableRuleID); err != nil {
return ia.SendError(ctx, err)
}
if err := ia.immuCtl.DeleteImmutableRule(ctx, params.ImmutableRuleID); err != nil {
return ia.SendError(ctx, err)
}
return operation.NewDeleteImmuRuleOK()
}
func (ia *immutableAPI) UpdateImmuRule(ctx context.Context, params operation.UpdateImmuRuleParams) middleware.Responder {
if params.ImmutableRuleID != params.ImmutableRule.ID {
return ia.SendError(ctx, errors.BadRequestError(fmt.Errorf("the immutable_rule_id doesn't match the id in the payload body of ImmutableRule")))
}
projectNameOrID := parseProjectNameOrID(params.ProjectNameOrID, params.XIsResourceName)
if err := ia.RequireProjectAccess(ctx, projectNameOrID, rbac.ActionUpdate, rbac.ResourceImmutableTag); err != nil {
return ia.SendError(ctx, err)
}
metadata := model.Metadata{}
if err := lib.JSONCopy(&metadata, params.ImmutableRule); err != nil {
log.Warningf("failed to call JSONCopy into Metadata of the immutable rule when UpdateImmuRule, error: %v", err)
}
projectID, err := ia.getProjectID(ctx, projectNameOrID)
if err != nil {
return ia.SendError(ctx, err)
}
metadata.ProjectID = projectID
if err = ia.requireRuleAccess(ctx, projectID, metadata.ID); err != nil {View on GitHub (pinned to 7b2fd08cc5)
When it happens
Trigger: Thrown at src/server/v2.0/handler/immutable.go:99 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/88e1e439f86e5554.
Report an issue: GitHub.