Skip to content

Attachments

Attachments let you add files to work items -- screenshots, design mockups, log files, documents, spreadsheets, and more. Files are stored securely using S3-compatible storage and are accessible to all project members.

Upload files

SetGet provides multiple ways to attach files to a work item.

Drag and drop

  1. Open a work item in detail view or peek panel.
  2. Drag one or more files from your file manager into the work item's description area or attachments section.
  3. An upload indicator appears while files are being transferred.
  4. Once complete, the files appear in the Attachments section.

Click to upload

  1. Open a work item in detail view.
  2. Scroll to the Attachments section.
  3. Click the Upload button (or the + icon).
  4. Select one or more files from the file picker.
  5. Files are uploaded and attached to the work item.

Paste from clipboard

  1. Copy an image to your clipboard (e.g., take a screenshot with your OS screenshot tool).
  2. Open a work item and click into the description editor.
  3. Press Ctrl+V (or Cmd+V on macOS).
  4. The image is uploaded and embedded inline in the description.

Pasted images are saved as attachments and displayed inline. They also appear in the Attachments section.

Upload during creation

  1. Open the creation modal.
  2. In the description editor, drag files in, paste images, or use the attachment button.
  3. Files are uploaded immediately and will be attached when the work item is created.

Supported file types

SetGet accepts a wide range of file types. The following table lists commonly uploaded categories:

CategoryFile extensionsPreview support
Images.png, .jpg, .jpeg, .gif, .svg, .webp, .bmpYes
Documents.pdf, .doc, .docx, .txt, .rtfPDF only
Spreadsheets.xls, .xlsx, .csvNo
Presentations.ppt, .pptxNo
Archives.zip, .tar, .gz, .7z, .rarNo
Code.json, .xml, .yaml, .yml, .html, .css, .js, .ts, .go, .pyNo
Design.fig, .sketch, .psd, .aiNo
Video.mp4, .mov, .avi, .webmNo
Audio.mp3, .wav, .oggNo

Files without preview support can still be downloaded by any project member.

TIP

For the best experience with bug reports, paste screenshots directly into the description. Inline images are immediately visible without needing to open the attachments section.

File size limits

LimitValue
Maximum file size50 MB per file
Maximum files per upload10 files at once
Maximum attachments per work itemNo hard limit (subject to workspace storage quota)

Files exceeding the size limit are rejected with an error message. For large files, consider using an external file sharing service and linking to it in the description.

WARNING

Very large files (over 20 MB) may take longer to upload depending on your network connection. A progress indicator shows the upload status.

Preview attachments

Image preview

Images attached to a work item display as thumbnails in the Attachments section. Click a thumbnail to open a full-size lightbox view.

In the lightbox:

  • Use arrow keys or click navigation buttons to move between images.
  • Zoom in and out with scroll or pinch gestures.
  • Click outside the lightbox or press Esc to close.

PDF preview

PDF files display an embedded preview viewer. Click a PDF attachment to open it in a viewer panel that supports:

  • Page navigation
  • Zoom controls
  • Full-screen mode

Other file types

Files without built-in preview support display a file icon with the file name and size. Click to download.

Download files

Download a single file

  1. In the Attachments section, hover over the file.
  2. Click the download icon (arrow pointing down).
  3. The file downloads to your browser's default download location.

Download from the lightbox

When viewing an image or PDF in the lightbox/preview, click the download button in the viewer toolbar.

Download all attachments

If a work item has multiple attachments, you can download them individually. Batch download of all attachments as a zip file is available from the attachments section header menu.

Delete attachments

  1. In the Attachments section, hover over the file.
  2. Click the trash icon.
  3. Confirm the deletion.

WARNING

Deleting an attachment is permanent. The file is removed from storage and cannot be recovered. If the file was also embedded inline in the description, the inline reference will show a broken image placeholder.

Who can delete attachments

  • The person who uploaded the file can always delete it.
  • Project admins and workspace admins can delete any attachment.
  • Regular members can only delete their own uploads.

Inline images in descriptions

Images can be embedded directly in the work item description using the rich text editor. Inline images are different from the general attachments section:

FeatureInline imagesAttachments section
Visible in description bodyYesNo
Appears in Attachments listYesYes
Supports non-image filesNoYes
Position controlYes (in text flow)No (listed chronologically)
Drag-and-drop to descriptionYesN/A
Paste from clipboardYesNo

To add an inline image:

  1. Click into the description editor.
  2. Drag an image file into the editor, paste from clipboard, or use the image button in the toolbar.
  3. The image appears at the cursor position.
  4. Resize by dragging the corner handles.

Storage architecture

SetGet stores attachments using S3-compatible object storage (MinIO). This provides:

FeatureDetail
DurabilityFiles are stored redundantly on the storage backend
Access controlFiles are served through the API with workspace-level authentication
Presigned URLsDownloads use time-limited presigned URLs for security
Two-phase uploadFiles are uploaded to a presigned URL, then confirmed via the API

Attachments are stored in the private storage bucket. They are not publicly accessible -- users must be authenticated members of the workspace to download files.

Upload flow

  1. The frontend requests a presigned upload URL from the API.
  2. The file is uploaded directly to S3-compatible storage using the presigned URL.
  3. The frontend sends a confirmation to the API with the file metadata.
  4. The API records the attachment in the database and associates it with the work item.

This two-phase approach keeps large file transfers off the API server while maintaining access control.

Attachments in activity feed

Attachment changes are recorded in the work item's activity feed:

  • File uploaded -- Shows who uploaded the file, the file name, and timestamp.
  • File deleted -- Shows who deleted the file and the file name.

Search and filter

Currently, attachments are not searchable by file name or content. To find work items with attachments, you can:

  • Use the Has attachment filter in the filter bar to show only work items that have at least one attachment.
  • Browse the Attachments section of individual work items.

Best practices

  • Use screenshots for bug reports -- A screenshot is often clearer than a paragraph of text. Paste screenshots directly into the description for maximum visibility.
  • Name files descriptively -- "login-error-2024-03-15.png" is more useful than "Screenshot 2024-03-15.png" when scanning the attachments list.
  • Keep attachments relevant -- Remove outdated files when they no longer apply. Stale attachments can mislead team members.
  • Use inline images for key visuals -- Design mockups, expected versus actual screenshots, and architecture diagrams belong inline in the description where they provide immediate context.
  • Use the attachments section for reference files -- Log files, CSV exports, and documents that support the work item but are not the primary content belong in the attachments list.
  • Respect file size limits -- Compress large images before uploading. Use external links for video files or large datasets.
  • Do not use attachments for version control -- Code changes belong in your version control system, not as file attachments. Link to commits or pull requests instead.