PushFlowsPushFlows
PushFlowsCertified

yaml
type: "io.kestra.plugin.git.PushFlows"
yaml
id: push_to_git
namespace: system

tasks:
  - id: commit_and_push
    type: io.kestra.plugin.git.PushFlows
    sourceNamespace: dev
    targetNamespace: prod
    flows: "*"
    includeChildNamespaces: true
    gitDirectory: _flows
    url: https://github.com/kestra-io/scripts
    username: git_username
    password: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
    branch: main
    commitMessage: "add flows {{ now() }}"
    dryRun: true

triggers:
  - id: schedule_push
    type: io.kestra.plugin.core.trigger.Schedule
    cron: "0 17 * * *"

yaml
id: git_push
namespace: system

tasks:
  - id: push
    type: io.kestra.plugin.core.flow.ForEach
    values: ["company", "company.team", "company.analytics"]
    tasks:
      - id: flows
        type: io.kestra.plugin.git.PushFlows
        sourceNamespace: "{{ taskrun.value }}"
        gitDirectory: "{{'flows/' ~ taskrun.value}}"
        includeChildNamespaces: false

      - id: scripts
        type: io.kestra.plugin.git.PushNamespaceFiles
        namespace: "{{ taskrun.value }}"
        gitDirectory: "{{'scripts/' ~ taskrun.value}}"

pluginDefaults:
  - type: io.kestra.plugin.git
    values:
      username: anna-geller
      url: https://github.com/anna-geller/product
      password: "{{ secret('GITHUB_ACCESS_TOKEN') }}"
      branch: main
      dryRun: false

triggers:
  - id: schedule_push_to_git
    type: io.kestra.plugin.core.trigger.Schedule
    cron: "0 11 * * 4"
Properties
Default`username`
Defaultmain
DefaultAdd flows from `sourceNamespace`
Default10000
Defaulttrue
Defaultfalse
Default**
Default_flows
Defaultfalse
Default60000
Default{{ flow.namespace }}