Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions content-repo/create-docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ if [[ "${SCRIPT_DIR}" != /* ]]; then
SCRIPT_DIR="${CURRENT_DIR}/${SCRIPT_DIR}"
fi

# --- Private pack config ---
PRIVATE_REPO_URL="[email protected]:xdr/cortex-content/content-test-conf.git"
PRIVATE_PACK_NAME="CortexResponseAndRemediation"
PRIVATE_REPO_BRANCH="master"


export GIT_LFS_SKIP_SMUDGE=1

if [[ -n "$CONTENT_REPO_DIR" ]]; then
Expand Down Expand Up @@ -140,6 +146,42 @@ mkdir ${TARGET_DIR}/playbooks
mkdir ${TARGET_DIR}/scripts
mkdir ${REL_IMGS_DIR}

# === Handle private repo pack for playbook READMEs (sparse checkout) ===
if [[ -n "$PRIVATE_REPO_URL" && -n "$PRIVATE_PACK_NAME" ]]; then
PRIVATE_REPO_DIR="${SCRIPT_DIR}/.private-packs"
PRIVATE_BRANCH="${PRIVATE_REPO_BRANCH:-main}"
SPARSE_PATH="content/PrivatePacks/${PRIVATE_PACK_NAME}/Playbooks"

if [ ! -d "${PRIVATE_REPO_DIR}" ]; then
echo "Cloning only private pack: $PRIVATE_PACK_NAME from $PRIVATE_REPO_URL ..."
git clone --filter=blob:none --no-checkout --depth 1 -b "${PRIVATE_BRANCH}" "${PRIVATE_REPO_URL}" "${PRIVATE_REPO_DIR}"
cd "${PRIVATE_REPO_DIR}"
git sparse-checkout init --cone
git sparse-checkout set "${SPARSE_PATH}"
git checkout "${PRIVATE_BRANCH}"
cd "${SCRIPT_DIR}"
else
echo "Updating private pack repo..."
cd "${PRIVATE_REPO_DIR}"
git fetch origin "${PRIVATE_BRANCH}"
git sparse-checkout set "${SPARSE_PATH}"
git checkout "${PRIVATE_BRANCH}"
git pull
cd "${SCRIPT_DIR}"
fi

PRIVATE_PACK_PATH="${PRIVATE_REPO_DIR}/${SPARSE_PATH}"
echo "Looking for private pack playbooks at: ${PRIVATE_PACK_PATH}"

if [ -d "${PRIVATE_PACK_PATH}" ]; then
echo "Copying playbook READMEs from private pack: ${PRIVATE_PACK_NAME}"
cp -r "${PRIVATE_PACK_PATH}"/* "${TARGET_DIR}/playbooks/"
else
echo "Directory does not exist: ${PRIVATE_PACK_PATH}"
echo "No playbooks found for private pack ${PRIVATE_PACK_NAME}"
fi
fi

echo "Copying CommonServerPython.py, demistomock.py, approved_tags.json and approved_usecases.json"
cp ${CONTENT_GIT_DIR}/Packs/Base/Scripts/CommonServerPython/CommonServerPython.py .
cp ${CONTENT_GIT_DIR}/Tests/demistomock/demistomock.py .
Expand Down
11 changes: 11 additions & 0 deletions content-repo/gendocs.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ def timestamped_print(*args, **kwargs):

BASE_URL = "https://xsoar.pan.dev/docs/"
MARKETPLACE_URL = "https://cortex.marketplace.pan.dev/marketplace/"

# Path to private pack playbooks
PRIVATE_PACK_PLAYBOOKS = os.path.abspath(os.path.join(
os.path.dirname(__file__),
".private-packs/content/PrivatePacks/CortexResponseAndRemediation/Playbooks"
))

DOCS_LINKS_JSON = {}

INTEGRATION_YML_MATCH = [
Expand Down Expand Up @@ -521,6 +528,10 @@ def create_docs(content_dir: str, target_dir: str, regex_list: List[str], prefix
print(f'Using BRANCH: {BRANCH}')
# Search for readme files
readme_files = findfiles(regex_list, content_dir)
# Include private pack playbooks if they exist
if os.path.exists(PRIVATE_PACK_PLAYBOOKS):
print(f"Including private pack playbooks from {PRIVATE_PACK_PLAYBOOKS}")
readme_files += findfiles(regex_list, PRIVATE_PACK_PLAYBOOKS)
print(f'Processing: {len(readme_files)} {prefix} files ...')
if MAX_FILES > 0:
print(f'PREVIEW MODE. Truncating file list to: {MAX_FILES}')
Expand Down
Loading