PushUnitTests
Commit and push Kestra Unit Tests created from Kestra UI to Git.
type: "io.kestra.plugin.ee.git.PushUnitTests"
Examples
Manually push a single unit test to Git if the input push is set to true.
id: push_unit_tests
namespace: prod
inputs:
- id: push
type: BOOL
defaults: false
tasks:
- id: if
type: io.kestra.plugin.core.flow.If
condition: "{{ inputs.push == true}}"
then:
- id: commit_and_push
type: io.kestra.plugin.ee.git.PushUnitTests
unitTests: myTestSuite
url: https://github.com/fdelbrayelle/plugin-git-qa
username: fdelbrayelle
password: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
branch: dev
commitMessage: "Add unit tests from {{ flow.namespace ~ '.' ~ flow.id }}"
Properties
branch string
main
The branch to which unit tests should be committed and pushed
If the branch doesn’t exist yet, it will be created. If not set, the task will push the files to the main
branch.
cloneSubmodules booleanstring
Whether to clone submodules
commitMessage string
Add unit tests from {{ flow.id }} namespace
Git commit message
delete booleanstring
true
Whether to delete flows/files from Git that are no longer present in Kestra
If true
(default), files present in Git but not in Kestra will be deleted from the Git repository.
dryRun booleanstring
false
If true
, the task will only output modifications without pushing any file to Git yet. If false
(default), all listed files will be pushed to Git immediately.
gitConfig object
Git configuration to apply to the repository
Map of Git config keys and values, applied after clone
Few examples:
- 'core.fileMode': false -> ignore file permission changes
- 'core.autocrlf': false -> prevent line ending conversion
gitDirectory string
_unit_tests
Directory to which unit tests should be pushed
passphrase string
The passphrase for the privateKey
password string
The password or Personal Access Token (PAT) -- when you authenticate the task with a PAT, any flows or files pushed to Git from Kestra will be pushed from the user associated with that PAT. This way, you don't need to configure the commit author (the authorName
and authorEmail
properties).
privateKey string
PEM-format private key content that is paired with a public key registered on Git
To generate an ECDSA PEM format key from OpenSSH, use the following command: ssh-keygen -t ecdsa -b 256 -m PEM
. You can then set this property with your private key content and put your public key on Git.
unitTests object
**
Which unit tests should be included in the commit
url string
The URI to clone from
username string
The username or organization