This is a high-performance HTTP interface to PlantUML.
Table of Contents
- Table of Contents
- Release Engineering
- See Also
There's two way to install plantuml-service:
plantuml-service.jar from GitHub releases.
There is a homebrew formula in bitjourney/homebrew-self for macOS:
brew install bitjourney/self/plantuml-service brew services start bitjourney/self/plantuml-service
POST /svg where
body is the source of PlantUML
Returns an SVG image of the request body, processed by PlantUML.
Because the size of GET requests might be limited by middlewares, the POST API is recommended in production.
Returns an SVG image of
:source processed by PlantUML.
:source is source code of PlantUML, encoded in percent encoding.
Given a PlantUML source code:
@startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response Alice -> Bob: Another authentication Request Alice <-- Bob: another authentication Response @enduml
To show it in SVG:
Then, you'll get:
This path takes multiple
config parameters to set configuration, for example:
/svg/...?config=scale max 1024 width&config=skin BlueModern
NOTE: you should use server-side RPC to render SVG because browsers have URL limitations.
Shows the version of PlantUML and plantuml-service in JSON:
This is also intended to check the service helth.
Run on local:
./gradlew stage && heroku local:start
Run on Heroku
Deploy to Heroku:
# build ./gradlew stage # run bin/plantuml-service $PORT
Run with systemd
Here is an example systemd.service(5) config file:
[Unit] Descrption=PlantUML service Documentation=https://github.com/bitjourney/plantuml-service Wants=network-online.target After=network-online.target [Service] ExecStart=$APP_PATH/app/bin/plantuml-service WorkingDirectory=$APP_PATH/app User=$APP_USER Group=$APP_USER [Install] WantedBy=multi-user.target
- Create the credential file by
echo "oauth=$GITHUB_ACCESS_TOKEN" > ~/.github
- Update the version of
- Update the homebrew fomula (see bitjourney/homebrew-self)
plantuml-service.herokuapp.com is an example service managed by Bit Journey, Inc..
Because this is an example, there's no guarantee for the availability.
- FUJI Goro (gfx)
Copyright (c) 2016 Bit Journey, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.