Git Integration Section

The configuration parameters of this section can be used to set up integration with Git versioning systems. This integration can be used to save asset collections to an external Git repository and to restore them from there. It can also be used to update workspace projects, in particular those created from TopBraid Studio or external programs.

Power users or administrators can create multiple git repository connections here. Use the + button to create a new instance for each repository, then click on the new instance to edit the following properties:

Parameter

Description

Git repository URL

The URL of a Git repository. For GitHub these should look like https://github.com/MyCompany/MyProject.git

Git repository user name

The user name to authenticate to the git repository (e.g. for push requests). Typically combined with a password. Note that for GitHub access, the password may need to be a personal access token. See https://github.com/settings/tokens.

Git repository password

This field is editable only if the other Git parameters are set.

GitHub App ID

The numeric GitHub App ID (found on the App’s settings page). Provide this together with the GitHub App private key as an alternative to user name and password authentication.

GitHub App private key

The RSA private key of the GitHub App in PEM format (PKCS#1 or PKCS#8). Download this from the GitHub App settings page (Generate a private key). Paste the full PEM content including the header and footer lines.

User names with access

The names of the TopBraid users that have permission to access the repository. Only users that are listed AND have editor permissions on an asset collection can read/pull or write/push with the asset collections linked to the repository. Admins and Power Users have all permissions.

Git project paths

The relative paths of folders in this git repo that shall be mapped to projects in the TopBraid workspace. Admins (NOT Power Users) can refresh those projects from the Modify menu. This is a good alternative to Project Upload.

GPG private key

The ASCII-armored GPG private key used to sign commits. Obtain this by running gpg --armor --export-secret-keys <KEY-ID> and pasting the full output (including the -----BEGIN PGP PRIVATE KEY BLOCK----- header and footer) into this field. Providing a key here enables commit signing for this repository; leave blank to commit without signing. The key is stored securely and is never written to disk in plaintext. The corresponding public key must be registered on GitHub under the account identified by Git repository user name.

GPG key passphrase

Optional, and only used when a GPG private key is provided. The passphrase that protects the stored GPG private key. Leave blank if the key was exported without a passphrase.

GPG signing key ID or fingerprint

Optional, and only used when a GPG private key is provided. The long key ID (for example 0x106FB59E2FBECEE9) or full fingerprint used to select a specific signing key or signing-capable subkey from the stored private key. If left blank, the first signing-capable key found in the stored private key is used.

The Modify Menu of the git configuration instances also offers various standard Git operations such as Pushing and Pulling.

Additional operations can be performed by JavaScript experts using the ADS framework, e.g. using the Script Editor Panel. The entry point into the Git API is IO.git.

See Also

Further Reading on TopBraid