Skip to content

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.

Merge request reports