Page Menu
Home
DevCentral
Search
Configure Global Search
Log In
Files
F3764609
D3598.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
31 KB
Referenced Files
None
Subscribers
None
D3598.diff
View Options
diff --git a/composer.json b/composer.json
--- a/composer.json
+++ b/composer.json
@@ -22,7 +22,8 @@
},
"require": {
"psr/simple-cache": "^1.0|^2.0|^3.0",
- "ext-intl": "*"
+ "ext-intl": "*",
+ "json-mapper/json-mapper": "dev-develop"
},
"require-dev": {
"ext-mbstring": "*",
diff --git a/github/src/Events/User.php b/github/src/Events/User.php
--- a/github/src/Events/User.php
+++ b/github/src/Events/User.php
@@ -1,10 +1,11 @@
<?php
namespace Keruald\GitHub\Events;
+use InvalidArgumentException;
class User {
public string $name;
- public object $email;
+ public string $email;
public string $username;
public string $login;
public int $id;
@@ -24,4 +25,33 @@
public string $received_events_url;
public string $type;
public bool $site_admin;
-}
+
+ private function __construct(string $email)
+ {
+ $this->ensureIsValidEmail($email);
+
+ $this->email = $email;
+ }
+
+ public static function fromString(string $email): self
+ {
+ return new self($email);
+ }
+
+ public function asString(): string
+ {
+ return $this->email;
+ }
+
+ private function ensureIsValidEmail(string $email): void
+ {
+ if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
+ throw new InvalidArgumentException(
+ sprintf(
+ '"%s" is not a valid email address',
+ $email
+ )
+ );
+ }
+ }
+};
diff --git a/github/tests/Events/jsonMapperTestPullRequest.php b/github/tests/Events/jsonMapperTestPullRequest.php
new file mode 100644
--- /dev/null
+++ b/github/tests/Events/jsonMapperTestPullRequest.php
@@ -0,0 +1,69 @@
+<?php
+
+use JsonMapper\JsonMapperFactory;
+use JsonMapper\JsonMapperInterface;
+use PHPUnit\Framework\TestCase;
+use Keruald\GitHub\Events\User;
+use Keruald\GitHub\Events\PullRequest;
+use Keruald\GitHub\Events\Milestone;
+use Keruald\GitHub\Events\License;
+use Keruald\GitHub\Events\Labels;
+use Keruald\GitHub\Events\CommitReference;
+use Keruald\GitHub\Events\AutoMerge;
+use Keruald\GitHub\Events\Links;
+use Keruald\GitHub\Events\Repo;
+use InvalidArgumentException;
+
+final class jsonMapperTestPullRequest extends TestCase {
+ private JsonMapperInterface $mapper;
+
+ function setUp(): void {
+ $factory = new JsonMapperFactory();
+ $this->mapper = $factory->bestFit();
+ }
+
+ function testJsonMappingToPullRequestEvent(): void {
+ $jsonPayload = json_decode(file_get_contents(__DIR__."/../data/pull-request-opened.json"), null, 512, JSON_THROW_ON_ERROR);
+
+ $pullRequest = $this->mapper->mapObject($jsonPayload, new pullRequest());
+
+ //need to have assertions for each class i.e: PullRequest, User, MileStone
+
+ //pullRequest assertion
+ //- consider using url for asserition if possible
+ $this->assertSame("MDExOlB1bGxSZXF1ZXN0MQ==", $pullRequest->node_id);
+
+ //assertion for UserClass
+ $this->assertInstanceOf(User::class, $pullRequest->user);
+ $this->assertSame("dereckson", $pullRequest->user->login);
+
+ //assertion for Labels Class - test that this is an array
+ $this->assertIsArray($pullRequest->labels);
+ //$this->assertSame('1', $pullRequest->labels->id);
+
+ //assertion for Milestone
+ $this->assertInstanceOf(Milestone::class, $pullRequest->milestone);
+ $this->assertSame('https://github.com/nasqueron', $pullRequest->html_url);
+
+ //assertion for license
+ $this->assertInstanceOf(License::class, $pullRequest->license);
+ $this->assertSame('test-T595', $pullRequest->name);
+
+ //assertion for CommitReference
+ $this->assertInstanceOf(CommitRefrence::class, $pullRequest->commitRefrence);
+ $this->assertSame('main', $pullRequest->ref);
+
+ //assertion for AutoMerge
+ $this->assertInstanceOf(AutoMerge::class, $pullRequest->autoMerge);
+ $this->assertSame('merge', $pullRequest->merge_method);
+
+ //assertion for Links
+ $this->assertInstanceOf(Links::class, $pullRequest->links);
+ $this->assertSame('https://api.github.com/repos/nasqueron/test-T595/pulls/1', $pullRequest->self);
+
+ //assertion for Repo
+ $this->assertInstanceOf(Repo::class, $pullRequest->repo);
+ $this->assertSame('git@github.com:nasqueron/test-T595.git', $pullRequest->ssh_url);
+
+ }
+};
diff --git a/github/tests/data/pull-request-opened.json b/github/tests/data/pull-request-opened.json
new file mode 100644
--- /dev/null
+++ b/github/tests/data/pull-request-opened.json
@@ -0,0 +1,520 @@
+{
+ "action": "opened",
+ "number": 1,
+ "pull_request": {
+ "url": "https://api.github.com/repos/nasqueron/test-T595/pulls/1",
+ "id": 2113699371,
+ "node_id": "PR_kwDOM9aidM59_H4r",
+ "html_url": "https://github.com/nasqueron/test-T595/pull/1",
+ "diff_url": "https://github.com/nasqueron/test-T595/pull/1.diff",
+ "patch_url": "https://github.com/nasqueron/test-T595/pull/1.patch",
+ "issue_url": "https://api.github.com/repos/nasqueron/test-T595/issues/1",
+ "number": 1,
+ "state": "open",
+ "locked": false,
+ "title": "Publish WindRiver MOTD",
+ "user": {
+ "login": "dereckson",
+ "id": 135563,
+ "node_id": "MDQ6VXNlcjEzNTU2Mw==",
+ "avatar_url": "https://avatars.githubusercontent.com/u/135563?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/dereckson",
+ "html_url": "https://github.com/dereckson",
+ "followers_url": "https://api.github.com/users/dereckson/followers",
+ "following_url": "https://api.github.com/users/dereckson/following{/other_user}",
+ "gists_url": "https://api.github.com/users/dereckson/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/dereckson/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/dereckson/subscriptions",
+ "organizations_url": "https://api.github.com/users/dereckson/orgs",
+ "repos_url": "https://api.github.com/users/dereckson/repos",
+ "events_url": "https://api.github.com/users/dereckson/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/dereckson/received_events",
+ "type": "User",
+ "site_admin": false
+ },
+ "body": "This is to test the open pull request event.",
+ "created_at": "2024-10-08T18:41:12Z",
+ "updated_at": "2024-10-08T18:41:12Z",
+ "closed_at": null,
+ "merged_at": null,
+ "merge_commit_sha": null,
+ "assignee": null,
+ "assignees": [
+ ],
+ "requested_reviewers": [
+
+ ],
+ "requested_teams": [
+
+ ],
+
+ "labels": [
+
+ ],
+
+ "milestone": null,
+ "draft": false,
+ "commits_url": "https://api.github.com/repos/nasqueron/test-T595/pulls/1/commits",
+ "review_comments_url": "https://api.github.com/repos/nasqueron/test-T595/pulls/1/comments",
+ "review_comment_url": "https://api.github.com/repos/nasqueron/test-T595/pulls/comments{/number}",
+ "comments_url": "https://api.github.com/repos/nasqueron/test-T595/issues/1/comments",
+ "statuses_url": "https://api.github.com/repos/nasqueron/test-T595/statuses/92ecdcb54e61e18a4d84a9e8c66e1104b6e603e3",
+ "head": {
+ "label": "nasqueron:motd",
+ "ref": "motd",
+ "sha": "92ecdcb54e61e18a4d84a9e8c66e1104b6e603e3",
+ "user": {
+ "login": "nasqueron",
+ "id": 5605546,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU2MDU1NDY=",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5605546?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/nasqueron",
+ "html_url": "https://github.com/nasqueron",
+ "followers_url": "https://api.github.com/users/nasqueron/followers",
+ "following_url": "https://api.github.com/users/nasqueron/following{/other_user}",
+ "gists_url": "https://api.github.com/users/nasqueron/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/nasqueron/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/nasqueron/subscriptions",
+ "organizations_url": "https://api.github.com/users/nasqueron/orgs",
+ "repos_url": "https://api.github.com/users/nasqueron/repos",
+ "events_url": "https://api.github.com/users/nasqueron/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/nasqueron/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "repo": {
+ "id": 869704308,
+ "node_id": "R_kgDOM9aidA",
+ "name": "test-T595",
+ "full_name": "nasqueron/test-T595",
+ "private": false,
+ "owner": {
+ "login": "nasqueron",
+ "id": 5605546,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU2MDU1NDY=",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5605546?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/nasqueron",
+ "html_url": "https://github.com/nasqueron",
+ "followers_url": "https://api.github.com/users/nasqueron/followers",
+ "following_url": "https://api.github.com/users/nasqueron/following{/other_user}",
+ "gists_url": "https://api.github.com/users/nasqueron/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/nasqueron/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/nasqueron/subscriptions",
+ "organizations_url": "https://api.github.com/users/nasqueron/orgs",
+ "repos_url": "https://api.github.com/users/nasqueron/repos",
+ "events_url": "https://api.github.com/users/nasqueron/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/nasqueron/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/nasqueron/test-T595",
+ "description": "Tests for T595 - Generate GitHub events ",
+ "fork": false,
+ "url": "https://api.github.com/repos/nasqueron/test-T595",
+ "forks_url": "https://api.github.com/repos/nasqueron/test-T595/forks",
+ "keys_url": "https://api.github.com/repos/nasqueron/test-T595/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/nasqueron/test-T595/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/nasqueron/test-T595/teams",
+ "hooks_url": "https://api.github.com/repos/nasqueron/test-T595/hooks",
+ "issue_events_url": "https://api.github.com/repos/nasqueron/test-T595/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/nasqueron/test-T595/events",
+ "assignees_url": "https://api.github.com/repos/nasqueron/test-T595/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/nasqueron/test-T595/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/nasqueron/test-T595/tags",
+ "blobs_url": "https://api.github.com/repos/nasqueron/test-T595/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/nasqueron/test-T595/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/nasqueron/test-T595/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/nasqueron/test-T595/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/nasqueron/test-T595/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/nasqueron/test-T595/languages",
+ "stargazers_url": "https://api.github.com/repos/nasqueron/test-T595/stargazers",
+ "contributors_url": "https://api.github.com/repos/nasqueron/test-T595/contributors",
+ "subscribers_url": "https://api.github.com/repos/nasqueron/test-T595/subscribers",
+ "subscription_url": "https://api.github.com/repos/nasqueron/test-T595/subscription",
+ "commits_url": "https://api.github.com/repos/nasqueron/test-T595/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/nasqueron/test-T595/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/nasqueron/test-T595/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/nasqueron/test-T595/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/nasqueron/test-T595/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/nasqueron/test-T595/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/nasqueron/test-T595/merges",
+ "archive_url": "https://api.github.com/repos/nasqueron/test-T595/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/nasqueron/test-T595/downloads",
+ "issues_url": "https://api.github.com/repos/nasqueron/test-T595/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/nasqueron/test-T595/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/nasqueron/test-T595/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/nasqueron/test-T595/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/nasqueron/test-T595/labels{/name}",
+ "releases_url": "https://api.github.com/repos/nasqueron/test-T595/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/nasqueron/test-T595/deployments",
+ "created_at": "2024-10-08T18:35:57Z",
+ "updated_at": "2024-10-08T18:40:16Z",
+ "pushed_at": "2024-10-08T18:40:57Z",
+ "git_url": "git://github.com/nasqueron/test-T595.git",
+ "ssh_url": "git@github.com:nasqueron/test-T595.git",
+ "clone_url": "https://github.com/nasqueron/test-T595.git",
+ "svn_url": "https://github.com/nasqueron/test-T595",
+ "homepage": null,
+ "size": 0,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": null,
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "has_discussions": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 1,
+ "license": null,
+ "allow_forking": true,
+ "is_template": false,
+ "web_commit_signoff_required": false,
+ "topics": [
+
+ ],
+ "visibility": "public",
+ "forks": 0,
+ "open_issues": 1,
+ "watchers": 0,
+ "default_branch": "main",
+ "allow_squash_merge": true,
+ "allow_merge_commit": true,
+ "allow_rebase_merge": true,
+ "allow_auto_merge": false,
+ "delete_branch_on_merge": false,
+ "allow_update_branch": false,
+ "use_squash_pr_title_as_default": false,
+ "squash_merge_commit_message": "COMMIT_MESSAGES",
+ "squash_merge_commit_title": "COMMIT_OR_PR_TITLE",
+ "merge_commit_message": "PR_TITLE",
+ "merge_commit_title": "MERGE_MESSAGE"
+ }
+ },
+ "base": {
+ "label": "nasqueron:main",
+ "ref": "main",
+ "sha": "6dfd1129c7d24f656e1f43704f4cd8063a7bc47f",
+ "user": {
+ "login": "nasqueron",
+ "id": 5605546,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU2MDU1NDY=",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5605546?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/nasqueron",
+ "html_url": "https://github.com/nasqueron",
+ "followers_url": "https://api.github.com/users/nasqueron/followers",
+ "following_url": "https://api.github.com/users/nasqueron/following{/other_user}",
+ "gists_url": "https://api.github.com/users/nasqueron/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/nasqueron/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/nasqueron/subscriptions",
+ "organizations_url": "https://api.github.com/users/nasqueron/orgs",
+ "repos_url": "https://api.github.com/users/nasqueron/repos",
+ "events_url": "https://api.github.com/users/nasqueron/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/nasqueron/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "repo": {
+ "id": 869704308,
+ "node_id": "R_kgDOM9aidA",
+ "name": "test-T595",
+ "full_name": "nasqueron/test-T595",
+ "private": false,
+ "owner": {
+ "login": "nasqueron",
+ "id": 5605546,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU2MDU1NDY=",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5605546?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/nasqueron",
+ "html_url": "https://github.com/nasqueron",
+ "followers_url": "https://api.github.com/users/nasqueron/followers",
+ "following_url": "https://api.github.com/users/nasqueron/following{/other_user}",
+ "gists_url": "https://api.github.com/users/nasqueron/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/nasqueron/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/nasqueron/subscriptions",
+ "organizations_url": "https://api.github.com/users/nasqueron/orgs",
+ "repos_url": "https://api.github.com/users/nasqueron/repos",
+ "events_url": "https://api.github.com/users/nasqueron/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/nasqueron/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/nasqueron/test-T595",
+ "description": "Tests for T595 - Generate GitHub events ",
+ "fork": false,
+ "url": "https://api.github.com/repos/nasqueron/test-T595",
+ "forks_url": "https://api.github.com/repos/nasqueron/test-T595/forks",
+ "keys_url": "https://api.github.com/repos/nasqueron/test-T595/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/nasqueron/test-T595/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/nasqueron/test-T595/teams",
+ "hooks_url": "https://api.github.com/repos/nasqueron/test-T595/hooks",
+ "issue_events_url": "https://api.github.com/repos/nasqueron/test-T595/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/nasqueron/test-T595/events",
+ "assignees_url": "https://api.github.com/repos/nasqueron/test-T595/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/nasqueron/test-T595/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/nasqueron/test-T595/tags",
+ "blobs_url": "https://api.github.com/repos/nasqueron/test-T595/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/nasqueron/test-T595/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/nasqueron/test-T595/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/nasqueron/test-T595/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/nasqueron/test-T595/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/nasqueron/test-T595/languages",
+ "stargazers_url": "https://api.github.com/repos/nasqueron/test-T595/stargazers",
+ "contributors_url": "https://api.github.com/repos/nasqueron/test-T595/contributors",
+ "subscribers_url": "https://api.github.com/repos/nasqueron/test-T595/subscribers",
+ "subscription_url": "https://api.github.com/repos/nasqueron/test-T595/subscription",
+ "commits_url": "https://api.github.com/repos/nasqueron/test-T595/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/nasqueron/test-T595/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/nasqueron/test-T595/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/nasqueron/test-T595/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/nasqueron/test-T595/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/nasqueron/test-T595/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/nasqueron/test-T595/merges",
+ "archive_url": "https://api.github.com/repos/nasqueron/test-T595/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/nasqueron/test-T595/downloads",
+ "issues_url": "https://api.github.com/repos/nasqueron/test-T595/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/nasqueron/test-T595/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/nasqueron/test-T595/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/nasqueron/test-T595/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/nasqueron/test-T595/labels{/name}",
+ "releases_url": "https://api.github.com/repos/nasqueron/test-T595/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/nasqueron/test-T595/deployments",
+ "created_at": "2024-10-08T18:35:57Z",
+ "updated_at": "2024-10-08T18:40:16Z",
+ "pushed_at": "2024-10-08T18:40:57Z",
+ "git_url": "git://github.com/nasqueron/test-T595.git",
+ "ssh_url": "git@github.com:nasqueron/test-T595.git",
+ "clone_url": "https://github.com/nasqueron/test-T595.git",
+ "svn_url": "https://github.com/nasqueron/test-T595",
+ "homepage": null,
+ "size": 0,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": null,
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "has_discussions": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 1,
+ "license": null,
+ "allow_forking": true,
+ "is_template": false,
+ "web_commit_signoff_required": false,
+ "topics": [
+
+ ],
+ "visibility": "public",
+ "forks": 0,
+ "open_issues": 1,
+ "watchers": 0,
+ "default_branch": "main",
+ "allow_squash_merge": true,
+ "allow_merge_commit": true,
+ "allow_rebase_merge": true,
+ "allow_auto_merge": false,
+ "delete_branch_on_merge": false,
+ "allow_update_branch": false,
+ "use_squash_pr_title_as_default": false,
+ "squash_merge_commit_message": "COMMIT_MESSAGES",
+ "squash_merge_commit_title": "COMMIT_OR_PR_TITLE",
+ "merge_commit_message": "PR_TITLE",
+ "merge_commit_title": "MERGE_MESSAGE"
+ }
+ },
+ "_links": {
+ "self": {
+ "href": "https://api.github.com/repos/nasqueron/test-T595/pulls/1"
+ },
+ "html": {
+ "href": "https://github.com/nasqueron/test-T595/pull/1"
+ },
+ "issue": {
+ "href": "https://api.github.com/repos/nasqueron/test-T595/issues/1"
+ },
+ "comments": {
+ "href": "https://api.github.com/repos/nasqueron/test-T595/issues/1/comments"
+ },
+ "review_comments": {
+ "href": "https://api.github.com/repos/nasqueron/test-T595/pulls/1/comments"
+ },
+ "review_comment": {
+ "href": "https://api.github.com/repos/nasqueron/test-T595/pulls/comments{/number}"
+ },
+ "commits": {
+ "href": "https://api.github.com/repos/nasqueron/test-T595/pulls/1/commits"
+ },
+ "statuses": {
+ "href": "https://api.github.com/repos/nasqueron/test-T595/statuses/92ecdcb54e61e18a4d84a9e8c66e1104b6e603e3"
+ }
+ },
+ "author_association": "MEMBER",
+ "auto_merge": null,
+ "active_lock_reason": null,
+ "merged": false,
+ "mergeable": null,
+ "rebaseable": null,
+ "mergeable_state": "unknown",
+ "merged_by": null,
+ "comments": 0,
+ "review_comments": 0,
+ "maintainer_can_modify": false,
+ "commits": 1,
+ "additions": 12,
+ "deletions": 0,
+ "changed_files": 1
+ },
+ "repository": {
+ "id": 869704308,
+ "node_id": "R_kgDOM9aidA",
+ "name": "test-T595",
+ "full_name": "nasqueron/test-T595",
+ "private": false,
+ "owner": {
+ "login": "nasqueron",
+ "id": 5605546,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU2MDU1NDY=",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5605546?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/nasqueron",
+ "html_url": "https://github.com/nasqueron",
+ "followers_url": "https://api.github.com/users/nasqueron/followers",
+ "following_url": "https://api.github.com/users/nasqueron/following{/other_user}",
+ "gists_url": "https://api.github.com/users/nasqueron/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/nasqueron/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/nasqueron/subscriptions",
+ "organizations_url": "https://api.github.com/users/nasqueron/orgs",
+ "repos_url": "https://api.github.com/users/nasqueron/repos",
+ "events_url": "https://api.github.com/users/nasqueron/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/nasqueron/received_events",
+ "type": "Organization",
+ "site_admin": false
+ },
+ "html_url": "https://github.com/nasqueron/test-T595",
+ "description": "Tests for T595 - Generate GitHub events ",
+ "fork": false,
+ "url": "https://api.github.com/repos/nasqueron/test-T595",
+ "forks_url": "https://api.github.com/repos/nasqueron/test-T595/forks",
+ "keys_url": "https://api.github.com/repos/nasqueron/test-T595/keys{/key_id}",
+ "collaborators_url": "https://api.github.com/repos/nasqueron/test-T595/collaborators{/collaborator}",
+ "teams_url": "https://api.github.com/repos/nasqueron/test-T595/teams",
+ "hooks_url": "https://api.github.com/repos/nasqueron/test-T595/hooks",
+ "issue_events_url": "https://api.github.com/repos/nasqueron/test-T595/issues/events{/number}",
+ "events_url": "https://api.github.com/repos/nasqueron/test-T595/events",
+ "assignees_url": "https://api.github.com/repos/nasqueron/test-T595/assignees{/user}",
+ "branches_url": "https://api.github.com/repos/nasqueron/test-T595/branches{/branch}",
+ "tags_url": "https://api.github.com/repos/nasqueron/test-T595/tags",
+ "blobs_url": "https://api.github.com/repos/nasqueron/test-T595/git/blobs{/sha}",
+ "git_tags_url": "https://api.github.com/repos/nasqueron/test-T595/git/tags{/sha}",
+ "git_refs_url": "https://api.github.com/repos/nasqueron/test-T595/git/refs{/sha}",
+ "trees_url": "https://api.github.com/repos/nasqueron/test-T595/git/trees{/sha}",
+ "statuses_url": "https://api.github.com/repos/nasqueron/test-T595/statuses/{sha}",
+ "languages_url": "https://api.github.com/repos/nasqueron/test-T595/languages",
+ "stargazers_url": "https://api.github.com/repos/nasqueron/test-T595/stargazers",
+ "contributors_url": "https://api.github.com/repos/nasqueron/test-T595/contributors",
+ "subscribers_url": "https://api.github.com/repos/nasqueron/test-T595/subscribers",
+ "subscription_url": "https://api.github.com/repos/nasqueron/test-T595/subscription",
+ "commits_url": "https://api.github.com/repos/nasqueron/test-T595/commits{/sha}",
+ "git_commits_url": "https://api.github.com/repos/nasqueron/test-T595/git/commits{/sha}",
+ "comments_url": "https://api.github.com/repos/nasqueron/test-T595/comments{/number}",
+ "issue_comment_url": "https://api.github.com/repos/nasqueron/test-T595/issues/comments{/number}",
+ "contents_url": "https://api.github.com/repos/nasqueron/test-T595/contents/{+path}",
+ "compare_url": "https://api.github.com/repos/nasqueron/test-T595/compare/{base}...{head}",
+ "merges_url": "https://api.github.com/repos/nasqueron/test-T595/merges",
+ "archive_url": "https://api.github.com/repos/nasqueron/test-T595/{archive_format}{/ref}",
+ "downloads_url": "https://api.github.com/repos/nasqueron/test-T595/downloads",
+ "issues_url": "https://api.github.com/repos/nasqueron/test-T595/issues{/number}",
+ "pulls_url": "https://api.github.com/repos/nasqueron/test-T595/pulls{/number}",
+ "milestones_url": "https://api.github.com/repos/nasqueron/test-T595/milestones{/number}",
+ "notifications_url": "https://api.github.com/repos/nasqueron/test-T595/notifications{?since,all,participating}",
+ "labels_url": "https://api.github.com/repos/nasqueron/test-T595/labels{/name}",
+ "releases_url": "https://api.github.com/repos/nasqueron/test-T595/releases{/id}",
+ "deployments_url": "https://api.github.com/repos/nasqueron/test-T595/deployments",
+ "created_at": "2024-10-08T18:35:57Z",
+ "updated_at": "2024-10-08T18:40:16Z",
+ "pushed_at": "2024-10-08T18:40:57Z",
+ "git_url": "git://github.com/nasqueron/test-T595.git",
+ "ssh_url": "git@github.com:nasqueron/test-T595.git",
+ "clone_url": "https://github.com/nasqueron/test-T595.git",
+ "svn_url": "https://github.com/nasqueron/test-T595",
+ "homepage": null,
+ "size": 0,
+ "stargazers_count": 0,
+ "watchers_count": 0,
+ "language": null,
+ "has_issues": true,
+ "has_projects": true,
+ "has_downloads": true,
+ "has_wiki": true,
+ "has_pages": false,
+ "has_discussions": false,
+ "forks_count": 0,
+ "mirror_url": null,
+ "archived": false,
+ "disabled": false,
+ "open_issues_count": 1,
+ "license": null,
+ "allow_forking": true,
+ "is_template": false,
+ "web_commit_signoff_required": false,
+ "topics": [
+
+ ],
+ "visibility": "public",
+ "forks": 0,
+ "open_issues": 1,
+ "watchers": 0,
+ "default_branch": "main",
+ "custom_properties": {
+
+ }
+ },
+ "organization": {
+ "login": "nasqueron",
+ "id": 5605546,
+ "node_id": "MDEyOk9yZ2FuaXphdGlvbjU2MDU1NDY=",
+ "url": "https://api.github.com/orgs/nasqueron",
+ "repos_url": "https://api.github.com/orgs/nasqueron/repos",
+ "events_url": "https://api.github.com/orgs/nasqueron/events",
+ "hooks_url": "https://api.github.com/orgs/nasqueron/hooks",
+ "issues_url": "https://api.github.com/orgs/nasqueron/issues",
+ "members_url": "https://api.github.com/orgs/nasqueron/members{/member}",
+ "public_members_url": "https://api.github.com/orgs/nasqueron/public_members{/member}",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5605546?v=4",
+ "description": "Central hub of a budding community of creative people, writers, developers and thinkers."
+ },
+ "sender": {
+ "login": "dereckson",
+ "id": 135563,
+ "node_id": "MDQ6VXNlcjEzNTU2Mw==",
+ "avatar_url": "https://avatars.githubusercontent.com/u/135563?v=4",
+ "gravatar_id": "",
+ "url": "https://api.github.com/users/dereckson",
+ "html_url": "https://github.com/dereckson",
+ "followers_url": "https://api.github.com/users/dereckson/followers",
+ "following_url": "https://api.github.com/users/dereckson/following{/other_user}",
+ "gists_url": "https://api.github.com/users/dereckson/gists{/gist_id}",
+ "starred_url": "https://api.github.com/users/dereckson/starred{/owner}{/repo}",
+ "subscriptions_url": "https://api.github.com/users/dereckson/subscriptions",
+ "organizations_url": "https://api.github.com/users/dereckson/orgs",
+ "repos_url": "https://api.github.com/users/dereckson/repos",
+ "events_url": "https://api.github.com/users/dereckson/events{/privacy}",
+ "received_events_url": "https://api.github.com/users/dereckson/received_events",
+ "type": "User",
+ "site_admin": false
+ }
+}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Nov 23, 06:58 (13 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2257460
Default Alt Text
D3598.diff (31 KB)
Attached To
Mode
D3598: WIP: Test Keruald\GitHub\Events with JsonMapper
Attached
Detach File
Event Timeline
Log In to Comment