#!/usr/bin/env python
# Watch builds on buildbot and publish to twitter
from time import time, sleep
from xmlrpclib import ServerProxy
from urllib import urlopen
user, password = "tebeka", "SECRET_PASSWORD"
bbot_url = "http://buildbot.example.com/xmlrpc"
tweet_url = "http://%s:%s@twitter.com/statuses/update.xml" % (user, password)
def main():
proxy = ServerProxy(bbot_url)
last_time = time()
while 1:
now = time()
builds = proxy.getAllBuildsInInterval(last_time, now)
for build in builds:
builder, build, status = build[0], build[1], build[5]
status = "OK" if status == "success" else "BROKEN"
message = "[%s] build %s is %s" % (builder, build, status)
urlopen(tweet_url, "status=%s" % message)
last_time = now if builds else last_time
sleep(10)
if __name__ == "__main__":
main()
If it won't be simple, it simply won't be. [Hire me, source code] by Miki Tebeka, CEO, 353Solutions
Thursday, February 04, 2010
Publish Buildbot builds to Twitter
Buildbot exposes a simple XMLRPC protocol. Using this we can write a small daemon that pools the build status and publish it somewhere (or do other interesting stuff with it). In our case we'll publish the results to twitter using its publishing API.
Subscribe to:
Post Comments (Atom)
1 comment:
Lol, I dont thing using it as a log was in twitters main goals :)
Post a Comment