{"action":"created","comment":{"url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/pulls/comments/83895168","pull_request_review_id":4689659,"id":83895168,"diff_hunk":"@@ -39,60 +41,421 @@ def load_yaml_file(self, config=None):\n \n     def load(self):\n         \"\"\" This is the main config load function to pull in\n-            configurations to convienent and common namespace. \"\"\"\n+            configurations to convienent and common namespace.\n+        \"\"\"\n         return {'checks': self._load_checks(),\n-                'config': self._load_config(),\n-                'identity_providers': self._load_config_identity_providers()}\n+                'config': self.raw,\n+                'identity_providers': self.identity_providers}\n \n     def _load_checks(self, withIdentityProvider=None):\n         \"\"\" Loads the checks for work to be run.\n-            Default loads all checks, withIdentityProvider option will limit checks\n-            returned by identity provider (useful for smart async request grouping)  \"\"\"\n+            Default loads all checks, withIdentityProvider option will limit\n+            checks returned by identity provider (useful for smart async\n+            request grouping)\n+        \"\"\"\n         loaded_checks = []\n \n         if withIdentityProvider:\n-            # Useful if doing grouping async requests with a shared identityprovider\n+            # Useful if doing grouping async requests with a identityprovider\n             #  and then spawning async call\n-            for checkdata in self._load_test_set_list():\n-                if checkdata['data']['identity_provider'].lower() == withIdentityProvider.lower():\n+            for checkdata in self.test_sets:\n+                if checkdata['data'][\n+                        'identity_provider'].lower() == withIdentityProvider.lower():\n                     # loaded_checks.append({'data': checkdata['data']})\n                     loaded_checks.append(checkdata)\n \n         else:\n-            loaded_checks = self._load_test_set_list()\n+            loaded_checks = self.test_sets\n \n         return loaded_checks\n \n-    def _load_config(self):\n-        \"\"\" Return base config key \"\"\"\n+    def _uniq(self, seq):\n+        \"\"\"\n+        Returns a unique list when a list of\n+        non unique items are put in.\n+\n+        :return list:\n+        \"\"\"\n+        set = {}\n+        map(set.__setitem__, seq, [])\n+        return set.keys()\n+\n+class configProperties():\n+    \"\"\"\n+    Contains property methods to help out ConfigObject\n+    \"\"\"\n+    @property\n+    def raw(self):\n+        \"\"\"\n+        Return base config\n+        \"\"\"\n         return self.config['config']\n \n-    def _load_config_identity_providers(self):\n-        \"\"\" This fetches out a list of identity providers kwarg configs from main config \"\"\"\n+    @property\n+    def identity_providers(self):\n+        \"\"\"\n+        This fetches out a list of identity providers kwarg configs\n+        from main config\n+        \"\"\"\n         providers = {}\n-        for provider_config_alias, v in self._load_config()['identity_providers'].iteritems():\n+\n+        for provider_config_alias, v in self.raw[\n+                'identity_providers'].iteritems():\n             # Add each provider and config to dictionary from yaml file.\n             providers[provider_config_alias] = v\n         # Return a list of the config\n         return providers\n \n-        \"\"\" Loads a list of the checks \"\"\"\n+    @property\n+    def test_sets(self):\n+        \"\"\" Used to prepare format of data for the checker functions.\n \n-    def _uniq(self, seq):\n-        \"\"\" Returns a unique list when a list of\n-         non unique items are put in \"\"\"\n-        set = {}\n-        map(set.__setitem__, seq, [])\n-        return set.keys()\n+        [\n+            {\n+                  \"data\": {\n+                       \"identity_provider\": \"None\",\n+                       \"testElements\": [\n+                            {\n+                                 \"datatype\": \"string\",\n+                                 \"jsonvalue\": \"./value/to/look/for[0]\",\n+                                 \"unit_of_measure\": \"events\",\n+                                 \"key\": \"zabbix_key\",\n+                                 \"metricname\": \"a friendly name\"\n+                            },\n+                       ],\n+                       \"response_type\": \"json\",\n+                       \"ok_http_code\": 200,\n+                       \"uri\": \"https://localhost\"\n+                  },\n+                  \"key\": \"testSetName\"\n+             },\n+             {\n+                  \"data\": {\n+                       \"identity_provider\": \"my_identity_alias\n+                       \"testElements\": [\n+                            {\n+                                 \"datatype\": \"string\",\n+                                 \"jsonvalue\": \"./value/to/look/for[1]\",\n+                                 \"unit_of_measure\": \"events\",\n+                                 \"key\": \"zabbix_key\",\n+                                 \"metricname\": \"a friendly name\"\n+                            },\n+                       ],\n+                       \"response_type\": \"json\",\n+                       \"ok_http_code\": 200,\n+                       \"uri\": \"https://localhost\"\n+                  },\n+                  \"key\": \"testSetName2\"\n+             }\n+        ]\n+        \"\"\"\n+\n+        checks = []\n+        for k, v in self.config['testSet'].iteritems():\n+            checks.append({'key': k, 'data': v})\n+\n+        return checks\n+\n+    @property\n+    def skip_conditions(self):\n+\n+        \"\"\"\n+        Returns a parsed list of skippable conditions from the configuration\n+        file. This is used with the skip_run_when feature.\n+\n+        returns a list.\n+        \"\"\"\n+        config = self.load()\n+        config = config['config']\n+\n+        skip_conditions = []  # dict of skip conditions\n+        config = config.get('skip_run_when')\n+\n+        # Skip if puppet fact exists\n+        try:\n+            facter = config.get('puppet_facter')\n+        except NameError:\n+            facter = False\n+        if config and facter:\n+            script = facter.get('script')\n+            fact = facter.get('fact')\n+            value = facter.get('value')\n+\n+            # assume facter in env $PATH since user doesnt know\n+            if not script:\n+                script = \"facter\"\n+\n+            if not fact:\n+                raise exception.RquiredConfigMissing(\n+                    \"config:\\n\\t\"\n+                    \"skip_run_when:\\n\\t\\t\"\n+                    \"puppet_facter:\\n\\t\\t\\t\"\n+                    \"fact: <MISSING KEY>\".expandtabs(2)\n+                )\n+\n+            if not value:\n+                raise exception.RquiredConfigMissing(\n+                    \"config:\\n\\t\"\n+                    \"skip_run_when:\\n\\t\\t\"\n+                    \"puppet_facter:\\n\\t\\t\\t\"\n+                    \"value: <MISSING KEY>\".expandtabs(2)\n+                )\n+\n+            skip_conditions.append(\n+                {\"facter\": (script, fact, value)}\n+            )\n+\n+        # Skip if shell output result exists\n+        try:\n+            shell = config.get('shell')\n+        except NameError:\n+            shell = False\n+        if config and shell:\n+            script = shell.get('script')\n+            stdout = shell.get('stdout')\n+            code = shell.get('code')\n+\n+            if not script:\n+                raise exception.RquiredConfigMissing(\n+                    \"config:\\n\\t\"\n+                    \"skip_run_when:\\n\\t\\t\"\n+                    \"shell:\\n\\t\\t\\t\"\n+                    \"script: <MISSING KEY>\".expandtabs(2)\n+                )\n+\n+            if not stdout:\n+                raise exception.RquiredConfigMissing(\n+                    \"config:\\n\\t\"\n+                    \"skip_run_when:\\n\\t\\t\"\n+                    \"shell:\\n\\t\\t\\t\"\n+                    \"stdout: <MISSING KEY>\".expandtabs(2)\n+                )\n+\n+            if not code:\n+                code = 0\n+            else:\n+                code = int(code)\n+\n+            skip_conditions.append(\n+                {\"shell\": (script, stdout, code)}\n+            )\n+\n+        # Skip if shell output result exists\n+        try:\n+            environment = config.get('environment')\n+        except:\n+            environment = False","path":"url_monitor/configuration.py","position":259,"original_position":259,"commit_id":"f4a6f7bf3e4d0682f9e9c3304206d067a27eda9d","original_commit_id":"ccf08d84a07d3cf587347ade6eb2296038c4c694","user":{"login":"teriyakichild","id":1534585,"avatar_url":"https://avatars.githubusercontent.com/u/1534585?v=3","gravatar_id":"","url":"https://api.github.com/users/teriyakichild","html_url":"https://github.com/teriyakichild","followers_url":"https://api.github.com/users/teriyakichild/followers","following_url":"https://api.github.com/users/teriyakichild/following{/other_user}","gists_url":"https://api.github.com/users/teriyakichild/gists{/gist_id}","starred_url":"https://api.github.com/users/teriyakichild/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teriyakichild/subscriptions","organizations_url":"https://api.github.com/users/teriyakichild/orgs","repos_url":"https://api.github.com/users/teriyakichild/repos","events_url":"https://api.github.com/users/teriyakichild/events{/privacy}","received_events_url":"https://api.github.com/users/teriyakichild/received_events","type":"User","site_admin":false},"body":"Ignore this if you want:\r\n```\r\nenvironment = config.get('environment', False)\r\n```","created_at":"2016-10-18T16:28:12Z","updated_at":"2016-10-18T16:52:59Z","html_url":"https://github.com/rackerlabs/zabbix_url_monitor/pull/23#discussion_r83895168","pull_request_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/pulls/23","_links":{"self":{"href":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/pulls/comments/83895168"},"html":{"href":"https://github.com/rackerlabs/zabbix_url_monitor/pull/23#discussion_r83895168"},"pull_request":{"href":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/pulls/23"}}},"pull_request":{"url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/pulls/23","id":88712986,"html_url":"https://github.com/rackerlabs/zabbix_url_monitor/pull/23","diff_url":"https://github.com/rackerlabs/zabbix_url_monitor/pull/23.diff","patch_url":"https://github.com/rackerlabs/zabbix_url_monitor/pull/23.patch","issue_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/issues/23","number":23,"state":"open","locked":false,"title":"Jonk cron-style features","user":{"login":"jonkelleyatrackspace","id":1817129,"avatar_url":"https://avatars.githubusercontent.com/u/1817129?v=3","gravatar_id":"","url":"https://api.github.com/users/jonkelleyatrackspace","html_url":"https://github.com/jonkelleyatrackspace","followers_url":"https://api.github.com/users/jonkelleyatrackspace/followers","following_url":"https://api.github.com/users/jonkelleyatrackspace/following{/other_user}","gists_url":"https://api.github.com/users/jonkelleyatrackspace/gists{/gist_id}","starred_url":"https://api.github.com/users/jonkelleyatrackspace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonkelleyatrackspace/subscriptions","organizations_url":"https://api.github.com/users/jonkelleyatrackspace/orgs","repos_url":"https://api.github.com/users/jonkelleyatrackspace/repos","events_url":"https://api.github.com/users/jonkelleyatrackspace/events{/privacy}","received_events_url":"https://api.github.com/users/jonkelleyatrackspace/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-10-10T18:56:09Z","updated_at":"2016-10-18T16:53:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0edb48ff8bc256d905c9a58f95c42976bafbe597","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/pulls/23/commits","review_comments_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/pulls/23/comments","review_comment_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/pulls/comments{/number}","comments_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/issues/23/comments","statuses_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/statuses/f4a6f7bf3e4d0682f9e9c3304206d067a27eda9d","head":{"label":"jonkelleyatrackspace:jonk-cronfeatures","ref":"jonk-cronfeatures","sha":"f4a6f7bf3e4d0682f9e9c3304206d067a27eda9d","user":{"login":"jonkelleyatrackspace","id":1817129,"avatar_url":"https://avatars.githubusercontent.com/u/1817129?v=3","gravatar_id":"","url":"https://api.github.com/users/jonkelleyatrackspace","html_url":"https://github.com/jonkelleyatrackspace","followers_url":"https://api.github.com/users/jonkelleyatrackspace/followers","following_url":"https://api.github.com/users/jonkelleyatrackspace/following{/other_user}","gists_url":"https://api.github.com/users/jonkelleyatrackspace/gists{/gist_id}","starred_url":"https://api.github.com/users/jonkelleyatrackspace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonkelleyatrackspace/subscriptions","organizations_url":"https://api.github.com/users/jonkelleyatrackspace/orgs","repos_url":"https://api.github.com/users/jonkelleyatrackspace/repos","events_url":"https://api.github.com/users/jonkelleyatrackspace/events{/privacy}","received_events_url":"https://api.github.com/users/jonkelleyatrackspace/received_events","type":"User","site_admin":false},"repo":{"id":68637313,"name":"zabbix_url_monitor","full_name":"jonkelleyatrackspace/zabbix_url_monitor","owner":{"login":"jonkelleyatrackspace","id":1817129,"avatar_url":"https://avatars.githubusercontent.com/u/1817129?v=3","gravatar_id":"","url":"https://api.github.com/users/jonkelleyatrackspace","html_url":"https://github.com/jonkelleyatrackspace","followers_url":"https://api.github.com/users/jonkelleyatrackspace/followers","following_url":"https://api.github.com/users/jonkelleyatrackspace/following{/other_user}","gists_url":"https://api.github.com/users/jonkelleyatrackspace/gists{/gist_id}","starred_url":"https://api.github.com/users/jonkelleyatrackspace/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonkelleyatrackspace/subscriptions","organizations_url":"https://api.github.com/users/jonkelleyatrackspace/orgs","repos_url":"https://api.github.com/users/jonkelleyatrackspace/repos","events_url":"https://api.github.com/users/jonkelleyatrackspace/events{/privacy}","received_events_url":"https://api.github.com/users/jonkelleyatrackspace/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jonkelleyatrackspace/zabbix_url_monitor","description":"A URL monitor that can watch a URL and json structure and create Zabbix items to alert and trigger based on responses.","fork":true,"url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor","forks_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/forks","keys_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/teams","hooks_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/hooks","issue_events_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/issues/events{/number}","events_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/events","assignees_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/assignees{/user}","branches_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/branches{/branch}","tags_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/tags","blobs_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/git/refs{/sha}","trees_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/statuses/{sha}","languages_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/languages","stargazers_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/stargazers","contributors_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/contributors","subscribers_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/subscribers","subscription_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/subscription","commits_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/commits{/sha}","git_commits_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/git/commits{/sha}","comments_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/comments{/number}","issue_comment_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/issues/comments{/number}","contents_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/contents/{+path}","compare_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/merges","archive_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/downloads","issues_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/issues{/number}","pulls_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/pulls{/number}","milestones_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/milestones{/number}","notifications_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/labels{/name}","releases_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/releases{/id}","deployments_url":"https://api.github.com/repos/jonkelleyatrackspace/zabbix_url_monitor/deployments","created_at":"2016-09-19T19:09:37Z","updated_at":"2016-09-19T19:09:38Z","pushed_at":"2016-10-18T16:20:35Z","git_url":"git://github.com/jonkelleyatrackspace/zabbix_url_monitor.git","ssh_url":"git@github.com:jonkelleyatrackspace/zabbix_url_monitor.git","clone_url":"https://github.com/jonkelleyatrackspace/zabbix_url_monitor.git","svn_url":"https://github.com/jonkelleyatrackspace/zabbix_url_monitor","homepage":null,"size":193,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"rackerlabs:master","ref":"master","sha":"a2c00f3facfac0dde75dd4e42cddea7bafdb7a73","user":{"login":"rackerlabs","id":84293,"avatar_url":"https://avatars.githubusercontent.com/u/84293?v=3","gravatar_id":"","url":"https://api.github.com/users/rackerlabs","html_url":"https://github.com/rackerlabs","followers_url":"https://api.github.com/users/rackerlabs/followers","following_url":"https://api.github.com/users/rackerlabs/following{/other_user}","gists_url":"https://api.github.com/users/rackerlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/rackerlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rackerlabs/subscriptions","organizations_url":"https://api.github.com/users/rackerlabs/orgs","repos_url":"https://api.github.com/users/rackerlabs/repos","events_url":"https://api.github.com/users/rackerlabs/events{/privacy}","received_events_url":"https://api.github.com/users/rackerlabs/received_events","type":"Organization","site_admin":false},"repo":{"id":62167315,"name":"zabbix_url_monitor","full_name":"rackerlabs/zabbix_url_monitor","owner":{"login":"rackerlabs","id":84293,"avatar_url":"https://avatars.githubusercontent.com/u/84293?v=3","gravatar_id":"","url":"https://api.github.com/users/rackerlabs","html_url":"https://github.com/rackerlabs","followers_url":"https://api.github.com/users/rackerlabs/followers","following_url":"https://api.github.com/users/rackerlabs/following{/other_user}","gists_url":"https://api.github.com/users/rackerlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/rackerlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rackerlabs/subscriptions","organizations_url":"https://api.github.com/users/rackerlabs/orgs","repos_url":"https://api.github.com/users/rackerlabs/repos","events_url":"https://api.github.com/users/rackerlabs/events{/privacy}","received_events_url":"https://api.github.com/users/rackerlabs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/rackerlabs/zabbix_url_monitor","description":"A URL monitor that can watch a URL and json structure and create Zabbix items to alert and trigger based on responses.","fork":false,"url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor","forks_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/forks","keys_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/teams","hooks_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/hooks","issue_events_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/issues/events{/number}","events_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/events","assignees_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/assignees{/user}","branches_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/branches{/branch}","tags_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/tags","blobs_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/git/refs{/sha}","trees_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/statuses/{sha}","languages_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/languages","stargazers_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/stargazers","contributors_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/contributors","subscribers_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/subscribers","subscription_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/subscription","commits_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/commits{/sha}","git_commits_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/git/commits{/sha}","comments_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/comments{/number}","issue_comment_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/issues/comments{/number}","contents_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/contents/{+path}","compare_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/merges","archive_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/downloads","issues_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/issues{/number}","pulls_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/pulls{/number}","milestones_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/milestones{/number}","notifications_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/labels{/name}","releases_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/releases{/id}","deployments_url":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/deployments","created_at":"2016-06-28T19:10:20Z","updated_at":"2016-09-15T00:43:58Z","pushed_at":"2016-10-18T16:20:36Z","git_url":"git://github.com/rackerlabs/zabbix_url_monitor.git","ssh_url":"git@github.com:rackerlabs/zabbix_url_monitor.git","clone_url":"https://github.com/rackerlabs/zabbix_url_monitor.git","svn_url":"https://github.com/rackerlabs/zabbix_url_monitor","homepage":null,"size":165,"stargazers_count":4,"watchers_count":4,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":5,"mirror_url":null,"open_issues_count":8,"forks":5,"open_issues":8,"watchers":4,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/pulls/23"},"html":{"href":"https://github.com/rackerlabs/zabbix_url_monitor/pull/23"},"issue":{"href":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/issues/23"},"comments":{"href":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/issues/23/comments"},"review_comments":{"href":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/pulls/23/comments"},"review_comment":{"href":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/pulls/23/commits"},"statuses":{"href":"https://api.github.com/repos/rackerlabs/zabbix_url_monitor/statuses/f4a6f7bf3e4d0682f9e9c3304206d067a27eda9d"}}}}
{"actor":{"display_login":"teriyakichild"}}