---
tags: dsplus,documentation
title : dsplus - Introduction
description: Introduction
---
# DSPLUS
Un outil en ligne de commande pour interagir avec DataStage et simplifier la mise en place d'une chaine CI/CD pour DataStage.
## Fonctionalités
* Requêter les objets d'un projet
* Extraire ou générer les informations d'un objet
* Export
* Métadonnées
* Capture d'écran
* Code source
* Checksum
* Arbre syntaxique
* Documentation
* Versionner un objet
* Synchroniser avec un système de gestion de révisions
* Packager un ensemble d'objets en un artefact
* Déployer un artefact sur un projet
* Publier un artefact sur un gestionnaire d'artefacts
* Contrôler le respect de normes de qualités
* Configurer un projet
## Syntaxe
```
dsplus commande [options]
```
Les options sont spécifiées au format long ```--option valeur``` ou court (suivant les options) ```-o valeur```
Les options à valeurs multiples sont spécifiées de la manière suivante:
```--option valeur1 valeur2```
Les syntaxes ci-dessous sont acceptées:
```
--option=valeur
--option valeur1 --option valeur2
```
Les options aux format court sont combinables
```
-o -x
-ox
```
## Installation
Placer l'exécutable correspondant au système dans un répertoire faisant partie du PATH.
## Commandes
Les commandes reconnues par défauts sont:
* **projects** : lister les projets
* **list** : lister les objets d'un projet
* **get** : extraire les information d'un objet d'un projet
* **init** : extraire les informations de tous les objets d'un projet
* **status** : comparer un projet avec un repository local
* **package** : packager les objets d'un repository local
* **deploy** : déployer un package vers un projet
* **quality**: controler le respect de normes de qualité
* **coverage**: état des tests
* **configure**: appliquer une configuration sur un projet
* **publish**: publier un package sur un gestionnaire d'artefacts
* **current**: afficher les packages déployés sur un projet
## Options
### Générales
Ces options s'appliquent à la plupart des commandes
Option | Courte | Type | Description
---|---|---|---
help | h | bool | Afficher l'aide
domain| d | chaîne | Adresse du serveur applicatif et le port (format host:port)
server| s | chaîne | Adresse du moteur DataStage
username | u | chaîne | Utilisateur
password | p | chaîne | Mot de passe de l'utilisateur
config | | chaîne | chemin vers un fichier de configuration
env | | chaîne | Un environnement défini dans le fichier de configuration
project | P | chaîne | Nom du projet DataStage
target | | chaîne | Chemin vers un dossier cible local
verbose | v | bool | Affichage plus verbeux
output | o | bool | Ecrire les informations dans le dossier cible
format | f | chaîne | Format de la sortie standard, par défaut du json "pretty printed", les formats possibles: table, mtable (format markdown), csv, json, html (pour certains cas)
query | | chaîne | requête à appliquer à la sortie standard, soit au format sql: "select * from ?" soit au format jsonata (https://jsonata.org/)
### Informations
Ces options s'appliquent à la commande get et indiquent quelles informations sont à extraire ou générer
Option | Courte | Type | Description
---|---|---|---
metadata | m | bool | Métadonnées
code |c | bool | Code source
image | i | bool | Capture d'écran
export | x | bool | Export isx
checksum | k | bool | Checksum
ast | | bool | Arbre syntaxique
doc | | bool | Documentation
server| | bool | Hostname du moteur
project|| bool | Nom du projet
run | r | bool | Informations sur la dernière execution (nécessite que l'operation console soit active)
### Options spécifiques
#### list
Option | Courte | Type | Description
---|---|---|---
info | | chaîne | Informations à lister
filter | | chaîne | Clause de filtrage (syntaxe de where sql)
#### package
Option | Courte | Type | Description
---|---|---|---
git | g | bool | Le repository est de type git
mode | | chaîne | FULL ou DELTA
version | | chaîne/array | Révisions git
pack | | chaîne | Nom du package
#### deploy
Option | Courte | Type | Description
---|---|---|---
git | g | bool | Le repository est de type git
pack | | chaîne | Nom du package
## Fichier de configuration
Il est recommandé de mettre en place un fichier de configuration adapté à l'environnement et à l'usage souhaité. Cela permetra de simplifier les commandes.
Le fichier est peut-être au format, YAML, JSON ou [TOML](https://github.com/toml-lang/toml), on peut y spécifier toutes les options dans les sections et sous-sections:
* defaults
* envs
* *env*
Les options générales sont définies dans la section defaults on peut définir ensuite des environnements pour les options qui varieraient entre environnement.
En cas d'option définie de manière multiple la priorité est la suivante:
Ligne de commande > env > defaults
* Exemple au format yaml:
```yaml
defaults:
dspath: "C:/IBM/InformationServer"
domain: "localhost:9446"
server: IS-ENGINEDOCKER
username: isadmin
password: "password"
```
* Exemple au format toml:
```toml
[defaults]
dspath="C:/IBM/InformationServer"
domain="localhost:9446"
server=IS-ENGINEDOCKER
username=isadmin
password="password"
```
## Formats de sortie
L'outil produit en fonction des commandes des informations:
* Dans des fichiers plats
* Sur la sortie standard
Les fichiers plats sont en général produit lors des commandes `get` ou `init` lorsque l'option `output` est à `true`.
La sortie standard peut être de plusieurs types:
* Informations d'éxecutions (commandes `init/package/deploy`)
* JSON ou multi-json (commandes `list/get(metadata,ast,manifest,current,status)`)
Lorsque la sortie est de type JSON on peut utiliser l'option `query` pour la formater. On peut également indiquer l'option `format`.
Il est également possible de développer des formateurs personnalisés pour produire du html ou du markdown par exemple.