BuildMaster Documentation

Advanced Import & Export

  • Last Modified: 2020-01-30

Behind the scenes, the Application Template and Backup & Restore features use the application import and export feature.

Advanced Application Export

In order to perform an advanced export, visit the Settings > Advanced Settings page from within an application. Selecting Export as Application Template... > Advanced... will enable an application export with the following options:

  • Compatibility - used by application templates to coordinate BuildMaster version and export version compatibility. This option is generally only used by Inedo for samples and templates, and otherwise should remain set at "Current"
  • Package name - the name of the exported package
  • Package tags - optional package tags used primarily to categorize exported application templates and samples
  • Title - the UI-friendly title of the exported package
  • Description - a more in-depth description of the exported package; Markdown is supported in this field
  • Icon - an optional package icon
  • Options - currently only a single option to include history (build/release/deployment logs, etc.)

Packages exported from this page will be published to the Templates package source.

Importing Applications

Follow the Restore Applications documentation to restore an application exported in the previous section.

Package File Format

Applications will be exported as a standard universal package which is essentially a zip file containing application configuration and history, along with a JSON-based manifest file (upack.json) that describes the contents of the package.

In addition to the standard name and version properties, BuildMaster will include a _exportDate and _bmVersion property in upack.json. The package contents will be a collection of JSON-formatted files including:

FilenameDescription
app.jsonInformation about the application
deployables.jsonDeployables and deployable variables
privileges.jsonApplication-scoped privileges
pipelines.jsonPipelines
global/pipelines.jsonGlobal pipelines that the application uses
release-templates.jsonRelease templates
scripts.jsonScript assets
text-templates.jsonText template assets
database-change-scripts.jsonDatabase change scripts
config-files.jsonConfiguration file assets
issue-sources.jsonIssue sources configured for the application
issues.jsonAlready synchronized issues and their status
plans.jsonDeployment plans
credentials.jsonApplication-scoped credentials, encryption info
secure-resources.jsonApplication-scoped resources
repository-monitors.jsonApplication-scoped repository monitors
webhooks.jsonApplication-scoped webhook monitors
counts.jsonIndex/counts of all of the items in the import package
setup-template.jsonThe corresponding setup template
releases.jsonHistoric; releases
builds.jsonHistoric; builds
artifacts.jsonHistoric; build artifact metadata
promotions.jsonHistoric; build deployments to stages
executions.jsonHistoric; execution records
log-scopes.jsonHistoric; log "scopes" (headings) in log files
log-entries.jsonHistoric; log text entries within a scope

This is not an exhaustive list of files, and because these files are intended to only be used by BuildMaster, the precise format of these files is documented only in the source code (but you can request source code access).

Is this documentation incorrect or incomplete? Help us by contributing!

This documentation is licensed under CC-BY-SA-4.0 and stored in GitHub.

Generated from commit 54a232bc on master