{"action":"created","comment":{"url":"https://api.github.com/repos/balabit/syslog-ng/pulls/comments/209216428","pull_request_review_id":145184057,"id":209216428,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwOTIxNjQyOA==","diff_hunk":"@@ -0,0 +1,157 @@\n+/*\n+ * Copyright (c) 2018 Balabit\n+ *\n+ * This library is free software; you can redistribute it and/or\n+ * modify it under the terms of the GNU Lesser General Public\n+ * License as published by the Free Software Foundation; either\n+ * version 2.1 of the License, or (at your option) any later version.\n+ *\n+ * This library is distributed in the hope that it will be useful,\n+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\n+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n+ * Lesser General Public License for more details.\n+ *\n+ * You should have received a copy of the GNU Lesser General Public\n+ * License along with this library; if not, write to the Free Software\n+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\n+ *\n+ * As an additional exemption you are allowed to compile & link against the\n+ * OpenSSL libraries as published by the OpenSSL project. See the file\n+ * COPYING for details.\n+ *\n+ */\n+#include \"python-logtemplate.h\"\n+#include \"python-logtemplate-options.h\"\n+#include \"python-logmsg.h\"\n+#include \"python-helpers.h\"\n+#include \"scratch-buffers.h\"\n+#include \"messages.h\"\n+\n+PyTypeObject py_log_template_type;\n+\n+void\n+py_log_template_free(PyLogTemplate *self)\n+{\n+  log_template_unref(self->template);\n+  g_free(self->template_options);\n+  PyObject_Del(self);\n+}\n+\n+PyObject *\n+py_log_template_format(PyObject *s, PyObject *args, PyObject *kwrds)\n+{\n+  PyLogTemplate *self = (PyLogTemplate *)s;\n+\n+  PyLogMessage *msg;\n+  PyLogTemplateOptions *log_template_options = NULL;\n+  gint tz = LTZ_SEND;\n+  gint seqnum = 0;\n+\n+  static const gchar *kwlist[] = {\"msg\", \"template_options\", \"tz\", \"seqnum\", NULL};\n+\n+  if (!PyArg_ParseTupleAndKeywords(args, kwrds, \"O|Oii\", (gchar **)kwlist,\n+                                   &msg, &log_template_options, &tz, &seqnum))\n+    return NULL;\n+\n+  if (Py_TYPE(msg) != &py_log_message_type)\n+    {\n+      PyErr_Format(PyExc_TypeError,\n+                   \"LogMessage expected in the first parameter\");\n+      return NULL;\n+    }\n+\n+  if (log_template_options && (Py_TYPE(log_template_options) != &py_log_template_options_type))\n+    {","path":"modules/python/python-logtemplate.c","position":64,"original_position":64,"commit_id":"04a9a6d80db7bb4a79d14168706e1c301799ab6d","original_commit_id":"04a9a6d80db7bb4a79d14168706e1c301799ab6d","user":{"login":"bazsi","id":714102,"node_id":"MDQ6VXNlcjcxNDEwMg==","avatar_url":"https://avatars3.githubusercontent.com/u/714102?v=4","gravatar_id":"","url":"https://api.github.com/users/bazsi","html_url":"https://github.com/bazsi","followers_url":"https://api.github.com/users/bazsi/followers","following_url":"https://api.github.com/users/bazsi/following{/other_user}","gists_url":"https://api.github.com/users/bazsi/gists{/gist_id}","starred_url":"https://api.github.com/users/bazsi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bazsi/subscriptions","organizations_url":"https://api.github.com/users/bazsi/orgs","repos_url":"https://api.github.com/users/bazsi/repos","events_url":"https://api.github.com/users/bazsi/events{/privacy}","received_events_url":"https://api.github.com/users/bazsi/received_events","type":"User","site_admin":false},"body":"again, please extract the type check to a macro/inline function.\r\n","created_at":"2018-08-10T10:30:40Z","updated_at":"2018-08-10T10:39:51Z","html_url":"https://github.com/balabit/syslog-ng/pull/2196#discussion_r209216428","pull_request_url":"https://api.github.com/repos/balabit/syslog-ng/pulls/2196","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/balabit/syslog-ng/pulls/comments/209216428"},"html":{"href":"https://github.com/balabit/syslog-ng/pull/2196#discussion_r209216428"},"pull_request":{"href":"https://api.github.com/repos/balabit/syslog-ng/pulls/2196"}}},"pull_request":{"url":"https://api.github.com/repos/balabit/syslog-ng/pulls/2196","id":202812709,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAyODEyNzA5","html_url":"https://github.com/balabit/syslog-ng/pull/2196","diff_url":"https://github.com/balabit/syslog-ng/pull/2196.diff","patch_url":"https://github.com/balabit/syslog-ng/pull/2196.patch","issue_url":"https://api.github.com/repos/balabit/syslog-ng/issues/2196","number":2196,"state":"open","locked":false,"title":"python-destination: template support","user":{"login":"furiel","id":11007226,"node_id":"MDQ6VXNlcjExMDA3MjI2","avatar_url":"https://avatars0.githubusercontent.com/u/11007226?v=4","gravatar_id":"","url":"https://api.github.com/users/furiel","html_url":"https://github.com/furiel","followers_url":"https://api.github.com/users/furiel/followers","following_url":"https://api.github.com/users/furiel/following{/other_user}","gists_url":"https://api.github.com/users/furiel/gists{/gist_id}","starred_url":"https://api.github.com/users/furiel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/furiel/subscriptions","organizations_url":"https://api.github.com/users/furiel/orgs","repos_url":"https://api.github.com/users/furiel/repos","events_url":"https://api.github.com/users/furiel/events{/privacy}","received_events_url":"https://api.github.com/users/furiel/received_events","type":"User","site_admin":false},"body":"Fixes: https://github.com/balabit/syslog-ng/issues/2172\r\n\r\nThis patchset adds support for template formatting in python destination. All necessary parameters are exposed to the user code: LTZ_SEND, LTZ_LOCAL, sequence number, and LogTemplateOptions instance of the destination. This patchset does not support construction of LogTemplateOptions, nor their fields are exposed to the user, only that is generated by the grammar is available to the user. Though such functionality might be useful, and can be added later.\r\n\r\nLTZ_SEND, LTZ_LOCAL is exposed in a newly created syslog-ng module. LogTemplateOptions and sequence number is exposed through self (the class, provided by the user).\r\n\r\nExamples:\r\n(Don't forget to add `import syslog-ng`)\r\n\r\n* Creating a new LogTemplate object \r\n```\r\nself.log_template = syslogng.LogTemplate(\"${S_STAMP}\")\r\nself.log_template = syslogng.LogTemplate(\"${S_STAMP}\", self.template_options)\r\n```\r\n\r\n* Formatting template:\r\n```\r\nself.log_template.format(msg)\r\nself.log_template.format(msg, self.template_options)\r\nself.log_template.format(msg, self.template_options, syslogng.LTZ_SEND)\r\nself.log_template.format(msg, self.template_options, syslogng.LTZ_SEND, self.getSeqNum())\r\n```\r\nOnly msg and is mandatory for the `format` method.\r\n\r\n* Formatting template works with keyword arguments as well:\r\n```\r\nself.log_template.format(msg=msg, template_options=self.template_options, tz=syslogng.LTZ_SEND, seqnum=self.getSeqNum()))\r\n```\r\n\r\nTemplate options must be either provided in the constructor or in the `format` method. Otherwise syslog-ng will raise RuntimeError during in the `format` method.\r\n\r\nNotes to developers:\r\n- In practice some macros could work without any LogTemplate options provided (NULL passed to log_template_format). Though in case of some macros: like STAMP, syslog-ng would crash, which I wanted to avoid in a language binding. That's why I am enforcing that LogTemplateOptions must be passed either in constructor or in the format method.\r\n\r\n- I was trying hard to keep reference counts at bay. Though there is one place (somewhat hidden hidden :( )\r\nthat I know there is a reference leak: PY_LTZ_LOCAL, PY_LTZ_SEND. So that I could unref these, there should be a pair for python_module_init, like deinit, but syslog-ng currently does not support deinit for modules (so files). Or some kind of garbage collection mechanism. I created an internal jira ticket about it. As for this reference leak, this does **not** result in memory leak. Interestingly enough, it seems many (all?) PyObject numbers share the same object, so by the time I created these objects,  the reference count was already 433 for PY_LTZ_SEND (0), which means the zero-object was already reffed many times, and most probably will not disappear when syslog-ng exits. We cannot unload the zero object. So this is a cosmetic reference leak.","created_at":"2018-07-20T10:44:16Z","updated_at":"2018-08-10T10:39:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c1d25b2b0149e0b358421897ea6a8f94bbf6da03","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":122658708,"node_id":"MDU6TGFiZWwxMjI2NTg3MDg=","url":"https://api.github.com/repos/balabit/syslog-ng/labels/needs-review","name":"needs-review","color":"bfe5bf","default":false},{"id":988239098,"node_id":"MDU6TGFiZWw5ODgyMzkwOTg=","url":"https://api.github.com/repos/balabit/syslog-ng/labels/user-visible-feature","name":"user-visible-feature","color":"fbca04","default":false}],"milestone":{"url":"https://api.github.com/repos/balabit/syslog-ng/milestones/16","html_url":"https://github.com/balabit/syslog-ng/milestone/16","labels_url":"https://api.github.com/repos/balabit/syslog-ng/milestones/16/labels","id":3555169,"node_id":"MDk6TWlsZXN0b25lMzU1NTE2OQ==","number":16,"title":"OSE 3.18","description":"","creator":{"login":"lbudai","id":5908786,"node_id":"MDQ6VXNlcjU5MDg3ODY=","avatar_url":"https://avatars1.githubusercontent.com/u/5908786?v=4","gravatar_id":"","url":"https://api.github.com/users/lbudai","html_url":"https://github.com/lbudai","followers_url":"https://api.github.com/users/lbudai/followers","following_url":"https://api.github.com/users/lbudai/following{/other_user}","gists_url":"https://api.github.com/users/lbudai/gists{/gist_id}","starred_url":"https://api.github.com/users/lbudai/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lbudai/subscriptions","organizations_url":"https://api.github.com/users/lbudai/orgs","repos_url":"https://api.github.com/users/lbudai/repos","events_url":"https://api.github.com/users/lbudai/events{/privacy}","received_events_url":"https://api.github.com/users/lbudai/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":0,"state":"open","created_at":"2018-08-08T10:01:49Z","updated_at":"2018-08-08T10:34:12Z","due_on":"2018-10-07T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/balabit/syslog-ng/pulls/2196/commits","review_comments_url":"https://api.github.com/repos/balabit/syslog-ng/pulls/2196/comments","review_comment_url":"https://api.github.com/repos/balabit/syslog-ng/pulls/comments{/number}","comments_url":"https://api.github.com/repos/balabit/syslog-ng/issues/2196/comments","statuses_url":"https://api.github.com/repos/balabit/syslog-ng/statuses/04a9a6d80db7bb4a79d14168706e1c301799ab6d","head":{"label":"furiel:python-template-support","ref":"python-template-support","sha":"04a9a6d80db7bb4a79d14168706e1c301799ab6d","user":{"login":"furiel","id":11007226,"node_id":"MDQ6VXNlcjExMDA3MjI2","avatar_url":"https://avatars0.githubusercontent.com/u/11007226?v=4","gravatar_id":"","url":"https://api.github.com/users/furiel","html_url":"https://github.com/furiel","followers_url":"https://api.github.com/users/furiel/followers","following_url":"https://api.github.com/users/furiel/following{/other_user}","gists_url":"https://api.github.com/users/furiel/gists{/gist_id}","starred_url":"https://api.github.com/users/furiel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/furiel/subscriptions","organizations_url":"https://api.github.com/users/furiel/orgs","repos_url":"https://api.github.com/users/furiel/repos","events_url":"https://api.github.com/users/furiel/events{/privacy}","received_events_url":"https://api.github.com/users/furiel/received_events","type":"User","site_admin":false},"repo":{"id":87412101,"node_id":"MDEwOlJlcG9zaXRvcnk4NzQxMjEwMQ==","name":"syslog-ng","full_name":"furiel/syslog-ng","owner":{"login":"furiel","id":11007226,"node_id":"MDQ6VXNlcjExMDA3MjI2","avatar_url":"https://avatars0.githubusercontent.com/u/11007226?v=4","gravatar_id":"","url":"https://api.github.com/users/furiel","html_url":"https://github.com/furiel","followers_url":"https://api.github.com/users/furiel/followers","following_url":"https://api.github.com/users/furiel/following{/other_user}","gists_url":"https://api.github.com/users/furiel/gists{/gist_id}","starred_url":"https://api.github.com/users/furiel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/furiel/subscriptions","organizations_url":"https://api.github.com/users/furiel/orgs","repos_url":"https://api.github.com/users/furiel/repos","events_url":"https://api.github.com/users/furiel/events{/privacy}","received_events_url":"https://api.github.com/users/furiel/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/furiel/syslog-ng","description":"syslog-ng is an enhanced log daemon, supporting a wide range of input and output methods: syslog, unstructured text, queueing, SQL & NoSQL.","fork":true,"url":"https://api.github.com/repos/furiel/syslog-ng","forks_url":"https://api.github.com/repos/furiel/syslog-ng/forks","keys_url":"https://api.github.com/repos/furiel/syslog-ng/keys{/key_id}","collaborators_url":"https://api.github.com/repos/furiel/syslog-ng/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/furiel/syslog-ng/teams","hooks_url":"https://api.github.com/repos/furiel/syslog-ng/hooks","issue_events_url":"https://api.github.com/repos/furiel/syslog-ng/issues/events{/number}","events_url":"https://api.github.com/repos/furiel/syslog-ng/events","assignees_url":"https://api.github.com/repos/furiel/syslog-ng/assignees{/user}","branches_url":"https://api.github.com/repos/furiel/syslog-ng/branches{/branch}","tags_url":"https://api.github.com/repos/furiel/syslog-ng/tags","blobs_url":"https://api.github.com/repos/furiel/syslog-ng/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/furiel/syslog-ng/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/furiel/syslog-ng/git/refs{/sha}","trees_url":"https://api.github.com/repos/furiel/syslog-ng/git/trees{/sha}","statuses_url":"https://api.github.com/repos/furiel/syslog-ng/statuses/{sha}","languages_url":"https://api.github.com/repos/furiel/syslog-ng/languages","stargazers_url":"https://api.github.com/repos/furiel/syslog-ng/stargazers","contributors_url":"https://api.github.com/repos/furiel/syslog-ng/contributors","subscribers_url":"https://api.github.com/repos/furiel/syslog-ng/subscribers","subscription_url":"https://api.github.com/repos/furiel/syslog-ng/subscription","commits_url":"https://api.github.com/repos/furiel/syslog-ng/commits{/sha}","git_commits_url":"https://api.github.com/repos/furiel/syslog-ng/git/commits{/sha}","comments_url":"https://api.github.com/repos/furiel/syslog-ng/comments{/number}","issue_comment_url":"https://api.github.com/repos/furiel/syslog-ng/issues/comments{/number}","contents_url":"https://api.github.com/repos/furiel/syslog-ng/contents/{+path}","compare_url":"https://api.github.com/repos/furiel/syslog-ng/compare/{base}...{head}","merges_url":"https://api.github.com/repos/furiel/syslog-ng/merges","archive_url":"https://api.github.com/repos/furiel/syslog-ng/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/furiel/syslog-ng/downloads","issues_url":"https://api.github.com/repos/furiel/syslog-ng/issues{/number}","pulls_url":"https://api.github.com/repos/furiel/syslog-ng/pulls{/number}","milestones_url":"https://api.github.com/repos/furiel/syslog-ng/milestones{/number}","notifications_url":"https://api.github.com/repos/furiel/syslog-ng/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/furiel/syslog-ng/labels{/name}","releases_url":"https://api.github.com/repos/furiel/syslog-ng/releases{/id}","deployments_url":"https://api.github.com/repos/furiel/syslog-ng/deployments","created_at":"2017-04-06T09:35:22Z","updated_at":"2017-04-06T09:35:27Z","pushed_at":"2018-08-10T10:22:47Z","git_url":"git://github.com/furiel/syslog-ng.git","ssh_url":"git@github.com:furiel/syslog-ng.git","clone_url":"https://github.com/furiel/syslog-ng.git","svn_url":"https://github.com/furiel/syslog-ng","homepage":"http://www.syslog-ng.org/","size":23152,"stargazers_count":0,"watchers_count":0,"language":"C","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":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"balabit:master","ref":"master","sha":"e53a93e5d28a7b045a9d6a458ed630aa3152b81e","user":{"login":"balabit","id":986981,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk4Njk4MQ==","avatar_url":"https://avatars0.githubusercontent.com/u/986981?v=4","gravatar_id":"","url":"https://api.github.com/users/balabit","html_url":"https://github.com/balabit","followers_url":"https://api.github.com/users/balabit/followers","following_url":"https://api.github.com/users/balabit/following{/other_user}","gists_url":"https://api.github.com/users/balabit/gists{/gist_id}","starred_url":"https://api.github.com/users/balabit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/balabit/subscriptions","organizations_url":"https://api.github.com/users/balabit/orgs","repos_url":"https://api.github.com/users/balabit/repos","events_url":"https://api.github.com/users/balabit/events{/privacy}","received_events_url":"https://api.github.com/users/balabit/received_events","type":"Organization","site_admin":false},"repo":{"id":14146757,"node_id":"MDEwOlJlcG9zaXRvcnkxNDE0Njc1Nw==","name":"syslog-ng","full_name":"balabit/syslog-ng","owner":{"login":"balabit","id":986981,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk4Njk4MQ==","avatar_url":"https://avatars0.githubusercontent.com/u/986981?v=4","gravatar_id":"","url":"https://api.github.com/users/balabit","html_url":"https://github.com/balabit","followers_url":"https://api.github.com/users/balabit/followers","following_url":"https://api.github.com/users/balabit/following{/other_user}","gists_url":"https://api.github.com/users/balabit/gists{/gist_id}","starred_url":"https://api.github.com/users/balabit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/balabit/subscriptions","organizations_url":"https://api.github.com/users/balabit/orgs","repos_url":"https://api.github.com/users/balabit/repos","events_url":"https://api.github.com/users/balabit/events{/privacy}","received_events_url":"https://api.github.com/users/balabit/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/balabit/syslog-ng","description":"syslog-ng is an enhanced log daemon, supporting a wide range of input and output methods: syslog, unstructured text, queueing, SQL & NoSQL.","fork":false,"url":"https://api.github.com/repos/balabit/syslog-ng","forks_url":"https://api.github.com/repos/balabit/syslog-ng/forks","keys_url":"https://api.github.com/repos/balabit/syslog-ng/keys{/key_id}","collaborators_url":"https://api.github.com/repos/balabit/syslog-ng/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/balabit/syslog-ng/teams","hooks_url":"https://api.github.com/repos/balabit/syslog-ng/hooks","issue_events_url":"https://api.github.com/repos/balabit/syslog-ng/issues/events{/number}","events_url":"https://api.github.com/repos/balabit/syslog-ng/events","assignees_url":"https://api.github.com/repos/balabit/syslog-ng/assignees{/user}","branches_url":"https://api.github.com/repos/balabit/syslog-ng/branches{/branch}","tags_url":"https://api.github.com/repos/balabit/syslog-ng/tags","blobs_url":"https://api.github.com/repos/balabit/syslog-ng/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/balabit/syslog-ng/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/balabit/syslog-ng/git/refs{/sha}","trees_url":"https://api.github.com/repos/balabit/syslog-ng/git/trees{/sha}","statuses_url":"https://api.github.com/repos/balabit/syslog-ng/statuses/{sha}","languages_url":"https://api.github.com/repos/balabit/syslog-ng/languages","stargazers_url":"https://api.github.com/repos/balabit/syslog-ng/stargazers","contributors_url":"https://api.github.com/repos/balabit/syslog-ng/contributors","subscribers_url":"https://api.github.com/repos/balabit/syslog-ng/subscribers","subscription_url":"https://api.github.com/repos/balabit/syslog-ng/subscription","commits_url":"https://api.github.com/repos/balabit/syslog-ng/commits{/sha}","git_commits_url":"https://api.github.com/repos/balabit/syslog-ng/git/commits{/sha}","comments_url":"https://api.github.com/repos/balabit/syslog-ng/comments{/number}","issue_comment_url":"https://api.github.com/repos/balabit/syslog-ng/issues/comments{/number}","contents_url":"https://api.github.com/repos/balabit/syslog-ng/contents/{+path}","compare_url":"https://api.github.com/repos/balabit/syslog-ng/compare/{base}...{head}","merges_url":"https://api.github.com/repos/balabit/syslog-ng/merges","archive_url":"https://api.github.com/repos/balabit/syslog-ng/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/balabit/syslog-ng/downloads","issues_url":"https://api.github.com/repos/balabit/syslog-ng/issues{/number}","pulls_url":"https://api.github.com/repos/balabit/syslog-ng/pulls{/number}","milestones_url":"https://api.github.com/repos/balabit/syslog-ng/milestones{/number}","notifications_url":"https://api.github.com/repos/balabit/syslog-ng/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/balabit/syslog-ng/labels{/name}","releases_url":"https://api.github.com/repos/balabit/syslog-ng/releases{/id}","deployments_url":"https://api.github.com/repos/balabit/syslog-ng/deployments","created_at":"2013-11-05T16:22:02Z","updated_at":"2018-08-10T07:47:40Z","pushed_at":"2018-08-10T10:22:53Z","git_url":"git://github.com/balabit/syslog-ng.git","ssh_url":"git@github.com:balabit/syslog-ng.git","clone_url":"https://github.com/balabit/syslog-ng.git","svn_url":"https://github.com/balabit/syslog-ng","homepage":"http://www.syslog-ng.org/","size":24303,"stargazers_count":846,"watchers_count":846,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":238,"mirror_url":null,"archived":false,"open_issues_count":173,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":238,"open_issues":173,"watchers":846,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/balabit/syslog-ng/pulls/2196"},"html":{"href":"https://github.com/balabit/syslog-ng/pull/2196"},"issue":{"href":"https://api.github.com/repos/balabit/syslog-ng/issues/2196"},"comments":{"href":"https://api.github.com/repos/balabit/syslog-ng/issues/2196/comments"},"review_comments":{"href":"https://api.github.com/repos/balabit/syslog-ng/pulls/2196/comments"},"review_comment":{"href":"https://api.github.com/repos/balabit/syslog-ng/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/balabit/syslog-ng/pulls/2196/commits"},"statuses":{"href":"https://api.github.com/repos/balabit/syslog-ng/statuses/04a9a6d80db7bb4a79d14168706e1c301799ab6d"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"bazsi"}}