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