WorkingDirectory ​Working​Directory

yaml
type: "io.kestra.plugin.core.flow.workingdirectory"
yaml
id: git_python
namespace: company.team

tasks:
  - id: wdir
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: clone_repository
        type: io.kestra.plugin.git.Clone
        url: https://github.com/kestra-io/examples
        branch: main

      - id: python
        type: io.kestra.plugin.scripts.python.Commands
        taskRunner:
          type: io.kestra.plugin.scripts.runner.docker.Docker
        containerImage: ghcr.io/kestra-io/pydata:latest
        commands:
          - python scripts/etl_script.py

yaml
    id: api_json_to_mongodb
    namespace: company.team

    tasks:
      - id: wdir
        type: io.kestra.plugin.core.flow.WorkingDirectory
        outputFiles:
          - output.json
        inputFiles:
          query.sql: |
            SELECT sum(total) as total, avg(quantity) as avg_quantity
            FROM sales;
        tasks:
          - id: inline_script
            type: io.kestra.plugin.scripts.python.Script
            taskRunner:
              type: io.kestra.plugin.scripts.runner.docker.Docker
            containerImage: python:3.11-slim
            beforeCommands:
              - pip install requests kestra > /dev/null
            script: |
              import requests
              import json
              from kestra import Kestra

              with open('query.sql', 'r') as input_file:
                  sql = input_file.read()

              response = requests.get('https://api.github.com')
              data = response.json()

              with open('output.json', 'w') as output_file:
                  json.dump(data, output_file)

              Kestra.outputs({'receivedSQL': sql, 'status': response.status_code})

      - id: load_to_mongodb
        type: io.kestra.plugin.mongodb.Load
        connection:
          uri: mongodb://host.docker.internal:27017/
        database: local
        collection: github
        from: "{{ outputs.wdir.uris['output.json'] }}"

yaml
id: working_directory
namespace: company.team

tasks:
  - id: working_directory
    type: io.kestra.plugin.core.flow.WorkingDirectory
    tasks:
      - id: first
        type: io.kestra.plugin.scripts.shell.Commands
        commands:
        - 'echo "{{ taskrun.id }}" > {{ workingDir }}/stay.txt'
      - id: second
        type: io.kestra.plugin.scripts.shell.Commands
        commands:
        - |
          echo '::{"outputs": {"stay":"'$(cat {{ workingDir }}/stay.txt)'"}}::''

yaml
id: node_with_cache
namespace: company.team

tasks:
  - id: working_dir
    type: io.kestra.plugin.core.flow.WorkingDirectory
    cache:
      patterns:
        - node_modules/**
      ttl: PT1H
    tasks:
      - id: script
        type: io.kestra.plugin.scripts.node.Script
        beforeCommands:
          - npm install colors
        script: |
          const colors = require("colors");
          console.log(colors.red("Hello"));
Properties
SubType
Min items 1
SubType
SubType
SubType string
Default true
SubType string
Default false
Default OVERWRITE
Possible Values
OVERWRITEFAILWARNIGNORE
SubType string
SubType string
Default ["{{flow.namespace}}"]
SubType string
Format duration