---
title: "copyAttachmentOnJSDComment"
canonical: "https://support.appfire.com/space/PSJ/514916398/copyAttachmentOnJSDComment"
format: markdown
---
> Macro (aura-html)

> Macro (button-handy)



> Macro (table-plus)
> 
> |  |  |  |  |
> | --- | --- | --- | --- |
> | **Syntax** | copyAttachmentOnJSDComment(issue_source, attachment_name_or_regex, issue_jsd_target, username[, comment]) | **Package** |  |
> | **Alias** |  | **Pkg Usage** |  |

## Description

> Macro (excerpt)
> 
> Creates a new public comment containing the specified attachment(s).

Creates a new public comment containing the specified attachment(s). Attachments are identified either by name or using a regex. If comment is absent, a default comment will be used.

## Parameters

> Macro (table-plus)
> 
> | Parameter name | Type | Required | Description |
> | --- | --- | --- | --- |
> | issue_source | String | Yes | The key of the issue that contains the attachments. |
> | attachment_name_or_regex | String | Yes | Attachment name or regex to match against attachments. |
> | issue_jsd_target | String | Yes | The target JSD issue. In order for the function to work, it is mandatory for this to belong to a JSD project. |
> | username | String | Yes | The username to attribute the comment to. |
> | comment | String | No | The comment to be used. If not provided, a default comment will be used. |

## Return Type

**Integer**

The id of the comment that was created.

## Examples

### Example 1

Creates a comment having a single attachment and using the default comment.

```javascript
return copyAttachmentOnJSDComment("ANY-101", "some_file.txt", "JSDTEST-42", currentUser());
```

Returns the id of the newly created comment.

### Example 2

Creates a comment having multiple attachments (all.png files) and using a custom comment.

```javascript
return copyAttachmentOnJSDComment("ANY-101", ".*\\.png", "JSDTEST-42", currentUser(), "Here are all the PNGs we found.");
```

Returns the id of the newly created comment.

## See also

> Macro (contentbylabel)