GIT Connection¶
The GIT connection type enables the GIT Integrations.
Authenticating to GIT¶
Authenticate to GIT using GitPython. The hook supports both HTTPS (token-based) and SSH (key-based) authentication.
Default Connection IDs¶
Hooks and bundles related to GIT use git_default by default.
Configuring the Connection¶
- Repository URL
The URL of the git repository, e.g.
git@github.com:apache/airflow.gitfor SSH orhttps://github.com/apache/airflow.gitfor HTTPS. This can also be passed directly to the hook via therepo_urlparameter.- Username or Access Token name (optional)
The username for HTTPS authentication or the token name. Defaults to
userif not specified. When using HTTPS with an access token, this value is used as the username in the authenticated URL (e.g.https://user:token@github.com/repo.git).- Access Token (optional)
The access token for HTTPS authentication. When provided along with the username, the hook injects the credentials into the repository URL for HTTPS cloning.
- Extra (optional)
Specify the extra parameters as a JSON dictionary. The following keys are supported:
SSH key authentication:
key_file: Path to an SSH private key file to use for authentication.private_key: An inline SSH private key string. When provided, the hook writes it to a temporary file and uses it for the SSH connection. Mutually exclusive withkey_file.private_key_passphrase: Passphrase for the private key (works with bothkey_fileandprivate_key). UsesSSH_ASKPASSto provide the passphrase non-interactively.
SSH connection options:
strict_host_key_checking: Controls SSH strict host key checking. Defaults tono. Set toyesto enable strict checking.known_hosts_file: Path to a custom SSH known-hosts file. Whenstrict_host_key_checkingisnoand this is not set,/dev/nullis used.ssh_config_file: Path to a custom SSH config file (passed asssh -F).host_proxy_cmd: SSH ProxyCommand string for connecting through a bastion or jump host (e.g.ssh -W %h:%p bastion.example.com).ssh_port: Non-default SSH port number.
Example with key file:
{ "key_file": "/path/to/id_rsa", "strict_host_key_checking": "no" }
Example with inline private key and passphrase:
{ "private_key": "<content of your PEM-encoded private key>", "private_key_passphrase": "my-passphrase" }
Example with bastion host and custom port:
{ "key_file": "/path/to/id_rsa", "host_proxy_cmd": "ssh -W %h:%p bastion.example.com", "ssh_port": "2222", "strict_host_key_checking": "yes", "known_hosts_file": "/path/to/known_hosts" }