Skip to content

"argument type mismatch" error wth new version #9

@MisterTNT

Description

@MisterTNT

Dear vaulttec engineers,

after installing the new version in our dev environment we got immediately the following errors:

[run] | 2025-08-04 10:44:34.340 INFO 2 --- [ main] o.vaulttec.gitlab.enforcer.Application : Starting Application v1.0.0-SNAPSHOT on c63ff9a17b69 with PID 2 (/app/app.jar started by spring in /app) [run] | 2025-08-04 10:44:34.342 INFO 2 --- [ main] o.vaulttec.gitlab.enforcer.Application : The following profiles are active: prod [run] | 2025-08-04 10:44:35.309 INFO 2 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) [run] | 2025-08-04 10:44:35.321 INFO 2 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] [run] | 2025-08-04 10:44:35.322 INFO 2 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.37] [run] | 2025-08-04 10:44:35.364 INFO 2 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext [run] | 2025-08-04 10:44:35.364 INFO 2 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 977 ms [run] | 2025-08-04 10:44:35.712 INFO 2 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor' [run] | 2025-08-04 10:44:35.888 INFO 2 --- [ main] o.s.s.c.ThreadPoolTaskScheduler : Initializing ExecutorService 'taskScheduler' [run] | 2025-08-04 10:44:35.895 INFO 2 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 3 endpoint(s) beneath base path '/actuator' [run] | 2025-08-04 10:44:35.955 INFO 2 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' [run] | 2025-08-04 10:44:35.971 INFO 2 --- [ scheduling-1] o.v.gitlab.enforcer.EnforcerClient : Enforcing rules for all GitLab groups and projects (SCHEDULED) [run] | 2025-08-04 10:44:35.978 INFO 2 --- [ main] o.vaulttec.gitlab.enforcer.Application : Started Application in 2.2 seconds (JVM running for 2.506) [run] | 2025-08-04 10:44:37.696 ERROR 2 --- [ scheduling-1] o.v.gitlab.enforcer.client.GitLabClient : API call GET 'https://git-test.*******.********.intern/api/v4/projects/{projectId}/protected_branches?per_page={perPage}' {perPage=100, projectId=48} failed [run] | [run] | org.springframework.web.client.RestClientException: Error while extracting response for type [java.util.List<org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch>] and content type [application/json]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch; nested exception is com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch [run] | at [Source: (PushbackInputStream); line: 1, column: 71] (through reference chain: java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch["push_access_levels"]->java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.AccessLevel["access_level"]) [run] | at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:120) [run] | at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:998) [run] | at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:981) [run] | at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:741) [run] | at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:695) [run] | at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:622) [run] | at org.vaulttec.gitlab.enforcer.client.GitLabClient.makeReadListApiCall(GitLabClient.java:224) [run] | at org.vaulttec.gitlab.enforcer.client.GitLabClient.getProtectedBranchesForProject(GitLabClient.java:168) [run] | at org.vaulttec.gitlab.enforcer.rule.ProtectedBranchRule.doHandle(ProtectedBranchRule.java:98) [run] | at org.vaulttec.gitlab.enforcer.rule.AbstractRule.handle(AbstractRule.java:52) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.lambda$enforce$2(EnforcerClient.java:86) [run] | at java.base/java.util.ArrayList.forEach(Unknown Source) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.enforce(EnforcerClient.java:84) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.lambda$enforce$1(EnforcerClient.java:77) [run] | at java.base/java.util.ArrayList.forEach(Unknown Source) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.enforce(EnforcerClient.java:73) [run] | at org.vaulttec.gitlab.enforcer.EnforcerScheduler.enforceScheduled(EnforcerScheduler.java:38) [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/java.lang.reflect.Method.invoke(Unknown Source) [run] | at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84) [run] | at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [run] | at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [run] | at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source) [run] | at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [run] | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [run] | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [run] | at java.base/java.lang.Thread.run(Unknown Source) [run] | Caused by: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch; nested exception is com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch [run] | at [Source: (PushbackInputStream); line: 1, column: 71] (through reference chain: java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch["push_access_levels"]->java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.AccessLevel["access_level"]) [run] | at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:284) [run] | at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:250) [run] | at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:105) [run] | ... 28 common frames omitted [run] | Caused by: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch [run] | at [Source: (PushbackInputStream); line: 1, column: 71] (through reference chain: java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch["push_access_levels"]->java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.AccessLevel["access_level"]) [run] | at com.fasterxml.jackson.databind.exc.ValueInstantiationException.from(ValueInstantiationException.java:47) [run] | at com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:1758) [run] | at com.fasterxml.jackson.databind.DeserializationContext.handleInstantiationProblem(DeserializationContext.java:1128) [run] | at com.fasterxml.jackson.databind.deser.std.FactoryBasedEnumDeserializer.deserialize(FactoryBasedEnumDeserializer.java:159) [run] | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:291) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:250) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27) [run] | at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:291) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:250) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27) [run] | at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4482) [run] | at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3487) [run] | at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:273) [run] | ... 30 common frames omitted [run] | Caused by: java.lang.IllegalArgumentException: argument type mismatch [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/java.lang.reflect.Method.invoke(Unknown Source) [run] | at com.fasterxml.jackson.databind.introspect.AnnotatedMethod.callOnWith(AnnotatedMethod.java:116) [run] | at com.fasterxml.jackson.databind.deser.std.FactoryBasedEnumDeserializer.deserialize(FactoryBasedEnumDeserializer.java:151) [run] | ... 45 common frames omitted [run] | [run] | 2025-08-04 10:44:37.697 INFO 2 --- [ scheduling-1] o.v.g.enforcer.rule.ProtectedBranchRule : Enforcing protected branch 'master' in project 'sew/test-subgroup/test-subgroup-project' [run] | 2025-08-04 10:44:37.782 ERROR 2 --- [ scheduling-1] o.v.http.client.AbstractRestClient : API call POST 'https://git-test.*******.********.intern/api/v4/projects/{projectId}/protected_branches?name={name}&push_access_level={push_access_level}&merge_access_level={merge_access_level}' {push_access_level=30, merge_access_level=30, name=master, projectId=48} failed with 409 Conflict: [{"message":"Protected branch 'master' already exists"}]: {"message":"Protected branch 'master' already exists"} [run] | 2025-08-04 10:44:37.838 ERROR 2 --- [ scheduling-1] o.v.gitlab.enforcer.client.GitLabClient : API call GET 'https://git-test.*******.********.intern/api/v4/projects/{projectId}/protected_branches?per_page={perPage}' {perPage=100, projectId=48} failed [run] | [run] | org.springframework.web.client.RestClientException: Error while extracting response for type [java.util.List<org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch>] and content type [application/json]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch; nested exception is com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch [run] | at [Source: (PushbackInputStream); line: 1, column: 71] (through reference chain: java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch["push_access_levels"]->java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.AccessLevel["access_level"]) [run] | at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:120) [run] | at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:998) [run] | at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:981) [run] | at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:741) [run] | at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:695) [run] | at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:622) [run] | at org.vaulttec.gitlab.enforcer.client.GitLabClient.makeReadListApiCall(GitLabClient.java:224) [run] | at org.vaulttec.gitlab.enforcer.client.GitLabClient.getProtectedBranchesForProject(GitLabClient.java:168) [run] | at org.vaulttec.gitlab.enforcer.rule.ProtectedBranchRule.doHandle(ProtectedBranchRule.java:98) [run] | at org.vaulttec.gitlab.enforcer.rule.AbstractRule.handle(AbstractRule.java:52) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.lambda$enforce$2(EnforcerClient.java:86) [run] | at java.base/java.util.ArrayList.forEach(Unknown Source) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.enforce(EnforcerClient.java:84) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.lambda$enforce$1(EnforcerClient.java:77) [run] | at java.base/java.util.ArrayList.forEach(Unknown Source) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.enforce(EnforcerClient.java:73) [run] | at org.vaulttec.gitlab.enforcer.EnforcerScheduler.enforceScheduled(EnforcerScheduler.java:38) [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/java.lang.reflect.Method.invoke(Unknown Source) [run] | at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84) [run] | at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [run] | at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [run] | at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source) [run] | at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [run] | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [run] | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [run] | at java.base/java.lang.Thread.run(Unknown Source) [run] | Caused by: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch; nested exception is com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch [run] | at [Source: (PushbackInputStream); line: 1, column: 71] (through reference chain: java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch["push_access_levels"]->java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.AccessLevel["access_level"]) [run] | at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:284) [run] | at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:250) [run] | at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:105) [run] | ... 28 common frames omitted [run] | Caused by: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch [run] | at [Source: (PushbackInputStream); line: 1, column: 71] (through reference chain: java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch["push_access_levels"]->java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.AccessLevel["access_level"]) [run] | at com.fasterxml.jackson.databind.exc.ValueInstantiationException.from(ValueInstantiationException.java:47) [run] | at com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:1758) [run] | at com.fasterxml.jackson.databind.DeserializationContext.handleInstantiationProblem(DeserializationContext.java:1128) [run] | at com.fasterxml.jackson.databind.deser.std.FactoryBasedEnumDeserializer.deserialize(FactoryBasedEnumDeserializer.java:159) [run] | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:291) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:250) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27) [run] | at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:291) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:250) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27) [run] | at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4482) [run] | at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3487) [run] | at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:273) [run] | ... 30 common frames omitted [run] | Caused by: java.lang.IllegalArgumentException: argument type mismatch [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/java.lang.reflect.Method.invoke(Unknown Source) [run] | at com.fasterxml.jackson.databind.introspect.AnnotatedMethod.callOnWith(AnnotatedMethod.java:116) [run] | at com.fasterxml.jackson.databind.deser.std.FactoryBasedEnumDeserializer.deserialize(FactoryBasedEnumDeserializer.java:151) [run] | ... 45 common frames omitted [run] | [run] | 2025-08-04 10:44:37.839 INFO 2 --- [ scheduling-1] o.v.g.enforcer.rule.ProtectedBranchRule : Enforcing protected branch 'release/*' in project 'sew/test-subgroup/test-subgroup-project' [run] | 2025-08-04 10:44:37.926 ERROR 2 --- [ scheduling-1] o.v.http.client.AbstractRestClient : API call POST 'https://git-test.*******.********.intern/api/v4/projects/{projectId}/protected_branches?name={name}&push_access_level={push_access_level}&merge_access_level={merge_access_level}' {push_access_level=40, merge_access_level=40, name=release/*, projectId=48} failed with 409 Conflict: [{"message":"Protected branch 'release/*' already exists"}]: {"message":"Protected branch 'release/*' already exists"} [run] | 2025-08-04 10:44:38.039 ERROR 2 --- [ scheduling-1] o.v.gitlab.enforcer.client.GitLabClient : API call GET 'https://git-test.*******.********.intern/api/v4/projects/{projectId}/protected_branches?per_page={perPage}' {perPage=100, projectId=47} failed [run] | [run] | org.springframework.web.client.RestClientException: Error while extracting response for type [java.util.List<org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch>] and content type [application/json]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch; nested exception is com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch [run] | at [Source: (PushbackInputStream); line: 1, column: 71] (through reference chain: java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch["push_access_levels"]->java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.AccessLevel["access_level"]) [run] | at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:120) [run] | at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:998) [run] | at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:981) [run] | at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:741) [run] | at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:695) [run] | at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:622) [run] | at org.vaulttec.gitlab.enforcer.client.GitLabClient.makeReadListApiCall(GitLabClient.java:224) [run] | at org.vaulttec.gitlab.enforcer.client.GitLabClient.getProtectedBranchesForProject(GitLabClient.java:168) [run] | at org.vaulttec.gitlab.enforcer.rule.ProtectedBranchRule.doHandle(ProtectedBranchRule.java:98) [run] | at org.vaulttec.gitlab.enforcer.rule.AbstractRule.handle(AbstractRule.java:52) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.lambda$enforce$2(EnforcerClient.java:86) [run] | at java.base/java.util.ArrayList.forEach(Unknown Source) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.enforce(EnforcerClient.java:84) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.lambda$enforce$1(EnforcerClient.java:77) [run] | at java.base/java.util.ArrayList.forEach(Unknown Source) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.enforce(EnforcerClient.java:73) [run] | at org.vaulttec.gitlab.enforcer.EnforcerScheduler.enforceScheduled(EnforcerScheduler.java:38) [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/java.lang.reflect.Method.invoke(Unknown Source) [run] | at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84) [run] | at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [run] | at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [run] | at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source) [run] | at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [run] | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [run] | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [run] | at java.base/java.lang.Thread.run(Unknown Source) [run] | Caused by: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch; nested exception is com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch [run] | at [Source: (PushbackInputStream); line: 1, column: 71] (through reference chain: java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch["push_access_levels"]->java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.AccessLevel["access_level"]) [run] | at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:284) [run] | at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:250) [run] | at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:105) [run] | ... 28 common frames omitted [run] | Caused by: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch [run] | at [Source: (PushbackInputStream); line: 1, column: 71] (through reference chain: java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch["push_access_levels"]->java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.AccessLevel["access_level"]) [run] | at com.fasterxml.jackson.databind.exc.ValueInstantiationException.from(ValueInstantiationException.java:47) [run] | at com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:1758) [run] | at com.fasterxml.jackson.databind.DeserializationContext.handleInstantiationProblem(DeserializationContext.java:1128) [run] | at com.fasterxml.jackson.databind.deser.std.FactoryBasedEnumDeserializer.deserialize(FactoryBasedEnumDeserializer.java:159) [run] | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:291) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:250) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27) [run] | at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:291) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:250) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27) [run] | at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4482) [run] | at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3487) [run] | at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:273) [run] | ... 30 common frames omitted [run] | Caused by: java.lang.IllegalArgumentException: argument type mismatch [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/java.lang.reflect.Method.invoke(Unknown Source) [run] | at com.fasterxml.jackson.databind.introspect.AnnotatedMethod.callOnWith(AnnotatedMethod.java:116) [run] | at com.fasterxml.jackson.databind.deser.std.FactoryBasedEnumDeserializer.deserialize(FactoryBasedEnumDeserializer.java:151) [run] | ... 45 common frames omitted [run] | [run] | 2025-08-04 10:44:38.039 INFO 2 --- [ scheduling-1] o.v.g.enforcer.rule.ProtectedBranchRule : Enforcing protected branch 'master' in project 'sew/test-subgroup/test-project' [run] | 2025-08-04 10:44:38.078 ERROR 2 --- [ scheduling-1] o.v.http.client.AbstractRestClient : API call POST 'https://git-test.*******.********.intern/api/v4/projects/{projectId}/protected_branches?name={name}&push_access_level={push_access_level}&merge_access_level={merge_access_level}' {push_access_level=30, merge_access_level=30, name=master, projectId=47} failed with 409 Conflict: [{"message":"Protected branch 'master' already exists"}]: {"message":"Protected branch 'master' already exists"} [run] | 2025-08-04 10:44:38.129 ERROR 2 --- [ scheduling-1] o.v.gitlab.enforcer.client.GitLabClient : API call GET 'https://git-test.*******.********.intern/api/v4/projects/{projectId}/protected_branches?per_page={perPage}' {perPage=100, projectId=47} failed [run] | [run] | org.springframework.web.client.RestClientException: Error while extracting response for type [java.util.List<org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch>] and content type [application/json]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch; nested exception is com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch [run] | at [Source: (PushbackInputStream); line: 1, column: 71] (through reference chain: java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch["push_access_levels"]->java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.AccessLevel["access_level"]) [run] | at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:120) [run] | at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:998) [run] | at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:981) [run] | at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:741) [run] | at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:695) [run] | at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:622) [run] | at org.vaulttec.gitlab.enforcer.client.GitLabClient.makeReadListApiCall(GitLabClient.java:224) [run] | at org.vaulttec.gitlab.enforcer.client.GitLabClient.getProtectedBranchesForProject(GitLabClient.java:168) [run] | at org.vaulttec.gitlab.enforcer.rule.ProtectedBranchRule.doHandle(ProtectedBranchRule.java:98) [run] | at org.vaulttec.gitlab.enforcer.rule.AbstractRule.handle(AbstractRule.java:52) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.lambda$enforce$2(EnforcerClient.java:86) [run] | at java.base/java.util.ArrayList.forEach(Unknown Source) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.enforce(EnforcerClient.java:84) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.lambda$enforce$1(EnforcerClient.java:77) [run] | at java.base/java.util.ArrayList.forEach(Unknown Source) [run] | at org.vaulttec.gitlab.enforcer.EnforcerClient.enforce(EnforcerClient.java:73) [run] | at org.vaulttec.gitlab.enforcer.EnforcerScheduler.enforceScheduled(EnforcerScheduler.java:38) [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/java.lang.reflect.Method.invoke(Unknown Source) [run] | at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84) [run] | at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [run] | at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [run] | at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source) [run] | at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) [run] | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [run] | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [run] | at java.base/java.lang.Thread.run(Unknown Source) [run] | Caused by: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch; nested exception is com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch [run] | at [Source: (PushbackInputStream); line: 1, column: 71] (through reference chain: java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch["push_access_levels"]->java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.AccessLevel["access_level"]) [run] | at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:284) [run] | at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:250) [run] | at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:105) [run] | ... 28 common frames omitted [run] | Caused by: com.fasterxml.jackson.databind.exc.ValueInstantiationException: Cannot construct instance of org.vaulttec.gitlab.enforcer.client.model.Permission, problem: argument type mismatch [run] | at [Source: (PushbackInputStream); line: 1, column: 71] (through reference chain: java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.ProtectedBranch["push_access_levels"]->java.util.ArrayList[0]->org.vaulttec.gitlab.enforcer.client.model.AccessLevel["access_level"]) [run] | at com.fasterxml.jackson.databind.exc.ValueInstantiationException.from(ValueInstantiationException.java:47) [run] | at com.fasterxml.jackson.databind.DeserializationContext.instantiationException(DeserializationContext.java:1758) [run] | at com.fasterxml.jackson.databind.DeserializationContext.handleInstantiationProblem(DeserializationContext.java:1128) [run] | at com.fasterxml.jackson.databind.deser.std.FactoryBasedEnumDeserializer.deserialize(FactoryBasedEnumDeserializer.java:159) [run] | at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:138) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:291) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:250) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27) [run] | at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:371) [run] | at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:164) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:291) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:250) [run] | at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27) [run] | at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4482) [run] | at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3487) [run] | at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:273) [run] | ... 30 common frames omitted [run] | Caused by: java.lang.IllegalArgumentException: argument type mismatch [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [run] | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [run] | at java.base/java.lang.reflect.Method.invoke(Unknown Source) [run] | at com.fasterxml.jackson.databind.introspect.AnnotatedMethod.callOnWith(AnnotatedMethod.java:116) [run] | at com.fasterxml.jackson.databind.deser.std.FactoryBasedEnumDeserializer.deserialize(FactoryBasedEnumDeserializer.java:151) [run] | ... 45 common frames omitted [run] | [run] | 2025-08-04 10:44:38.130 INFO 2 --- [ scheduling-1] o.v.g.enforcer.rule.ProtectedBranchRule : Enforcing protected branch 'release/*' in project 'sew/test-subgroup/test-project' [run] | 2025-08-04 10:44:38.169 ERROR 2 --- [ scheduling-1] o.v.http.client.AbstractRestClient : API call POST 'https://git-test.*******.********.intern/api/v4/projects/{projectId}/protected_branches?name={name}&push_access_level={push_access_level}&merge_access_level={merge_access_level}' {push_access_level=40, merge_access_level=40, name=release/*, projectId=47} failed with 409 Conflict: [{"message":"Protected branch 'release/*' already exists"}]: {"message":"Protected branch 'release/*' already exists"} [run] | 2025-08-04 10:44:38.260 ERROR 2 --- [ scheduling-1] o.v.gitlab.enforcer.client.GitLabClient : API call GET 'https://git-test.*******.********.intern/api/v4/projects/{projectId}/protected_branches?per_page={perPage}' {perPage=100, projectId=46} failed

The log continues, this ist just a small snipplet...

Please fix it.

Kind regards

Mr.T.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions