Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# Changelog

## [Version 1.4.3](https://github.com/dataiku/dss-plugin-api-connect/releases/tag/v1.4.3) - Bugfix - 2026-07-27
## [Version 1.4.3](https://github.com/dataiku/dss-plugin-api-connect/releases/tag/v1.4.3) - Feature and bugfix - 2026-07-27

- Fix templating for multiform body
- Adding a configurable retry for several HTTP errors
- Fix issue with empty cell(s) in bigint columns of the recipe's input dataset

## [Version 1.4.2](https://github.com/dataiku/dss-plugin-api-connect/releases/tag/v1.4.2) - Bugfix - 2026-07-22

Expand Down
12 changes: 6 additions & 6 deletions custom-recipes/api-connect/recipe.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
import dataiku
from dataiku.customrecipe import get_input_names_for_role, get_recipe_config, get_output_names_for_role
import pandas as pd
from safe_logger import SafeLogger
from dku_utils import get_dku_key_values, get_endpoint_parameters, get_secure_credentials, get_user_secrets, get_retry_handler_parameters_from_config
from rest_api_recipe_session import RestApiRecipeSession
from dku_constants import DKUConstants
from retry_handler import RetryHandler
from api_connect_safe_logger import SafeLogger
from api_connect_dku_utils import get_dku_key_values, get_endpoint_parameters, get_secure_credentials, get_user_secrets, get_retry_handler_parameters_from_config
from api_connect_rest_api_recipe_session import RestApiRecipeSession
from api_connect_dku_constants import DKUConstants
from api_connect_retry_handler import RetryHandler


logger = SafeLogger("api-connect plugin", forbidden_keys=DKUConstants.FORBIDDEN_KEYS)
Expand Down Expand Up @@ -54,7 +54,7 @@ def get_partitioning_keys(id_list, dku_flow_variables):
input_parameters_dataset = dataiku.Dataset(input_A_names[0])
partitioning_keys = get_partitioning_keys(input_parameters_dataset, dku_flow_variables)
custom_key_values.update(partitioning_keys)
input_parameters_dataframe = input_parameters_dataset.get_dataframe(infer_with_pandas=False)
input_parameters_dataframe = input_parameters_dataset.get_dataframe(infer_with_pandas=False, use_nullable_integers=True)
backoff_type, initial_delay, maximum_number_of_retries, maximum_duration_of_retry, status_codes_to_retry = get_retry_handler_parameters_from_config(config)
retry_handler = None
if backoff_type:
Expand Down
10 changes: 5 additions & 5 deletions python-connectors/api-connect_dataset/connector.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
from dataiku.connector import Connector
from dataikuapi.utils import DataikuException
from safe_logger import SafeLogger
from rest_api_client import RestAPIClient
from dku_utils import (
from api_connect_safe_logger import SafeLogger
from api_connect_rest_api_client import RestAPIClient
from api_connect_dku_utils import (
get_dku_key_values, get_endpoint_parameters,
parse_keys_for_json, get_value_from_path, get_secure_credentials,
decode_csv_data, decode_bytes, get_user_secrets, get_retry_handler_parameters_from_config
)
from dku_constants import DKUConstants
from api_connect_dku_constants import DKUConstants
import json
from retry_handler import RetryHandler
from api_connect_retry_handler import RetryHandler


logger = SafeLogger("api-connect plugin", forbidden_keys=DKUConstants.FORBIDDEN_KEYS)
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import math
from collections import defaultdict
from jsonpath_ng.ext import parse
from safe_logger import SafeLogger
from api_connect_safe_logger import SafeLogger


logger = SafeLogger("api-connect plugin utils")
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from safe_logger import SafeLogger
from dku_utils import get_value_from_path, extract_key_using_json_path, join_url
from api_connect_safe_logger import SafeLogger
from api_connect_dku_utils import get_value_from_path, extract_key_using_json_path, join_url


logger = SafeLogger("api-connect plugin Pagination")
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
import time
import copy
import tempfile
from pagination import Pagination
from safe_logger import SafeLogger
from loop_detector import LoopDetector
from dku_utils import get_dku_key_values, get_dku_duplicated_key_values, template_dict, format_template, is_reponse_xml, xml_to_json
from dku_constants import DKUConstants
from rest_api_auth import get_auth
from retry_handler import DefaultRetryHandler
from api_connect_pagination import Pagination
from api_connect_safe_logger import SafeLogger
from api_connect_loop_detector import LoopDetector
from api_connect_dku_utils import get_dku_key_values, get_dku_duplicated_key_values, template_dict, format_template, is_reponse_xml, xml_to_json
from api_connect_dku_constants import DKUConstants
from api_connect_rest_api_auth import get_auth
from api_connect_retry_handler import DefaultRetryHandler


logger = SafeLogger("api-connect plugin", forbidden_keys=DKUConstants.FORBIDDEN_KEYS)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from dataikuapi.utils import DataikuException
from rest_api_client import RestAPIClient
from safe_logger import SafeLogger
from dku_utils import parse_keys_for_json, get_value_from_path, decode_csv_data, de_NaN, decode_bytes
from dku_constants import DKUConstants
from api_connect_rest_api_client import RestAPIClient
from api_connect_safe_logger import SafeLogger
from api_connect_dku_utils import parse_keys_for_json, get_value_from_path, decode_csv_data, de_NaN, decode_bytes
from api_connect_dku_constants import DKUConstants
import copy
import json
import requests
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import requests
import time
from safe_logger import SafeLogger
from api_connect_safe_logger import SafeLogger


logger = SafeLogger("api-connect plugin retry handler")
Expand Down
File renamed without changes.
7 changes: 6 additions & 1 deletion tests/python/integration/test_scenario.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,5 +70,10 @@ def test_run_api_connect_multipart_form_data(user_dss_clients):
def test_run_api_connect_multipart_form_data_templating(user_dss_clients):
dss_scenario.run(user_dss_clients, project_key=TEST_PROJECT_KEY, scenario_id="MULTIPARTFORMDATATEMPLATING")


def test_run_api_connect_multipart_form_data(user_dss_clients):
dss_scenario.run(user_dss_clients, project_key=TEST_PROJECT_KEY, scenario_id="NULLININPUTDATASET")


def test_run_api_connect_retry_handler(user_dss_clients):
dss_scenario.run(user_dss_clients, project_key=TEST_PROJECT_KEY, scenario_id="RETRY")
dss_scenario.run(user_dss_clients, project_key=TEST_PROJECT_KEY, scenario_id="RETRY")
6 changes: 3 additions & 3 deletions tests/python/unit/test_common.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from dku_utils import template_dict, join_url
from rest_api_client import RestAPIClient
from retry_handler import RetryHandler
from api_connect_dku_utils import template_dict, join_url
from api_connect_rest_api_client import RestAPIClient
from api_connect_retry_handler import RetryHandler
import pytest
import requests

Expand Down