There was a problem fetching inputs error when using a variable in the "CI/CD configuration file"
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Summary
One of out customers are using configuration with ${CI_PROJECT_PATH} variable in the custom CI/CD configuration file field as so:
${CI_PROJECT_PATH}/.gitlab-ci.yml@namespace/path
This works fine while running the pipelines as the external CI file is placed in the same path as ${CI_PROJECT_PATH}.
However, it does not work for the CI/CD inputs, they were using this workflow for awhile and when they upgraded to v17.11 they have started getting the error below (due to inputs feature) when trying to run new pipeline project > build > pipelines > new pipeline :
Inputs work fine when using the below:
dir/path/.gitlab-ci.yml@namespace/path
So it appears that fetching inputs does not like variables used in the custom CI/CD configuration file field.
We fixed a similar issue scheduled pipelines here, perhaps we can fix it for this as well.
Log error:
Click to expand
{ "method":"POST", "path":"/api/graphql", "format":"*/*", "controller":"GraphqlController", "action":"execute", "status":500, "time":"2025-04-25T09:52:20.543Z", "params":[ { "key":"operationName", "value":"ciPipelineCreationInputs" }, { "key":"variables", "value":"[FILTERED]" }, { "key":"query", "value":"[FILTERED]" }, { "key":"graphql", "value":{ "operationName":"ciPipelineCreationInputs", "variables":"[FILTERED]", "query":"[FILTERED]" } } ], "correlation_id":"01JSP5SG3S23D48DGHSN8JG4KX", "meta.caller_id":"GraphqlController#execute", "meta.feature_category":"continuous_integration", "meta.organization_id":1, "meta.remote_ip":"99.99.99.999", "meta.user":"root", "meta.user_id":1, "meta.client_id":"user/1", "graphql":[ { "complexity":13, "depth":3, "used_fields":[ "Project.id", "CiInputsSpec.default", "CiInputsSpec.description", "CiInputsSpec.name", "CiInputsSpec.options", "CiInputsSpec.regex", "CiInputsSpec.required", "CiInputsSpec.type", "CiInputsSpec.__typename", "Project.ciPipelineCreationInputs", "Project.__typename", "Query.project" ], "used_deprecated_fields":[ "Project.ciPipelineCreationInputs" ], "used_deprecated_arguments":[ ],
"variables":"{\"fullPath\"=>\"root/test2\", \"ref\"=>\"refs/heads/main\"}",
"operation_name":"ciPipelineCreationInputs"
}
], "remote_ip":"99.99.99.999", "user_id":1, "username":"root", "ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36", "queue_duration_s":0.084615, "request_urgency":"low", "target_duration_s":5, "gitaly_calls":3, "gitaly_duration_s":0.029955, "redis_calls":13, "redis_allowed_cross_slot_calls":1, "redis_duration_s":0.058159999999999996, "redis_read_bytes":897, "redis_write_bytes":1027, "redis_db_load_balancing_calls":2, "redis_db_load_balancing_duration_s":0.000365, "redis_db_load_balancing_write_bytes":104, "redis_feature_flag_calls":2, "redis_feature_flag_duration_s":0.004325, "redis_feature_flag_read_bytes":398, "redis_feature_flag_write_bytes":127, "redis_repository_cache_calls":6, "redis_repository_cache_duration_s":0.013335, "redis_repository_cache_read_bytes":220, "redis_repository_cache_write_bytes":188, "redis_sessions_calls":3, "redis_sessions_allowed_cross_slot_calls":1, "redis_sessions_duration_s":0.040135, "redis_sessions_read_bytes":279, "redis_sessions_write_bytes":608, "db_count":12, "db_write_count":0, "db_cached_count":1, "db_txn_count":0, "db_replica_txn_count":0, "db_primary_txn_count":0, "db_replica_count":0, "db_primary_count":12, "db_replica_write_count":0, "db_primary_write_count":0, "db_replica_cached_count":0, "db_primary_cached_count":1, "db_replica_wal_count":0, "db_primary_wal_count":0, "db_replica_wal_cached_count":0, "db_primary_wal_cached_count":0, "db_replica_txn_max_duration_s":0.0, "db_primary_txn_max_duration_s":0.0, "db_replica_txn_duration_s":0.0, "db_primary_txn_duration_s":0.0, "db_replica_duration_s":0.0, "db_primary_duration_s":0.192, "db_main_txn_count":0, "db_ci_txn_count":0, "db_main_replica_txn_count":0, "db_ci_replica_txn_count":0, "db_main_count":12, "db_ci_count":0, "db_main_replica_count":0, "db_ci_replica_count":0, "db_main_write_count":0, "db_ci_write_count":0, "db_main_replica_write_count":0, "db_ci_replica_write_count":0, "db_main_cached_count":1, "db_ci_cached_count":0, "db_main_replica_cached_count":0, "db_ci_replica_cached_count":0, "db_main_wal_count":0, "db_ci_wal_count":0, "db_main_replica_wal_count":0, "db_ci_replica_wal_count":0, "db_main_wal_cached_count":0, "db_ci_wal_cached_count":0, "db_main_replica_wal_cached_count":0, "db_ci_replica_wal_cached_count":0, "db_main_txn_max_duration_s":0.0, "db_ci_txn_max_duration_s":0.0, "db_main_replica_txn_max_duration_s":0.0, "db_ci_replica_txn_max_duration_s":0.0, "db_main_txn_duration_s":0.0, "db_ci_txn_duration_s":0.0, "db_main_replica_txn_duration_s":0.0, "db_ci_replica_txn_duration_s":0.0, "db_main_duration_s":0.192, "db_ci_duration_s":0.0, "db_main_replica_duration_s":0.0, "db_ci_replica_duration_s":0.0, "cpu_s":0.127652, "mem_objects":34564, "mem_bytes":4498376, "mem_mallocs":9503, "mem_total_bytes":5880936, "pid":133369, "worker_id":"puma_1", "rate_limiting_gates":[
], "exception.class":"NoMethodError", "exception.message":"undefined method split for nil:NilClass", "exception.backtrace":[ "batch-loader (2.0.5) lib/batch_loader.rb:73:in public_send", "batch-loader (2.0.5) lib/batch_loader.rb:73:in method_missing", ... (continues) ] }
Steps to reproduce
- Create a CI configuration project (this will store your reusable CI configuration)
- Add a .gitlab-ci.yml file to this project
- Create a main project that will use the external CI configuration
- Configure the main project to use external CI configuration
- Go to Settings > CI/CD > General Pipelines
- In the "CI/CD configuration file" field, enter: ${CI_PROJECT_PATH}/.gitlab-ci.yml@namespace/path, ${CI_PROJECT_PATH} should match the CI file location in the CI configuration project.
- Save the changes
- Try to run a new pipeline
- Navigate to your project, Go to Build > Pipelines > New Pipeline
- You should see the error about inputs not working with variables in the configuration path
