Bonjour,

Je suis en train de développer un portail web pour interagir avec Jenkins, un serveur d'intégration continue.

J'ai commencé à développer en Java un ensemble de fonctionnalité pour comprendre comment interagir avec Jenkins.
Pour cela, j'ai utilisé des PostMethod et des GetMethod comme dans l'exemple suivant (une méthode est deprecated et il n'y a pas de contrôle, mais c'est juste pour l'idée^^)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
 //Creer deux methodes de POST
                PostMethod PMNewJob = new PostMethod(url+ "/createItem?name=" + name); //Methode pour creer un job
                PostMethod PMFirstBuild = new PostMethod(url+"/job/"+name+"/build"); //Methode pour builder un job a vide
 
 
                // Definir le chemin de notre fichier de configuration (config.xml)
                File f = new File("./config.xml");
 
 
                PMNewJob.setRequestBody(new FileInputStream(f));
                PMNewJob.setRequestHeader("Content-type",
                "text/xml; charset=ISO-8859-1");
 
                int statusCodeNewJob = client.executeMethod(PMNewJob);
                int statusCodeFirstBuild = client.executeMethod(PMFirstBuild);
 
  PMNewJob.releaseConnection();
                PMFirstBuild.releaseConnection();
Cette méthode permet de créer un nouveau job sur Jenkins et de le builder à vide (pour créer un espace dans lequel on pourra par la suite insérer du code afin que Jenkins puissent le compiler). Le fichier de configuration passé permet de créer un job avec un certain nombre de paramètres.
Plus généralement, j'utilise cette façon de procéder pour envoyer des ordres (lancer une compilation, copier un job, etc.) avec PostMethod et recevoir des infos (résultats de compilations, builds réussis, etc.) avec GetMethod.


Maintenant, je voudrais mettre le code sur mon portail web GWT. J'ai fait quelques essais avec des RequestBuilder déclenché par des boutons (j'arrive par exemple à supprimer un job, car cette fonctionnalité ne nécessite pas de transfert de données XML), mais je n'arrive pas à comprendre comment je peux passer mon fichier de paramètres config.xml ou recevoir des infos (ces infos sont en XML ou en HTML).

Je voudrais savoir si adapter mes méthodes en RequestBuilder est une bonne solution, ou s'il faut par exemple que je garde ce code et que je le rende accessible par GWT (avec une servlet par exemple).

Le but final étant de pouvoir lancer un ordre (création de job Jenkins, build d'un job en particulier, avoir le résultat d'une compilation, etc.) directement dans mon interface web.

Je reste à votre disposition pour d'autres informations si ce n'est pas assez clair.

Merci.