﻿---
title: changelog prepare-artifact cli command
description: (CI) Package changelog artifact for cross-workflow transfer. Resolves final status from evaluate-pr + changelog add outcomes, copies generated YAML, writes...
url: https://docs-v3-preview.elastic.dev/elastic/docs-builder/pull/2927/cli/changelog/prepare-artifact
products:
  - Elastic Docs Builder
---

# changelog prepare-artifact cli command
```bash
docs-builder changelog prepare-artifact \
  --staging-dir <string> \
  --output-dir <string> \
  --evaluate-status <string> \
  --generate-outcome <string> \
  --pr-number <int> \
  --head-ref <string> \
  --head-sha <string> \
  [options]
```

(CI) Package changelog artifact for cross-workflow transfer.

## Options

<definitions>
  <definition term="--staging-dir string required">
    Directory where changelog add wrote the generated YAML
  </definition>
  <definition term="--output-dir string required">
    Directory to write the artifact (metadata.json + YAML)
  </definition>
  <definition term="--evaluate-status string required">
    Status output from the evaluate-pr step
  </definition>
  <definition term="--generate-outcome string required">
    Outcome of the changelog add step (success/failure)
  </definition>
  <definition term="--pr-number int required">
    Pull request number
  </definition>
  <definition term="--head-ref string required">
    PR head branch ref
  </definition>
  <definition term="--head-sha string required">
    PR head commit SHA
  </definition>
  <definition term="--[no-]is-fork">
    Whether the PR is from a fork
    **Default:** `false`
  </definition>
  <definition term="--[no-]can-commit">
    Whether the commit strategy allows committing
    **Default:** `false`
  </definition>
  <definition term="--[no-]maintainer-can-modify">
    Whether the fork PR allows maintainer edits
    **Default:** `false`
  </definition>
  <definition term="--head-repo string">
    Fork repository full name (owner/repo)
  </definition>
  <definition term="--label-table string">
    Optional: markdown label table from evaluate-pr
  </definition>
  <definition term="--product-label-table string">
    Optional: markdown product label table from evaluate-pr
  </definition>
  <definition term="--skip-labels string">
    Optional: comma-separated skip labels from evaluate-pr
  </definition>
  <definition term="--config string">
    Optional: path to changelog.yml
  </definition>
  <definition term="--existing-changelog-filename string">
    Optional: filename of a previously committed changelog for this PR
  </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

Resolves final status from evaluate-pr + changelog add outcomes, copies generated YAML,
writes metadata.json, and sets GitHub Actions outputs. Always succeeds (exit 0) so the upload step runs.