kestra-io / kestra-io/plugin-ldap
Modify task input doesn't accept output in array format
- Dominant language
- Java
- Stars
- 0
- Forks
- 7
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 5
Description
### Describe the issue
While reviewing this blueprint, I discovered what looks like a bug: https://github.com/kestra-io/blueprints/pull/262/changes#r3775132202
Blueprint:
- GitHub: https://github.com/kestra-io/blueprints/blob/main/flows/ldap-employee-offboarding-deprovision.yaml
- Website: https://kestra.io/blueprints/ldap-employee-offboarding-deprovision
The problem came from these two tasks. The first one produces an output of type array. The second one takes an input of type array. However the flow code below is not valid.
```yaml
- id: convert_to_ldif
type: io.kestra.plugin.ldap.IonToLdif
description: Convert the moddn and modify Ion records into the LDIF format the Modify task expects.
inputs:
- "{{ outputs.build_deprovision_records.uri }}"
- id: apply_deprovisioning
type: io.kestra.plugin.ldap.Modify
description: Apply the moddn and modify operations. Each record is processed independently, so a group that no longer exists is logged and skipped without blocking the account move.
inputs: "{{ outputs.convert_to_ldif.urisList }}"
```
Instead, it is only accepting the format like this, aka each item in the array stated separately:
```yaml
inputs:
- "{{ outputs.convert_to_ldif.urisList[0] }}"
```
It should accept the whole array inline but doesn't.
### Environment
- Kestra Version: 2.0 RC7 EE
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the IonToLdif and Modify task implementations in the plugin, using the LDAP offboarding blueprint and its two task definitions as the reproduction case. Trace how the Modify task receives outputs. Done means inputs accepts the complete urisList array inline, rather than requiring each element to be indexed separately.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100