Dane wejściowe automatyzacji
Dane wejściowe to pliki podawane automatyzacji na czas konkretnego uruchomienia - faktury do przetworzenia, arkusz z listą kontrahentów, paczka dokumentów do wysyłki. W odróżnieniu od pakietu robota, nie są częścią kodu i nie muszą być takie same przy każdym wywołaniu.
Zarządzasz nimi w zakładce Dane wejściowe, obok zakładek Pliki automatyzacji i Zmienne i sekrety.
Nad listą widnieje przypomnienie o roli tych plików:
Tymczasowe pliki wejściowe do lokalnych uruchomień. Nie są częścią opublikowanej automatyzacji.
Pliki zebrane są w grupie ./input/ opisanej jako katalog wejściowy - to dokładnie ta ścieżka, którą zobaczy skrypt. Licznik przy nazwie zakładki pokazuje, ile plików czeka na najbliższe uruchomienie.
1. Pakiet robota a dane wejściowe
Rozróżnienie tych dwóch rzeczy jest kluczowe dla dobrego zaprojektowania automatyzacji.
| Pakiet robota | Dane wejściowe | |
|---|---|---|
| Co zawiera | Kod, moduły, konfigurację, manifest zależności | Materiał do przetworzenia |
| Jak często się zmienia | Rzadko, wraz z nową wersją | Potencjalnie przy każdym uruchomieniu |
| Gdzie ląduje | Katalog główny środowiska roboczego | Katalog input/ |
| Czy jest częścią opublikowanej wersji | Tak | Nie |
Dane wejściowe nie są wersjonowane
Pliki wgrane jako dane wejściowe służą lokalnym uruchomieniom testowym i nie wchodzą w skład opublikowanej wersji automatyzacji. Publikacja utrwala kod, nie materiał do przetworzenia.
2. Wgranie danych wejściowych
- W widoku automatyzacji przejdź do zakładki Dane wejściowe.
- Upuść pliki na obszar wgrywania albo skorzystaj z przycisków Dodaj pliki i Dodaj folder.
- Pliki pojawią się na liście i będą dostępne przy kolejnym uruchomieniu.
Menu (⋮) przy każdym pliku pozwala go podejrzeć, pobrać albo usunąć - przydaje się, gdy chcesz wymienić jedną pozycję ze wsadu bez wgrywania całości od nowa.
3. Odczyt w skrypcie
Pliki wgrane jako dane wejściowe lądują w katalogu input/ względem katalogu roboczego. Czytaj je ścieżką względną:
import json
from pathlib import Path
for plik in sorted(Path("input").glob("*.json")):
dane = json.loads(plik.read_text(encoding="utf-8"))
print("przetwarzam:", plik.name, "->", dane["numer"])
Sortowanie warto dodać świadomie: kolejność zwracana przez glob nie jest gwarantowana, a przy wsadzie dokumentów zwykle zależy nam na powtarzalnym porządku.
Konkretny plik po nazwie:
from pathlib import Path
manifest = Path("input/kontrahenci.csv")
if not manifest.is_file():
raise SystemExit("Brak pliku kontrahenci.csv w danych wejściowych")
Warto sprawdzać obecność plików na starcie: automatyzacja uruchomiona bez oczekiwanych danych powinna zakończyć się od razu czytelnym komunikatem, a nie przetworzyć pustą listę i zameldować sukces. Zerowa liczba przetworzonych pozycji rzadko bywa poprawnym wynikiem.
4. Wzorce przekazywania danych
4.1. Plik konfiguracyjny sterujący przebiegiem
Poza materiałem do przetworzenia dane wejściowe dobrze nadają się do sterowania zachowaniem robota bez zmiany kodu:
{
"tryb": "pelny",
"limit_pozycji": 500,
"pomijaj_bledne": true
}
import json
from pathlib import Path
cfg = json.loads(Path("input/parametry.json").read_text(encoding="utf-8"))
limit = cfg.get("limit_pozycji", 100)
Takie podejście sprawdza się, gdy parametrów jest dużo albo mają strukturę. Dla pojedynczych wartości prostsze i czytelniejsze są zmienne.
Odróżnij konfigurację od materiału do przetworzenia
Skrypt, który bierze wszystkie pliki z input/ jako dane do obróbki, potknie się o dorzucony
parametry.json. Albo czytaj konfigurację po dokładnej nazwie i pomijaj ją w pętli, albo trzymaj
ją w pakiecie (jak config/ustawienia.json), a w danych wejściowych zostaw sam materiał.
4.2. Dane wsadowe dla uruchomień produkcyjnych
Zakładka Dane wejściowe obsługuje uruchomienia testowe wykonywane z panelu. Dla procesów produkcyjnych, gdzie każde wywołanie ma własną paczkę dokumentów i własną referencję, służy mechanizm zgłoszeń - pozwala przygotować komplet plików, opisać go referencją i dopiero wtedy wypuścić uruchomienie.
5. Katalog wejściowy a katalog wyjściowy
Nie myl obu katalogów - mają rozłączne role:
| Katalog | Kierunek | Zawartość |
|---|---|---|
input/ |
do robota | Pliki, które wgrałeś przed uruchomieniem |
output/ |
od robota | Pliki, które robot wytworzył i które wrócą jako artefakty |
Plik zapisany do input/ w trakcie pracy nie wróci do panelu. Wszystko, co ma być widoczne po zakończeniu, musi trafić do katalogu wskazywanego przez OUTPUT_DIR - patrz Kontrakt skryptu.

