Configuring Git Repository
You can connect a Git repository when you manage extensibility artifacts such as configurations, scripts, and Domain-Specific Languages (DSLs), in source control. Connecting a Git repository enables version control, collaboration, and change tracking for these artifacts.
After you configure the Git repository, you can commit updates through your standard Git workflow, including branching, pull requests, and reviews.
To configure a Git repository:
- Create
git.jsonby cloninggit_template.json. - Configure
git.json.
Configuring git.json
The git.json file defines the remote Git repository, branch, and
authentication settings used by the following scripts:
gen.shorgen.batwith--download-from-gitgitUpload.sh or gitUpload.bat
You can configure the following parameters in git.json:
| Parameter | Used in | Description |
|---|---|---|
| uploadTargetBranch | Upload | (Optional) Use this parameter to specify the branch to push HEAD
to. If blank, defaults to
uploadCheckoutBranch. |
| uploadCheckoutBranch | Upload | (Optional) Use this parameter to specify the branch to check out or create locally before upload. If blank, defaults to main. |
| sshPrivateKeyPath |
Download and upload
|
(Optional) Use this parameter to specify the private key file path used only for SSH URLs. If blank, the default SSH configuration or agent is used. The key can be placed in the current working directory, or you can provide an absolute path. |
| remoteRepositoryUrl | Download and upload | (Required) Use this parameter to specify the remote Git repository URL to clone, push, or tag against - HTTP, HTTPS, or SSH. |
| integrationConfigurationsDirectory | Download and upload |
(Optional) Relative path inside the cloned repository used for
integration
configurations. Under this root, the following content is read or written:
In the download flow, content is copied from this location to the local workspace. In the upload flow, content is copied from the local workspace to this content root. The upload flow creates the content root when it is missing. If |
| httpsTrustSourcePath | Download and upload |
(Optional) Use this parameter to specify the HTTPS trust source path. This parameter accepts the following inputs:
Certificates or truststores can be placed in the current working directory, or you can provide an absolute path. This field is ignored for SSH repository URLs. |
| gitUsername | Download and upload | (Optional) Use this parameter to specify the user name for HTTP or HTTPS authentication. Used with GIT_TOKEN for authenticated access. |
| downloadSourceBranch | Download | (Required) Use this parameter to specify the branch used as the clone source for download. |
- For HTTP or HTTPS repository URLs, if you provide
gitUsername, you must also setGIT_TOKENby using--git-tokenin the entry scripts (gen.shorgen.bat). - For truststore inputs in
httpsTrustSourcePath, pass the truststore password in the entry scripts using one of the following parameters:--git-trusttore-password--git-truststore-password
This is strongly recommended for truststore files.
For some JKS files, Java can still load certificates with a null password. In this case, the integrity check is skipped, and Git operations may still succeed.
{
"remoteRepositoryUrl": "git@github.com:openint-conf/siebel-open-integration-configurations.git",
"downloadSourceBranch": "main",
"gitUsername": "",
"uploadCheckoutBranch": "feature/openint-config-sync",
"uploadTargetBranch": "main",
"sshPrivateKeyPath": "/Users/username/.ssh/id_rsa",
"integrationConfigurationsDirectory": "integration-configurations",
"httpsTrustSourcePath": "/Users/username/certs/internal-ca.pem"
}