structurizr / cli

A command line utility for Structurizr.
https://docs.structurizr.com/cli
Apache License 2.0
491 stars 75 forks source link

Suggestion: Add the possibility to validate the model separate from pushing #28

Closed JacoKoster closed 3 years ago

JacoKoster commented 3 years ago

We have put our C4-models in version-control and right now the warnings from pushing to Structurizr are hidden away in our build-pipeline. It would be immensely helpful to show the warnings as a part of a pull request in Gitlab in much the same way as what is done with Code Quality: https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html#implementing-a-custom-tool

This does not mean it should specifically adhere to that format, but direct access from the CLI to https://github.com/structurizr/java/blob/master/structurizr-core/src/com/structurizr/Workspace.java#L201 would be a great start for us to parse it in a way Gitlab can show it as Code Quality :-D

simonbrowndotje commented 3 years ago

There's a validate command coming in the next release - I haven't added it to the repo yet. In the meantime, you can do something like:

./structurizr.sh export -workspace <dsl file> -format json

That will show you any errors with the DSL, and new validate command will additionally run the same validation that happens when you push the workspace to the Structurizr cloud service/on-premises installation.

JacoKoster commented 3 years ago

Great, thanks!