passbolt/passbolt_api · info
bin/cake directory_sync test --verbose for more details
Error message
bin/cake directory_sync test --verbose for more details
What it means
Companion hint printed by TestCommand::displayInvalidEntries telling the operator to re-run `bin/cake directory_sync test --verbose` to see detailed per-entry validation errors. It is informational output, not an exception; it always accompanies the invalid-users message.
Solutions
- Run `bin/cake passbolt directory_sync test --verbose` to print each invalid user's errors and JSON payload.
- Fix the directory data or attribute mapping per the printed errors.
Example fix
// before bin/cake directory_sync test --verbose // after bin/cake passbolt directory_sync test --verbose
Defensive patterns
Strategy: validation
Validate before calling
exec('bin/cake passbolt directory_sync test --verbose', $out, $code);
if ($code !== 0) { /* inspect $out for per-entry errors */ } Prevention
- Always run the test command with --verbose when invalid entries are reported
- Use the full namespaced command: bin/cake passbolt directory_sync
When it happens
Trigger: Same run as the invalid-users warning: `bin/cake passbolt directory_sync test` with invalid user entries, printed unconditionally after the count message.
Common situations: Operators seeing invalid entries and needing the follow-up command; confusing older syntax `bin/cake directory_sync` instead of the namespaced `bin/cake passbolt directory_sync`.
Understand the failure class
Background: Schema validation failed / invalid input schema: payload rejected because its shape doesn't match the expected schema — this error's family across 28 libraries.
Related errors
- group(s) returned by your directory are invalid and will be…
- users returned by your directory are invalid and will be…
- $e->getMessage()
- [FAIL] </error>
- $exception->getMessage()
AI-assisted analysis of passbolt/passbolt_api@31c1bbc10f (2026-09-17).
Data as JSON: /api/errors/37222050bdc0e005.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/PassboltEe/DirectorySync/src/Command/TestCommand.php:196
/**
* Display invalid objects.
*
* @param array $data data
* @param \Cake\Console\ConsoleIo $io Console IO.
* @return void
*/
protected function displayInvalidEntries(array $data, ConsoleIo $io): void
{
if (count($data['users'])) {
$io->hr();
$io->err(
__(
'{0} users returned by your directory are invalid and will be ignored during synchronization',
count($data['users'])
)
);
$io->err(__('bin/cake directory_sync test --verbose for more details'));
$io->hr();
foreach ($data['users'] as $user) {
$io->verbose(__('Error: ') . $user->getErrorsAsString());
$io->verbose(json_encode($user->toArray(), JSON_PRETTY_PRINT));
}
}
if (count($data['groups'])) {
$io->hr();
$io->err(
__(
'{0} group(s) returned by your directory are invalid and will be ignored during synchronization',
count($data['groups'])
)
);
$io->hr();
foreach ($data['groups'] as $group) {
$io->verbose(__('Error: ') . $group->getErrorsAsString());View on GitHub (pinned to 31c1bbc10f)