iFlowKit CLI is a Go-based, cross-platform command-line tool that standardizes how SAP Cloud Integration (CPI) teams manage:
- Developer preferences (
iflowkit config ...) - Customer profiles (
iflowkit profile ...) - CPI tenant service keys per environment (
iflowkit tenant ...) - Git ↔ CPI workflows for an IntegrationPackage (
iflowkit sync ...)
Project status: Beta (not stable)
iFlowKit CLI is currently in beta. Commands, flags, file formats, and behavior may change without notice. Use with caution and validate thoroughly before relying on it in production.
This software is provided "AS IS", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement.
In no event shall the authors, maintainers, or contributors be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.
For the full legal terms, see LICENSE.
- Documentation entry point (language selector):
docs/README.md
English:
- Getting started:
docs/docs-en/getting-started.md - Full CLI reference (all commands + flags):
docs/docs-en/cli-reference.md - Sync deep dives:
docs/docs-en/sync/README.mddocs/docs-en/sync/ignore.mddocs/docs-en/sync/transports.mddocs/docs-en/sync/troubleshooting.md
Türkçe:
- Başlangıç:
docs/docs-tr/getting-started.md - CLI referansı:
docs/docs-tr/cli-reference.md - Sync:
docs/docs-tr/sync/README.mddocs/docs-tr/sync/ignore.mddocs/docs-tr/sync/transports.mddocs/docs-tr/sync/troubleshooting.md
This project is licensed under the Apache License 2.0. See LICENSE and NOTICE.
go build ./cmd/iflowkitThis creates a local binary (usually ./iflowkit).
iflowkit config init
iflowkit config showiflowkit profile init
iflowkit profile listiflowkit profile use --id <profileId>
iflowkit profile currentImport an existing CPI service key JSON:
iflowkit tenant import --file service-key.json --env dev
iflowkit tenant import --file service-key.json --env qas
iflowkit tenant import --file service-key.json --env prdOr set the fields directly:
iflowkit tenant set --env dev \
--url https://<cpi-host>/ \
--token-url https://<oauth-host>/oauth/token \
--client-id <id> \
--client-secret <secret>gitinstalled and available onPATH- A profile selected + tenants imported (
devalways required) - A Git provider token in the environment:
- Preferred:
IFLOWKIT_GIT_TOKEN - GitHub fallback:
GITHUB_TOKENorGH_TOKEN - GitLab fallback:
GITLAB_TOKENorGITLAB_PRIVATE_TOKEN
- Preferred:
iflowkit sync init --id <packageId>
cd <packageId># dev branch
iflowkit sync pull
# prd branch (safety confirmation is mandatory)
git checkout prd
iflowkit sync pull --to prd# dev/qas/prd (prd needs explicit confirmation)
iflowkit sync push
git checkout prd
iflowkit sync push --to prd
# work branches (mapped to DEV tenant)
git checkout -b feature/new-flow
iflowkit sync push --message "WIP"# 3-tenant setup: dev -> qas
iflowkit sync deliver --to qas
# prd promotion:
# - 2-tenant setup: dev -> prd
# - 3-tenant setup: qas -> prd
iflowkit sync deliver --to prdAll commands accept these global flags before the command name:
iflowkit [--profile <profileId>] [--log-level <trace|debug|info|warn|error>] [--log-format <text|json>] <command> [...]--profile <profileId>overrides the currently active profile.--log-leveldefaults toinfo.--log-formatdefaults totext.
Config root is:
os.UserConfigDir()/iflowkit
Inside:
iflowkit/profiles/<profileId>/profile.jsoniflowkit/profiles/<profileId>/tenants/<env>.jsoniflowkit/config.jsoniflowkit/active_profileiflowkit/logs/YYYY-MM-DD.log
Use
iflowkit whereto print the exact paths on your machine.