# Client do not shows avatar's from jira

**URL:** <https://forums.rocket.chat/t/client-do-not-shows-avatars-from-jira/10652>\
**Category:** Rocket.Chat Apps\
**Created:** [March 16, 2021, 7:09am UTC](https://forums.rocket.chat/t/client-do-not-shows-avatars-from-jira/10652 "2021-03-16T07:09:08Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Georgiy](https://avatars.discourse-cdn.com/v4/letter/g/7993a0/32.png) [@Georgiy](https://forums.rocket.chat/u/Georgiy)\
**Post date:** [March 16, 2021, 7:09am UTC](https://forums.rocket.chat/t/client-do-not-shows-avatars-from-jira/10652/1 "2021-03-16T07:09:08Z")

</div>

Hello all!

We using snap version rocket, and after I change track from 2.x to 3.x I have some problems.  
We make integration Jira and rocket by web hook (with script on rocket side).  
Rocket version now 3.12.1  
Jira 8.5.1

![pix01](https://us1.discourse-cdn.com/flex021/uploads/rocketchat/original/2X/1/1b3fc1f8a8e79d0b8ac515ab569310009787571b.jpeg)  
Project avatar and user avatar does not shows, but in Browser version all shows right  
 ![pix02](https://us1.discourse-cdn.com/flex021/uploads/rocketchat/original/2X/6/667b595cb4b7e202c5e1c491e5e1ecc457ce5cb0.jpeg)

and issue avatar show larger than it is be

The script what we are using:

> **Script**
>
> ```
> /*jshint esnext:true*/
> const DESC_MAX_LENGTH = 300;
> const JIRA_LOGO = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACRElEQVRYhbWXsUscQRTGf4iIyHHIISIWIsHisMgfkNIiBJFwiKQIkipVqpA/wEZEggSxEkmZwiKI5A84REKKkIMQrINYBQmHBDmEHJdNMW+42dk3d3O76wcDu2/e973vZvfN7EF+PAfaMjYL6AzFJFBRYh0gkdEBpryciuQVwjPgFugCu068CvQcAz1g2pnfEc6taOTGL6dIAjxw5nad+FsnvuhxrosYuPbElrz5Rc8Ucu9yfhcxsAncYZZ4fwTeO+HcUcILWgFqOXg1si9vFBrAXB7iEMySfYQZzGCeWxdoAq+Bh8BYjoJjwn0jWrYrqsOIbdIvUQLseTmPgHXgiYx1ibnYU3RuYpyfKMQ/mNWx+KzkfHHmZ4Tj55zGGNhQiAlw5OQ8VeYbzvxRQCNqUxoHLgMCa07eRyd+4sTXAtwrYCLGAJje1URugLrkVIHvMuyLVZccjfsitrhFMyD0k36bTtA/cOZkTuOckaOTFtA7IgEuSG9ONeBHILctWrnwGNO/mvA3zAk4LddaThfTpoXwKiBuVyL0yxPhloLtAUVCY7us4hb7IxQ/KLu4xWFE8cP7Kg6mld4PKH5BvoNrZBMfBphohKnFMAusyvU48ClgoA3M34eBUynwUu6ngK8BE1Gn3ihYccR79Jd5nuyXsx0rZRo498Q7mK8dMDudZuC8rOLLgQI7Ts5xIGe5DANbinCP9AfmEul/SnZslWHgTBFuKnna8a3lpRCzadSVWMiAj6GPIMbAX+/+H9BS8loyN4ibwX9j/jIXDkk+pgAAAABJRU5ErkJggg==';
> function stripDesc(str) {
> if (str === null || typeof str == 'undefined') {
> return "";
> }	
> return (str && str.length > DESC_MAX_LENGTH) ? str.slice(0, DESC_MAX_LENGTH - 3) + '...' : str;
> }
> 
> function prepareAttachment({issue, user}, text) {
> let issueType = issue.fields.issuetype;
> const currentTime = (new Date()).toISOString();
> let res = {
> author_name: user.displayName,
> author_icon: user.avatarUrls['32x32'],
> thumb_url: issueType.iconUrl,
> ts: currentTime
> };
> if (text) {
> text = text.replace(/\{\{(user|issue)\.([^a-z_0-9]+)\}\}/g, (m, type, key) => (type==='user' ? user : issue)[key]);
> res.text = text;
> }
> return res;
> }
> class Script {
> process_incoming_request({request}) { 
> const data = request.content;
> try {
> if (!data.issue || (data.user && data.user.name === 'gitlab')) {
> return;
> }
> let issue = data.issue;
> let baseJiraUrl = issue.self.replace(/\/rest\/.*$/, '');
> let user = data.user;
> let assignedTo = (issue.fields.assignee && issue.fields.assignee.name !== user.name) ? `, assigned to ${issue.fields.assignee.displayName}` : '';
> let issueSummary = `[${issue.key}](${baseJiraUrl}/browse/${issue.key}) #${issue.fields.summary}# _(${issue.fields.priority.name.replace(/^\s*\d*\.\s*/, '')}${assignedTo})_`;
> let message = {
>               
> icon_url: (issue.fields.project && issue.fields.project.avatarUrls && issue.fields.project.avatarUrls['48x48']) || JIRA_LOGO
> , attachments: []
> };
> 
> if (data.webhookEvent === 'jira:issue_created') {
> message.attachments.push(prepareAttachment(data, `*Created* ${issueSummary}:\n${stripDesc(issue.fields.description)}`));
> } else if (data.webhookEvent === 'jira:issue_deleted') {
> message.attachments.push(prepareAttachment(data, `*Deleted* ${issueSummary}`));
> } else if (data.webhookEvent === 'jira:issue_updated') {
> if (data.changelog && data.changelog.items) { // field update
> let logs = [];
> data.changelog.items.forEach((change) => {
> if (!change.field.match('status|resolution|comment|priority') ) {  
> return;
> }
> if (change.field==='description') {
> logs.push(`Changed *description* to:\n${stripDesc(change.toString)}`);
> } else {
> logs.push(`*${change.field}* changed from ${change.fromString} to *${change.toString}*`);
> }
> });
> logs.length && message.attachments.push(prepareAttachment(data, `*Updated* ${issueSummary}:\n - ${logs.join('\n - ')}`));
> }
> 
> if (data.comment) { // comment update
> let comment = data.comment;
> let action = comment.created !== comment.updated ? 'Изменили комментарий' : 'Прокомментировали';
> message.attachments.push(prepareAttachment(data, `*${action}* on ${issueSummary}:\n${stripDesc(comment.body)}`));
> }
> }
> 
> if (message.text || message.attachments.length) {
> return {content:message};
> }
> } catch(e) {
> console.log('jiraevent error', e);
> return {
> error: {
> success: false,
> message: `${e.message || e} ${JSON.stringify(data)}`
> }
> };
> }
> }
> }
> 
> ```
