diff --git a/.docker_files/main/__manifest__.py b/.docker_files/main/__manifest__.py
index d5c08d2..b7a0166 100644
--- a/.docker_files/main/__manifest__.py
+++ b/.docker_files/main/__manifest__.py
@@ -12,6 +12,7 @@
'summary': 'Install all addons required for testing.',
'depends': [
'base',
+ 'github_event',
'github_pull_request',
],
'installable': True,
diff --git a/Dockerfile b/Dockerfile
index b806d13..373713c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -13,6 +13,7 @@ RUN gitoo install-all --conf_file /gitoo.yml --destination "${THIRD_PARTY_ADDONS
USER odoo
+COPY github_event /mnt/extra-addons/github_event
COPY github_pull_request /mnt/extra-addons/github_pull_request
COPY .docker_files/main /mnt/extra-addons/main
diff --git a/github_event/README.rst b/github_event/README.rst
new file mode 100644
index 0000000..5039bce
--- /dev/null
+++ b/github_event/README.rst
@@ -0,0 +1,34 @@
+Github Events
+=============
+
+This modules defines what is a GitHub event (as an Odoo object).
+
+.. contents:: Table of Contents
+
+Events
+------
+As system administrator, I go to ``Configuration > Technical > GitHub > Events``.
+
+.. image:: static/description/menu_technical_events.png
+
+I see the list of events:
+
+.. image:: static/description/event_tree.png
+
+I open the form view of an event.
+
+.. image:: static/description/event_form.png
+
+Process Button
+--------------
+The ``Process`` button in the form view of events triggers the parsing of the payload.
+
+.. image:: static/description/event_form_process_button.png
+
+When no extra module is installed, only the ``Action`` is filled.
+
+Clicking multiple times on the button is idempotent.
+
+Contributors
+------------
+* Numigi (tm) and all its contributors (https://bit.ly/numigiens)
diff --git a/github_event/__init__.py b/github_event/__init__.py
new file mode 100644
index 0000000..ac4a686
--- /dev/null
+++ b/github_event/__init__.py
@@ -0,0 +1,4 @@
+# Copyright 2023 - today Numigi (tm) and all its contributors (https://bit.ly/numigiens)
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+
+from . import models
diff --git a/github_event/__manifest__.py b/github_event/__manifest__.py
new file mode 100644
index 0000000..22ca3d9
--- /dev/null
+++ b/github_event/__manifest__.py
@@ -0,0 +1,22 @@
+# Copyright 2023 - Today Numigi (tm) and all its contributors (https://bit.ly/numigiens)
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+
+{
+ 'name': 'Github Events',
+ 'version': "16.0.1.0.0",
+ 'author': 'Numigi',
+ 'maintainer': 'Numigi',
+ 'website': 'https://bit.ly/numigi-com',
+ 'license': 'LGPL-3',
+ 'category': 'Connector',
+ 'summary': 'Define what is a github event as an odoo object',
+ 'depends': [
+ 'base_sparse_field',
+ ],
+ 'data': [
+ 'security/ir.model.access.csv',
+ 'views/github_event.xml',
+ 'views/menu.xml',
+ ],
+ 'installable': True,
+}
diff --git a/github_event/i18n/fr.po b/github_event/i18n/fr.po
new file mode 100644
index 0000000..e27986f
--- /dev/null
+++ b/github_event/i18n/fr.po
@@ -0,0 +1,102 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * github_pull_request
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 16.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2019-12-04 19:28+0000\n"
+"PO-Revision-Date: 2019-12-04 14:30-0500\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: \n"
+"X-Generator: Poedit 2.0.6\n"
+
+#. module: github_event
+#: model:ir.model.fields,field_description:github_event.field_github_event__action
+msgid "Action"
+msgstr "Action"
+
+#. module: github_event
+#: model:ir.model.fields,field_description:github_event.field_github_event__create_uid
+msgid "Created by"
+msgstr "Créé par"
+
+#. module: github_event
+#: model:ir.model.fields,field_description:github_event.field_github_event__create_date
+msgid "Created on"
+msgstr "Créé le"
+
+#. module: github_event
+#: model:ir.model.fields,field_description:github_event.field_github_event__display_name
+msgid "Display Name"
+msgstr "Nom affiché"
+
+#. module: github_event
+#: model:ir.actions.act_window,name:github_event.events_action_window
+#: model:ir.ui.menu,name:github_event.menu_github_event
+msgid "Events"
+msgstr "Événements"
+
+#. module: github_event
+#: model:ir.ui.menu,name:github_event.menu_github
+msgid "Github"
+msgstr "Github"
+
+#. module: github_event
+#: model:ir.model,name:github_event.model_github_event
+#: model_terms:ir.ui.view,arch_db:github_event.github_event_form
+msgid "Github Event"
+msgstr "Événement Github"
+
+#. module: github_event
+#: model_terms:ir.ui.view,arch_db:github_event.github_event_list
+msgid "Github Events"
+msgstr "Événements Github"
+
+#. module: github_event
+#: model:ir.model.fields,field_description:github_event.field_github_event__id
+msgid "ID"
+msgstr ""
+
+#. module: github_event
+#: model:ir.model.fields,field_description:github_event.field_github_event____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: github_event
+#: model:ir.model.fields,field_description:github_event.field_github_event__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: github_event
+#: model:ir.model.fields,field_description:github_event.field_github_event__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: github_event
+#: model:ir.model.fields,field_description:github_event.field_github_event__payload
+#: model_terms:ir.ui.view,arch_db:github_event.github_event_form
+msgid "Payload"
+msgstr ""
+
+#. module: github_event
+#: model:ir.model.fields,field_description:github_event.field_github_event__payload_serialized
+msgid "Payload Serialized"
+msgstr ""
+
+#. module: github_event
+#: model_terms:ir.ui.view,arch_db:github_event.github_event_form
+msgid "Process"
+msgstr "Traîter"
+
+#. module: github_event
+#: code:addons/github_event/models/github_event.py:40
+#, python-format
+msgid "The payload does not contain a value at the path {}."
+msgstr "Le payload ne contient pas de valeur sous le chemin {}."
diff --git a/github_event/models/__init__.py b/github_event/models/__init__.py
new file mode 100644
index 0000000..f229828
--- /dev/null
+++ b/github_event/models/__init__.py
@@ -0,0 +1,6 @@
+# Copyright 2023 - today Numigi (tm) and all its contributors (https://bit.ly/numigiens)
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+
+from . import (
+ github_event,
+)
diff --git a/github_event/models/github_event.py b/github_event/models/github_event.py
new file mode 100644
index 0000000..8896231
--- /dev/null
+++ b/github_event/models/github_event.py
@@ -0,0 +1,54 @@
+# Copyright 2023 - today Numigi (tm) and all its contributors (https://bit.ly/numigiens)
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+
+import json
+from odoo import api, fields, models, _
+from odoo.addons.base_sparse_field.models.fields import Serialized
+from odoo.exceptions import ValidationError
+
+
+class GithubEvent(models.Model):
+
+ _name = "github.event"
+ _description = "Github Event"
+ _order = 'id desc'
+
+ payload = fields.Text()
+ payload_serialized = Serialized(compute='_compute_payload_serialized')
+
+ @api.depends('payload')
+ def _compute_payload_serialized(self):
+ events_with_payloads = self.filtered(lambda e: e.payload)
+ for event in events_with_payloads:
+ event.payload_serialized = json.loads(event.payload)
+
+ action = fields.Char()
+
+ def _get_value_from_payload(self, path):
+ """Get a value from the payload.
+
+ :param path: a doted notation of the path to access the value.
+ :return: the value contained at the given path.
+ """
+ section = self.payload_serialized
+ keys = path.split('.')
+
+ for key in keys[:-1]:
+ if not isinstance(section, dict) or key not in section:
+ raise ValidationError(
+ _("The payload does not contain a value at the path {}.").format(
+ path
+ )
+ )
+
+ section = section[key]
+
+ return section[keys[-1]]
+
+ def process(self):
+ """Process a github event.
+
+ This method is intended to be inherited by other modules
+ to add extra behavior when processing a github event.
+ """
+ self.action = self._get_value_from_payload('action')
diff --git a/github_event/security/ir.model.access.csv b/github_event/security/ir.model.access.csv
new file mode 100644
index 0000000..854100b
--- /dev/null
+++ b/github_event/security/ir.model.access.csv
@@ -0,0 +1,3 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_github_event,access_github_event,model_github_event,base.group_user,1,0,0,0
+access_github_event_admin,access_github_event_admin,model_github_event,base.group_system,1,1,1,0
diff --git a/github_event/static/description/event_form.png b/github_event/static/description/event_form.png
new file mode 100644
index 0000000..116d0cd
Binary files /dev/null and b/github_event/static/description/event_form.png differ
diff --git a/github_event/static/description/event_form_process_button.png b/github_event/static/description/event_form_process_button.png
new file mode 100644
index 0000000..2f1f088
Binary files /dev/null and b/github_event/static/description/event_form_process_button.png differ
diff --git a/github_event/static/description/event_tree.png b/github_event/static/description/event_tree.png
new file mode 100644
index 0000000..705aa67
Binary files /dev/null and b/github_event/static/description/event_tree.png differ
diff --git a/github_event/static/description/icon.png b/github_event/static/description/icon.png
new file mode 100644
index 0000000..92a86b1
Binary files /dev/null and b/github_event/static/description/icon.png differ
diff --git a/github_event/static/description/menu_technical_events.png b/github_event/static/description/menu_technical_events.png
new file mode 100644
index 0000000..0da787b
Binary files /dev/null and b/github_event/static/description/menu_technical_events.png differ
diff --git a/github_event/tests/__init__.py b/github_event/tests/__init__.py
new file mode 100644
index 0000000..6a24851
--- /dev/null
+++ b/github_event/tests/__init__.py
@@ -0,0 +1,2 @@
+# Copyright 2023 - today Numigi (tm) and all its contributors (https://bit.ly/numigiens)
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
diff --git a/github_event/tests/common.py b/github_event/tests/common.py
new file mode 100644
index 0000000..e70933e
--- /dev/null
+++ b/github_event/tests/common.py
@@ -0,0 +1,20 @@
+# Copyright 2023 - today Numigi (tm) and all its contributors (https://bit.ly/numigiens)
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+
+import os
+from odoo.tests import common
+
+
+class GithubEventCase(common.SavepointCase):
+
+ @classmethod
+ def setUpClass(cls):
+ super().setUpClass()
+ cls.event_1 = cls.env['github.event'].create({})
+ cls.event_2 = cls.env['github.event'].create({})
+
+ def _read_payload(self, filename):
+ test_folder = os.path.dirname(os.path.realpath(__file__))
+ payload_file_path = os.path.join(test_folder, 'data', filename)
+ with open(payload_file_path, 'r') as file:
+ return file.read()
diff --git a/github_event/tests/data/check_run_completed.json b/github_event/tests/data/check_run_completed.json
new file mode 100644
index 0000000..c32ddce
--- /dev/null
+++ b/github_event/tests/data/check_run_completed.json
@@ -0,0 +1,251 @@
+{
+ "action": "completed",
+ "check_run": {
+ "id": 333445224,
+ "node_id": "MDg6Q2hlY2tSdW4zMzM0NDUyMjQ=",
+ "head_sha": "d7f4b1f4758357fa71543f48839ee28a678123ed",
+ "external_id": "{\"workflow-id\":\"e9af768d-2959-4db4-81b2-8dac0b3d7192\",\"actor-id\":\"581748a6-41dd-4e90-8d1d-e4fbc735aa0b\"}",
+ "url": "https://api.github.com/repos/Numigi/isidor12-orchestra/check-runs/333445224",
+ "html_url": "https://github.com/Numigi/isidor12-orchestra/runs/333445224",
+ "details_url": "https://circleci.com/workflow-run/e9af768d-2959-4db4-81b2-8dac0b3d7192?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-checks-link",
+ "status": "completed",
+ "conclusion": "success",
+ "started_at": "2019-12-04T17:08:33Z",
+ "completed_at": "2019-12-04T17:11:32Z",
+ "output": {
+ "title": "Workflow: odoo-run",
+ "summary": "* [odoo](https://circleci.com/gh/Numigi/isidor12-orchestra/132?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-checks-link) - Success",
+ "text": null,
+ "annotations_count": 0,
+ "annotations_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/check-runs/333445224/annotations"
+ },
+ "name": "odoo-run",
+ "check_suite": {
+ "id": 342157118,
+ "node_id": "MDEwOkNoZWNrU3VpdGUzNDIxNTcxMTg=",
+ "head_branch": "prod",
+ "head_sha": "d7f4b1f4758357fa71543f48839ee28a678123ed",
+ "status": "completed",
+ "conclusion": "success",
+ "url": "https://api.github.com/repos/Numigi/isidor12-orchestra/check-suites/342157118",
+ "before": "45a3aa42df767ddc4557f07923b3991892cdf7f9",
+ "after": "d7f4b1f4758357fa71543f48839ee28a678123ed",
+ "pull_requests": [
+
+ ],
+ "app": {
+ "id": 18001,
+ "slug": "circleci-checks",
+ "node_id": "MDM6QXBwMTgwMDE=",
+ "owner": {
+ "login": "circleci",
+ "id": 1231870,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjEyMzE4NzA=",
+ "avatar_url": "https://avatars2.githubusercontent.com/u/1231870?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/circleci",
+ "html_url": "https://github.com/circleci",
+ "followers_url": "https://api.github.com/users/circleci/followers",
+ "following_url": "https://api.github.com/users/circleci/following{/other_user}",
+ "gists_url": "https://api.github.com/users/circleci/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/circleci/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/circleci/subscriptions",
+ "organizations_url": "https://api.github.com/users/circleci/orgs",
+ "repos_url": "https://api.github.com/users/circleci/repos",
+ "events_url": "https://api.github.com/users/circleci/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/circleci/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "name": "CircleCI Checks",
+ "description": "See the status of your CircleCI workflows under the Pull Request Checks tab in the GitHub UI. With checks enabled, users will now be able to go to the Checks tab in GitHub to view the full hierarchy and status of CircleCI builds.\r\n\r\n*Note* - You cannot enable GitHub Checks for CircleCI from the GitHub UI, you must log into CircleCI and enable checks for your organization. You must have admin privileges for your organization to enable checks.",
+ "external_url": "https://circleci.com",
+ "html_url": "https://github.com/apps/circleci-checks",
+ "created_at": "2018-09-24T21:20:05Z",
+ "updated_at": "2018-10-17T15:49:07Z",
+ "permissions": {
+ "checks": "write",
+ "metadata": "read",
+ "single_file": "read"
+ },
+ "events": [
+ "check_run",
+ "check_suite"
+ ]
+ },
+ "created_at": "2019-12-04T17:08:31Z",
+ "updated_at": "2019-12-04T17:11:32Z"
+ },
+ "app": {
+ "id": 18001,
+ "slug": "circleci-checks",
+ "node_id": "MDM6QXBwMTgwMDE=",
+ "owner": {
+ "login": "circleci",
+ "id": 1231870,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjEyMzE4NzA=",
+ "avatar_url": "https://avatars2.githubusercontent.com/u/1231870?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/circleci",
+ "html_url": "https://github.com/circleci",
+ "followers_url": "https://api.github.com/users/circleci/followers",
+ "following_url": "https://api.github.com/users/circleci/following{/other_user}",
+ "gists_url": "https://api.github.com/users/circleci/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/circleci/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/circleci/subscriptions",
+ "organizations_url": "https://api.github.com/users/circleci/orgs",
+ "repos_url": "https://api.github.com/users/circleci/repos",
+ "events_url": "https://api.github.com/users/circleci/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/circleci/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "name": "CircleCI Checks",
+ "description": "See the status of your CircleCI workflows under the Pull Request Checks tab in the GitHub UI. With checks enabled, users will now be able to go to the Checks tab in GitHub to view the full hierarchy and status of CircleCI builds.\r\n\r\n*Note* - You cannot enable GitHub Checks for CircleCI from the GitHub UI, you must log into CircleCI and enable checks for your organization. You must have admin privileges for your organization to enable checks.",
+ "external_url": "https://circleci.com",
+ "html_url": "https://github.com/apps/circleci-checks",
+ "created_at": "2018-09-24T21:20:05Z",
+ "updated_at": "2018-10-17T15:49:07Z",
+ "permissions": {
+ "checks": "write",
+ "metadata": "read",
+ "single_file": "read"
+ },
+ "events": [
+ "check_run",
+ "check_suite"
+ ]
+ },
+ "pull_requests": [
+
+ ]
+ },
+ "repository": {
+ "id": 194160220,
+ "node_id": "MDEwOlJlcG9zaXRvcnkxOTQxNjAyMjA=",
+ "name": "isidor12-orchestra",
+ "full_name": "Numigi/isidor12-orchestra",
+ "private": true,
+ "owner": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/Numigi/isidor12-orchestra",
+ "description": "v12 de notre erp",
+ "fork": false,
+ "url": "https://api.github.com/repos/Numigi/isidor12-orchestra",
+ "forks_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/forks",
+ "keys_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/teams",
+ "hooks_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/hooks",
+ "issue_events_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/events",
+ "assignees_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/tags",
+ "blobs_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/languages",
+ "stargazers_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/stargazers",
+ "contributors_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/contributors",
+ "subscribers_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/subscribers",
+ "subscription_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/subscription",
+ "commits_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/merges",
+ "archive_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/downloads",
+ "issues_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/labels{/name}",
+ "releases_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/Numigi/isidor12-orchestra/deployments",
+ "created_at": "2019-06-27T20:39:36Z",
+ "updated_at": "2019-12-04T16:16:41Z",
+ "pushed_at": "2019-12-04T17:08:31Z",
+ "git_url": "git://github.com/Numigi/isidor12-orchestra.git",
+ "ssh_url": "git@github.com:Numigi/isidor12-orchestra.git",
+ "clone_url": "https://github.com/Numigi/isidor12-orchestra.git",
+ "svn_url": "https://github.com/Numigi/isidor12-orchestra",
+ "homepage": "https://isidor.numigi.net",
+ "size": 142,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": null,
+ "has_issues": false,
+ "has_projects": false,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 0,
+ "license": null,
+ "forks": 0,
+ "open_issues": 0,
+ "watchers": 0,
+ "default_branch": "test"
+ },
+ "organization": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "url": "https://api.github.com/orgs/Numigi",
+ "repos_url": "https://api.github.com/orgs/Numigi/repos",
+ "events_url": "https://api.github.com/orgs/Numigi/events",
+ "hooks_url": "https://api.github.com/orgs/Numigi/hooks",
+ "issues_url": "https://api.github.com/orgs/Numigi/issues",
+ "members_url": "https://api.github.com/orgs/Numigi/members{/member}",
+ "public_members_url": "https://api.github.com/orgs/Numigi/public_members{/member}",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "description": ""
+ },
+ "sender": {
+ "login": "foutoucour",
+ "id": 547282,
+ "node_id": "MDQ6VXNlcjU0NzI4Mg==",
+ "avatar_url": "https://avatars2.githubusercontent.com/u/547282?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/foutoucour",
+ "html_url": "https://github.com/foutoucour",
+ "followers_url": "https://api.github.com/users/foutoucour/followers",
+ "following_url": "https://api.github.com/users/foutoucour/following{/other_user}",
+ "gists_url": "https://api.github.com/users/foutoucour/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/foutoucour/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/foutoucour/subscriptions",
+ "organizations_url": "https://api.github.com/users/foutoucour/orgs",
+ "repos_url": "https://api.github.com/users/foutoucour/repos",
+ "events_url": "https://api.github.com/users/foutoucour/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/foutoucour/received_events",
+ "type": "User",
+ "site_admin": false
+ }
+}
diff --git a/github_event/tests/data/pull_request_1_merged.json b/github_event/tests/data/pull_request_1_merged.json
new file mode 100644
index 0000000..b40997b
--- /dev/null
+++ b/github_event/tests/data/pull_request_1_merged.json
@@ -0,0 +1,505 @@
+{
+ "action": "closed",
+ "number": 45,
+ "pull_request": {
+ "url": "https://api.github.com/repos/Numigi/odoo-account-addons/pulls/45",
+ "id": 347671287,
+ "node_id": "MDExOlB1bGxSZXF1ZXN0MzQ3NjcxMjg3",
+ "html_url": "https://github.com/Numigi/odoo-account-addons/pull/45",
+ "diff_url": "https://github.com/Numigi/odoo-account-addons/pull/45.diff",
+ "patch_url": "https://github.com/Numigi/odoo-account-addons/pull/45.patch",
+ "issue_url": "https://api.github.com/repos/Numigi/odoo-account-addons/issues/45",
+ "number": 45,
+ "state": "closed",
+ "locked": false,
+ "title": "Add module account_show_full_features",
+ "user": {
+ "login": "ddufresne",
+ "id": 27902736,
+ "node_id": "MDQ6VXNlcjI3OTAyNzM2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/27902736?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/ddufresne",
+ "html_url": "https://github.com/ddufresne",
+ "followers_url": "https://api.github.com/users/ddufresne/followers",
+ "following_url": "https://api.github.com/users/ddufresne/following{/other_user}",
+ "gists_url": "https://api.github.com/users/ddufresne/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/ddufresne/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/ddufresne/subscriptions",
+ "organizations_url": "https://api.github.com/users/ddufresne/orgs",
+ "repos_url": "https://api.github.com/users/ddufresne/repos",
+ "events_url": "https://api.github.com/users/ddufresne/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/ddufresne/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "body": "https://isidor.numigi.net/web#id=16549&action=292&active_id=601&model=project.task&view_type=form&menu_id=200\r\n\r\ndepends on https://github.com/Numigi/odoo-base-addons/pull/46",
+ "created_at": "2019-12-02T15:05:30Z",
+ "updated_at": "2019-12-03T11:22:06Z",
+ "closed_at": "2019-12-03T11:22:06Z",
+ "merged_at": "2019-12-03T11:22:06Z",
+ "merge_commit_sha": "b3ff19efb02afcf5f4b9d427db16a55de6289bc4",
+ "assignee": null,
+ "assignees": [
+
+ ],
+ "requested_reviewers": [
+
+ ],
+ "requested_teams": [
+
+ ],
+ "labels": [
+
+ ],
+ "milestone": null,
+ "commits_url": "https://api.github.com/repos/Numigi/odoo-account-addons/pulls/45/commits",
+ "review_comments_url": "https://api.github.com/repos/Numigi/odoo-account-addons/pulls/45/comments",
+ "review_comment_url": "https://api.github.com/repos/Numigi/odoo-account-addons/pulls/comments{/number}",
+ "comments_url": "https://api.github.com/repos/Numigi/odoo-account-addons/issues/45/comments",
+ "statuses_url": "https://api.github.com/repos/Numigi/odoo-account-addons/statuses/2b0dea7e1935f11d5a4318d190859586b9200139",
+ "head": {
+ "label": "Numigi:account_show_full_features",
+ "ref": "account_show_full_features",
+ "sha": "2b0dea7e1935f11d5a4318d190859586b9200139",
+ "user": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "repo": {
+ "id": 125138732,
+ "node_id": "MDEwOlJlcG9zaXRvcnkxMjUxMzg3MzI=",
+ "name": "odoo-account-addons",
+ "full_name": "Numigi/odoo-account-addons",
+ "private": true,
+ "owner": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/Numigi/odoo-account-addons",
+ "description": "Accounting related addons for Odoo",
+ "fork": false,
+ "url": "https://api.github.com/repos/Numigi/odoo-account-addons",
+ "forks_url": "https://api.github.com/repos/Numigi/odoo-account-addons/forks",
+ "keys_url": "https://api.github.com/repos/Numigi/odoo-account-addons/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/Numigi/odoo-account-addons/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/Numigi/odoo-account-addons/teams",
+ "hooks_url": "https://api.github.com/repos/Numigi/odoo-account-addons/hooks",
+ "issue_events_url": "https://api.github.com/repos/Numigi/odoo-account-addons/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/Numigi/odoo-account-addons/events",
+ "assignees_url": "https://api.github.com/repos/Numigi/odoo-account-addons/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/Numigi/odoo-account-addons/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/Numigi/odoo-account-addons/tags",
+ "blobs_url": "https://api.github.com/repos/Numigi/odoo-account-addons/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/Numigi/odoo-account-addons/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/Numigi/odoo-account-addons/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/Numigi/odoo-account-addons/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/Numigi/odoo-account-addons/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/Numigi/odoo-account-addons/languages",
+ "stargazers_url": "https://api.github.com/repos/Numigi/odoo-account-addons/stargazers",
+ "contributors_url": "https://api.github.com/repos/Numigi/odoo-account-addons/contributors",
+ "subscribers_url": "https://api.github.com/repos/Numigi/odoo-account-addons/subscribers",
+ "subscription_url": "https://api.github.com/repos/Numigi/odoo-account-addons/subscription",
+ "commits_url": "https://api.github.com/repos/Numigi/odoo-account-addons/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/Numigi/odoo-account-addons/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/Numigi/odoo-account-addons/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/Numigi/odoo-account-addons/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/Numigi/odoo-account-addons/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/Numigi/odoo-account-addons/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/Numigi/odoo-account-addons/merges",
+ "archive_url": "https://api.github.com/repos/Numigi/odoo-account-addons/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/Numigi/odoo-account-addons/downloads",
+ "issues_url": "https://api.github.com/repos/Numigi/odoo-account-addons/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/Numigi/odoo-account-addons/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/Numigi/odoo-account-addons/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/Numigi/odoo-account-addons/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/Numigi/odoo-account-addons/labels{/name}",
+ "releases_url": "https://api.github.com/repos/Numigi/odoo-account-addons/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/Numigi/odoo-account-addons/deployments",
+ "created_at": "2018-03-14T01:44:11Z",
+ "updated_at": "2019-11-29T15:51:27Z",
+ "pushed_at": "2019-12-03T11:22:06Z",
+ "git_url": "git://github.com/Numigi/odoo-account-addons.git",
+ "ssh_url": "git@github.com:Numigi/odoo-account-addons.git",
+ "clone_url": "https://github.com/Numigi/odoo-account-addons.git",
+ "svn_url": "https://github.com/Numigi/odoo-account-addons",
+ "homepage": null,
+ "size": 6038,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": "Python",
+ "has_issues": true,
+ "has_projects": false,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 0,
+ "license": {
+ "key": "lgpl-3.0",
+ "name": "GNU Lesser General Public License v3.0",
+ "spdx_id": "LGPL-3.0",
+ "url": "https://api.github.com/licenses/lgpl-3.0",
+ "node_id": "MDc6TGljZW5zZTEy"
+ },
+ "forks": 0,
+ "open_issues": 0,
+ "watchers": 0,
+ "default_branch": "12.0"
+ }
+ },
+ "base": {
+ "label": "Numigi:12.0",
+ "ref": "12.0",
+ "sha": "995b15993009c5c8cd41b282f524745ec44a8c84",
+ "user": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "repo": {
+ "id": 125138732,
+ "node_id": "MDEwOlJlcG9zaXRvcnkxMjUxMzg3MzI=",
+ "name": "odoo-account-addons",
+ "full_name": "Numigi/odoo-account-addons",
+ "private": true,
+ "owner": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/Numigi/odoo-account-addons",
+ "description": "Accounting related addons for Odoo",
+ "fork": false,
+ "url": "https://api.github.com/repos/Numigi/odoo-account-addons",
+ "forks_url": "https://api.github.com/repos/Numigi/odoo-account-addons/forks",
+ "keys_url": "https://api.github.com/repos/Numigi/odoo-account-addons/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/Numigi/odoo-account-addons/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/Numigi/odoo-account-addons/teams",
+ "hooks_url": "https://api.github.com/repos/Numigi/odoo-account-addons/hooks",
+ "issue_events_url": "https://api.github.com/repos/Numigi/odoo-account-addons/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/Numigi/odoo-account-addons/events",
+ "assignees_url": "https://api.github.com/repos/Numigi/odoo-account-addons/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/Numigi/odoo-account-addons/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/Numigi/odoo-account-addons/tags",
+ "blobs_url": "https://api.github.com/repos/Numigi/odoo-account-addons/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/Numigi/odoo-account-addons/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/Numigi/odoo-account-addons/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/Numigi/odoo-account-addons/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/Numigi/odoo-account-addons/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/Numigi/odoo-account-addons/languages",
+ "stargazers_url": "https://api.github.com/repos/Numigi/odoo-account-addons/stargazers",
+ "contributors_url": "https://api.github.com/repos/Numigi/odoo-account-addons/contributors",
+ "subscribers_url": "https://api.github.com/repos/Numigi/odoo-account-addons/subscribers",
+ "subscription_url": "https://api.github.com/repos/Numigi/odoo-account-addons/subscription",
+ "commits_url": "https://api.github.com/repos/Numigi/odoo-account-addons/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/Numigi/odoo-account-addons/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/Numigi/odoo-account-addons/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/Numigi/odoo-account-addons/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/Numigi/odoo-account-addons/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/Numigi/odoo-account-addons/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/Numigi/odoo-account-addons/merges",
+ "archive_url": "https://api.github.com/repos/Numigi/odoo-account-addons/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/Numigi/odoo-account-addons/downloads",
+ "issues_url": "https://api.github.com/repos/Numigi/odoo-account-addons/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/Numigi/odoo-account-addons/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/Numigi/odoo-account-addons/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/Numigi/odoo-account-addons/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/Numigi/odoo-account-addons/labels{/name}",
+ "releases_url": "https://api.github.com/repos/Numigi/odoo-account-addons/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/Numigi/odoo-account-addons/deployments",
+ "created_at": "2018-03-14T01:44:11Z",
+ "updated_at": "2019-11-29T15:51:27Z",
+ "pushed_at": "2019-12-03T11:22:06Z",
+ "git_url": "git://github.com/Numigi/odoo-account-addons.git",
+ "ssh_url": "git@github.com:Numigi/odoo-account-addons.git",
+ "clone_url": "https://github.com/Numigi/odoo-account-addons.git",
+ "svn_url": "https://github.com/Numigi/odoo-account-addons",
+ "homepage": null,
+ "size": 6038,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": "Python",
+ "has_issues": true,
+ "has_projects": false,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 0,
+ "license": {
+ "key": "lgpl-3.0",
+ "name": "GNU Lesser General Public License v3.0",
+ "spdx_id": "LGPL-3.0",
+ "url": "https://api.github.com/licenses/lgpl-3.0",
+ "node_id": "MDc6TGljZW5zZTEy"
+ },
+ "forks": 0,
+ "open_issues": 0,
+ "watchers": 0,
+ "default_branch": "12.0"
+ }
+ },
+ "_links": {
+ "self": {
+ "href": "https://api.github.com/repos/Numigi/odoo-account-addons/pulls/45"
+ },
+ "html": {
+ "href": "https://github.com/Numigi/odoo-account-addons/pull/45"
+ },
+ "issue": {
+ "href": "https://api.github.com/repos/Numigi/odoo-account-addons/issues/45"
+ },
+ "comments": {
+ "href": "https://api.github.com/repos/Numigi/odoo-account-addons/issues/45/comments"
+ },
+ "review_comments": {
+ "href": "https://api.github.com/repos/Numigi/odoo-account-addons/pulls/45/comments"
+ },
+ "review_comment": {
+ "href": "https://api.github.com/repos/Numigi/odoo-account-addons/pulls/comments{/number}"
+ },
+ "commits": {
+ "href": "https://api.github.com/repos/Numigi/odoo-account-addons/pulls/45/commits"
+ },
+ "statuses": {
+ "href": "https://api.github.com/repos/Numigi/odoo-account-addons/statuses/2b0dea7e1935f11d5a4318d190859586b9200139"
+ }
+ },
+ "author_association": "CONTRIBUTOR",
+ "draft": false,
+ "merged": true,
+ "mergeable": null,
+ "rebaseable": null,
+ "mergeable_state": "unknown",
+ "merged_by": {
+ "login": "numigi-robot",
+ "id": 46463621,
+ "node_id": "MDQ6VXNlcjQ2NDYzNjIx",
+ "avatar_url": "https://avatars2.githubusercontent.com/u/46463621?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/numigi-robot",
+ "html_url": "https://github.com/numigi-robot",
+ "followers_url": "https://api.github.com/users/numigi-robot/followers",
+ "following_url": "https://api.github.com/users/numigi-robot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/numigi-robot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/numigi-robot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/numigi-robot/subscriptions",
+ "organizations_url": "https://api.github.com/users/numigi-robot/orgs",
+ "repos_url": "https://api.github.com/users/numigi-robot/repos",
+ "events_url": "https://api.github.com/users/numigi-robot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/numigi-robot/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "comments": 0,
+ "review_comments": 0,
+ "maintainer_can_modify": false,
+ "commits": 1,
+ "additions": 109,
+ "deletions": 1,
+ "changed_files": 13
+ },
+ "repository": {
+ "id": 125138732,
+ "node_id": "MDEwOlJlcG9zaXRvcnkxMjUxMzg3MzI=",
+ "name": "odoo-account-addons",
+ "full_name": "Numigi/odoo-account-addons",
+ "private": true,
+ "owner": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/Numigi/odoo-account-addons",
+ "description": "Accounting related addons for Odoo",
+ "fork": false,
+ "url": "https://api.github.com/repos/Numigi/odoo-account-addons",
+ "forks_url": "https://api.github.com/repos/Numigi/odoo-account-addons/forks",
+ "keys_url": "https://api.github.com/repos/Numigi/odoo-account-addons/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/Numigi/odoo-account-addons/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/Numigi/odoo-account-addons/teams",
+ "hooks_url": "https://api.github.com/repos/Numigi/odoo-account-addons/hooks",
+ "issue_events_url": "https://api.github.com/repos/Numigi/odoo-account-addons/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/Numigi/odoo-account-addons/events",
+ "assignees_url": "https://api.github.com/repos/Numigi/odoo-account-addons/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/Numigi/odoo-account-addons/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/Numigi/odoo-account-addons/tags",
+ "blobs_url": "https://api.github.com/repos/Numigi/odoo-account-addons/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/Numigi/odoo-account-addons/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/Numigi/odoo-account-addons/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/Numigi/odoo-account-addons/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/Numigi/odoo-account-addons/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/Numigi/odoo-account-addons/languages",
+ "stargazers_url": "https://api.github.com/repos/Numigi/odoo-account-addons/stargazers",
+ "contributors_url": "https://api.github.com/repos/Numigi/odoo-account-addons/contributors",
+ "subscribers_url": "https://api.github.com/repos/Numigi/odoo-account-addons/subscribers",
+ "subscription_url": "https://api.github.com/repos/Numigi/odoo-account-addons/subscription",
+ "commits_url": "https://api.github.com/repos/Numigi/odoo-account-addons/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/Numigi/odoo-account-addons/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/Numigi/odoo-account-addons/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/Numigi/odoo-account-addons/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/Numigi/odoo-account-addons/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/Numigi/odoo-account-addons/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/Numigi/odoo-account-addons/merges",
+ "archive_url": "https://api.github.com/repos/Numigi/odoo-account-addons/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/Numigi/odoo-account-addons/downloads",
+ "issues_url": "https://api.github.com/repos/Numigi/odoo-account-addons/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/Numigi/odoo-account-addons/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/Numigi/odoo-account-addons/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/Numigi/odoo-account-addons/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/Numigi/odoo-account-addons/labels{/name}",
+ "releases_url": "https://api.github.com/repos/Numigi/odoo-account-addons/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/Numigi/odoo-account-addons/deployments",
+ "created_at": "2018-03-14T01:44:11Z",
+ "updated_at": "2019-11-29T15:51:27Z",
+ "pushed_at": "2019-12-03T11:22:06Z",
+ "git_url": "git://github.com/Numigi/odoo-account-addons.git",
+ "ssh_url": "git@github.com:Numigi/odoo-account-addons.git",
+ "clone_url": "https://github.com/Numigi/odoo-account-addons.git",
+ "svn_url": "https://github.com/Numigi/odoo-account-addons",
+ "homepage": null,
+ "size": 6038,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": "Python",
+ "has_issues": true,
+ "has_projects": false,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 0,
+ "license": {
+ "key": "lgpl-3.0",
+ "name": "GNU Lesser General Public License v3.0",
+ "spdx_id": "LGPL-3.0",
+ "url": "https://api.github.com/licenses/lgpl-3.0",
+ "node_id": "MDc6TGljZW5zZTEy"
+ },
+ "forks": 0,
+ "open_issues": 0,
+ "watchers": 0,
+ "default_branch": "12.0"
+ },
+ "organization": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "url": "https://api.github.com/orgs/Numigi",
+ "repos_url": "https://api.github.com/orgs/Numigi/repos",
+ "events_url": "https://api.github.com/orgs/Numigi/events",
+ "hooks_url": "https://api.github.com/orgs/Numigi/hooks",
+ "issues_url": "https://api.github.com/orgs/Numigi/issues",
+ "members_url": "https://api.github.com/orgs/Numigi/members{/member}",
+ "public_members_url": "https://api.github.com/orgs/Numigi/public_members{/member}",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "description": ""
+ },
+ "sender": {
+ "login": "numigi-robot",
+ "id": 46463621,
+ "node_id": "MDQ6VXNlcjQ2NDYzNjIx",
+ "avatar_url": "https://avatars2.githubusercontent.com/u/46463621?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/numigi-robot",
+ "html_url": "https://github.com/numigi-robot",
+ "followers_url": "https://api.github.com/users/numigi-robot/followers",
+ "following_url": "https://api.github.com/users/numigi-robot/following{/other_user}",
+ "gists_url": "https://api.github.com/users/numigi-robot/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/numigi-robot/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/numigi-robot/subscriptions",
+ "organizations_url": "https://api.github.com/users/numigi-robot/orgs",
+ "repos_url": "https://api.github.com/users/numigi-robot/repos",
+ "events_url": "https://api.github.com/users/numigi-robot/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/numigi-robot/received_events",
+ "type": "User",
+ "site_admin": false
+ }
+}
diff --git a/github_event/tests/data/pull_request_2_closed.json b/github_event/tests/data/pull_request_2_closed.json
new file mode 100644
index 0000000..6a1dba4
--- /dev/null
+++ b/github_event/tests/data/pull_request_2_closed.json
@@ -0,0 +1,486 @@
+{
+ "action": "closed",
+ "number": 5,
+ "pull_request": {
+ "url": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/5",
+ "id": 344597866,
+ "node_id": "MDExOlB1bGxSZXF1ZXN0MzQ0NTk3ODY2",
+ "html_url": "https://github.com/Numigi/odoo-git-addons/pull/5",
+ "diff_url": "https://github.com/Numigi/odoo-git-addons/pull/5.diff",
+ "patch_url": "https://github.com/Numigi/odoo-git-addons/pull/5.patch",
+ "issue_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/5",
+ "number": 5,
+ "state": "closed",
+ "locked": false,
+ "title": "Add better logging",
+ "user": {
+ "login": "ddufresne",
+ "id": 27902736,
+ "node_id": "MDQ6VXNlcjI3OTAyNzM2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/27902736?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/ddufresne",
+ "html_url": "https://github.com/ddufresne",
+ "followers_url": "https://api.github.com/users/ddufresne/followers",
+ "following_url": "https://api.github.com/users/ddufresne/following{/other_user}",
+ "gists_url": "https://api.github.com/users/ddufresne/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/ddufresne/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/ddufresne/subscriptions",
+ "organizations_url": "https://api.github.com/users/ddufresne/orgs",
+ "repos_url": "https://api.github.com/users/ddufresne/repos",
+ "events_url": "https://api.github.com/users/ddufresne/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/ddufresne/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "body": "",
+ "created_at": "2019-11-22T16:26:14Z",
+ "updated_at": "2019-11-22T17:12:05Z",
+ "closed_at": "2019-11-22T17:12:04Z",
+ "merged_at": null,
+ "merge_commit_sha": "3dd95f6672e30bd9951c69bcbbc83e78733b6d7d",
+ "assignee": null,
+ "assignees": [
+
+ ],
+ "requested_reviewers": [
+
+ ],
+ "requested_teams": [
+
+ ],
+ "labels": [
+
+ ],
+ "milestone": null,
+ "commits_url": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/5/commits",
+ "review_comments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/5/comments",
+ "review_comment_url": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/comments{/number}",
+ "comments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/5/comments",
+ "statuses_url": "https://api.github.com/repos/Numigi/odoo-git-addons/statuses/8390440505eca84d057a0a8ef5a2bcf60b3681ee",
+ "head": {
+ "label": "Numigi:12.0-test",
+ "ref": "12.0-test",
+ "sha": "8390440505eca84d057a0a8ef5a2bcf60b3681ee",
+ "user": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "repo": {
+ "id": 221295296,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyMjEyOTUyOTY=",
+ "name": "odoo-git-addons",
+ "full_name": "Numigi/odoo-git-addons",
+ "private": false,
+ "owner": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/Numigi/odoo-git-addons",
+ "description": "git and github related odoo modules",
+ "fork": false,
+ "url": "https://api.github.com/repos/Numigi/odoo-git-addons",
+ "forks_url": "https://api.github.com/repos/Numigi/odoo-git-addons/forks",
+ "keys_url": "https://api.github.com/repos/Numigi/odoo-git-addons/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/Numigi/odoo-git-addons/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/Numigi/odoo-git-addons/teams",
+ "hooks_url": "https://api.github.com/repos/Numigi/odoo-git-addons/hooks",
+ "issue_events_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/Numigi/odoo-git-addons/events",
+ "assignees_url": "https://api.github.com/repos/Numigi/odoo-git-addons/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/Numigi/odoo-git-addons/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/Numigi/odoo-git-addons/tags",
+ "blobs_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/Numigi/odoo-git-addons/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/Numigi/odoo-git-addons/languages",
+ "stargazers_url": "https://api.github.com/repos/Numigi/odoo-git-addons/stargazers",
+ "contributors_url": "https://api.github.com/repos/Numigi/odoo-git-addons/contributors",
+ "subscribers_url": "https://api.github.com/repos/Numigi/odoo-git-addons/subscribers",
+ "subscription_url": "https://api.github.com/repos/Numigi/odoo-git-addons/subscription",
+ "commits_url": "https://api.github.com/repos/Numigi/odoo-git-addons/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/Numigi/odoo-git-addons/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/Numigi/odoo-git-addons/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/Numigi/odoo-git-addons/merges",
+ "archive_url": "https://api.github.com/repos/Numigi/odoo-git-addons/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/Numigi/odoo-git-addons/downloads",
+ "issues_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/Numigi/odoo-git-addons/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/Numigi/odoo-git-addons/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/Numigi/odoo-git-addons/labels{/name}",
+ "releases_url": "https://api.github.com/repos/Numigi/odoo-git-addons/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/deployments",
+ "created_at": "2019-11-12T19:27:26Z",
+ "updated_at": "2019-11-20T15:39:53Z",
+ "pushed_at": "2019-11-22T16:26:15Z",
+ "git_url": "git://github.com/Numigi/odoo-git-addons.git",
+ "ssh_url": "git@github.com:Numigi/odoo-git-addons.git",
+ "clone_url": "https://github.com/Numigi/odoo-git-addons.git",
+ "svn_url": "https://github.com/Numigi/odoo-git-addons",
+ "homepage": null,
+ "size": 1445,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": "Python",
+ "has_issues": true,
+ "has_projects": false,
+ "has_downloads": true,
+ "has_wiki": false,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 0,
+ "license": {
+ "key": "agpl-3.0",
+ "name": "GNU Affero General Public License v3.0",
+ "spdx_id": "AGPL-3.0",
+ "url": "https://api.github.com/licenses/agpl-3.0",
+ "node_id": "MDc6TGljZW5zZTE="
+ },
+ "forks": 0,
+ "open_issues": 0,
+ "watchers": 0,
+ "default_branch": "12.0"
+ }
+ },
+ "base": {
+ "label": "Numigi:12.0",
+ "ref": "12.0",
+ "sha": "d938c7456c526fd9a471cf4a8b11ae1710a16d02",
+ "user": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "repo": {
+ "id": 221295296,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyMjEyOTUyOTY=",
+ "name": "odoo-git-addons",
+ "full_name": "Numigi/odoo-git-addons",
+ "private": false,
+ "owner": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/Numigi/odoo-git-addons",
+ "description": "git and github related odoo modules",
+ "fork": false,
+ "url": "https://api.github.com/repos/Numigi/odoo-git-addons",
+ "forks_url": "https://api.github.com/repos/Numigi/odoo-git-addons/forks",
+ "keys_url": "https://api.github.com/repos/Numigi/odoo-git-addons/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/Numigi/odoo-git-addons/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/Numigi/odoo-git-addons/teams",
+ "hooks_url": "https://api.github.com/repos/Numigi/odoo-git-addons/hooks",
+ "issue_events_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/Numigi/odoo-git-addons/events",
+ "assignees_url": "https://api.github.com/repos/Numigi/odoo-git-addons/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/Numigi/odoo-git-addons/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/Numigi/odoo-git-addons/tags",
+ "blobs_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/Numigi/odoo-git-addons/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/Numigi/odoo-git-addons/languages",
+ "stargazers_url": "https://api.github.com/repos/Numigi/odoo-git-addons/stargazers",
+ "contributors_url": "https://api.github.com/repos/Numigi/odoo-git-addons/contributors",
+ "subscribers_url": "https://api.github.com/repos/Numigi/odoo-git-addons/subscribers",
+ "subscription_url": "https://api.github.com/repos/Numigi/odoo-git-addons/subscription",
+ "commits_url": "https://api.github.com/repos/Numigi/odoo-git-addons/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/Numigi/odoo-git-addons/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/Numigi/odoo-git-addons/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/Numigi/odoo-git-addons/merges",
+ "archive_url": "https://api.github.com/repos/Numigi/odoo-git-addons/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/Numigi/odoo-git-addons/downloads",
+ "issues_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/Numigi/odoo-git-addons/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/Numigi/odoo-git-addons/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/Numigi/odoo-git-addons/labels{/name}",
+ "releases_url": "https://api.github.com/repos/Numigi/odoo-git-addons/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/deployments",
+ "created_at": "2019-11-12T19:27:26Z",
+ "updated_at": "2019-11-20T15:39:53Z",
+ "pushed_at": "2019-11-22T16:26:15Z",
+ "git_url": "git://github.com/Numigi/odoo-git-addons.git",
+ "ssh_url": "git@github.com:Numigi/odoo-git-addons.git",
+ "clone_url": "https://github.com/Numigi/odoo-git-addons.git",
+ "svn_url": "https://github.com/Numigi/odoo-git-addons",
+ "homepage": null,
+ "size": 1445,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": "Python",
+ "has_issues": true,
+ "has_projects": false,
+ "has_downloads": true,
+ "has_wiki": false,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 0,
+ "license": {
+ "key": "agpl-3.0",
+ "name": "GNU Affero General Public License v3.0",
+ "spdx_id": "AGPL-3.0",
+ "url": "https://api.github.com/licenses/agpl-3.0",
+ "node_id": "MDc6TGljZW5zZTE="
+ },
+ "forks": 0,
+ "open_issues": 0,
+ "watchers": 0,
+ "default_branch": "12.0"
+ }
+ },
+ "_links": {
+ "self": {
+ "href": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/5"
+ },
+ "html": {
+ "href": "https://github.com/Numigi/odoo-git-addons/pull/5"
+ },
+ "issue": {
+ "href": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/5"
+ },
+ "comments": {
+ "href": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/5/comments"
+ },
+ "review_comments": {
+ "href": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/5/comments"
+ },
+ "review_comment": {
+ "href": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/comments{/number}"
+ },
+ "commits": {
+ "href": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/5/commits"
+ },
+ "statuses": {
+ "href": "https://api.github.com/repos/Numigi/odoo-git-addons/statuses/8390440505eca84d057a0a8ef5a2bcf60b3681ee"
+ }
+ },
+ "author_association": "CONTRIBUTOR",
+ "draft": false,
+ "merged": false,
+ "mergeable": true,
+ "rebaseable": true,
+ "mergeable_state": "clean",
+ "merged_by": null,
+ "comments": 1,
+ "review_comments": 0,
+ "maintainer_can_modify": false,
+ "commits": 1,
+ "additions": 5,
+ "deletions": 0,
+ "changed_files": 1
+ },
+ "repository": {
+ "id": 221295296,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyMjEyOTUyOTY=",
+ "name": "odoo-git-addons",
+ "full_name": "Numigi/odoo-git-addons",
+ "private": false,
+ "owner": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/Numigi/odoo-git-addons",
+ "description": "git and github related odoo modules",
+ "fork": false,
+ "url": "https://api.github.com/repos/Numigi/odoo-git-addons",
+ "forks_url": "https://api.github.com/repos/Numigi/odoo-git-addons/forks",
+ "keys_url": "https://api.github.com/repos/Numigi/odoo-git-addons/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/Numigi/odoo-git-addons/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/Numigi/odoo-git-addons/teams",
+ "hooks_url": "https://api.github.com/repos/Numigi/odoo-git-addons/hooks",
+ "issue_events_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/Numigi/odoo-git-addons/events",
+ "assignees_url": "https://api.github.com/repos/Numigi/odoo-git-addons/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/Numigi/odoo-git-addons/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/Numigi/odoo-git-addons/tags",
+ "blobs_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/Numigi/odoo-git-addons/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/Numigi/odoo-git-addons/languages",
+ "stargazers_url": "https://api.github.com/repos/Numigi/odoo-git-addons/stargazers",
+ "contributors_url": "https://api.github.com/repos/Numigi/odoo-git-addons/contributors",
+ "subscribers_url": "https://api.github.com/repos/Numigi/odoo-git-addons/subscribers",
+ "subscription_url": "https://api.github.com/repos/Numigi/odoo-git-addons/subscription",
+ "commits_url": "https://api.github.com/repos/Numigi/odoo-git-addons/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/Numigi/odoo-git-addons/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/Numigi/odoo-git-addons/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/Numigi/odoo-git-addons/merges",
+ "archive_url": "https://api.github.com/repos/Numigi/odoo-git-addons/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/Numigi/odoo-git-addons/downloads",
+ "issues_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/Numigi/odoo-git-addons/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/Numigi/odoo-git-addons/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/Numigi/odoo-git-addons/labels{/name}",
+ "releases_url": "https://api.github.com/repos/Numigi/odoo-git-addons/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/deployments",
+ "created_at": "2019-11-12T19:27:26Z",
+ "updated_at": "2019-11-20T15:39:53Z",
+ "pushed_at": "2019-11-22T16:26:15Z",
+ "git_url": "git://github.com/Numigi/odoo-git-addons.git",
+ "ssh_url": "git@github.com:Numigi/odoo-git-addons.git",
+ "clone_url": "https://github.com/Numigi/odoo-git-addons.git",
+ "svn_url": "https://github.com/Numigi/odoo-git-addons",
+ "homepage": null,
+ "size": 1445,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": "Python",
+ "has_issues": true,
+ "has_projects": false,
+ "has_downloads": true,
+ "has_wiki": false,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 0,
+ "license": {
+ "key": "agpl-3.0",
+ "name": "GNU Affero General Public License v3.0",
+ "spdx_id": "AGPL-3.0",
+ "url": "https://api.github.com/licenses/agpl-3.0",
+ "node_id": "MDc6TGljZW5zZTE="
+ },
+ "forks": 0,
+ "open_issues": 0,
+ "watchers": 0,
+ "default_branch": "12.0"
+ },
+ "organization": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "url": "https://api.github.com/orgs/Numigi",
+ "repos_url": "https://api.github.com/orgs/Numigi/repos",
+ "events_url": "https://api.github.com/orgs/Numigi/events",
+ "hooks_url": "https://api.github.com/orgs/Numigi/hooks",
+ "issues_url": "https://api.github.com/orgs/Numigi/issues",
+ "members_url": "https://api.github.com/orgs/Numigi/members{/member}",
+ "public_members_url": "https://api.github.com/orgs/Numigi/public_members{/member}",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "description": ""
+ },
+ "sender": {
+ "login": "ddufresne",
+ "id": 27902736,
+ "node_id": "MDQ6VXNlcjI3OTAyNzM2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/27902736?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/ddufresne",
+ "html_url": "https://github.com/ddufresne",
+ "followers_url": "https://api.github.com/users/ddufresne/followers",
+ "following_url": "https://api.github.com/users/ddufresne/following{/other_user}",
+ "gists_url": "https://api.github.com/users/ddufresne/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/ddufresne/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/ddufresne/subscriptions",
+ "organizations_url": "https://api.github.com/users/ddufresne/orgs",
+ "repos_url": "https://api.github.com/users/ddufresne/repos",
+ "events_url": "https://api.github.com/users/ddufresne/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/ddufresne/received_events",
+ "type": "User",
+ "site_admin": false
+ }
+}
diff --git a/github_event/tests/data/pull_request_2_reopened.json b/github_event/tests/data/pull_request_2_reopened.json
new file mode 100644
index 0000000..321d804
--- /dev/null
+++ b/github_event/tests/data/pull_request_2_reopened.json
@@ -0,0 +1,486 @@
+{
+ "action": "reopened",
+ "number": 5,
+ "pull_request": {
+ "url": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/5",
+ "id": 344597866,
+ "node_id": "MDExOlB1bGxSZXF1ZXN0MzQ0NTk3ODY2",
+ "html_url": "https://github.com/Numigi/odoo-git-addons/pull/5",
+ "diff_url": "https://github.com/Numigi/odoo-git-addons/pull/5.diff",
+ "patch_url": "https://github.com/Numigi/odoo-git-addons/pull/5.patch",
+ "issue_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/5",
+ "number": 5,
+ "state": "open",
+ "locked": false,
+ "title": "Add better logging",
+ "user": {
+ "login": "ddufresne",
+ "id": 27902736,
+ "node_id": "MDQ6VXNlcjI3OTAyNzM2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/27902736?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/ddufresne",
+ "html_url": "https://github.com/ddufresne",
+ "followers_url": "https://api.github.com/users/ddufresne/followers",
+ "following_url": "https://api.github.com/users/ddufresne/following{/other_user}",
+ "gists_url": "https://api.github.com/users/ddufresne/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/ddufresne/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/ddufresne/subscriptions",
+ "organizations_url": "https://api.github.com/users/ddufresne/orgs",
+ "repos_url": "https://api.github.com/users/ddufresne/repos",
+ "events_url": "https://api.github.com/users/ddufresne/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/ddufresne/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "body": "",
+ "created_at": "2019-11-22T16:26:14Z",
+ "updated_at": "2019-11-22T17:50:29Z",
+ "closed_at": null,
+ "merged_at": null,
+ "merge_commit_sha": "91f9bdd40634745bb5825bcd122f34df6ab5c027",
+ "assignee": null,
+ "assignees": [
+
+ ],
+ "requested_reviewers": [
+
+ ],
+ "requested_teams": [
+
+ ],
+ "labels": [
+
+ ],
+ "milestone": null,
+ "commits_url": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/5/commits",
+ "review_comments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/5/comments",
+ "review_comment_url": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/comments{/number}",
+ "comments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/5/comments",
+ "statuses_url": "https://api.github.com/repos/Numigi/odoo-git-addons/statuses/8390440505eca84d057a0a8ef5a2bcf60b3681ee",
+ "head": {
+ "label": "Numigi:12.0-test",
+ "ref": "12.0-test",
+ "sha": "8390440505eca84d057a0a8ef5a2bcf60b3681ee",
+ "user": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "repo": {
+ "id": 221295296,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyMjEyOTUyOTY=",
+ "name": "odoo-git-addons",
+ "full_name": "Numigi/odoo-git-addons",
+ "private": false,
+ "owner": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/Numigi/odoo-git-addons",
+ "description": "git and github related odoo modules",
+ "fork": false,
+ "url": "https://api.github.com/repos/Numigi/odoo-git-addons",
+ "forks_url": "https://api.github.com/repos/Numigi/odoo-git-addons/forks",
+ "keys_url": "https://api.github.com/repos/Numigi/odoo-git-addons/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/Numigi/odoo-git-addons/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/Numigi/odoo-git-addons/teams",
+ "hooks_url": "https://api.github.com/repos/Numigi/odoo-git-addons/hooks",
+ "issue_events_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/Numigi/odoo-git-addons/events",
+ "assignees_url": "https://api.github.com/repos/Numigi/odoo-git-addons/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/Numigi/odoo-git-addons/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/Numigi/odoo-git-addons/tags",
+ "blobs_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/Numigi/odoo-git-addons/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/Numigi/odoo-git-addons/languages",
+ "stargazers_url": "https://api.github.com/repos/Numigi/odoo-git-addons/stargazers",
+ "contributors_url": "https://api.github.com/repos/Numigi/odoo-git-addons/contributors",
+ "subscribers_url": "https://api.github.com/repos/Numigi/odoo-git-addons/subscribers",
+ "subscription_url": "https://api.github.com/repos/Numigi/odoo-git-addons/subscription",
+ "commits_url": "https://api.github.com/repos/Numigi/odoo-git-addons/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/Numigi/odoo-git-addons/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/Numigi/odoo-git-addons/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/Numigi/odoo-git-addons/merges",
+ "archive_url": "https://api.github.com/repos/Numigi/odoo-git-addons/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/Numigi/odoo-git-addons/downloads",
+ "issues_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/Numigi/odoo-git-addons/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/Numigi/odoo-git-addons/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/Numigi/odoo-git-addons/labels{/name}",
+ "releases_url": "https://api.github.com/repos/Numigi/odoo-git-addons/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/deployments",
+ "created_at": "2019-11-12T19:27:26Z",
+ "updated_at": "2019-11-20T15:39:53Z",
+ "pushed_at": "2019-11-22T16:26:15Z",
+ "git_url": "git://github.com/Numigi/odoo-git-addons.git",
+ "ssh_url": "git@github.com:Numigi/odoo-git-addons.git",
+ "clone_url": "https://github.com/Numigi/odoo-git-addons.git",
+ "svn_url": "https://github.com/Numigi/odoo-git-addons",
+ "homepage": null,
+ "size": 1446,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": "Python",
+ "has_issues": true,
+ "has_projects": false,
+ "has_downloads": true,
+ "has_wiki": false,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 1,
+ "license": {
+ "key": "agpl-3.0",
+ "name": "GNU Affero General Public License v3.0",
+ "spdx_id": "AGPL-3.0",
+ "url": "https://api.github.com/licenses/agpl-3.0",
+ "node_id": "MDc6TGljZW5zZTE="
+ },
+ "forks": 0,
+ "open_issues": 1,
+ "watchers": 0,
+ "default_branch": "12.0"
+ }
+ },
+ "base": {
+ "label": "Numigi:12.0",
+ "ref": "12.0",
+ "sha": "d938c7456c526fd9a471cf4a8b11ae1710a16d02",
+ "user": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "repo": {
+ "id": 221295296,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyMjEyOTUyOTY=",
+ "name": "odoo-git-addons",
+ "full_name": "Numigi/odoo-git-addons",
+ "private": false,
+ "owner": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/Numigi/odoo-git-addons",
+ "description": "git and github related odoo modules",
+ "fork": false,
+ "url": "https://api.github.com/repos/Numigi/odoo-git-addons",
+ "forks_url": "https://api.github.com/repos/Numigi/odoo-git-addons/forks",
+ "keys_url": "https://api.github.com/repos/Numigi/odoo-git-addons/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/Numigi/odoo-git-addons/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/Numigi/odoo-git-addons/teams",
+ "hooks_url": "https://api.github.com/repos/Numigi/odoo-git-addons/hooks",
+ "issue_events_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/Numigi/odoo-git-addons/events",
+ "assignees_url": "https://api.github.com/repos/Numigi/odoo-git-addons/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/Numigi/odoo-git-addons/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/Numigi/odoo-git-addons/tags",
+ "blobs_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/Numigi/odoo-git-addons/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/Numigi/odoo-git-addons/languages",
+ "stargazers_url": "https://api.github.com/repos/Numigi/odoo-git-addons/stargazers",
+ "contributors_url": "https://api.github.com/repos/Numigi/odoo-git-addons/contributors",
+ "subscribers_url": "https://api.github.com/repos/Numigi/odoo-git-addons/subscribers",
+ "subscription_url": "https://api.github.com/repos/Numigi/odoo-git-addons/subscription",
+ "commits_url": "https://api.github.com/repos/Numigi/odoo-git-addons/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/Numigi/odoo-git-addons/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/Numigi/odoo-git-addons/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/Numigi/odoo-git-addons/merges",
+ "archive_url": "https://api.github.com/repos/Numigi/odoo-git-addons/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/Numigi/odoo-git-addons/downloads",
+ "issues_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/Numigi/odoo-git-addons/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/Numigi/odoo-git-addons/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/Numigi/odoo-git-addons/labels{/name}",
+ "releases_url": "https://api.github.com/repos/Numigi/odoo-git-addons/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/deployments",
+ "created_at": "2019-11-12T19:27:26Z",
+ "updated_at": "2019-11-20T15:39:53Z",
+ "pushed_at": "2019-11-22T16:26:15Z",
+ "git_url": "git://github.com/Numigi/odoo-git-addons.git",
+ "ssh_url": "git@github.com:Numigi/odoo-git-addons.git",
+ "clone_url": "https://github.com/Numigi/odoo-git-addons.git",
+ "svn_url": "https://github.com/Numigi/odoo-git-addons",
+ "homepage": null,
+ "size": 1446,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": "Python",
+ "has_issues": true,
+ "has_projects": false,
+ "has_downloads": true,
+ "has_wiki": false,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 1,
+ "license": {
+ "key": "agpl-3.0",
+ "name": "GNU Affero General Public License v3.0",
+ "spdx_id": "AGPL-3.0",
+ "url": "https://api.github.com/licenses/agpl-3.0",
+ "node_id": "MDc6TGljZW5zZTE="
+ },
+ "forks": 0,
+ "open_issues": 1,
+ "watchers": 0,
+ "default_branch": "12.0"
+ }
+ },
+ "_links": {
+ "self": {
+ "href": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/5"
+ },
+ "html": {
+ "href": "https://github.com/Numigi/odoo-git-addons/pull/5"
+ },
+ "issue": {
+ "href": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/5"
+ },
+ "comments": {
+ "href": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/5/comments"
+ },
+ "review_comments": {
+ "href": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/5/comments"
+ },
+ "review_comment": {
+ "href": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/comments{/number}"
+ },
+ "commits": {
+ "href": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls/5/commits"
+ },
+ "statuses": {
+ "href": "https://api.github.com/repos/Numigi/odoo-git-addons/statuses/8390440505eca84d057a0a8ef5a2bcf60b3681ee"
+ }
+ },
+ "author_association": "CONTRIBUTOR",
+ "draft": false,
+ "merged": false,
+ "mergeable": null,
+ "rebaseable": null,
+ "mergeable_state": "unknown",
+ "merged_by": null,
+ "comments": 1,
+ "review_comments": 0,
+ "maintainer_can_modify": false,
+ "commits": 1,
+ "additions": 5,
+ "deletions": 0,
+ "changed_files": 1
+ },
+ "repository": {
+ "id": 221295296,
+ "node_id": "MDEwOlJlcG9zaXRvcnkyMjEyOTUyOTY=",
+ "name": "odoo-git-addons",
+ "full_name": "Numigi/odoo-git-addons",
+ "private": false,
+ "owner": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/Numigi",
+ "html_url": "https://github.com/Numigi",
+ "followers_url": "https://api.github.com/users/Numigi/followers",
+ "following_url": "https://api.github.com/users/Numigi/following{/other_user}",
+ "gists_url": "https://api.github.com/users/Numigi/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/Numigi/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/Numigi/subscriptions",
+ "organizations_url": "https://api.github.com/users/Numigi/orgs",
+ "repos_url": "https://api.github.com/users/Numigi/repos",
+ "events_url": "https://api.github.com/users/Numigi/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/Numigi/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/Numigi/odoo-git-addons",
+ "description": "git and github related odoo modules",
+ "fork": false,
+ "url": "https://api.github.com/repos/Numigi/odoo-git-addons",
+ "forks_url": "https://api.github.com/repos/Numigi/odoo-git-addons/forks",
+ "keys_url": "https://api.github.com/repos/Numigi/odoo-git-addons/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/Numigi/odoo-git-addons/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/Numigi/odoo-git-addons/teams",
+ "hooks_url": "https://api.github.com/repos/Numigi/odoo-git-addons/hooks",
+ "issue_events_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/Numigi/odoo-git-addons/events",
+ "assignees_url": "https://api.github.com/repos/Numigi/odoo-git-addons/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/Numigi/odoo-git-addons/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/Numigi/odoo-git-addons/tags",
+ "blobs_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/Numigi/odoo-git-addons/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/Numigi/odoo-git-addons/languages",
+ "stargazers_url": "https://api.github.com/repos/Numigi/odoo-git-addons/stargazers",
+ "contributors_url": "https://api.github.com/repos/Numigi/odoo-git-addons/contributors",
+ "subscribers_url": "https://api.github.com/repos/Numigi/odoo-git-addons/subscribers",
+ "subscription_url": "https://api.github.com/repos/Numigi/odoo-git-addons/subscription",
+ "commits_url": "https://api.github.com/repos/Numigi/odoo-git-addons/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/Numigi/odoo-git-addons/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/Numigi/odoo-git-addons/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/Numigi/odoo-git-addons/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/Numigi/odoo-git-addons/merges",
+ "archive_url": "https://api.github.com/repos/Numigi/odoo-git-addons/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/Numigi/odoo-git-addons/downloads",
+ "issues_url": "https://api.github.com/repos/Numigi/odoo-git-addons/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/Numigi/odoo-git-addons/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/Numigi/odoo-git-addons/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/Numigi/odoo-git-addons/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/Numigi/odoo-git-addons/labels{/name}",
+ "releases_url": "https://api.github.com/repos/Numigi/odoo-git-addons/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/Numigi/odoo-git-addons/deployments",
+ "created_at": "2019-11-12T19:27:26Z",
+ "updated_at": "2019-11-20T15:39:53Z",
+ "pushed_at": "2019-11-22T16:26:15Z",
+ "git_url": "git://github.com/Numigi/odoo-git-addons.git",
+ "ssh_url": "git@github.com:Numigi/odoo-git-addons.git",
+ "clone_url": "https://github.com/Numigi/odoo-git-addons.git",
+ "svn_url": "https://github.com/Numigi/odoo-git-addons",
+ "homepage": null,
+ "size": 1446,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": "Python",
+ "has_issues": true,
+ "has_projects": false,
+ "has_downloads": true,
+ "has_wiki": false,
+ "has_pages": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 1,
+ "license": {
+ "key": "agpl-3.0",
+ "name": "GNU Affero General Public License v3.0",
+ "spdx_id": "AGPL-3.0",
+ "url": "https://api.github.com/licenses/agpl-3.0",
+ "node_id": "MDc6TGljZW5zZTE="
+ },
+ "forks": 0,
+ "open_issues": 1,
+ "watchers": 0,
+ "default_branch": "12.0"
+ },
+ "organization": {
+ "login": "Numigi",
+ "id": 36130157,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjM2MTMwMTU3",
+ "url": "https://api.github.com/orgs/Numigi",
+ "repos_url": "https://api.github.com/orgs/Numigi/repos",
+ "events_url": "https://api.github.com/orgs/Numigi/events",
+ "hooks_url": "https://api.github.com/orgs/Numigi/hooks",
+ "issues_url": "https://api.github.com/orgs/Numigi/issues",
+ "members_url": "https://api.github.com/orgs/Numigi/members{/member}",
+ "public_members_url": "https://api.github.com/orgs/Numigi/public_members{/member}",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/36130157?v=4",
+ "description": ""
+ },
+ "sender": {
+ "login": "ddufresne",
+ "id": 27902736,
+ "node_id": "MDQ6VXNlcjI3OTAyNzM2",
+ "avatar_url": "https://avatars3.githubusercontent.com/u/27902736?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/ddufresne",
+ "html_url": "https://github.com/ddufresne",
+ "followers_url": "https://api.github.com/users/ddufresne/followers",
+ "following_url": "https://api.github.com/users/ddufresne/following{/other_user}",
+ "gists_url": "https://api.github.com/users/ddufresne/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/ddufresne/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/ddufresne/subscriptions",
+ "organizations_url": "https://api.github.com/users/ddufresne/orgs",
+ "repos_url": "https://api.github.com/users/ddufresne/repos",
+ "events_url": "https://api.github.com/users/ddufresne/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/ddufresne/received_events",
+ "type": "User",
+ "site_admin": false
+ }
+}
diff --git a/github_event/tests/test_github_event.py b/github_event/tests/test_github_event.py
new file mode 100644
index 0000000..4ce6176
--- /dev/null
+++ b/github_event/tests/test_github_event.py
@@ -0,0 +1,21 @@
+# Copyright 2023 - today Numigi (tm) and all its contributors (https://bit.ly/numigiens)
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+
+from ddt import ddt, data, unpack
+from .common import GithubEventCase
+
+
+@ddt
+class TestGithubEvent(GithubEventCase):
+
+ @data(
+ ('pull_request_1_merged.json', 'closed'),
+ ('pull_request_2_closed.json', 'closed'),
+ ('pull_request_2_reopened.json', 'reopened'),
+ ('check_run_completed.json', 'completed'),
+ )
+ @unpack
+ def test_action(self, filename, expected_action):
+ self.event_1.payload = self._read_payload(filename)
+ self.event_1.process()
+ assert self.event_1.action == expected_action
diff --git a/github_event/views/github_event.xml b/github_event/views/github_event.xml
new file mode 100644
index 0000000..eab9b3e
--- /dev/null
+++ b/github_event/views/github_event.xml
@@ -0,0 +1,46 @@
+
+
+
+
+ Github Event Form
+ github.event
+
+
+
+
+
+
+ Github Event List
+ github.event
+
+
+
+
+
+
+
+
+
+ Events
+ github.event
+ current
+ ir.actions.act_window
+ tree,form
+
+
+
diff --git a/github_event/views/menu.xml b/github_event/views/menu.xml
new file mode 100644
index 0000000..181c038
--- /dev/null
+++ b/github_event/views/menu.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
diff --git a/github_pull_request/static/description/menu_technical_pull_requests.png b/github_pull_request/static/description/menu_technical_pull_requests.png
index 0d727d2..cce8aa0 100644
Binary files a/github_pull_request/static/description/menu_technical_pull_requests.png and b/github_pull_request/static/description/menu_technical_pull_requests.png differ
diff --git a/github_pull_request/static/description/pull_request_event_form.png b/github_pull_request/static/description/pull_request_event_form.png
index 06700ec..71a0d30 100644
Binary files a/github_pull_request/static/description/pull_request_event_form.png and b/github_pull_request/static/description/pull_request_event_form.png differ
diff --git a/github_pull_request/static/description/pull_request_event_list.png b/github_pull_request/static/description/pull_request_event_list.png
index 990346f..aca107b 100644
Binary files a/github_pull_request/static/description/pull_request_event_list.png and b/github_pull_request/static/description/pull_request_event_list.png differ
diff --git a/github_pull_request/static/description/pull_request_form.png b/github_pull_request/static/description/pull_request_form.png
index d2f8190..8335871 100644
Binary files a/github_pull_request/static/description/pull_request_form.png and b/github_pull_request/static/description/pull_request_form.png differ
diff --git a/github_pull_request/static/description/pull_request_tree.png b/github_pull_request/static/description/pull_request_tree.png
index 54d2f3e..7a45765 100644
Binary files a/github_pull_request/static/description/pull_request_tree.png and b/github_pull_request/static/description/pull_request_tree.png differ