Allow url to be updated

Allow a gearman worker to send extra WorkData packets to update the
url as it makes progress.

Change-Id: I29ce3fbc83bedf2d49657560c9a0c88d8ab38b35
diff --git a/zuul/launcher/gearman.py b/zuul/launcher/gearman.py
index db285c1..62683f4 100644
--- a/zuul/launcher/gearman.py
+++ b/zuul/launcher/gearman.py
@@ -375,12 +375,16 @@
         build = self.builds.get(job.unique)
         if build:
             self.log.debug("Found build %s" % build)
+
+            # Allow URL to be updated
+            build.url = data.get('url') or build.url
+
             if build.number is None:
                 self.log.info("Build %s started" % job)
-                build.url = data.get('url')
                 build.number = data.get('number')
                 build.__gearman_manager = data.get('manager')
                 self.sched.onBuildStarted(build)
+
             if job.denominator:
                 build.estimated_time = float(job.denominator) / 1000
         else: