Je pensais que ce serait assez simple de parser le flux RSS de jenkins, un truc genre :
from feedparser import parse
import re
jenkinsFeed = parse('[address of the RSS flux for the jenkins view]')
pattern = re.compile(r"(?P<projectName>\S+)\s+#(?P<buildNumber>0-9+)\s+((?P<state>.*)\)\s*")
for entry in jenkinsFeed.entries :
match = pattern.match(entry.title)
print(entry.title)
if match :
print " Project Name : " + match.group("projectName")
print " Build Number : " + match.group("buildNumber")
print " State : " + match.group("state")
else :
print " " + "no match in " + entry.title
Il existe en fait une API Python pour Jenkins. C'est encore plus simple.
Pip étant deja installé, l'API Python s'instale en une ligne :
@@>sudo easy_install jenkinsapi
Et s'utilise à peu pret aussi simplement :
from jenkinsapi import jenkins
jenkins = jenkins.Jenkins('[address of the jenkins webapp]'/api/python)
job = jenkins.get_job('[the job name]')
build = job.get_last_build()
print build.get_status()
Si controller les leds sur la sortie SPI du RPi se fait aussi fluidement, ca aura été un peu trop simple.