Integration
Configure external integrations
sfp server integration createsfp server integration deletesfp server integration getsfp server integration list
sfp server integration create
Create an integration for specific projects or globally
USAGE
$ sfp server integration create --provider <value> --auth-type <value> [--json] [--repository <value>] [-e <value>] [-t
<value>] [--sfp-server-url <value>] [--project <value>... | --global] [--default] [--token <value>] [--api-key
<value>] [--username <value>] [--password <value>] [--client-id <value>] [--client-secret <value>] [--registry
<value>] [--scope <value>] [--role publish|consume|proxy-source] [--credential <value>...] [--config <value>...]
FLAGS
-e, --email=<value> Email address for authenticated user. Ignored if --application-token is provided. Can
be set via SFP_SERVER_USER env var.
-t, --application-token=<value> Application token for CI/CD authentication. Can be set via SFP_SERVER_TOKEN env var
(CLI flags take precedence over env vars).
--api-key=<value> API key for api_key auth
--auth-type=<value> (required) Authentication type (e.g., pat, oauth, app, api_key, basic_auth)
--client-id=<value> OAuth client ID
--client-secret=<value> OAuth client secret
--config=<value>... Non-secret provider config as key=value (repeatable), e.g. jfrog_repository=npm-local
--credential=<value>... Additional credential as key=value (repeatable) — for provider fields with no
dedicated flag
--default Mark as the system default for this provider category (global integrations only)
--global Store as global integration (available to all projects)
--password=<value> Password or API key for basic_auth
--project=<value>... Project identifier (can be specified multiple times)
--provider=<value> (required) Integration provider (e.g., github, npm, jfrog)
--registry=<value> Artifact registry URL for npm-style providers (npm, jfrog, gitlab, github_packages) —
where sfp publishes and fetches back its own package artifacts. Omit for an npm
integration and it resolves to the PUBLIC https://registry.npmjs.org
--repository=<value> The repository identifier. E.g `owner/repo` for GitHub/GitLab or `org/project/repo`
for Azure DevOps
--role=<option> What this artifact-registry credential is for. 'publish' (default) is sfp's artifact
registry — the publish target and fetch-back source. 'consume' is a registry a build
only installs dependencies FROM. 'proxy-source' is an upstream for the npm proxy.
Only 'publish' is ever selected as the artifact registry
<options: publish|consume|proxy-source>
--scope=<value> npm scope for the published artifacts, without the leading @ (e.g. acme). Defaults to
the repository owner
--sfp-server-url=<value> URL of the SFP server. Can be set via SFP_SERVER_URL env var or config: sfp
config:set server-url
--token=<value> Personal access token for PAT auth
--username=<value> Username for basic_auth
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Create an integration for specific projects or globally
Note on artifact-registry providers (npm, jfrog, github_packages, gitlab): these configure where
sfp PUBLISHES and FETCHES BACK its own package artifacts (@<scope>/<package>_sfpowerscripts_artifact).
They are NOT a source for a project's third-party npm dependencies — sfp never installs application
dependencies through them.
EXAMPLES
# Self-hosted npm registry as the artifact store for one project
$ sfp server integration create --provider npm --auth-type api_key \
--registry https://npm.internal.acme.com/ --scope acme \
--token <token> --project acme-corp/salesforce-main
# JFrog artifact registry, available to every project
$ sfp server integration create --provider jfrog --auth-type basic_auth \
--registry https://acme.jfrog.io --config jfrog_repository=sfp-npm \
--username ci@acme.com --password <api-key> --global
# A dependency-only registry a build installs FROM — never a publish target
$ sfp server integration create --provider npm --auth-type api_key \
--registry https://npm.vendor.example/ --scope vendor --role consume \
--token <token> --project acme-corp/salesforce-main
# Any provider field this command has no dedicated flag for
$ sfp server integration create --provider npm --auth-type api_key \
--credential registry_url=https://registry.internal/ --token <token> --globalsfp server integration delete
Delete an integration
USAGE
$ sfp server integration delete -i <value> [--json] [--repository <value>] [-e <value>] [-t <value>] [--sfp-server-url
<value>]
FLAGS
-e, --email=<value> Email address for authenticated user. Ignored if --application-token is provided. Can
be set via SFP_SERVER_USER env var.
-i, --id=<value> (required) Integration ID to delete
-t, --application-token=<value> Application token for CI/CD authentication. Can be set via SFP_SERVER_TOKEN env var
(CLI flags take precedence over env vars).
--repository=<value> The repository identifier. E.g `owner/repo` for GitHub/GitLab or `org/project/repo`
for Azure DevOps
--sfp-server-url=<value> URL of the SFP server. Can be set via SFP_SERVER_URL env var or config: sfp
config:set server-url
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Delete an integration
EXAMPLES
$ sfp server integration delete --id <integration-id>
$ sfp server integration delete --id <integration-id> --jsonsfp server integration get
Get integration credentials by project
USAGE
$ sfp server integration get [--json] [--repository <value>] [-e <value>] [-t <value>] [--sfp-server-url <value>]
[--provider <value>] [--project <value>]
FLAGS
-e, --email=<value> Email address for authenticated user. Ignored if --application-token is provided. Can
be set via SFP_SERVER_USER env var.
-t, --application-token=<value> Application token for CI/CD authentication. Can be set via SFP_SERVER_TOKEN env var
(CLI flags take precedence over env vars).
--project=<value> Filter by project identifier
--provider=<value> Filter by provider (e.g., github)
--repository=<value> The repository identifier. E.g `owner/repo` for GitHub/GitLab or `org/project/repo`
for Azure DevOps
--sfp-server-url=<value> URL of the SFP server. Can be set via SFP_SERVER_URL env var or config: sfp
config:set server-url
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
Get integration credentials by projectsfp server integration list
List all integrations
USAGE
$ sfp server integration list [--json] [--repository <value>] [-e <value>] [-t <value>] [--sfp-server-url <value>] [-p
<value>]
FLAGS
-e, --email=<value> Email address for authenticated user. Ignored if --application-token is provided. Can
be set via SFP_SERVER_USER env var.
-p, --provider=<value> Filter by provider (github, jira)
-t, --application-token=<value> Application token for CI/CD authentication. Can be set via SFP_SERVER_TOKEN env var
(CLI flags take precedence over env vars).
--repository=<value> The repository identifier. E.g `owner/repo` for GitHub/GitLab or `org/project/repo`
for Azure DevOps
--sfp-server-url=<value> URL of the SFP server. Can be set via SFP_SERVER_URL env var or config: sfp
config:set server-url
GLOBAL FLAGS
--json Format output as json.
DESCRIPTION
List all integrations
EXAMPLES
$ sfp server integration list
$ sfp server integration list --provider github
$ sfp server integration list --json