)]}'
{"README.md":[{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"b0a3ab183714aff6352c516313e356c9f54198bb","unresolved":false,"context_lines":[{"line_number":23,"context_line":"git clone https://git.openstack.org/openstack/monasca-ui.git  # clone monasca-ui"},{"line_number":24,"context_line":"git clone https://git.openstack.org/openstack/horizon.git  # clone horizon"},{"line_number":25,"context_line":"git clone https://github.com/twc-openstack/grafana.git  # clone grafana"},{"line_number":26,"context_line":"git https://github.com/twc-openstack/grafana-plugins.git"},{"line_number":27,"context_line":"```"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"##Set up Horizon"}],"source_content_type":"text/x-gfm","patch_set":1,"id":"fa0719c6_74e121d0","line":26,"updated":"2016-03-22 18:26:40.000000000","message":"git clone?","commit_id":"80e9821e7d961d54b9140769fbe1d6efdc2302f0"},{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"b0a3ab183714aff6352c516313e356c9f54198bb","unresolved":false,"context_lines":[{"line_number":57,"context_line":"* Use the grafana docs to build and deploy grafana"},{"line_number":58,"context_line":"* http://docs.grafana.org/project/building_from_source/"},{"line_number":59,"context_line":"* http://docs.grafana.org/installation/configuration/"},{"line_number":60,"context_line":"* Copy monasca-ui/grafana-dashboards/* to /public/dashboards/ in your grafana deployment."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"##Start Server"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-gfm","patch_set":1,"id":"fa0719c6_b402996d","line":60,"updated":"2016-03-22 18:26:40.000000000","message":"should this also say what to do with grafana-plugins?","commit_id":"80e9821e7d961d54b9140769fbe1d6efdc2302f0"},{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"97329ca1a11b33540ac9ccf60ce295db89f43d40","unresolved":false,"context_lines":[{"line_number":20,"context_line":"##Get the Code"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"```"},{"line_number":23,"context_line":"git clone https://git.openstack.org/openstack/monasca-ui.git  # clone monasca-ui"},{"line_number":24,"context_line":"git clone https://git.openstack.org/openstack/horizon.git  # clone horizon"},{"line_number":25,"context_line":"git clone https://github.com/twc-openstack/grafana.git  # clone grafana"},{"line_number":26,"context_line":"git clone https://github.com/twc-openstack/grafana-plugins.git # clone grafana plugins"}],"source_content_type":"text/x-gfm","patch_set":9,"id":"fa0719c6_7a6707e9","line":23,"updated":"2016-03-23 19:23:14.000000000","message":"I think we should keep grafana 1.0 instructions in here until that code is removed?  How about 2 sections?","commit_id":"6a7aec2162163d314042b3993433d6a518cb70fe"}],"monitoring/overview/templates/overview/index.html":[{"author":{"_account_id":6650,"name":"Eric Peterson","email":"ejpetey@gmail.com","username":"ericpeterson-l"},"change_message_id":"378ec08f50e4787413def571d084ab4a6d43ae6b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    \u003cdiv style\u003d\"padding: 3px;\"\u003e"},{"line_number":11,"context_line":"      \u003ca target\u003d\"Grafana Home\" href\u003d\"{{grafana_url}}\" class\u003d\"btn btn-default btn-sm\"\u003e"},{"line_number":12,"context_line":"          \u003cspan class\u003d\"glyphicon glyphicon-dashboard\"\u003e\u003c/span\u003e"},{"line_number":13,"context_line":"          Grafana Home"},{"line_number":14,"context_line":"      \u003c/a\u003e"},{"line_number":15,"context_line":"      {% for dashboard in dashboards %}"},{"line_number":16,"context_line":"      \u003ca target\u003d{{ dashboard.title }} href\u003d\"{{grafana_url}}/dashboard/db/{{ dashboard.path }}\" class\u003d\"btn btn-default btn-sm\"\u003e"}],"source_content_type":"text/html","patch_set":7,"id":"fa0719c6_901e456e","line":13,"updated":"2016-03-23 17:09:46.000000000","message":"this should be localizable","commit_id":"0f6430a2873fa9d8532ede3690b1945f8d5406f6"},{"author":{"_account_id":6650,"name":"Eric Peterson","email":"ejpetey@gmail.com","username":"ericpeterson-l"},"change_message_id":"378ec08f50e4787413def571d084ab4a6d43ae6b","unresolved":false,"context_lines":[{"line_number":21,"context_line":"      {% if can_access_logs and enable_kibana_button %}"},{"line_number":22,"context_line":"      \u003ca target\u003d\"dashboard\" href\u003d\"{% url \u0027horizon:monitoring:overview:kibana_proxy\u0027 url\u003d\u0027/\u0027 %}\" class\u003d\"btn btn-default btn-sm\"\u003e"},{"line_number":23,"context_line":"              \u003cspan class\u003d\"glyphicon glyphicon-dashboard\"\u003e\u003c/span\u003e"},{"line_number":24,"context_line":"              Log Management"},{"line_number":25,"context_line":"      \u003c/a\u003e"},{"line_number":26,"context_line":"      {% endif %}"},{"line_number":27,"context_line":"    \u003c/div\u003e"}],"source_content_type":"text/html","patch_set":7,"id":"fa0719c6_a3006102","line":24,"updated":"2016-03-23 17:09:46.000000000","message":"i18n here too","commit_id":"0f6430a2873fa9d8532ede3690b1945f8d5406f6"},{"author":{"_account_id":18286,"name":"Shinya Kawabata","email":"s-kawabata@wx.jp.nec.com","username":"kawabata"},"change_message_id":"d671119d0d372242733058b3a7d0f23b4235a9ee","unresolved":false,"context_lines":[{"line_number":21,"context_line":"      {% endfor %}"},{"line_number":22,"context_line":"      {% else %}"},{"line_number":23,"context_line":"      {% for dashboard in dashboards %}"},{"line_number":24,"context_line":"      \u003ca target\u003d{{ dashboard.title }} href\u003d\"/grafana/index.html#/dashboard/file/{{ dashboard.fileName }}?api\u003d{{api}}\" class\u003d\"btn btn-default btn-sm\"\u003e"},{"line_number":25,"context_line":"      {% endfor %}"},{"line_number":26,"context_line":"      {% endif %}"},{"line_number":27,"context_line":"      {% if can_access_logs and enable_kibana_button %}"}],"source_content_type":"text/html","patch_set":12,"id":"da0c15f0_d0732f4c","line":24,"range":{"start_line":24,"start_character":93,"end_line":24,"end_character":101},"updated":"2016-03-25 05:08:25.000000000","message":"Above dashboard field is \u0027path\u0027 but this is \u0027fileName\u0027. Is this OK?","commit_id":"3cb1ff23deaf7e8a39d5cb8ac989e9df58bca44d"},{"author":{"_account_id":11155,"name":"Ryan Bak","email":"ryan.bak@twcable.com","username":"ryanmbak"},"change_message_id":"90caeb650707a404b25f8831a28df563cc67a33b","unresolved":false,"context_lines":[{"line_number":21,"context_line":"      {% endfor %}"},{"line_number":22,"context_line":"      {% else %}"},{"line_number":23,"context_line":"      {% for dashboard in dashboards %}"},{"line_number":24,"context_line":"      \u003ca target\u003d{{ dashboard.title }} href\u003d\"/grafana/index.html#/dashboard/file/{{ dashboard.fileName }}?api\u003d{{api}}\" class\u003d\"btn btn-default btn-sm\"\u003e"},{"line_number":25,"context_line":"      {% endfor %}"},{"line_number":26,"context_line":"      {% endif %}"},{"line_number":27,"context_line":"      {% if can_access_logs and enable_kibana_button %}"}],"source_content_type":"text/html","patch_set":12,"id":"ba0121b8_841a236d","line":24,"range":{"start_line":24,"start_character":93,"end_line":24,"end_character":101},"in_reply_to":"da0c15f0_d0732f4c","updated":"2016-03-28 20:36:13.000000000","message":"In the old code, we used \u0027fileName\u0027, but dashboards are no longer stored as files on the server node and are just specified by a path name, so I changed the variable for clarity.  This does not affect backward compatibility, as \u0027fileName\u0027 is still used in the backwards compatible code.","commit_id":"3cb1ff23deaf7e8a39d5cb8ac989e9df58bca44d"}],"monitoring/overview/views.py":[{"author":{"_account_id":8126,"name":"Bradley Klein","email":"bradley.klein@charter.com","username":"bklei"},"change_message_id":"97329ca1a11b33540ac9ccf60ce295db89f43d40","unresolved":false,"context_lines":[{"line_number":227,"context_line":"            region \u003d self.request.user.services_region"},{"line_number":228,"context_line":"            context[\"grafana_url\"] \u003d getattr(settings, \u0027GRAFANA_URL\u0027).get(region, \u0027\u0027)"},{"line_number":229,"context_line":"        except AttributeError:"},{"line_number":230,"context_line":"            proxy_url_path \u003d str(reverse_lazy(constants.URL_PREFIX + \u0027proxy\u0027))"},{"line_number":231,"context_line":"            api_root \u003d self.request.build_absolute_uri(proxy_url_path)"},{"line_number":232,"context_line":"            context[\"api\"] \u003d api_root"},{"line_number":233,"context_line":"        context[\"dashboards\"] \u003d get_dashboard_links(self.request)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa0719c6_fad6774d","line":230,"updated":"2016-03-23 19:23:14.000000000","message":"Maybe add TODO here for when grafana 1.0 is not supported?  It\u0027s not totally obvious to me this catch is for 1.0","commit_id":"6a7aec2162163d314042b3993433d6a518cb70fe"}]}
