Scripting

The Structurizr UI provides a small JavaScript API that can be used to script and automate certain tasks. This is available under a JavaScript variable called structurizr.scripting when viewing the diagram viewer/editor pages. The following functions are provided:

  • isDiagramRendered(): Returns true when the diagram has been rendered, false otherwise.
  • exportCurrentDiagramToPNG(options, callback): Exports the current diagram to PNG, and calls the callback function with the resulting base64 data URI.
  • exportCurrentDiagramKeyToPNG(callback): Exports the current diagram key to PNG, and calls the callback function the resulting base64 data URI.
  • exportCurrentDiagramToSVG(options): Exports the current diagram to SVG, and returns the resulting SVG markup.
  • exportCurrentDiagramKeyToSVG: Exports the current diagram key to SVG, and returns the resulting SVG markup.
  • getViews(): Gets an array of objects representing the views in the software architecture model.
  • changeView(viewKey): Displays the specified view.
  • getViewKey(): Gets the key of the current view.

Puppeteer

The diagram scripting API can be used in conjunction with tools such as Puppeteer (headless Chrome/Chromium), to automate the export of diagrams from the command line, perhaps as a part of a build process. The structurizr-puppeteer repo on GitHub has some code samples of how to do this.