Złącze HR
Złącze HR
W tym przypadku użycia opisano produktowy konektor HR, który służy do importowania danych dotyczących użytkowników i okresów pracy do rozwiązania IGA . Pro konektor HR może odczytywać dane z plików XML, CSV lub JSON, które Klient eksportuje z systemu HR.
Opis przypadku użycia
Ten przypadek użycia jest dostępny wyłącznie w przypadku pakietów IGA Growth i Enterprise.
Należy pamiętać, że przy użyciu produktowego łącznika HR możliwy jest odczyt danych, jeśli jednak wymagany jest zapis danych, zaleca się skorzystanie z usługi Efecte Integration Services (lub podobnej platformy integracyjnej).
| Opis | |
Przegląd |
W tym przypadku użycia opisano, w jaki sposób użytkownicy i ich okresy pracy są importowani przy użyciu skonsolidowanego łącznika HR. |
Operatorzy |
Rozwiązanie IGA |
Wymagania wstępne |
Klient dostarczył wstępnie zdefiniowany plik JSON, CSV lub XML do uzgodnionej lokalizacji, gdzie integracja może go odczytać i rozpocząć importowanie danych użytkownika i okresu pracy do rozwiązania IGA . |
Wynik |
Dane dotyczące użytkownika i powiązanego okresu pracy są odczytywane przez rozwiązanie IGA . Rozwiązanie IGA może uruchamiać przepływy pracy związane z zarządzaniem cyklem życia użytkownika lub innymi przypadkami użycia. |
Łańcuch operacyjny |
|
Powiązane karty danych |
Okres pracy IGA |
Zmiany konfiguracji
Klient może wybrać te konfiguracje, nie wpływając przy tym na harmonogram projektu ani na szacunki prac.
1. Unikalny identyfikator
Klient może wybrać, czy identyfikator pracownika czy numer ubezpieczenia społecznego będzie używany jako unikalny identyfikator użytkownika
2. Harmonogram
Klient może zdefiniować kolejność harmonogramowania, pod warunkiem że zaimportowano poprzedni plik.
3. Walidacja
Klient może zdefiniować atrybuty obowiązkowe i opcjonalne. Należy pamiętać, że unikalny identyfikator jest zawsze obowiązkowy.
Możliwości ekspansji
Konsultanci Efecte zawsze muszą zapoznać się z możliwościami rozbudowy przed ich wdrożeniem i ustaleniem szacunkowych kosztów prac.
1. Klient może również wykorzystać łącznik do odczytu jednostek organizacyjnych, centrów kosztów i tytułów.
Jak dostosować skrypt łącznika
How to create and modify custom Python scripts
General info
Generic Python Script connector comes with couple out-of-the box Python scripts. You should not modify those. Instead, if you need to make modifications to those, copy-paste those to new name and then do your modifications to newly named python script file. And as last step, modify your connector to use that script.
Work order:
- Create your custom scheduled or task-based script
- Take it into use to connector from Connectors UI
Scheduled scripts
How to take your custom python script into use for scheduled tasks, guidance for 1 host and 1 worker environment:
Note! Do not change "default" .py files which came with environment installation.
Copy your customly named (in this example mypythonscript.py) python script to these folders from HOST (remember to use correct tenant_name in path):
cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_scheduled
cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-worker-1/files/custom-provisioning-scripts
cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts
Change your custom python script file permission to 755 on all those above locations where you copied your script(in this example mypythonscript.py) (remember to use correct tenant_name in path):
chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_scheduled/mypythonscript.py
chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-worker-1/files/custom-provisioning-scripts/mypythonscript.py
chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/mypythonscript.py
If you have more hosts, repeat on every host.
If you have more workers, repeat to every worker(check that worker folder name is correct).
Event-based scripts
How to take your custom python script into use for event-based tasks, guidance for 1 host environment:
Note! Do not change "default" .py files which came with environment installation.
Copy your customly named (in this example mypythonscript.py) python script to these folders from HOST (remember to use correct tenant_name in path):
cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_event
cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts
Change your custom python script file permission to 755 on all those above locations where you copied your script(in this example mypythonscript.py) (remember to use correct tenant_name in path):
chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_event/mypythonscript.py
chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/mypythonscript.py
If you have more hosts, repeat on every host.
Example/base for custom Event-based python script
This script reads attribute values from Connector and from Orchestration node. And prints values to logs. You can use this as a starting point for your own custom python script for Event-based tasks.
#!/usr/bin/python3
import json
import sys
import logging
def main():
# Configure logging, change log file name
logging.basicConfig(filename='python_event_task_abc.log', level=logging.INFO, format='%(asctime)s - %(message)s')
# Read inputs from stdin
lines = sys.stdin.read().splitlines()
if len(lines) != 2:
print("Error: Expected exactly two lines of input.")
raise Exception("Expected exactly two lines of input.")
# Parse the first line, this contains connector variables
try:
connector_parameters = json.loads(lines[0])
host = connector_parameters.get('host', None)
password = connector_parameters.get('password', None)
logging.info(f"Connector parameters, Host={host}")
# read custom connector parameters here
except json.JSONDecodeError:
raise Exception("Connector parameters is not a valid JSON string.")
# Parse the second line, this contains mappings data from template datacard
try:
task_mappings = json.loads(lines[1])
logging.info(f"Task mappings JSON: {task_mappings}")
#read task mappings data here
# Implement your logic here
except json.JSONDecodeError as e:
raise Exception("Task mappings is not a valid JSON string.") from e
# Exceptions raised are controlling workflow orchestration node flow, on exception it goes to Exception path, otherwise it goes to Completed path. Exception raised can be seen on Provisioning exception attribute value.
except Exception as e:
raise Exception("An unexpected error occurred") from e
if __name__ == "__main__":
main()
Take customly named script into use to connector
How to take your customly named Python script into use, by selecting it from Connectors UI. Select your script from connectors Provisioning script -dropdown:

Implementation and work estimations
Only Matrix42 has access to host, which is needed for these custom scripts to be installed.
These expansion possibilities always need Matrix42 consultants review, before implementation and work estimations can be agreed.
Jak działa HR-connector?
Przegląd ogólny
Łącznik HR wykorzystuje Efecte Provisioning Engine (łącznik Custom Script) do odczytu danych z pliku. Łącznik służy wyłącznie do odczytu danych do rozwiązania IGA .
1. Łącznik używa dodatkowych argumentów zdefiniowanych w zadaniu dostarczania opartym na harmonogramie w celu znalezienia pliku ze ścieżki (jeśli brakuje dodatkowego argumentu, proces zostaje zatrzymany)
2. Pliki są konwertowane do formatu JSON (słownik) i przechowywane jako JSON
3. Każdy plik można uruchomić w całości lub w części
4. Częściowe uruchomienie zawsze porównuje dane z plikiem archiwalnym (jeśli plik archiwalny jest nieobecny, proces zostaje zatrzymany)
5. Plik walidacyjny służy do sprawdzania, czy każdy wiersz (obiekt) zawiera pola obowiązkowe i wyświetlania ostrzeżeń w przypadku braku pól opcjonalnych
6. Po wykonaniu importu łącznik zaimportuje zadanie administracyjne IGA do rozwiązania IGA w tym błędy i pliki JSON zawierające zarchiwizowane i zaimportowane wiersze.
O plikach łącznika,
| Plik | Opis |
| error_(data_type)_archive.json | Przechowuje wiersze, które nie przeszły walidacji podczas przebiegu. Wiersze te nie są importowane do rozwiązania IGA . Plik jest nadpisywany przy każdym przebiegu. |
| Złącze IGA | Skrypt łącznika |
| (data_type_archive.json | Przechowuje wszystkie wiersze z pliku, które zostały uruchomione, zarówno prawidłowe, jak i nieprawidłowe. Plik jest nadpisywany przy każdym uruchomieniu. |
| ./logs/3_output.json | Zawiera wiersze, które przeszły walidację i powinny zostać zaimportowane do rozwiązania IGA |
| ./dane/kopia zapasowa | Zawiera przykładowe pliki w formatach JSON, XML i CSV |
| tłumaczenie.json | 1. Służy do tłumaczenia raportów na dany język. 2. Nowe języki można dodać, dodając „język”, np. „de” lub „en”, pod każdym przypadkiem z kluczem „tekst”. Każdy przypadek raportu musi mieć nowy język, w przeciwnym razie łącznik będzie generował błąd. 3. Aby użyć konkretnego języka, potrzebne są dodatkowe argumenty z kluczem „language” i wartością z pliku translation.json |
Wygeneruj plik z systemu HR
Pro łącznik HR zakłada, że plik zostanie wygenerowany z systemu HR w oparciu o następującą logikę.
| Logika | Informacje dodatkowe |
| Wszyscy użytkownicy z aktywnymi okresami pracy | Użytkownicy są wybierani na podstawie dat okresu pracy |
| Wszyscy użytkownicy z aktywnym okresem pracy w przyszłości | Miesiąc do przodu |
| Wszyscy użytkownicy z aktywnym okresem pracy w przeszłości | Miesiąc temu jest to konieczne, jeśli zmiany w danych użytkownika zostały wprowadzone po zakończeniu stosunku pracy. |
| Użytkownicy są sortowani na podstawie unikalnego identyfikatora | Unikalnym identyfikatorem może być numer pracownika lub numer ubezpieczenia społecznego. |
| Znak czasu ostatniej aktualizacji | Użytkowników można wybierać na podstawie ostatniego znacznika czasu aktualizacji, ale należy sprawdzić u Specjalisty ds. HR, jakie zmiany wprowadzają zmiany w znaczniku czasu. |
Parametry, walidacja i wyjątki
Parametry
Łącznik HR wykorzystuje następujące parametry:
| Parametr | Opis | Wartość obowiązkowa/opcjonalna |
| ścieżka_pliku | Ścieżka i wzorzec pliku, gdzie znajduje się plik. | Obowiązkowy |
| typ_danych | Wartości: centrum kosztów, organizacja, stanowisko lub okres pracy. | Obowiązkowy |
| typ_biegu | Typ uruchomienia określa, czy zostanie wykonane porównanie z poprzednim plikiem. Wartości: pełne obciążenie lub częściowe, domyślnie częściowe |
Fakultatywny |
| limit_aktualizacji | Ile aktualizacji jest dozwolonych w rozwiązaniu IGA . Jeśli import wykryje, że nastąpią aktualizacje większej liczby obiektów niż update_limit, przetwarzanie zostanie przerwane przed wykonaniem jakichkolwiek aktualizacji i zapisany zostanie komunikat o błędzie, który zakończy się stałym tekstem: „Zatrzymywanie procesu roboczego ETL”. |
Obowiązkowy |
| nadpisanie_limitu_aktualizacji | Nadpisuje limit aktualizacji, jeśli liczba aktualizacji przekracza podany limit. Wartości to prawda lub fałsz, domyślnie ustawiona jest wartość fałsz. | Fakultatywny |
| minimalna_liczba_wierszy | Jaka jest minimalna liczba wierszy, która powinna znajdować się w pliku. | Fakultatywny |
| użytkownik webapi | Użytkownik ESM do tworzenia raportów. Wymaga uprawnień do tworzenia i aktualizacji zadań administratora IGA . | Obowiązkowy |
| hasło_webapi | Hasło dla użytkownika webapi_user ESM | Obowiązkowy |
| adres URL webapi | Adres URL do środowiska ESM. | Obowiązkowy |
| kod_szablonu_raportu | Kod szablonu docelowego. | Obowiązkowy |
| kod_folderu_raportu | Kod folderu docelowego. | Obowiązkowy |
| odpluskwić | Włącza rejestrowanie debugowania. Wartości: prawda (true) lub fałsz (false), wartość domyślna: fałsz (false). | Fakultatywny |
Walidacja
Łącznik HR weryfikuje następujące atrybuty, wyjątki wymienione w drugiej tabeli
| Atrybut | Obowiązkowe / opcjonalne |
| Nazwisko | Obowiązkowy |
| Imię | Obowiązkowy |
| Numer ubezpieczenia społecznego | Obowiązkowy |
| Identyfikator pracownika | Obowiązkowy |
| Data rozpoczęcia zatrudnienia | Obowiązkowy |
| Identyfikator tytułu | Obowiązkowy |
| Identyfikator menedżera | Obowiązkowy |
| Identyfikator jednostki organizacyjnej | Obowiązkowy |
| Imię mówione | Fakultatywny |
| Drugie imię | Fakultatywny |
| Data zakończenia zatrudnienia | Fakultatywny |
| Rodzaj zatrudnienia | Fakultatywny |
| Czy jest to Menedżer użytkowników? | Fakultatywny |
| Tytuł | Fakultatywny |
| Imię i nazwisko menedżera | Fakultatywny |
| Typ użytkownika | Fakultatywny |
| Centrum kosztów | Fakultatywny |
| Nazwa jednostki organizacyjnej | Fakultatywny |
Wyjątki i zadania administratora IGA
Łącznik HR tworzy zadanie administracyjne IGA , jeśli wystąpi jeden z następujących wyjątków:
| Wyjątek | Opis | Działania administratora IGA |
| Plik nie został odebrany lub jest pusty, integracja generuje zadanie administracyjne IGA | Wygenerowano zadanie administratora IGA do przeglądu przez administratorów IGA | Administrator IGA sprawdza, dlaczego plik nie został wygenerowany z systemu HR lub dlaczego plik jest pusty. |
| Użytkownikowi brakuje unikalnego identyfikatora | Importowani są użytkownicy o unikalnych identyfikatorach, a zadanie administracyjne IGA jest tworzone w celu ręcznego przeglądu tych użytkowników, którym brakowało informacji. |
Unikalny identyfikator użytkownika musi zostać wprowadzony do systemu kadrowego, plik zostanie ponownie wygenerowany, a zadanie provisioningu zostanie uruchomione ręcznie |
| Brak dodatkowych argumentów w zadaniu provisioningowym opartym na harmonogramie (typ ETL-worker) | Obowiązkowe dodatkowe argumenty to: ścieżka_pliku typ_danych limit_aktualizacji użytkownik webapi hasło_webapi adres URL webapi kod_szablonu_raportu |
Konieczne jest dodanie dodatkowych argumentów do zaplanowanego zadania dostarczania zasobów, a administrator modułu IGA musi je ponownie uruchomić. |
| Brak pliku archiwum | Aby możliwe było częściowe wykonanie, konieczne jest znalezienie pliku archiwum | Zadanie administratora IGA mające na celu rozwiązanie problemu z brakującym plikiem. |
| Brak obowiązkowego pola (obiektu) lub wartości pola | Wiersz jest zablokowany, a import sfinalizowany, pojedynczy wiersz jest wykluczony z przetwarzania | Administrator IGA może sprawdzić w raporcie łącznika (zadanie administratora IGA ), czy jakiekolwiek wiersze zostały zablokowane. Należy dodać informacje do systemu źródłowego, a następnie ponownie wygenerować plik i uruchomić go ponownie. |
| Przekroczono limit aktualizacji (update_limit) | Import został przerwany (nie został uruchomiony). | Zadanie administratora IGA zostało utworzone dla administratora IGA w celu rozwiązania problemu. Administrator modułu IGA musi ponownie uruchomić zadanie. |
| Minimalna liczba wierszy na koncie nie została przekroczona | Import został przerwany (nie został uruchomiony). | Zadanie administratora IGA zostało utworzone dla administratora IGA w celu rozwiązania problemu. Administrator modułu IGA musi ponownie uruchomić zadanie. |
Instrukcje dotyczące relacji i konfiguracji
Relacje z innymi przypadkami użycia,
Relacje z innymi kartami danych,
Instrukcje konfiguracji,
Utwórz niestandardowe zadanie zaplecza
Pro wyprodukowanego łącznika HR wymagane jest skonfigurowanie niestandardowego zaplecza EPE do obsługi ESM.
- Zaloguj się do ESM jako administrator i przejdź do witryny administratora
- Wybierz kartę IGA
- Utwórz nowe niestandardowe zadanie zaplecza
- Wypełnij wymagane pola i przetestuj działanie. Na przykład


Przykład dotyczący parametrów:
{"objectGUID_field_name":"objectGUID", "sftp_server_fqdn":"transfer.xx.com", "sftp_server_ssh_port_number":"22", "sftp_username":"wpisz nazwę_użytkownika", "sftp_password":"wpisz nazwę_użytkownika", "sftp_remote_path_data":"/sftp/data", "sftp_remote_path_archive":"/sftp/archive", "file_path":"./data/HRconnector_file*.csv", "data_type":"workperiod", "run_type":"full", "update_limit": 10, "override_update_limit":true, "minimum_row_count": 3, "webapi_user": "wpisz nazwę_użytkownika", "webapi_password": „nazwa_użytkownika”, „adres_url_webapi”: „ https://baseline.efectecloud-dev.com ”, „kod_szablonu_raportu”: „informacje o zadaniach przepływu pracy IGA ”, „kod_folderu_raportu”: „zadania_iga”, „debugowanie”: prawda}