apache / apache/hop

[Feature Request]: Check syntax of Environment configuration files

Open
#5,183 0 comments 0 reactions 0 assignees View on GitHub
awaiting triage Hop Config Hop Gui P3
Dominant language
Java
Stars
1.5k
Forks
476
Avg merge
18h 32m
Merged PRs (30d)
216

Description

### What would you like to happen?

In the Hop GUI, when choosing "Select" in an Environment to add a JSON environment config file, you get no indication if the content is syntactically correct. Only after "Edit" you see if the JSON was correctly loaded.

I think in case of JSON configuration files that are added via "Select", they should NOT be loaded to the environment at all when the syntax is _wrong_, and should not be kept in the list of "Configuration files" secion in the "Environment Properties" dialog.

Even worse, in case it's a _valid_ JSON syntax, but the key names are wrong (e.g "valuee" instead of "value", see below), no error or warning is displayed at all, the value remains simply null / empty.

E.g.:
```
{
"variables": [{
"name": "MY_VAR",
"valuee": "my_value",
"description": ""
}
]
}

```
Also the reload of the project works without error/warning.

Similarly, when adding a JSON file to an environment via "--environment-config-files" of "hop-conf.sh" you see an error in the log output (in case of wrong JSON syntax), but still the JSON will be added to the environment.

![Image](https://github.com/user-attachments/assets/93abe321-4c3c-4ade-8862-89b61d8f4e58)

### Issue Priority

Priority: 3

### Issue Component

Component: Hop Gui, Component: Hop Config

Contributor guide

Open the contributing guide

Research direction

Start by tracing the Hop GUI Environment Properties flow from "Select" and "Edit", then inspect how hop-conf.sh handles --environment-config-files. Define validation behavior for malformed JSON and unrecognized configuration keys, and verify that invalid files are rejected rather than loaded or retained, with clear errors in both paths.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, shell
Domain
cli, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.