def get_formatted_graph(fmt, wbs): if fmt not in FMTS: flask.abort(404) issues = get_issues(server, build_query(("Milestone", "Meta-epic"), wbs)) graph = graphviz.Source(jira2dot(issues, attr_func=attr_func, rank_func=rank_func, ranks=cycles()), format=fmt) with tempdir() as dirname: graph.render("graph", cleanup=True, directory=dirname) return flask.send_file(os.path.join(dirname, "graph%s%s" % (os.path.extsep, fmt)))
def get_kpm(): return render_text(server, build_query(('"Key Metric"',), None), partial(jirakpm2txt, server=server, csv=False))
def get_sanity(wbs): def sanity_wrapper(issues): return check_sanity(issues) or "No errors found." return render_text(server, build_query(("Milestone", "Meta-epic"), wbs), sanity_wrapper)
def get_tab(wbs): return render_text(server, build_query(("Milestone",), wbs), partial(jira2txt, csv=False))
def get_csv(wbs): return render_text(server, build_query(("Milestone",), wbs), partial(jira2txt, csv=True, show_key=True, show_title=True, url_base=(urljoin(server, "/browse") if flask.request.args.get('link') else "")))