﻿---
title: changelog upload cli command
description: Upload changelog entries or bundle artifacts to S3 or Elasticsearch. Uses content-hash–based incremental transfer — only changed files are uploaded. 
url: https://docs-v3-preview.elastic.dev/elastic/docs-builder/pull/2927/cli/changelog/upload
products:
  - Elastic Docs Builder
---

# changelog upload cli command
```bash
docs-builder changelog upload \
  --artifact-type <string> \
  --target <string> \
  [options]
```

Upload changelog entries or bundle artifacts to S3 or Elasticsearch.

## Options

<definitions>
  <definition term="--artifact-type string required">
    Artifact type to upload: 'changelog' (individual entries) or 'bundle' (consolidated bundles).
  </definition>
  <definition term="--target string required">
    Upload destination: 's3' or 'elasticsearch'.
  </definition>
  <definition term="--s3-bucket-name string">
    S3 bucket name (required when target is 's3').
  </definition>
  <definition term="--config string">
    Path to changelog.yml configuration file. Defaults to docs/changelog.yml.
    **Constraints:** symbolic links not allowed, must exist, extensions: yml, yaml, supports `~` home expansion
  </definition>
  <definition term="--directory string">
    Override changelog directory instead of reading it from config.
    **Constraints:** symbolic links not allowed, supports `~` home expansion
  </definition>
  <definition term="-l --log-level enum">
    Minimum log level.
    **Values:** trace, debug, information, warning, error, critical, none
    **Default:** `information`
  </definition>
  <definition term="-c --config-source enum">
    Override the configuration source: local, remote
    **Values:** local, remote, embedded
  </definition>
  <definition term="--[no-]skip-private-repositories">
    Skip cloning private repositories
  </definition>
</definitions>


## Notes

Uses content-hash–based incremental transfer — only changed files are uploaded.