{"action":"created","comment":{"url":"https://api.github.com/repos/Tendrl/monitoring-integration/pulls/comments/172448560","pull_request_review_id":101460431,"id":172448560,"diff_hunk":"@@ -104,161 +102,154 @@ def create_resource_dashboard(\n                           \"title\": \"Dashboard Row\",\n                           \"titleSize\": \"h6\"\n                           }\n-            new_resource_rows = get_rows(resource_rows)\n+            new_resource_panels = get_panels(resource_rows)\n             alert_thresholds = NS.monitoring.definitions.get_parsed_defs()[\n                 \"namespace.monitoring\"][\"thresholds\"][resource_name]\n             all_resource_rows = []\n             count = 1\n             global_row[\"panels\"] = []\n             panel_count = 1\n-            for row in new_resource_rows:\n-                new_row = copy.deepcopy(row)\n-                panels = new_row[\"panels\"]\n-                new_title = \"\"\n-                for panel in panels:\n-                    try:\n-                        for panel_title in alert_thresholds:\n-                            if not panel[\"title\"].lower().find(\n-                                    panel_title.replace(\"_\", \" \")):\n-                                targets = panel[\"targets\"]\n-                                for target in targets:\n-                                    if sds_name == constants.GLUSTER:\n-                                        new_title = set_gluster_target(\n-                                            target,\n-                                            integration_id,\n-                                            resource,\n-                                            resource_name\n-                                        )\n-                                    else:\n-                                        # In future need to add ceph target\n-                                        pass\n-                                set_alert(\n-                                    panel,\n-                                    alert_thresholds,\n-                                    panel_title,\n-                                    resource_name\n-                                )\n-                                panel[\"id\"] = count\n-                                panel[\"legend\"][\"show\"] = False\n-                                panel[\"title\"] = panel[\"title\"] + \\\n-                                    \" - \" + str(new_title)\n-                                count = count + 1\n-                                panel_count = panel_count + 1\n-                                if panel_count < 7:\n-                                    global_row[\"panels\"].append(panel)\n+            for panel in new_resource_panels:\n+                try:\n+                    new_title = \"\"\n+                    for panel_title in alert_thresholds:\n+                        if not panel[\"title\"].lower().find(\n+                                panel_title.replace(\"_\", \" \")):\n+                            targets = panel[\"targets\"]\n+                            for target in targets:\n+                                if sds_name == constants.GLUSTER:\n+                                    new_title = set_gluster_target(\n+                                        target,\n+                                        integration_id,\n+                                        resource,\n+                                        resource_name\n+                                    )\n                                 else:\n-                                    global_row[\"panels\"].append(panel)\n-                                    all_resource_rows.append(\n-                                        copy.deepcopy(global_row))\n-                                    global_row[\"panels\"] = []\n-                                    panel_count = 1\n-                    except KeyError as ex:\n-                        logger.log(\n-                            \"error\",\n-                            NS.get(\"publisher_id\", None),\n-                            {'message': str(panel[\n-                                \"title\"]) + \"failed\" + str(ex)}\n-                        )\n+                                    # In future need to add ceph target\n+                                    pass\n+                            set_alert(\n+                                panel,\n+                                alert_thresholds,\n+                                panel_title,\n+                                resource_name\n+                            )\n+                            panel[\"id\"] = count\n+                            panel[\"legend\"][\"show\"] = False\n+                            panel[\"title\"] = panel[\"title\"] + \\\n+                                \" - \" + str(new_title)\n+                            count = count + 1\n+                            panel_count = panel_count + 1\n+                            if panel_count < 7:\n+                                global_row[\"panels\"].append(panel)\n+                            else:\n+                                global_row[\"panels\"].append(panel)\n+                                all_resource_rows.append(\n+                                    copy.deepcopy(global_row))\n+                                global_row[\"panels\"] = []\n+                                panel_count = 1\n+                except KeyError as ex:\n+                    logger.log(\n+                        \"error\",\n+                        NS.get(\"publisher_id\", None),\n+                        {'message': str(panel[\n+                            \"title\"]) + \"failed\" + str(ex)}\n+                    )\n             all_resource_rows.append(copy.deepcopy(global_row))\n             resource_json[\"dashboard\"][\"rows\"] = []\n             resource_json[\"dashboard\"][\"rows\"] = all_resource_rows\n             resource_json[\"dashboard\"][\"templating\"] = {}\n-            resp = alert_utils.post_dashboard(resource_json)\n-            if resp.status_code == 200:\n-                msg = \"Alert dashboard for %s-%s is created successfully\" %  \\\n-                      (resource_name, new_title)\n-                logger.log(\"info\", NS.get(\"publisher_id\", None),\n-                           {'message': msg})\n-            else:\n-                msg = \"Alert dashboard upload failed for %s-%s\" % \\\n-                      (resource_name, new_title)\n-                logger.log(\"error\", NS.get(\"publisher_id\", None),\n-                           {'message': msg})\n+            return resource_json\n         except Exception as ex:\n             logger.log(\"error\", NS.get(\"publisher_id\", None),\n                        {'message': str(ex)})\n \n \n-def add_panel(integration_id, resource_type, resource_name, sds_name):\n-    resp = None\n-    alert_dashboard = alert_utils.get_alert_dashboard(\n-        resource_type\n-    )\n-    if alert_dashboard:\n+def add_panel(resources, resource_type, alert_dashboard, highest_panel_id):\n+    for resource in resources:\n+        sds_name = resource[\"sds_name\"]\n+        integration_id = resource[\"integration_id\"]\n+        resource_name = resource[\"resource_name\"]\n         try:\n-            if alert_dashboard[\"message\"] == \"Dashboard not found\":\n-                flag = False\n-            else:\n-                flag = True\n-        except (KeyError, AttributeError):\n-            flag = True\n-        if flag:\n-            try:\n-                if sds_name == constants.GLUSTER:\n-                    # check duplicate rows\n-                    if not check_duplicate(\n-                        alert_dashboard,\n-                        integration_id,\n-                        resource_type,\n-                        resource_name\n-                    ):\n-                        alert_row = fetch_row(alert_dashboard)\n-                        add_gluster_resource_panel(\n-                            alert_row,\n-                            integration_id,\n-                            resource_type,\n-                            resource_name\n-                        )\n-                        dash_json = create_updated_dashboard(\n-                            alert_dashboard, alert_row\n-                        )\n-                        resp = alert_utils.post_dashboard(dash_json)\n-            except Exception as ex:\n-                logger.log(\"error\", NS.get(\"publisher_id\", None),\n-                           {'message': \"Error while updating \"\n-                            \"dashboard for %s\" % resource_name})\n-                raise ex\n-    return resp\n+            if sds_name == constants.GLUSTER:\n+                alert_rows = fetch_row(alert_dashboard)\n+                add_gluster_resource_panel(\n+                    alert_rows,\n+                    integration_id,\n+                    resource_type,\n+                    resource_name,\n+                    highest_panel_id\n+                )\n+                alert_dashboard = create_updated_dashboard(\n+                    alert_dashboard, alert_rows\n+                )\n+                highest_panel_id = alert_rows[-1][\"panels\"][-1][\"id\"]\n+        except Exception as ex:\n+            logger.log(\"error\", NS.get(\"publisher_id\", None),\n+                       {'message': \"Error while updating \"\n+                        \"dashboard for %s\" % resource_name})\n+            raise ex\n+    return alert_dashboard\n \n \n def check_duplicate(\n-    alert_dashboard, integration_id, resource_type, resource_name\n+    resource_json, resources, resource_type\n ):\n-    flag = False\n-    for row in alert_dashboard[\"dashboard\"][\"rows\"]:\n-        if \"panels\" in row and (not flag):\n-            for target in row[\"panels\"][0][\"targets\"]:\n-                resource = resource_name\n-                if resource_type == \"bricks\":\n-                    hostname = resource.split(\":\")[0].split(\n-                        \"|\")[1].replace(\".\", \"_\")\n-                    resource = \".\" + resource.split(\n-                        \":\", 1)[1].replace(\"/\", \"|\") + \".\"\n-                if resource is not None:\n-                    if str(integration_id) in target[\"target\"] and str(\n-                            resource) in target[\"target\"]:\n-                        if resource_type == \"bricks\":\n-                            if hostname in target[\"target\"]:\n-                                flag = True\n+    # Keeping rows which are match with newly collcted cluster details\n+    alert_dashboard = copy.deepcopy(resource_json)\n+    resource_json[\"dashboard\"][\"rows\"] = []\n+    new_resource = []\n+    highest_panel_id = 1","path":"tendrl/monitoring_integration/grafana/alert_dashboard.py","position":263,"original_position":263,"commit_id":"01c70ca0232972e41a22c7d477eed2cdad52e589","original_commit_id":"e5dbea5b1af0bd3666a3741e04f17e125b005300","user":{"login":"shtripat","id":6771252,"avatar_url":"https://avatars0.githubusercontent.com/u/6771252?v=4","gravatar_id":"","url":"https://api.github.com/users/shtripat","html_url":"https://github.com/shtripat","followers_url":"https://api.github.com/users/shtripat/followers","following_url":"https://api.github.com/users/shtripat/following{/other_user}","gists_url":"https://api.github.com/users/shtripat/gists{/gist_id}","starred_url":"https://api.github.com/users/shtripat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shtripat/subscriptions","organizations_url":"https://api.github.com/users/shtripat/orgs","repos_url":"https://api.github.com/users/shtripat/repos","events_url":"https://api.github.com/users/shtripat/events{/privacy}","received_events_url":"https://api.github.com/users/shtripat/received_events","type":"User","site_admin":false},"body":"`most_recent_panel_id`","created_at":"2018-03-06T09:02:32Z","updated_at":"2018-03-06T09:20:09Z","html_url":"https://github.com/Tendrl/monitoring-integration/pull/362#discussion_r172448560","pull_request_url":"https://api.github.com/repos/Tendrl/monitoring-integration/pulls/362","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/Tendrl/monitoring-integration/pulls/comments/172448560"},"html":{"href":"https://github.com/Tendrl/monitoring-integration/pull/362#discussion_r172448560"},"pull_request":{"href":"https://api.github.com/repos/Tendrl/monitoring-integration/pulls/362"}}},"pull_request":{"url":"https://api.github.com/repos/Tendrl/monitoring-integration/pulls/362","id":172930886,"html_url":"https://github.com/Tendrl/monitoring-integration/pull/362","diff_url":"https://github.com/Tendrl/monitoring-integration/pull/362.diff","patch_url":"https://github.com/Tendrl/monitoring-integration/pull/362.patch","issue_url":"https://api.github.com/repos/Tendrl/monitoring-integration/issues/362","number":362,"state":"open","locked":false,"title":"Modified alert dashbaord creation logic","user":{"login":"GowthamShanmugam","id":15073590,"avatar_url":"https://avatars0.githubusercontent.com/u/15073590?v=4","gravatar_id":"","url":"https://api.github.com/users/GowthamShanmugam","html_url":"https://github.com/GowthamShanmugam","followers_url":"https://api.github.com/users/GowthamShanmugam/followers","following_url":"https://api.github.com/users/GowthamShanmugam/following{/other_user}","gists_url":"https://api.github.com/users/GowthamShanmugam/gists{/gist_id}","starred_url":"https://api.github.com/users/GowthamShanmugam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GowthamShanmugam/subscriptions","organizations_url":"https://api.github.com/users/GowthamShanmugam/orgs","repos_url":"https://api.github.com/users/GowthamShanmugam/repos","events_url":"https://api.github.com/users/GowthamShanmugam/events{/privacy}","received_events_url":"https://api.github.com/users/GowthamShanmugam/received_events","type":"User","site_admin":false},"body":"tendrl-bug-id: Tendrl/monitoring-integration#354\r\n\r\nSigned-off-by: Gowthamshanmugasundaram <gshanmug@redhat.com>","created_at":"2018-03-05T17:15:10Z","updated_at":"2018-03-06T09:20:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"66eb9c12c32114bff4e86de7378346c0468f50bc","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[{"name":"admins","id":2190096,"slug":"admins","description":"Tendrl org admins","privacy":"closed","url":"https://api.github.com/teams/2190096","members_url":"https://api.github.com/teams/2190096/members{/member}","repositories_url":"https://api.github.com/teams/2190096/repos","permission":"pull"}],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Tendrl/monitoring-integration/pulls/362/commits","review_comments_url":"https://api.github.com/repos/Tendrl/monitoring-integration/pulls/362/comments","review_comment_url":"https://api.github.com/repos/Tendrl/monitoring-integration/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Tendrl/monitoring-integration/issues/362/comments","statuses_url":"https://api.github.com/repos/Tendrl/monitoring-integration/statuses/01c70ca0232972e41a22c7d477eed2cdad52e589","head":{"label":"GowthamShanmugam:remove_unrelated_panel","ref":"remove_unrelated_panel","sha":"01c70ca0232972e41a22c7d477eed2cdad52e589","user":{"login":"GowthamShanmugam","id":15073590,"avatar_url":"https://avatars0.githubusercontent.com/u/15073590?v=4","gravatar_id":"","url":"https://api.github.com/users/GowthamShanmugam","html_url":"https://github.com/GowthamShanmugam","followers_url":"https://api.github.com/users/GowthamShanmugam/followers","following_url":"https://api.github.com/users/GowthamShanmugam/following{/other_user}","gists_url":"https://api.github.com/users/GowthamShanmugam/gists{/gist_id}","starred_url":"https://api.github.com/users/GowthamShanmugam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GowthamShanmugam/subscriptions","organizations_url":"https://api.github.com/users/GowthamShanmugam/orgs","repos_url":"https://api.github.com/users/GowthamShanmugam/repos","events_url":"https://api.github.com/users/GowthamShanmugam/events{/privacy}","received_events_url":"https://api.github.com/users/GowthamShanmugam/received_events","type":"User","site_admin":false},"repo":{"id":99898972,"name":"monitoring-integration","full_name":"GowthamShanmugam/monitoring-integration","owner":{"login":"GowthamShanmugam","id":15073590,"avatar_url":"https://avatars0.githubusercontent.com/u/15073590?v=4","gravatar_id":"","url":"https://api.github.com/users/GowthamShanmugam","html_url":"https://github.com/GowthamShanmugam","followers_url":"https://api.github.com/users/GowthamShanmugam/followers","following_url":"https://api.github.com/users/GowthamShanmugam/following{/other_user}","gists_url":"https://api.github.com/users/GowthamShanmugam/gists{/gist_id}","starred_url":"https://api.github.com/users/GowthamShanmugam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GowthamShanmugam/subscriptions","organizations_url":"https://api.github.com/users/GowthamShanmugam/orgs","repos_url":"https://api.github.com/users/GowthamShanmugam/repos","events_url":"https://api.github.com/users/GowthamShanmugam/events{/privacy}","received_events_url":"https://api.github.com/users/GowthamShanmugam/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/GowthamShanmugam/monitoring-integration","description":"Component that enables integration with external monitoring services.","fork":true,"url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration","forks_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/forks","keys_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/teams","hooks_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/hooks","issue_events_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/issues/events{/number}","events_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/events","assignees_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/assignees{/user}","branches_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/branches{/branch}","tags_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/tags","blobs_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/git/refs{/sha}","trees_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/statuses/{sha}","languages_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/languages","stargazers_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/stargazers","contributors_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/contributors","subscribers_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/subscribers","subscription_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/subscription","commits_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/commits{/sha}","git_commits_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/git/commits{/sha}","comments_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/comments{/number}","issue_comment_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/issues/comments{/number}","contents_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/contents/{+path}","compare_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/merges","archive_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/downloads","issues_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/issues{/number}","pulls_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/pulls{/number}","milestones_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/milestones{/number}","notifications_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/labels{/name}","releases_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/releases{/id}","deployments_url":"https://api.github.com/repos/GowthamShanmugam/monitoring-integration/deployments","created_at":"2017-08-10T08:17:48Z","updated_at":"2017-08-10T08:17:50Z","pushed_at":"2018-03-06T06:38:11Z","git_url":"git://github.com/GowthamShanmugam/monitoring-integration.git","ssh_url":"git@github.com:GowthamShanmugam/monitoring-integration.git","clone_url":"https://github.com/GowthamShanmugam/monitoring-integration.git","svn_url":"https://github.com/GowthamShanmugam/monitoring-integration","homepage":null,"size":3206,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"Tendrl:master","ref":"master","sha":"59e267c765ce5f3236069105d4852767a2c38773","user":{"login":"Tendrl","id":19151627,"avatar_url":"https://avatars0.githubusercontent.com/u/19151627?v=4","gravatar_id":"","url":"https://api.github.com/users/Tendrl","html_url":"https://github.com/Tendrl","followers_url":"https://api.github.com/users/Tendrl/followers","following_url":"https://api.github.com/users/Tendrl/following{/other_user}","gists_url":"https://api.github.com/users/Tendrl/gists{/gist_id}","starred_url":"https://api.github.com/users/Tendrl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tendrl/subscriptions","organizations_url":"https://api.github.com/users/Tendrl/orgs","repos_url":"https://api.github.com/users/Tendrl/repos","events_url":"https://api.github.com/users/Tendrl/events{/privacy}","received_events_url":"https://api.github.com/users/Tendrl/received_events","type":"Organization","site_admin":false},"repo":{"id":98502817,"name":"monitoring-integration","full_name":"Tendrl/monitoring-integration","owner":{"login":"Tendrl","id":19151627,"avatar_url":"https://avatars0.githubusercontent.com/u/19151627?v=4","gravatar_id":"","url":"https://api.github.com/users/Tendrl","html_url":"https://github.com/Tendrl","followers_url":"https://api.github.com/users/Tendrl/followers","following_url":"https://api.github.com/users/Tendrl/following{/other_user}","gists_url":"https://api.github.com/users/Tendrl/gists{/gist_id}","starred_url":"https://api.github.com/users/Tendrl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tendrl/subscriptions","organizations_url":"https://api.github.com/users/Tendrl/orgs","repos_url":"https://api.github.com/users/Tendrl/repos","events_url":"https://api.github.com/users/Tendrl/events{/privacy}","received_events_url":"https://api.github.com/users/Tendrl/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Tendrl/monitoring-integration","description":"Component that enables integration with external monitoring services.","fork":false,"url":"https://api.github.com/repos/Tendrl/monitoring-integration","forks_url":"https://api.github.com/repos/Tendrl/monitoring-integration/forks","keys_url":"https://api.github.com/repos/Tendrl/monitoring-integration/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Tendrl/monitoring-integration/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Tendrl/monitoring-integration/teams","hooks_url":"https://api.github.com/repos/Tendrl/monitoring-integration/hooks","issue_events_url":"https://api.github.com/repos/Tendrl/monitoring-integration/issues/events{/number}","events_url":"https://api.github.com/repos/Tendrl/monitoring-integration/events","assignees_url":"https://api.github.com/repos/Tendrl/monitoring-integration/assignees{/user}","branches_url":"https://api.github.com/repos/Tendrl/monitoring-integration/branches{/branch}","tags_url":"https://api.github.com/repos/Tendrl/monitoring-integration/tags","blobs_url":"https://api.github.com/repos/Tendrl/monitoring-integration/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Tendrl/monitoring-integration/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Tendrl/monitoring-integration/git/refs{/sha}","trees_url":"https://api.github.com/repos/Tendrl/monitoring-integration/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Tendrl/monitoring-integration/statuses/{sha}","languages_url":"https://api.github.com/repos/Tendrl/monitoring-integration/languages","stargazers_url":"https://api.github.com/repos/Tendrl/monitoring-integration/stargazers","contributors_url":"https://api.github.com/repos/Tendrl/monitoring-integration/contributors","subscribers_url":"https://api.github.com/repos/Tendrl/monitoring-integration/subscribers","subscription_url":"https://api.github.com/repos/Tendrl/monitoring-integration/subscription","commits_url":"https://api.github.com/repos/Tendrl/monitoring-integration/commits{/sha}","git_commits_url":"https://api.github.com/repos/Tendrl/monitoring-integration/git/commits{/sha}","comments_url":"https://api.github.com/repos/Tendrl/monitoring-integration/comments{/number}","issue_comment_url":"https://api.github.com/repos/Tendrl/monitoring-integration/issues/comments{/number}","contents_url":"https://api.github.com/repos/Tendrl/monitoring-integration/contents/{+path}","compare_url":"https://api.github.com/repos/Tendrl/monitoring-integration/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Tendrl/monitoring-integration/merges","archive_url":"https://api.github.com/repos/Tendrl/monitoring-integration/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Tendrl/monitoring-integration/downloads","issues_url":"https://api.github.com/repos/Tendrl/monitoring-integration/issues{/number}","pulls_url":"https://api.github.com/repos/Tendrl/monitoring-integration/pulls{/number}","milestones_url":"https://api.github.com/repos/Tendrl/monitoring-integration/milestones{/number}","notifications_url":"https://api.github.com/repos/Tendrl/monitoring-integration/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Tendrl/monitoring-integration/labels{/name}","releases_url":"https://api.github.com/repos/Tendrl/monitoring-integration/releases{/id}","deployments_url":"https://api.github.com/repos/Tendrl/monitoring-integration/deployments","created_at":"2017-07-27T06:43:22Z","updated_at":"2017-10-05T14:52:48Z","pushed_at":"2018-03-06T06:38:12Z","git_url":"git://github.com/Tendrl/monitoring-integration.git","ssh_url":"git@github.com:Tendrl/monitoring-integration.git","clone_url":"https://github.com/Tendrl/monitoring-integration.git","svn_url":"https://github.com/Tendrl/monitoring-integration","homepage":null,"size":3192,"stargazers_count":3,"watchers_count":3,"language":"Python","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":10,"mirror_url":null,"archived":false,"open_issues_count":50,"license":{"key":"lgpl-2.1","name":"GNU Lesser General Public License v2.1","spdx_id":"LGPL-2.1","url":"https://api.github.com/licenses/lgpl-2.1"},"forks":10,"open_issues":50,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Tendrl/monitoring-integration/pulls/362"},"html":{"href":"https://github.com/Tendrl/monitoring-integration/pull/362"},"issue":{"href":"https://api.github.com/repos/Tendrl/monitoring-integration/issues/362"},"comments":{"href":"https://api.github.com/repos/Tendrl/monitoring-integration/issues/362/comments"},"review_comments":{"href":"https://api.github.com/repos/Tendrl/monitoring-integration/pulls/362/comments"},"review_comment":{"href":"https://api.github.com/repos/Tendrl/monitoring-integration/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Tendrl/monitoring-integration/pulls/362/commits"},"statuses":{"href":"https://api.github.com/repos/Tendrl/monitoring-integration/statuses/01c70ca0232972e41a22c7d477eed2cdad52e589"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"shtripat"}}