Your issue requires addressing all three components: delegated approval configuration, JavaClient user roles, and workflow approval matrix settings.
Delegated Approval Configuration:
First, verify delegation is properly configured in User Management. For each primary approver, go to User Management > User > Delegation tab. Ensure ‘Delegate Workflow Approvals’ checkbox is enabled and the delegation period covers your timeframe. Critical point: delegation must be saved and activated BEFORE the delegated user logs into JavaClient.
JavaClient User Roles:
The authentication error occurs because JavaClient validates workflow privileges differently than Web Client. Your delegated users need these specific role assignments:
// Required role privileges for JavaClient workflow approval:
- Role: Change Analyst (or equivalent)
- Privileges: "Approve Changes", "Modify Change Orders"
- Workflow Access: Explicit inclusion in ECO approval matrix
Go to Admin > Users and Roles > Roles, edit the role assigned to delegated users, and verify under Privileges tab that workflow approval privileges are explicitly granted, not inherited.
Workflow Approval Matrix:
This is the key fix. Edit your ECO workflow (Admin > Workflows > ECO). In the approval node configuration, the approval matrix must list ALL roles that can approve, including delegated user roles. JavaClient doesn’t dynamically resolve delegation - it checks if the user’s current role appears in the matrix.
Modify your approval matrix from:
Approval Matrix: [Engineering Manager Role]
To:
Approval Matrix: [Engineering Manager Role] OR [Senior Engineer Role] OR [Engineering Lead Role]
Include every role that delegated users might have. This allows JavaClient’s authentication check to pass when it validates the user’s actual assigned role against the matrix.
Additional Configuration:
In agile.properties, verify:
com.agile.pc.cmserver.workflow.validateDelegation=true
com.agile.pc.cmserver.workflow.allowDelegatedApproval=true
After making these changes:
- Have delegated users restart JavaClient completely
- Clear JavaClient cache (delete .agile folder in user home directory)
- Test approval with a delegated user on a test ECO
- Check server logs for any remaining privilege validation errors
The root cause is JavaClient’s strict privilege validation that doesn’t follow delegation chains like Web Client does. By explicitly including delegated user roles in the workflow matrix, you bypass the delegation resolution issue. This approach maintains security while enabling your backup approval process to function in JavaClient.
If issues persist after these changes, check your Agile server logs (agile.log) during a failed approval attempt - look for ‘PrivilegeValidationException’ entries that will show exactly which privilege check is failing.