Missing user profile button on the top right of the page
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Problem
When Bamboo is using LDAP as the user repository, the User Profile button on the most top right of the page is missing.
The following appears in the atlassian-bamboo.log
2015-09-11 21:53:55,823 ERROR [http-bio-8085-exec-18] [runtime] Expression user.fullName is undefined on line 162, column 42 in fragments/decorator/header.ftl.
Expression user.fullName is undefined on line 162, column 42 in fragments/decorator/header.ftl.
The problematic instruction:
----------
==> ${user.fullName} [on line 162, column 40 in fragments/decorator/header.ftl]
in include "/fragments/decorator/header.ftl" [on line 37, column 5 in fragments/decorator/decorators.ftl]
in user-directive decorators.displayHtmlHeader [on line 6, column 1 in decorators/dashboardDecorator.ftl]
----------
Java backtrace for programmers:
----------
freemarker.core.InvalidReferenceException: Expression user.fullName is undefined on line 162, column 42 in fragments/decorator/header.ftl.
at freemarker.core.TemplateObject.assertNonNull(TemplateObject.java:124)
at freemarker.core.Expression.getStringValue(Expression.java:118)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
at freemarker.core.Environment.visit(Environment.java:210)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:210)
at freemarker.core.Environment.renderElementToString(Environment.java:1569)
at freemarker.core.StringLiteral.getStringValue(StringLiteral.java:101)
at freemarker.core.StringLiteral._getAsTemplateModel(StringLiteral.java:86)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.HashLiteral$SequenceHash.<init>(HashLiteral.java:131)
at freemarker.core.HashLiteral._getAsTemplateModel(HashLiteral.java:72)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.HashLiteral$SequenceHash.<init>(HashLiteral.java:131)
at freemarker.core.HashLiteral._getAsTemplateModel(HashLiteral.java:72)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.ListLiteral.getModelList(ListLiteral.java:125)
at freemarker.core.MethodCall._getAsTemplateModel(MethodCall.java:90)
at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
at freemarker.core.Expression.getStringValue(Expression.java:93)
at freemarker.core.DollarVariable.accept(DollarVariable.java:76)
at freemarker.core.Environment.visit(Environment.java:210)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
at freemarker.core.Environment.visit(Environment.java:210)
at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79)
at freemarker.core.Environment.visit(Environment.java:210)
at freemarker.core.MixedContent.accept(MixedContent.java:92)
Cause
When generating the button on the top header, Bamboo was unable to retrieve the full name of the logged in user. This can happen if the firstname LDAP attribute is not mapped properly.
Resolution
Check the LDAP mapping in Bamboo Home/xml-data/configuration/atlassian-user.xml
. Ensure that firstnameAttribute
is mapped to the correct LDAP attribute for the given name or first name of the user account.