Как получить URI для профиля пользователя?

Мне уже удалось получить URI аватара пользователя, используя следующий код:

URI uri = ComponentAccessor.getAvatarService().getAvatarURL(user, user.getName(), Avatar.Size.SMALL);

и он возвращает: /jira/secure/useravatar?size=small&avatarId=10122

Мой вопрос: есть ли способ получить URI для профиля пользователя?


person Krokodylowy    schedule 11.03.2013    source источник


Ответы (1)


Профиль пользователя находится по адресу jira.server.com/secure/ViewProfile.jspa?name=john, поэтому я думаю, вы можете получить URI, который вы можете сделать примерно так:

user = "john"
user_profile_uri = "/jira/secure/ViewProfile.jspa?name=" + user

Обновить

Чтобы найти URI динамически:

import com.atlassian.jira.ComponentManager
import java.net.URI
uri = new URI(ComponentManager.getInstance().getApplicationProperties().getString("jira.baseurl"))
return user_profile_uri = uri.getPath() + "ViewProfile.jspa?name=" + user
person Kuf    schedule 12.03.2013
comment
Да, я знаю, что могу создать URI вручную, скажем, с помощью построителя строк. Проблема в том, что первая часть этого URI различается на разных серверах — так что на моей машине это /jira/secure, а на продакшене немного отличается. Поэтому я ищу API, который всегда будет возвращать правильный путь. - person Krokodylowy; 12.03.2013
comment
ответ обновлен, если это было полезно, пожалуйста, примите эти ответы: ) - person Kuf; 21.03.2013
comment
Хм, спасибо за вклад, однако это не тот ответ, который я искал. Предоставленный вами код возвращает имя моего компьютера в локальной сети, а мой код для URI аватара возвращает localhost... Я знаю, что это сработает, однако это может выглядеть немного странно. Наконец, я использовал решение с регулярным выражением, примененным к URI аватара. И я по-прежнему считаю, что должен быть API, который делает свое дело. - person Krokodylowy; 21.03.2013
comment
@Krokodylowy, ты найдешь лучшее решение? Если ДА, можете ли вы поделиться со мной? - person Pavlo Zvarych; 25.03.2015