{"record":{"id":"8eb6ac96c256266a","repo":"theonedev/onedev","slug":"unit-test-report-not-found","errorCode":null,"errorMessage":"Unit test report not found: ","messagePattern":"Unit test report not found: ","errorType":"http","errorClass":"NotFoundException","httpStatus":404,"severity":"error","filePath":"server-core/src/main/java/io/onedev/server/ai/TodResource.java","lineNumber":977,"sourceCode":"                    testSuites.add(testSuiteData);\n                }\n                reportData.put(\"testSuites\", testSuites);\n\n                var testCases = new ArrayList<Map<String, Object>>();\n                for (var testCase: report.getTestCases()) {\n                    var testCaseData = new HashMap<String, Object>();\n                    testCaseData.put(\"testSuite\", testCase.getTestSuite().getName());\n                    testCaseData.put(\"name\", testCase.getName());\n                    testCaseData.put(\"status\", testCase.getStatus().name());\n                    testCaseData.put(\"statusText\", testCase.getStatusText());\n                    testCaseData.put(\"duration\", testCase.getDuration());\n                    testCaseData.putAll(testCase.getDetailData());\n                    testCases.add(testCaseData);\n                }\n                reportData.put(\"testCases\", testCases);\n                return Response.ok(reportData).build();\n            }\n            throw new NotFoundException(\"Unit test report not found: \" + reportName);\n        }\n    }\n    \n    @Path(\"/get-previous-successful-similar-build\")\n    @GET\n    public Map<String, Object> getPreviousSuccessfulSimilarBuild(\n                @QueryParam(\"currentProject\") @NotNull String currentProjectPath, \n                @QueryParam(\"reference\") @NotNull String buildReference) {\n        if (SecurityUtils.getUser() == null)\n            throw new UnauthenticatedException();\n\n        var currentProject = getProject(currentProjectPath);\n\n        var build = getBuild(currentProject, buildReference);\n                \n        var foundBuild = buildService.findPreviousSuccessfulSimilar(build);\n        if (foundBuild != null) \n            return BuildHelper.getDetail(currentProject, foundBuild);","sourceCodeStart":959,"sourceCodeEnd":995,"githubUrl":"https://github.com/theonedev/onedev/blob/d44925c47c37992c828ea673a5f9620539bc3ff2/server-core/src/main/java/io/onedev/server/ai/TodResource.java#L959-L995","documentation":"Lookup guard in TodResource's build/test-report retrieval: the requested unit test report (by build and report name) does not exist for the given build, so NotFoundException is thrown instead of returning test-suite/case data. Fix: verify the report name and that the build actually published a unit test report.","triggerScenarios":"Thrown at server-core/src/main/java/io/onedev/server/ai/TodResource.java:977 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the report name against the reports the build actually published.","Ensure the build spec step that publishes the JUnit test report ran successfully."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"d44925c47c37992c828ea673a5f9620539bc3ff2","analyzedAt":"2026-09-06T07:18:27.995Z","contentChangedAt":"2026-09-06T07:18:27.995Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}