def main(): args = init_argparse() logfile = init_logging() global config try: config = Configuration.Config(__file__) JiraApiClient.configure(config=config) except Exception, e: print u"%s" % e logging.error(u"%s" % e)
def searchIssues(jql, startidx, max): params = {"jql": jql, "startAt": startidx, "maxResults": max} jsonobj = JiraApiClient.get("search", params) if jsonobj: res = [] for elem in jsonobj["issues"]: res.append(elem["id"]) msg = "Encontrados %s resultados" % len(res) logging.info(msg) return res, jsonobj["total"] else: msg = "Error recuperando issues" logging.error(msg) return None, None
def __init__(self, id, viewport): self.id = id self.key = None self.attchs = [] self.project = None self.viewport = viewport jsondata = JiraApiClient.get("issue/%s" % self.id) if jsondata: self.key = jsondata["key"] self.project = jsondata["fields"]["project"]["key"] msg = "Leida issue: id=[%s], key=[%s]" % (self.id, self) logging.info(msg) self.viewport.update(message=msg) for e in jsondata["fields"]["attachment"]: self.attchs.append(Attachment(e["id"], e["filename"], e["size"])) else: msg = "Error recuperando issue: [%s]" % self.id logging.error(msg) self.viewport.update(message=msg)
def putComment(self): str_msg = config.get("COMMENT") + "\n\nBorrados:\n{noformat}" found = False for a in self.attchs: if a.isDeleted(): found = True str_msg += "- \%s\%s\%s" % (self.project, self.key, a) + "\n" str_msg += "{noformat}" dict_msg = {"update": {"comment": [{"add": {"body": str_msg}}]}} if found: if not JiraApiClient.put("issue/%s" % self.id, dict_msg): msg = "No se pudo agregar comentario a " + self.key logging.error(msg) self.viewport.update(message=msg) else: msg = "No se escribe comentario porque no se borraron adjuntos" logging.error(msg) self.viewport.update(message=msg)
def delete(self): self.deleted = JiraApiClient.delete("attachment/%s" % self.id) if not self.deleted: msg = "No se borra adjunto: id=[%s], fichero=[%s]" % (self.id, self) logging.error(msg) viewport.update(message=msg)