Graphviz macro

Deprecation notice:

Please note that the URL user and URL password parameters are deprecated and will be removed on March 31, 2022. We recommend using profiles to access your data from remote locations.

Description


The Graphviz Macro creates general graphs - either directed or undirected.

 using the Graphviz language. This language is extremely versatile and powerful, but you can start with a really simple example as shown below, and then gradually improve your knowledge and create more advanced diagrams easily.


Graphviz resources

Graphviz is a powerful way of describing diagrams of any kind, using just text. Graphviz provides automatic layout of diagrams based on the text. Have a look at the following Graphviz resources.



Parameters

The following parameters are available with all Graphviz macros:

Macro editor labelDefaultDescriptionMacro parameter
Template

Enables users to pick a pre-configured template and make simple changes as per their requirement. Since 3.2.

  • These templates are available in the macro editor only when the macro body is empty. If the macro body is not empty, the user are unable to see the Templates parameter in the macro editor.
  • Only templates listed in the configuration page for the respective diagram types are available to choose from in the macro editor.
  • This parameter is not available in Graph from tableSpace graph and PlantUML macros.
template
Output typepng

Specifies the output type to be generated by Graphviz. Since 2.1.0.

  • png
  • svg
  • pdf
  • jpg
  • gif
output

Location of <type> source

(Where 'type' includes Graphviz/ UML)


Specifies the source from where the macro reads the data. 

  • blank - Data in the body is used.
  • ^attachment - Data is read from an attachment to the current page. Input the value in the format ^Filename.extension.
  • page^attachment - Data is read from an attachment to the page name provided.
  • space:page^attachment - Data is read from an attachment to the page name provided in the space indicated.
  • #filename- Data is read from the file located in the Confluence home directory/script/filename. Subdirectories can be specified.
  • global page template name - Data is read from a global page template.
  • space:page template name - Data is read from a space template.

Graphviz recognizes the commands only when you nest the commands under "noformat", "wiki-markup", "code", or "code-pro" macros, for the sources mentioned below:

  • global page template name 
  • space:page template name 
script

Show <type> markup code

(Where 'type' includes Graphviz/ UML)

FalseShows the markup code, Graphviz or UML, below the generated graph. Useful for fixing syntax errors or to see the markup that is generated by macro processing or macros like the Space graph macro.showCode
Attachment name

Specify the name of the attachment to use, create or update. Use of attachments is optional but can be useful for linking from other places and to work with the Cache macro to improve display performance.

Examples:

  • graphviz.png — the image is saved as an attachment to the current page.
  • page^graphviz.png — the image is saved as an attachment to the page name provided.
  • Space:page^graphviz.png — the image is saved as an attachment to the page name provided in the space indicated.
attachment
Attachment versionnew

Specifies how the generated graph is persisted as an attachment.

  • new — creates a new version of the attachment.
  • replace — replaces all previous versions of the attachment. To replace an existing attachment, the user must be authorized to remove attachments for the page specified.
  • keep — only saves a new attachment if there is no existing attachment. An existing attachment will not be changed or updated.
attachmentVersion
Attachment comment

Specify the comment on the attachment that is created or updated.

attachmentComment
Attachment versions to keep

Limits the number of attachment versions of a file that is attached to a page. If the maximum number of attachments exceeds the limit, then the oldest version is deleted. Since version 3.2. 

This parameter is only applicable if you select new from the drop-down list under Attachment version in the macro editor.

attachmentLimit

ThumbnailFalse

Used when an attachment is specified, and output is PNG, JPG, or GIF. Renders graph as a thumbnail.

  • In some cases, the image and the thumbnail generated are of the same size. This is because the image is too small and fits the preview screen perfectly.
  • This parameter is not applicable for the Flowchart and Space graph macros.
thumbnail
Render wiki markup macros in bodyFalse

Used to render wiki markup macros found in the body before processing as Graphviz markup. This is useful to run macros from Scripting for Confluence or similar that can produce Graphviz markup as output. Since 3.2.

This parameter is not available in the Graph from table and Space graph macros.

macros
Layoutdot

Specifies which default layout algorithm to use. Since 3.2.

  • dot− filter for drawing directed graphs
  • neato − filter for drawing undirected graphs
  • twopi − filter for radial layouts of graphs
  • circo− filter for a circular layout of graphs
  • fdp− filter for drawing undirected graphs

This parameter is not available in the PlantUML macro.

layout
Profile

Specify a profile to be used with the macro. Administrators set up profiles to connect to other applications such as GitHub or GitLab. Profiles contain a basic set of parameters used to access a remote location such as the type of URL, user credentials, and so on. Some profiles may be restricted. Since 3.4.

  • This parameter is not available in the Graph from table and Space graph macros.
  • Contact your administrator to know more about the profiles used in your instance.
  • If a profile is specified, it is recommended to provide the relative path to the location of the required file to be rendered.
profile

URL to <macro> file

(Where 'macro' includes Graphviz/ Diagraph/ Graph/ PlantUML)


Specifies the URL link to the Graphviz file. Administrators may restrict use. Since 3.2.

  • The URLs are restricted to the whitelisted URLs.
  • This parameter is not available in the Graph from table and Space graph macros.
URL
URL user
(Removed)

Specify the user name to access the specified URL via basic authentication. Since 3.2.

Removal notice

Please note that the URL user and URL user password parameters were removed (see Deprecation notice: URL user and URL user password parameters). We recommend using profiles to access external data.

user
URL user password
(Removed)

Specify the user password to access the specified URL via basic authentication. Since 3.2.

Removal notice

Please note that the URL user and URL user password parameters were removed (see Deprecation notice: URL user and URL user password parameters). We recommend using profiles to access external data.


password
URL connection timeout
Specify the time in milliseconds used to increase the wait time to access the specified URL on slower connections. Since 3.2.timeout
File encoding

Specify the encoding of the file attachment if it is different from the Confluence default (like Windows-1252, UTF-8, MacRoman). Since 3.2.

encoding
Enable scroll bartrueUsed to enable scroll bar for the data generated by Graphviz. Since 3.4.1enableScroll
Height of the scroll bar550pxSpecify the height of scroll (applicable when scroll bar is enabled). Since 3.4.1scrollHeight

For multiple macro sources (i.e. template, attachment, and URL), the order of precedence is URL > attachment > template.

Points to remember about profiles:

  • Only raw URLs must be given in either, the URL field in profiles or the URL to Graphviz/Diagraph/Graph/PlantUML file field, in the macros. A raw URL is defined as the part of the URL following the domain information and includes the query string, if present. For example, in the URL string http://www.contoso.com/articles/recent.aspx, the raw URL is /articles/recent.aspx.
  • It is recommended to specify absolute URLs to access files from public locations and to use profiles to access files from private sources. For example, a raw URL that can access a Graphviz file in a public Bitbucket repository is valid. But to render a file located in a private repository, we recommend using a profile.
  • Profiles are a means to access and retrieve contents from external applications such as Bitbucket, GitLab or GitHub. A profile already contains the base URL and the required credentials (user credentials or an access token) to access the relevant application.
  • This method allows multiple users to access a profile across pages and instances of the macro.

It is recommended to use the right click > Open Link in New Tab option to open any hyperlinks in nodes.

Examples

These are some very basic examples of what you can achieve easily. For more advanced layouts and formatting, please refer to the Graphviz resources.

Macro Call

Macro Output

{graphviz}
digraph { 
  A -> B 
  A -> C 
  C -> D 
}
{graphviz} 



Find answers from the community.

Ask a question to the community.

Log a request with our support team.

Confluence®, Jira®, Atlassian Bamboo®, Bitbucket®, Fisheye®, and Atlassian Crucible® are registered trademarks of Atlassian®
Copyright © 2005 - 2024 Appfire | All rights reserved. Appfire™, the 'Apps for makers™' slogan and Bob Swift Atlassian Apps™ are all trademarks of Appfire Technologies, LLC.