-
Notifications
You must be signed in to change notification settings - Fork 0
Description
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.