The IPM client has a number of main verbs that can be used to interact with the IPMHub and get your project up and running.

Account

Return the current user and the remaining lifetime of the current session.

Examples

ipm account
          

Required parameters

This command has no required parameters

Optional parameters

--config -c Specifies the filename for the application configuration. Default: If left empty, the default configuration file will be used.

--help Displays the help documentation for this verb.

--language The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information

--loglevel Minimum level of the log messages that will be written to the log file. Valid options are Trace | Debug | Info | Warn | Error | Fatal. If left empty, the default will be used. (Default: Error)

--version Returns the version information of the ipm application


Add

Add and download a package directly in the workspace

Syntax

ipm add --package
  [--config]
  [--folder]
  [--strategy]
  [--version]
  [--workspace]
  [--non-interactive]
  [--client-secrets]

Examples

Add latest version of package MyPackage to the workspace:

ipm add --package mycompany/MyPackage

Add version 1.2.3 of package MyPackage to the workspace

ipm add --package mycompany/MyPackage --version 1.2.3

Add package MyPackage to the workspace but place it in OtherLocation. This overwrites the default workspace setting set in ipmhub.json.

ipm add --package mycompanyMyPackage --folder OtherLocation

Add package MyPackage to the workspace with download strategy set to single. This overwrites the default strategy setting set in ipmhub.json.

ipm add --package mycompanyMyPackage --strategy single

Read the detailed description on all options on how to setup your project with the ipm add command.

Required parameters

--package -p Specify the package you wish to add.

Optional parameters

--folder -f Designate an alternative location for placing and downloading the package. Default: If left empty, it will follow the workspace folder specified in ipmhub.json.

--strategy -s Defines the download strategy to use for this package. Default: If not specified, it will adhere to the setting set in ipmhub.json.

--namingrule -n Defines the name placement rule to use for this package. Default: If not specified, it will adhere to the setting set in ipmhub.json, which normally is IgnoreOwner.

--version -v Define the package version you wish to configure and download. Default: If not defined it will download the latest version available.

--workspace -w Specifies the root workspace folder. Default: If not specified, it defaults to the current directory.

--non-interactive Requests a non-interactive authentication session by providing a single or multiple client secrets.

--client-secrets One or more client secrets for non-interactive authentication. Multiple secrets should be separated by spaces. Default: If not specified and non-interactive authentication is requested, IPM will check the `IPM_CLIENT_SECRETS`` environment variable.

Global parameters

--config -c Specifies the filename for the application configuration. Default: If left empty, the default configuration file will be used.

--help Displays the help documentation for this verb.

--language The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information

--loglevel Minimum level of the log messages that will be written to the log file. Valid options are Trace | Debug | Info | Warn | Error | Fatal. If left empty, the default will be used. (Default: Error)


Cache

Functionality to maintain the IPM client cache.

Syntax

ipm cache [--clear]
          

Examples

Clear the cache of the IPM client:

ipm cache --clear
          

Required parameters

--clear Clears the cache of the IPM client

Optional parameters

This command has no optional parameters.

Global parameters

--help Displays the help documentation for this verb.

--language The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information

--loglevel Minimum level of the log messages that will be written to the log file. Valid options are Trace | Debug | Info | Warn | Error | Fatal. If left empty, the default will be used. (Default: Error)

--version Returns the version information of the ipm application


Config

Functionality to configure the IPM client.

Syntax

ipm config [--reg]
          

Examples

Register the IPM client within the current user execution path:

ipm config --reg 

Required parameters

--reg Register the IPM client within the current user execution path.

Optional parameters

This command has no optional parameters.

Global parameters

--help Displays the help documentation for this verb.

--language The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information

--loglevel Minimum level of the log messages that will be written to the log file. Valid options are Trace | Debug | Info | Warn | Error | Fatal. If left empty, the default will be used. (Default: Error)

--version Returns the version information of the ipm application


Help

Calls the help menu for the context you are in.

Syntax

ipm --help
             

Examples

Shows the help for all main verbs:

ipm --help

Shows the help for the sync verb:

ipm sync --help

Info

Retrieve detailed information about a package, including it’s publisher, type, description and release notes.

Syntax
ipm info --package mycompany/myPackage [--version]
Examples

Get information for the package named MyPackage:

ipm info --package mycompany/MyPackage

Get information for a specific version of the package named MyPackage.

ipm info --package mycompany/MyPackage --version 1.2.3

Required parameters

--package -p Specify the package you wish to get information from.

Optional parameters

--version -v Define the version you wish to get information from. Default: If not defined it will request information about the latest version of the package.

--non-interactive Requests a non-interactive authentication session by providing a single or multiple client secrets.

--client-secrets One or more client secrets for non-interactive authentication. Multiple secrets should be separated by spaces. Default: If not specified and non-interactive authentication is requested, IPM will check the IPM_CLIENT_SECRETS environment variable.

Global parameters

--config -c Specifies the filename for the application configuration. Default: If left empty, the default configuration file will be used.

--help Displays the help documentation for this verb.

--language The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information

--loglevel Minimum level of the log messages that will be written to the log file. Valid options are Trace | Debug | Info | Warn | Error | Fatal. If left empty, the default will be used. (Default: Error)


Init

Initializes a local workspace.

Syntax

ipm init [--workspace]
         [--config]

Examples

Initialize the current directory:

ipm init

Initialize another folder:

ipm init --workspace ./workspace 

Required parameters

This command has no required parameters

Optional parameters

--workspace -w Specifies the directory to initialize. If not specified, it defaults to the current directory.

Global parameters

--config -c Specifies the filename for the application configuration. Default: If left empty, the default configuration file will be used.

--help Displays the help documentation for this verb.

--language The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information

--loglevel Minimum level of the log messages that will be written to the logfile. Valid options are Trace | Debug | Info | Warn | Error | Fatal. If left empty, the default will be used. (Default: Error)

--version Returns the version information of the ipm application

Common messages

If the directory is already initalized you see the following message.

The workspace '/home/user/workspace' is already initialized.


List

Lists packages you own or have given access to by an organization. You need to be authenticated.

Syntax

ipm list [--pattern ]
          

Examples

List all owned packages or packages from organizations that you access to:

ipm list
          

List owned packages or packages from organizations that you access, starting with “virtual”:

ipm list -p virtual\*
          

Required parameters

This command has no required parameters.

Optional parameters

--pattern -p A search pattern to look for. You can use wildcards ‘*’ to make your search query more generic. The pattern should have at least 3 characters (wildcards excluded).

--config -c Specifies the filename for the application configuration. Default: If left empty, the default configuration file will be used.

--help Displays the help documentation for this verb.

--language The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information

--loglevel Minimum level of the log messages that will be written to the log file. Valid options are Trace | Debug | Info | Warn | Error | Fatal. If left empty, the default will be used. (Default: Error)


Login

Authenticate IPM with IPMHub

Syntax

ipm login

Required parameters

This command has no required parameters.

Optional parameters

--config -c Specifies the filename for the application configuration. Default: If left empty, the default configuration file will be used.

--help Displays the help documentation for this verb.

--language The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information

--loglevel Minimum level of the log messages that will be written to the log file. Valid options are Trace | Debug | Info | Warn | Error | Fatal. If left empty, the default will be used. (Default: Error)


Logout

Logout the IPM client

Syntax

ipm logout [--force]

Examples

Force logout:

ipm logout --force

Required parameters

This command has no required parameters.

Optional parameters

--force Forces the logout action, thus no user interaction is needed.

--config -c Specifies the filename for the application configuration. Default: If left empty, the default configuration file will be used.

--help Displays the help documentation for this verb.

--language The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information

--loglevel Minimum level of the log messages that will be written to the log file. Valid options are Trace | Debug | Info | Warn | Error | Fatal. If left empty, the default will be used. (Default: Error)


Publish

Publishes a new version of a package to IPMHub

Syntax

ipm publish --package
  [--folder]
  [--version]
  [--non-interactive]
  [--client-secrets]

Required parameters

--folder -f The folder containing the code that needs to be published.

--package -p The full package name including the owner of the package.

--version -v The new version number of the package.

--non-interactive Requests a non-interactive authentication session by providing a single or multiple client secrets.

--client-secrets One or more client secrets for non-interactive authentication. Multiple secrets should be separated by spaces. Default: If not specified and non-interactive authentication is requested, IPM will check the IPM_CLIENT_SECRETS environment variable.

Examples

Publish version 1.2.3 of package hello-word owned by ipmhub with the contents of the current directory:

ipm publish --package ipmhub/hello-world -v 1.2.3 -f ./


Search

Search public available and hybrid packages within IPMHub

Syntax

ipm search [--pattern ]
          

Examples

Search all packages starting with “virtual”:

ipm search -p virtual\*
          

Required parameters

--pattern -p A search pattern. Wildcards are allowed (*). The pattern has a minimum of 3 chars including wildcards.

Optional parameters

This command has no optional parameters.

Global parameters

--config -c Specifies the filename for the application configuration. Default: If left empty, the default configuration file will be used.

--help Displays the help documentation for this verb.

--language The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information

--loglevel Minimum level of the log messages that will be written to the log file. Valid options are Trace | Debug | Info | Warn | Error | Fatal. If left empty, the default will be used. (Default: Error)


Status

Retrieve the status of the workspace

Syntax

ipm status [--package]
  [--version]
  [--non-interactive]
  [--client-secrets]

Examples

Get the status of all packages defined in your workspace:

ipm status

Get the status for a specific package named MyPackage:

ipm info --package mycompany/MyPackage

Required parameters

This command has no required parameters

Optional parameters

--package -p Specify the package you wish to get the status of.

--non-interactive Requests a non-interactive authentication session by providing a single or multiple client secrets.

--client-secrets One or more client secrets for non-interactive authentication. Multiple secrets should be separated by spaces. Default: If not specified and non-interactive authentication is requested, IPM will check the IPM_CLIENT_SECRETS environment variable.

Global parameters

--help Displays the help documentation for this verb.

--language The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information

--loglevel Minimum level of the log messages that will be written to the log file. Valid options are Trace | Debug | Info | Warn | Error | Fatal. If left empty, the default will be used. (Default: Error)


Sync

Synchronizes the workspace as defined in ipmhub.json

Syntax

ipm sync [--package ]
  [--mode]
  [--workspace]
  [--non-interactive]
  [--client-secrets]

Examples

Synchronize all packages defined in ipmhub.json:

ipm sync

Synchronize the package with the name MyPackage:

ipm sync --package mycompany/MyPackage

Synchronize the package with the name MyPackage with the mode set to KeepAllChanges:

ipm sync --package mycompany/MyPackage --mode KeepAllChanges

Required parameters

This command had no required parameters.

Optional parameters

--package -p Specify the package you wish to synchronize.

--mode -m Configure the Synchronization mode, valid options are Clean|KeepChangesOnly|KeepNewFilesOnly|KeepAllChanges Default: KeepAllChanges

--workspace -w Specifies the directory to synchronize. Default: If not specified, it defaults to the current directory.

--non-interactive Requests a non-interactive authentication session by providing a single or multiple client secrets.

--client-secrets One or more client secrets for non-interactive authentication. Multiple secrets should be separated by spaces. Default: If not specified and non-interactive authentication is requested, IPM will check the IPM_CLIENT_SECRETS environment variable.

Global parameters

--config -c Specifies the filename for the application configuration. Default: If left empty, the default configuration file will be used.

--help Displays the help documentation for this verb.

--language The CLI language to enable translation of parts within the application. If left empty, the default will be used. More information

--loglevel Minimum level of the log messages that will be written to the log file. Valid options are Trace | Debug | Info | Warn | Error | Fatal. If left empty, the default will be used. (Default: Error)


Version

Shows the version of the IPM client.

Syntax

ipm version

General

Non-Interactive Authentication

The IPM client supports non-interactive authentication using client secrets. These parameters enable automated processes to authenticate without user interaction.

Required Parameters for Client Secret Authentication

--non-interactive Enables non-interactive authentication mode. Required when using client secrets.

Optional Parameters for Client Secret Authentication

--client-secrets One or more client secrets for authentication. Multiple secrets should be separated by spaces. Default: If not specified, IPM will check the IPM_CLIENT_SECRETS environment variable.

Examples

Using a single client secret:

ipm add -p mycompany/MyPackage --non-interactive --client-secrets YOUR_SECRET

Using multiple client secrets:

ipm add -p mycompany/MyPackage --non-interactive --client-secrets SECRET1 SECRET2

Using environment variable:

export IPM_CLIENT_SECRETS=YOUR_SECRET
ipm add -p mycompany/MyPackage --non-interactive


Hide CLI banner

To clean up your DevOps environment output, we provide you with an option to hide the IPM banner. This will redude the output of
the IPM CLI to the minimum.

Disable the CLI banner

To disable the banner, just set the environment variable IPMHUBCLI_BANNER_DISABLED to TRUE.

Examples

Hide the banner within Windows:

set IPMHUBCLI_BANNER_DISABLED=TRUE
ipm status

Hide the banner within Linux:

export IPMHUBCLI_BANNER_DISABLED=TRUE
ipm status