Skip to content

About

CLI client for Bitrix24 CRM

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

91 Commits

Folders and files

Repository files navigation

bitrix24-cli

CLI для работы с задачами Битрикс24.

Allowed licenses PHP-CS-Fixer PHPStan Rector

Скачать

Публичного релиза пока нет. Ниже — предварительные бинарники CI-сборки f627f34 от 11.10.2026, включая исправление подписи macOS. Возможности этой сборки соответствуют указанному SHA.

Платформа Архитектура Скачать архив CI
Linux amd64 Скачать
macOS arm64 Скачать
Windows amd64 Скачать

Установочные архивы .tar.gz / .zip и SHA256SUMS. Для скачивания CI artifacts нужен вход в GitHub; срок хранения — 90 дней (эти сборки доступны до 09.01.2027). Новые сборки.

Установка

PHP, Composer и Docker пользователю не нужны. Выберите свою платформу ниже. Проверенная матрица: Linux amd64 (Debian 12), macOS 15 arm64 (Apple silicon), Windows Server 2022 amd64. Windows 10/11 и более старые macOS требуют отдельной проверки; инструкции не расширяют заявленную поддержку. На Windows нужен доступный для записи %TEMP%. Архивы для Linux arm64 и Mac Intel пока не предоставляются.

Скачайте архив своей платформы и SHA256SUMS из одного Release или CI run. Для текущих CI-сборок удобнее скачать общий artifact с установочными архивами и распаковать его внешний ZIP: внутри находятся .tar.gz/.zip и SHA256SUMS. Откройте терминал в каталоге с этими файлами. Продолжайте только при успешной проверке checksum; при несовпадении скачайте архив заново из того же источника.

Linux amd64 — установка и PATH (Bash)

Проверьте архитектуру: uname -m должен вывести x86_64. Проверьте checksum и распакуйте пакет; && останавливает распаковку при ошибке проверки:

b24cli_checksum=$(grep '  b24cli-linux-amd64\.tar\.gz$' SHA256SUMS) &&
printf '%s\n' "$b24cli_checksum" | sha256sum --check - &&
tar -xzf b24cli-linux-amd64.tar.gz

После результата b24cli-linux-amd64.tar.gz: OK и успешной распаковки проверьте запуск из текущего каталога:

chmod +x ./b24cli
./b24cli --version
./b24cli --help

После успешного первого запуска установите binary без sudo, сохранив metadata и license notices:

mkdir -p "$HOME/.local/bin" "$HOME/.local/share/b24cli"
install -m 755 ./b24cli "$HOME/.local/bin/b24cli"
install -m 644 build-info.json runtime-sources.json THIRD-PARTY-NOTICES.md YIIPRESS-LICENSE.txt "$HOME/.local/share/b24cli/"
cp -R runtime-licenses "$HOME/.local/share/b24cli/"
export PATH="$HOME/.local/bin:$PATH"

Для новых интерактивных Bash-терминалов сохраните PATH в .bashrc. Повторный запуск не дублирует строку:

touch "$HOME/.bashrc"
grep -Fqx 'export PATH="$HOME/.local/bin:$PATH"' "$HOME/.bashrc" ||
  printf '\n%s\n' 'export PATH="$HOME/.local/bin:$PATH"' >> "$HOME/.bashrc"

Для zsh используйте сохранение PATH из блока macOS; для другой оболочки — её файл настройки PATH. Проверьте установку из другого каталога и затем повторите проверку в новом терминале:

cd /tmp
command -v b24cli
b24cli --version
b24cli help task:show

command -v должен показать $HOME/.local/bin/b24cli. Если появляется command not found, проверьте PATH; если Permission denied — права исполнения и разрешение исполнения на файловой системе. Корпоративные политики могут ограничивать запуск отдельно от PATH. При ошибке HTTPS см. настройку доверенных CA.

Для обновления проверьте checksum нового архива и повторите установку вместе с копированием notices/metadata, затем сверьте b24cli --version. Публичный релиз должен показывать версию тега, CI-сборка — dev-<полный SHA>.

macOS arm64 — установка, первый запуск и PATH (zsh)

Проверьте архитектуру: uname -m должен вывести arm64. Для скачанного пакета проверьте checksum и распакуйте его только при успешной проверке:

b24cli_checksum=$(grep '  b24cli-macos-arm64\.tar\.gz$' SHA256SUMS) &&
printf '%s\n' "$b24cli_checksum" | shasum -a 256 --check - &&
tar -xzf b24cli-macos-arm64.tar.gz

После результата b24cli-macos-arm64.tar.gz: OK и успешной распаковки:

chmod +x ./b24cli
./b24cli --version
./b24cli --help

macOS executable получает ad-hoc подпись после добавления PHAR payload. Она защищает целостность готового файла; Developer ID и notarization пока не выполняются. При первом запуске macOS может заблокировать файл как непроверенный; в терминале это также может выглядеть как zsh: killed. Если checksum и подпись прошли проверку, после заблокированной попытки запуска откройте Системные настройки → Конфиденциальность и безопасность → Всё равно открыть, подтвердите Открыть и повторите команду. Это штатное разрешение конкретного файла, которое может быть недоступно на управляемом Mac. Оно не исправляет повреждённую подпись.

Целостность скачанного executable можно проверить отдельно:

codesign --verify --strict --verbose=2 ./b24cli

Если проверка подписи завершается ошибкой, файл удаляется или запуск остаётся заблокированным, скачайте свежий artifact с проверенным checksum и сообщите версию macOS, ссылку на сборку и вывод команды в #23.

После успешного первого запуска установите binary без sudo и сохраните notices:

mkdir -p "$HOME/.local/bin" "$HOME/.local/share/b24cli"
install -m 755 ./b24cli "$HOME/.local/bin/b24cli"
install -m 644 build-info.json runtime-sources.json THIRD-PARTY-NOTICES.md YIIPRESS-LICENSE.txt "$HOME/.local/share/b24cli/"
cp -R runtime-licenses "$HOME/.local/share/b24cli/"
export PATH="$HOME/.local/bin:$PATH"
rehash

Для новых zsh-терминалов сохраните настройку в .zshrc; команды учитывают ZDOTDIR и при повторном запуске не добавляют строку ещё раз:

b24cli_zshrc="${ZDOTDIR:-$HOME}/.zshrc"
touch "$b24cli_zshrc"
grep -Fqx 'export PATH="$HOME/.local/bin:$PATH"' "$b24cli_zshrc" ||
  printf '\n%s\n' 'export PATH="$HOME/.local/bin:$PATH"' >> "$b24cli_zshrc"

Проверьте команду из другого каталога, затем откройте новый терминал и повторите:

cd /tmp
command -v b24cli
b24cli --version
b24cli help task:show

command -v должен показать $HOME/.local/bin/b24cli. ./b24cli запускает файл из текущего каталога; b24cli ищется в PATH. Ошибка zsh command not found решается настройкой PATH, а отказ ОС при запуске файла рассматривается в #23. Текущий каталог . добавлять в PATH не нужно. Для обновления проверьте checksum нового архива, повторите установку binary/notices и сверьте версию. При ошибке HTTPS см. настройку доверенных CA.

Windows amd64 — установка и PATH (PowerShell)

Используйте Windows x64 и PowerShell. Сначала проверьте единственную запись для нужного архива в SHA256SUMS; при ошибке команды выбросят исключение:

$b24cliChecksumLines = @(Get-Content -LiteralPath .\SHA256SUMS -ErrorAction Stop | Where-Object {
    $_ -match '^[a-fA-F0-9]{64}  b24cli-windows-amd64\.zip$'
})
if ($b24cliChecksumLines.Count -ne 1) { throw 'Missing or duplicate checksum' }
$b24cliExpected = ($b24cliChecksumLines[0] -split '  ', 2)[0]
$b24cliActual = (Get-FileHash -LiteralPath .\b24cli-windows-amd64.zip -Algorithm SHA256 -ErrorAction Stop).Hash
if ($b24cliActual -ne $b24cliExpected) { throw 'Checksum mismatch' }
Write-Output 'b24cli-windows-amd64.zip: OK'

Продолжайте только после OK. Распакуйте весь пакет в пользовательский каталог: в нём останутся executable, metadata и license notices. Права администратора не нужны.

$b24cliInstallDir = Join-Path $env:LOCALAPPDATA 'Programs\b24cli'
Expand-Archive -LiteralPath .\b24cli-windows-amd64.zip -DestinationPath $b24cliInstallDir -Force -ErrorAction Stop

Если Windows блокирует доверенный файл с проверенным checksum как скачанный, можно снять метку происхождения только с него:

Unblock-File -LiteralPath (Join-Path $b24cliInstallDir 'b24cli.exe')

При предупреждении SmartScreen доступно Подробнее → Выполнить в любом случае, если это разрешено системой. Unblock-File и это разрешение не создают доверенную подпись. В Windows 11 Smart App Control или корпоративная политика могут продолжать блокировать запуск; инструкция не гарантирует обход и не требует отключения защиты всей системы. Пояснение Microsoft.

Проверьте первый запуск до настройки PATH:

& (Join-Path $b24cliInstallDir 'b24cli.exe') --version
& (Join-Path $b24cliInstallDir 'b24cli.exe') --help

После успешного запуска добавьте каталог в пользовательский PATH и текущую сессию. Существующие entries сохраняются; повторный запуск не добавляет тот же путь ещё раз:

$b24cliUserPath = [Environment]::GetEnvironmentVariable('Path', 'User')
if (($b24cliUserPath -split ';') -notcontains $b24cliInstallDir) {
    $b24cliNewPath = (@($b24cliUserPath, $b24cliInstallDir) | Where-Object { $_ }) -join ';'
    [Environment]::SetEnvironmentVariable('Path', $b24cliNewPath, 'User')
}
if (($env:Path -split ';') -notcontains $b24cliInstallDir) {
    $env:Path = "$b24cliInstallDir;$env:Path"
}
Set-Location $env:TEMP
(Get-Command b24cli -CommandType Application).Source
b24cli --version
b24cli help task:show

Путь должен вести к установленному b24cli.exe. Откройте новое окно PowerShell и повторите последние три команды; если оно унаследовало прежний PATH, перезапустите приложение терминала. При Access denied проверьте права и политику безопасности, при ошибке временного файла — доступность %TEMP%. Для корпоративного HTTPS CA см. настройку доверия Windows.

Для обновления закройте запущенные процессы b24cli, проверьте checksum нового архива и повторите Expand-Archive в тот же каталог. При необходимости повторите точечный Unblock-File и сверьте b24cli --version. PATH добавлять заново не нужно.

Для подключения к порталу после установки см. руководство.

CLI-команды

Команда Назначение
task:add Создать задачу
task:show Показать карточку задачи
task:list Показать доступные задачи
task:find Найти задачи по фрагменту заголовка
task:update Изменить явные поля задачи
task:delete Удалить задачу
task:assign Сменить ответственного
task:deadline:set Изменить срок задачи
task:fields:list Показать поля задачи
task:access:show Показать права текущего пользователя
task:participants:set Заменить выбранные роли участников
task:history:list Показать историю изменений задачи
task:file:attach Прикрепить существующий файл Диска
task:chat:delete Удалить сообщение чата задачи
task:chat:list Показать сообщения чата задачи
task:chat:send Отправить сообщение в чат задачи
task:chat:update Изменить сообщение чата задачи
task:checklist:add Создать чек-лист
task:checklist:item:add Добавить пункт чек-листа
task:checklist:item:complete Выполнить пункт чек-листа
task:checklist:item:delete Удалить пункт с дочерними пунктами
task:checklist:item:list Показать пункты чек-листа
task:checklist:item:renew Возобновить пункт чек-листа
task:checklist:item:update Изменить заголовок пункта
task:checklist:list Показать чек-листы
task:time:add Добавить запись времени
task:time:delete Удалить запись времени
task:time:list Показать записи времени
task:time:show Показать контекст учёта времени
task:time:update Исправить запись времени
list Показать список команд
help Показать справку команды
completion Сгенерировать автодополнение для shell

Справка по параметрам и примерам: b24cli help task:show.

Группа/проект задаётся положительным целым ID:

b24cli task:add --title "Договор" --creator 1 --responsible 2 --group-id 42
b24cli task:update 123 --group-id 42
b24cli task:list --group-id 42 --json
b24cli task:find --title "договор" --group-id 42 --json

Миграция CLI для 0.1.0: замените --project ID на --group-id ID в командах task:add, task:update и task:list. Старое имя удалено без alias: его передача, в том числе вместе с новым флагом, возвращает exit 2 до API-запроса. JSON и REST 3.0 сохраняют groupId; для advanced input используйте --fields '{"groupId":42}', для JSON-фильтра списка — task:list --where '{"groupId":42}'. Флаг и JSON-поля нельзя смешивать. В task:list и task:find фильтр группы выполняется локально при обходе доступных задач; --max-scan ограничивает обход, --limit — число результатов. task:find совмещает --group-id с поиском по заголовку без учёта регистра; без флага ищет во всех доступных группах. Значения по умолчанию из профилей разрабатываются отдельно в #19. Предварительные бинарники выше поддерживают --group-id.

Разработка, подключение и сборка: руководство.

About

CLI client for Bitrix24 CRM

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages