feat: Compare-Manifests.ps1 — сверка манифестов с живыми списками (#2)

Манифесты отстают от живых списков, когда колонки добавляют руками или кодом,
и пересоздание по ним ломает функции. Скрипт только читает и показывает, чего
нет в манифесте, чего нет на сайте и где отличаются тип, варианты или лукап.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Тимур Городецкий
2026-10-27 14:29:24 +05:00
parent 0ff17d3293
commit 40839cc8d8
2 changed files with 183 additions and 0 deletions
+21
View File
@@ -103,6 +103,27 @@ cd provisioning
Лог: `[+]` создано, `[=]` уже было, `[~]` обновлено, `[!]` предупреждение.
## Сверка манифестов с живыми списками
Манифест отстаёт, когда колонки добавляют руками или кодом. Перед провижинингом на рабочем
сайте и после ручных правок списков — сверка (только чтение):
```powershell
./Compare-Manifests.ps1 `
-SiteUrl "https://tnsukz.sharepoint.com/sites/sed" `
-ClientId "<client-id>" `
-Tenant "tnsukz.onmicrosoft.com" `
-CertificatePath "<путь к .pfx>" -CertificatePassword "<пароль>"
```
`-` есть в манифесте, нет в живом (создаст Provision-Lists.ps1), `+` есть в живом, нет в
манифесте (при пересоздании пропадёт — дописать в манифест), `~` отличаются тип, варианты или лукап.
## Добавить новый список на рабочий сайт
Полный прогон Provision-Lists.ps1 синхронизирует варианты Choice у ВСЕХ живых списков с
манифестами. Новый список добавляй точечно — `-Lists "Название"`: остальные списки не трогаются.
## Формат манифеста
```jsonc