{"record":{"id":"eed9543fca0ed4fd","repo":"theonedev/onedev","slug":"unable-to-find-user-with-login-loginname","errorCode":null,"errorMessage":"Unable to find user with login: ${loginName}","messagePattern":"Unable to find user with login: (.+?)","errorType":"exception","errorClass":"NotFoundException","httpStatus":404,"severity":"error","filePath":"server-core/src/main/java/io/onedev/server/util/QueryUtils.java","lineNumber":91,"sourceCode":"\t\t\tvar timeTrackingSetting = OneDev.getInstance(SettingService.class).getIssueSetting().getTimeTrackingSetting();\n\t\t\treturn timeTrackingSetting.parseWorkingPeriod(value);\n\t\t} catch (ValidationException e) {\n\t\t\tthrow new NotAcceptableException(\"Invalid working period: \" + value);\n\t\t}\n\t}\n\t\n\tpublic static long getLongValue(String value) {\n\t\ttry {\n\t\t\treturn Long.parseLong(value);\n\t\t} catch (NumberFormatException e) {\n\t\t\tthrow new NotAcceptableException(\"Invalid number: \" + value);\n\t\t}\n\t}\n\t\n\tpublic static User getUser(String loginName) {\n\t\tUser user = OneDev.getInstance(UserService.class).findByName(loginName);\n\t\tif (user == null)\n\t\t\tthrow new NotFoundException(\"Unable to find user with login: \" + loginName);\n\t\treturn user;\n\t}\n\n\tpublic static Group getGroup(String groupName) {\n\t\tGroup group = OneDev.getInstance(GroupService.class).find(groupName);\n\t\tif (group == null)\n\t\t\tthrow new NotFoundException(\"Unable to find group: \" + groupName);\n\t\treturn group;\n\t}\n\t\n\tpublic static Project getProject(String projectPath) {\n\t\tProject project = OneDev.getInstance(ProjectService.class).findByPath(projectPath);\n\t\tif (project == null)\n\t\t\tthrow new NotFoundException(\"Unable to find project '\" + projectPath + \"'\");\n\t\treturn project;\n\t}\n\t\n\tpublic static boolean getBooleanValue(String value) {","sourceCodeStart":73,"sourceCodeEnd":109,"githubUrl":"https://github.com/theonedev/onedev/blob/d44925c47c37992c828ea673a5f9620539bc3ff2/server-core/src/main/java/io/onedev/server/util/QueryUtils.java#L73-L109","documentation":"QueryUtils.getUser resolves a login name to a User via UserService.findByName. When no user matches, it throws NotFoundException(\"Unable to find user with login: ...\") so query criteria referencing users fail clearly on unknown names.","triggerScenarios":"Using a user login name in an issue query criterion (e.g. submitter/user fields) where the login does not exist, was renamed, or the user account was deleted/deactivated.","commonSituations":"Saved queries referencing employees who left (accounts deleted); login case-sensitivity or typo; using display name instead of login name; users renamed after SSO username changes.","solutions":["Verify the exact login name in user administration and fix the query operand","Recreate or rename the referenced user account if it was deleted","Update saved queries/automation after user renames or deactivations"],"exampleFix":"// before\nQueryUtils.getUser(\"jdoe1\"); // throws if login is jdoe\n// after\nQueryUtils.getUser(\"jdoe\");","handlingStrategy":"validation","validationCode":"User user = OneDev.getInstance(UserService.class).findByName(loginName);\nboolean userExists = user != null;","typeGuard":null,"tryCatchPattern":"try {\n    User u = QueryUtils.getUser(loginName);\n} catch (NotFoundException e) {\n    // suggest closest matching logins to the user\n}","preventionTips":["Use user pickers fed by the API rather than free text","Audit saved queries and automation when deactivating or renaming users","Reference users by login name exactly as configured (watch case)"],"tags":["query","users","not-found","onedev"],"backgroundTag":"user-not-found","analyzedSha":"d44925c47c37992c828ea673a5f9620539bc3ff2","analyzedAt":"2026-09-06T07:18:27.995Z","contentChangedAt":"2026-09-06T07:18:27.995Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}