PHPackages                             bheisig/idoitcli - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. bheisig/idoitcli

ActiveProject[CLI &amp; Console](/categories/cli)

bheisig/idoitcli
================

Access your CMDB on the command line interface

0.9(6y ago)14171[14 issues](https://github.com/bheisig/i-doit-cli/issues)AGPL-3.0+PHPPHP &gt;=7.1.0CI failing

Since Feb 6Pushed 6y ago6 watchersCompare

[ Source](https://github.com/bheisig/i-doit-cli)[ Packagist](https://packagist.org/packages/bheisig/idoitcli)[ Docs](https://github.com/bheisig/i-doit-cli)[ RSS](/packages/bheisig-idoitcli/feed)WikiDiscussions master Synced today

READMEChangelog (9)Dependencies (19)Versions (11)Used By (0)

i-doit CLI tool
===============

[](#i-doit-cli-tool)

Access your CMDB on the command line interface

[![Latest Stable Version](https://camo.githubusercontent.com/3f01bbd6b002edf1a206c530f25830853b816f86049d6630056d3a85c1e1c4b3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f626865697369672f69646f6974636c692e737667)](https://packagist.org/packages/bheisig/idoitcli)[![Minimum PHP Version](https://camo.githubusercontent.com/5c3072425e67297c8ef63d17acd2c86a0d2ef324f19249f2280bd7de902f63a2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230372e302d3838393242462e737667)](https://php.net/)[![Build Status](https://camo.githubusercontent.com/78e00441c06b93e06d6cd18a9b342e9b6b69314f352a79e9052c0eed5347a883/68747470733a2f2f7472617669732d63692e6f72672f626865697369672f692d646f69742d636c692e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/bheisig/i-doit-cli)

About
-----

[](#about)

[i-doit](https://i-doit.com) is a software application for IT documentation and a CMDB (Configuration Management Database). This application is very useful to collect all your knowledge about the IT infrastructure you are dealing with. i-doit is a Web application and [has an exhausting API](https://kb.i-doit.com/pages/viewpage.action?pageId=37355644) which is very useful to automate your infrastructure.

This application provides a simple, but powerful command line interface to access your CMDB data stored in i-doit.

Features
--------

[](#features)

- Read information about objects their types and even their attributes
- Find your needle in the haystack called CMDB
- Do you need a free IP address in a particular subnet? This app suggests one for you.
- Stress your system: auto-generate thousands of objects

Requirements
------------

[](#requirements)

Before using this app your system must meet the following requirements:

- Of course, i-doit pro/open, version 1.13 or higher
- i-doit API add-on, version 1.10.3 or higher
- Any POSIX operating system (GNU/Linux, \*BSD, MacOS) or Windows
- PHP &gt;= 7.1 (7.3 is recommended)
- PHP extensions `calendar`, `cli`, `cURL`, `json`, `phar` and `zlib`
- PHP extension `pcntl` is optional, but highly recommended (non-Windows only)

Install and update
------------------

[](#install-and-update)

You have two good options to download and install this application:

- Download any stable release (**recommended**)
- Use [PHIVE](https://phar.io/)

### Download release

[](#download-release)

Download the latest stable version of the binary `idoitcli` [from the release site](https://github.com/bheisig/i-doit-cli/releases). Then install it system-wide:

```
curl -OL https://github.com/bheisig/i-doit-cli/releases/download/0.7/idoitcli
chmod 755 idoitcli
sudo mv idoitcli /usr/local/bin/

```

To be up-to-date just repeat the steps above.

### Use PHIVE

[](#use-phive)

With [PHIVE](https://phar.io/) you are able to download and install PHAR files on your system. Additionally, it will verify the SHA1 and GPG signatures which is highly recommended. If you have PHIVE already installed you can fetch the latest version of this application:

```
sudo phive install --global bheisig/i-doit-cli

```

This will install an executable binary to `/usr/bin/idoitcli`.

If a new release is available you can perform an update:

```
sudo phive update --global

```

Usage
-----

[](#usage)

Just run the application to show the basic usage:

```
idoitcli

```

First steps
-----------

[](#first-steps)

This application caches a lot locally to give you the best user experience. Run the `init` command:

```
idoitcli init

```

Some simple questions will be asked how to access your i-doit installation. Next step is to create cache files:

```
idoitcli cache

```

After that some files will be created in your home directory under `~/.idoitcli/`: Each i-doit installation has its own cache files under `data/`. Your user-defined configuration file is called `config.json`.

You may check your current status by running:

```
idoitcli status

```

This gives you some basic information about your i-doit installation, your settings and your user.

Access your CMDB data
---------------------

[](#access-your-cmdb-data)

This is probably the best part: Read information about objects, their types and even attributes.

List all object types:

```
idoitcli read
idoitcli read /

```

List server objects:

```
idoitcli read server/
idoitcli read server/host.example.net
idoitcli read server/*.example.net
idoitcli read server/host.*.net
idoitcli read server/*.*.net
idoitcli read server/host*
idoitcli read server/*

```

Show common information about server "host.example.net":

```
idoitcli read server/host.example.net

```

Show common information about object identifier "42":

```
idoitcli read 42

```

Show common information about one or more objects by their titles:

```
idoitcli read *.example.net
idoitcli read host.*.net
idoitcli read *.*.net
idoitcli read host*

```

List assigned categories:

```
idoitcli read server/host.example.net/

```

Show values from category "model" for this server:

```
idoitcli read server/host.example.net/model

```

Show values from category "model" for one or more servers:

```
idoitcli read server/*.example.net/model
idoitcli read server/host.*.net/model
idoitcli read server/*.*.net/model
idoitcli read server/host*/model
idoitcli read server/*/model

```

Or just show the name of the model:

```
idoitcli read server/host.example.net/model/model

```

List available attributes for category "model":

```
idoitcli read server/host.example.net/model/

```

You may leave the object type empty for specific objects, for example:

```
idoitcli read host.example.net/model

```

**Notice:** These examples work great with unique names. That is why it is common practice to give objects unique titles that are not in conflict with object types and categories.

Show everything about an object
-------------------------------

[](#show-everything-about-an-object)

```
idoitcli show myserver
idoitcli show "My Server"
idoitcli show 42

```

Find your data
--------------

[](#find-your-data)

Find your needle in the haystack called CMDB:

```
idoitcli search myserver
idoitcli search "My Server"

```

Show the next free IPv4 address
-------------------------------

[](#show-the-next-free-ipv4-address)

Get the next free IPv4 address for a particular subnet:

```
idoitcli nextip SUBNET

```

`SUBNET` may be the object title or its identifier.

Auto-generate objects
---------------------

[](#auto-generate-objects)

For testing purposes stress your i-doit installation and let the app create thousands of objects, attributes and relations between objects:

```
idoitcli -c FILE random

```

There are some examples located under `docs/`.

Update the caches
-----------------

[](#update-the-caches)

If your CMDB configuration has changed you need to re-create the cache files by running the `cache` command:

```
idoitcli cache

```

Playground
----------

[](#playground)

Perform self-defined API requests – pass request as argument:

```
idoitcli call '{"version": "2.0","method": "idoit.version","params": {"apikey": "c1ia5q","language": "en"},"id": 1}'

```

Pipe request:

```
echo '{"version": "2.0","method": "idoit.version","params": {"apikey": "c1ia5q","language": "en"},"id": 1}' | idoitcli call

```

Read request from file:

```
cat request.txt | idoitcli call

```

Read request from standard input (double-enter to execute):

```
idoitcli call

```

Configuration
-------------

[](#configuration)

There are some ways to set your configurations settings:

1. System-wide settings are stored under `/etc/idoitcli/config.json`.
2. User-defined settings are stored under `~/.idoitcli/config.json`.
3. Pass your run-time settings by using the options `-c` or `--config`.

Keep in mind this order matters. Each file is optional. Any combination is possible. Furthermore, to include even more configuration files you can pass the options `-c` and `--config` as often as you like.

The configuration files are JSON-formatted.

Contribute
----------

[](#contribute)

Please, report any issues to [our issue tracker](https://github.com/bheisig/i-doit-cli/issues). Pull requests and OS distribution packages are very welcomed. For further information, see file [`CONTRIBUTING.md`](CONTRIBUTING.md).

Copyright &amp; License
-----------------------

[](#copyright--license)

Copyright (C) 2016-19 [Benjamin Heisig](https://benjamin.heisig.name/)

Licensed under the [GNU Affero GPL version 3 or later (AGPLv3+)](https://gnu.org/licenses/agpl.html). This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

[List of first names and gender:](https://www.heise.de/ct/ftp/07/17/182/) Copyright (C) 2007-2008 Jörg Michael, licensed under [GNU Free Documentation License](https://www.gnu.org/licenses/fdl.html)

[List of surnames:](https://github.com/HBehrens/phonet4n/blob/master/src/Tests/data/nachnamen.txt) Copyright (C) Heiko Behrens, lisenced under [GNU Lesser General Public License](https://www.gnu.org/licenses/lgpl-3.0)

###  Health Score

22

—

LowBetter than 21% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~133 days

Recently: every ~156 days

Total

9

Last Release

2365d ago

PHP version history (3 changes)0.1PHP &gt;=5.6.0

0.5PHP &gt;=7.0.0

0.8PHP &gt;=7.1.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/316b1a776fd7792d9a7cd9e199131cee2724593a712d5723924333c3f731d46d?d=identicon)[bheisig](/maintainers/bheisig)

---

Top Contributors

[![bheisig](https://avatars.githubusercontent.com/u/1420087?v=4)](https://github.com/bheisig "bheisig (211 commits)")

---

Tags

apiclicmdbi-doitphiveapiclijson-rpci-doitcmdbit documentation

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/bheisig-idoitcli/health.svg)

```
[![Health](https://phpackages.com/badges/bheisig-idoitcli/health.svg)](https://phpackages.com/packages/bheisig-idoitcli)
```

###  Alternatives

[idoit/apiclient

Easy-to-use, but feature-rich client library for i-doit's JSON-RPC API

1810.4k](/packages/idoit-apiclient)[zenddevops/client

ZF2 CLI tool to access Zend Server Web API

225.1k](/packages/zenddevops-client)[renoki-co/php-helm

PHP Helm Processor is a process wrapper for Kubernetes' Helm v3 CLI. You can run programmatically Helm v3 commands, directly from PHP, with a simple syntax.

1310.6k](/packages/renoki-co-php-helm)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
