Hey all, I posted about this in #jenkins, but I'm still nowhere near a clear solution.
I'm working with a Jenkins setup that uses JUnit, but the output XML is annotated with extra information such as the responsible team for any failed tests, the project to file JIRA tickets in, and whether a failed test is flaky or not (we have "flaky" as an attribute of the <testcase>). We would like this information to persist within Jenkins and be accessible via the REST API as another property of the TestResults. So, ideally we would add new logic to hudson.tasks.junit.CaseResult, and have that propagate its information somehow, but it seems like this is not really possible. CaseResult is final, so I can't inherit from it anyway. It seems like if I modify anything in the TestResult hierarchy, I get all sorts of weird incompatibilities, package scoping issues, and other factors that would largely just be alleviated by forking all of Jenkins and using that. I was told to extend/override TestResult (I'm assuming hudson.tasks.test.TestResult, as hudson.tasks.junit.TestResult is final), but the areas that need to be addressed are in CaseResult. I was pointed to nunit-plugin, but I'm a little unclear on how it is really relevant to what we are trying to accomplish. I believe this must be addressed at the level of JUnitParser and above, but I'm still unsure of how that will affect things on the API side of it. I'd appreciate any advice you could offer – this issue seems to go beyond the scope of usual extension points, and the documentation (when available) is extremely unclear on this front. If there are other resources I should be consulting, by all means let me know where they are. Thanks! --- Harley Cooper -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
