Cet article est le premier d’une série sur les API RSE.

Aujourd’hui nous allons voir l’API /api/v1/cl/{commandname}

Méthode GET.
Cette API récupère un flux xml, contenant le CDML d’une commande (Command definition Markup Language).
On retrouve la définition du CDML généré dans l’IFS : /QIBM/XML/DTD/QcdCLCmd.dtd
Si vous disposez d’un outils sachant interpréter un CDML, vous pouvez prompter une commande IBMi dans votre outils.

C’est le cas du scripteur SQL d’ACS, de RDI, VScode, par exemple.

Pour rappel, l’accès aux APis RSE se fait depuis un navigateur, par l’URL :

https://Host:2012/openapi/ui/#/

Dans la partie CL Command Services, il y a l’API GET qui nous intéresse :

Prenons comme exemple, le prompt de la commande WRKOBJ

Le résultat produit le CDML correspondant.

On retrouve les paramètres de la commande, les valeurs possibles, par défaut, enfin tout ce qu’il faut pour prompter la commande… avec l’outillage qui va bien !

Mais, prenons le cas d’une commande personnelle.

Nous avons dans un de nos outils une commande CHGNODSES

Par F4, on obtient l’invite de saisie :

Si on utilise l’APIs ,

On récupère bien le CDML :

L’API retourne le CDML d’une commande, que ce soit une commande OS ou une commande personnelle.
Pour que le CDML soit le plus complet possible, il est nécessaire de renseigner le maximum d’éléments lors de votre création de commande : paramètres obligatoires vs optionnels, valeur par défaut, valeurs possibles. Ce qui devrait être toujours le cas, même sans l’utilisation de l’API…