theonedev/onedev · error · ExplicitException

Criteria '${operator}' is not supported here

Error message

Criteria '${operator}' is not supported here

What it means

PullRequestQuery's operator-criteria visitor only accepts state operators (Open, Merged, Discarded, ReadyToMerge) unconditionally; user-relative operators such as NeedMyAction are only legal when the query is parsed with current-user criteria enabled, otherwise this error names the unsupported operator.

Source

Thrown at server-core/src/main/java/io/onedev/server/search/entity/pullrequest/PullRequestQuery.java:164

					@Override
					public Criteria<PullRequest> visitFuzzyCriteria(FuzzyCriteriaContext ctx) {
						return new FuzzyCriteria(getValue(ctx.getText()));
					}
					
					@Override
					public Criteria<PullRequest> visitOperatorCriteria(OperatorCriteriaContext ctx) {
						switch (ctx.operator.getType()) {
							case Open:
								return new OpenCriteria();
							case Merged:
								return new MergedCriteria();
							case Discarded:
								return new DiscardedCriteria();
							case ReadyToMerge:
								return new ReadyToMergeCriteria();
							case NeedMyAction:
								if (!withCurrentUserCriteria)
									throw new ExplicitException("Criteria '" + ctx.operator.getText() + "' is not supported here");
								return new NeedMyActionCriteria();
							case ToBeMergedByMe:
								if (!withCurrentUserCriteria)
									throw new ExplicitException("Criteria '" + ctx.operator.getText() + "' is not supported here");
								return new ToBeMergedByMeCriteria();
							case ToBeChangedByMe:
								if (!withCurrentUserCriteria)
									throw new ExplicitException("Criteria '" + ctx.operator.getText() + "' is not supported here");
								return new ToBeChangedByMeCriteria();
							case MentionedMe:
								if (!withCurrentUserCriteria)
									throw new ExplicitException("Criteria '" + ctx.operator.getText() + "' is not supported here");
								return new MentionedMeCriteria();
							case SubmittedByMe:
								if (!withCurrentUserCriteria)
									throw new ExplicitException("Criteria '" + ctx.operator.getText() + "' is not supported here");
								return new SubmittedByMeCriteria();
							case WatchedByMe:

View on GitHub (pinned to d44925c47c)

Solutions

  1. Use only state operators (Open, Merged, Discarded, ReadyToMerge) in this query context.
  2. Request/query the pull request list through an API entry point that supports current-user criteria if NeedMyAction-like filters are needed.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at server-core/src/main/java/io/onedev/server/search/entity/pullrequest/PullRequestQuery.java:164 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of theonedev/onedev@d44925c47c (2026-09-06). Data as JSON: /api/errors/13a5e72051b977f2. Report an issue: GitHub.