Adding annotation to ignore unknown properties which has broken the Gitlab pipeline monitor
I'm using this utility in my IntelliJ. Today it stopped working. When GitlabService.getPipelines()
invokes the Gitlab API /projects/v4/projects/{project_id}/pipelines
the response is now containing a project_id
element, which is not accounted for in PipelineTo.java
, and therefoire the error below is occurring. If you refer to the API's documentation you'll see the example response contains a project_id
field.
Unable to load pipelines
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "project_id" (class de.sist.gitlab.PipelineTo), not marked as ignorable (7 known properties: "status", "ref", "web_url", "updated_at", "created_at", "id", "sha"])
at [Source: (String)"
[{"id":271659511,"project_id":21526379,"sha":"b30fde9d806c3303e99230a397456c887003fa59","ref":"categories_pipeline","status":"success","created_at":"2021-03-17T01:36:47.042Z","updated_at":"2021-03-17T01:39:11.833Z","web_url":"https://gitlab.com/XXXXX/ba/oi/analytics/sa-pipelines/-/pipelines/271659511"},{"id":271659188,"project_id":21526379,"sha":"d0c233d11c1f8861e6a3377ce75fee7f44233e7d","ref":"item_sets_pipeline","status":"success","created_at":"2021-03-17T01:35:26.057Z","updated_at":"2021-03"[truncated 29289 chars]; line: 1, column: 39] (through reference chain: java.util.ArrayList[0]->de.sist.gitlab.PipelineTo["project_id"])
at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61)
at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:840)
at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:1206)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1592)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1570)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:294)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:286)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:245)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4202)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3205)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3188)
at de.sist.gitlab.GitlabService.makePipelinesUrlCall(GitlabService.java:74)
at de.sist.gitlab.GitlabService.getPipelines(GitlabService.java:52)
at de.sist.gitlab.GitlabService.getStatuses(GitlabService.java:37)
at de.sist.gitlab.ui.GitlabToolWindow.loadPipelines(GitlabToolWindow.java:316)
at de.sist.gitlab.ui.GitlabToolWindow.access$1400(GitlabToolWindow.java:75)
at de.sist.gitlab.ui.GitlabToolWindow$11.run(GitlabToolWindow.java:306)
at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:962)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsync$5(CoreProgressManager.java:472)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:235)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:658)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:610)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:65)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:235)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
at java.base/java.lang.Thread.run(Thread.java:834)
It would be greatly appreciated if this could be fixed and pushed to IntelliJ ASAP.