BuildMaster Documentation

Importing & Exporting Applications

  • Last Modified: 2019-07-18

BuildMaster can export an application's configuration and history into a universal package, and then publish that package to a feed in ProGet or a file on a disk. You import applications in the same manner.

Exporting Applications

You can open the application export page from the application settings, or from Admin > Export Applications. When exporting applications, you have the following options:

  • Applications - list of applications to export; this option will only appear when the page is accessed from the administration section
  • Package name - optional; the name of the universal package to create; this defaults to the application name, and is ignored if multiple applications are selected
  • Package version - optional, the version of the universal package to create; this defaults to 0.0.0
  • Include history - when selected, the release history and deployment logs will be included in the package. Note that this does not include artifacts

You will also select how to publish the package, from one of two options:

  • Publish to Universal Feed - a feed on a ProGet instance
  • Save to Disk Path - a local or network path that the BuildMaster service can write to

Before publishing to a feed, you will need to setup an Inedo Product resource credential with the URL and optionally an API key to your ProGet server.

Importing Applications

You can open the application import dialog form the create new application page, or from Admin > Import Application. When importing, you must first select a source package:

  • Import from Universal Feed - import a specific package and version from a ProGet feed
  • Load from Disk Path -a local or network path that the BuildMaster service can read from

You will also be presented with the following options:

  • Application name - optional; the name of the application to create, this will default to the package name
  • Import history - when set, any of the release and deployment history that is included in the package will also be imported

Before importing from a feed, you will need to setup an Inedo Product resource credential with the URL and optionally an API key to your ProGet server.

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:

FilenameDescription
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
counts.jsonIndex/counts of all of the items in the import package
releases.jsonHistoric; releases
builds.jsonHistoric; builds
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

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 ce197caa on master