{"action":"created","comment":{"url":"https://api.github.com/repos/jjaniec/21sh/pulls/comments/221435446","pull_request_review_id":160088721,"id":221435446,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyMTQzNTQ0Ng==","diff_hunk":"@@ -0,0 +1,207 @@\n+/* ************************************************************************** */\n+/*                                                                            */\n+/*                                                        :::      ::::::::   */\n+/*   builtin_test.c                                     :+:      :+:    :+:   */\n+/*                                                    +:+ +:+         +:+     */\n+/*   By: sbrucker <marvin@42.fr>                    +#+  +:+       +#+        */\n+/*                                                +#+#+#+#+#+   +#+           */\n+/*   Created: 2018/09/01 12:13:57 by sbrucker          #+#    #+#             */\n+/*   Updated: 2018/09/27 18:33:53 by sbrucker         ###   ########.fr       */\n+/*                                                                            */\n+/* ************************************************************************** */\n+\n+#include <twenty_one_sh.h>\n+\n+/*\n+** Posix options\n+** http://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html\n+*/\n+\n+t_option\t\tg_tests_opts[] = {\n+\t{{\"h\"}, \"-h:\\t\\tPrint this help with all the options listed.\", false},\n+\t{{\"b\"}, \"-b file:\\tTrue if file exists and is a block special file.\", false},\n+\t{{\"c\"}, \"-c file:\\tTrue if file exists and is a character special file.\", false},\n+\t{{\"d\"}, \"-d file:\\tTrue if file exists and is a directory.\", false},\n+\t{{\"e\"}, \"-e file:\\tTrue if file exists (regardless of type).\", false},\n+\t{{\"f\"}, \"-f file:\\tTrue if file exists and is a regular file.\", false},\n+\t{{\"k\"}, \"-k file:\\tTrue if file exists and its sticky bit is set.\", false},\n+\t{{\"p\"}, \"-p file:\\tTrue if file is a named pipe (FIFO).\", false},\n+\t{{\"r\"}, \"-r file:\\tTrue if file exists and is readable.\", false},\n+\t{{\"s\"}, \"-s file:\\tTrue if file exists and has a size greater than zero.\", false},\n+\t{{\"u\"}, \"-u file:\\tTrue if file exists and its set user ID flag is set.\", false},\n+\t{{\"w\"}, \"-w file:\\tTrue if file exists and is writable.\\n\\\n+\t\t\t\\tTrue indicates only that the write flag is on.\\n\\\n+\t\t\t\\tThe file is not writable on a read-only file system even if this test indicates true.\", false},\n+\t{{\"x\"}, \"-x file:\\tTrue if file exists and is executable.\\n\\\n+\t\t\t\\tTrue indicates only that the execute flag is on.\\n\\\n+\t\t\t\\tThe file is not executable on a read-only file system even if this test indicates true.\", false},\n+\t{{\"L\"}, \"-L file:\\tTrue if file exists and is a symbolic link.\", false},\n+\t{{\"S\"}, \"-S file:\\tTrue if file exists and is a socket.\", false},\n+\t{{\"--------------------------\"}, \"\" , false},\n+\t{{\"\\e=\"}, \"s1 = s2:\\tTrue if the strings s1 and s2 are identical.\", false},\n+\t{{\"\\e!=\"}, \"s1 != s2:\\tTrue if the strings s1 and s2 are not identical.\", false},","path":"srcs/builtin/builtin_test.c","position":42,"original_position":42,"commit_id":"3123a4d8288500bbacd01af6e5bc5b10d1e431e8","original_commit_id":"3123a4d8288500bbacd01af6e5bc5b10d1e431e8","user":{"login":"sonarcloud[bot]","id":39514782,"node_id":"MDM6Qm90Mzk1MTQ3ODI=","avatar_url":"https://avatars2.githubusercontent.com/in/12526?v=4","gravatar_id":"","url":"https://api.github.com/users/sonarcloud%5Bbot%5D","html_url":"https://github.com/apps/sonarcloud","followers_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/followers","following_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/following{/other_user}","gists_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/gists{/gist_id}","starred_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/subscriptions","organizations_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/orgs","repos_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/repos","events_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/events{/privacy}","received_events_url":"https://api.github.com/users/sonarcloud%5Bbot%5D/received_events","type":"Bot","site_admin":false},"body":"![Bug](https://sonarsource.github.io/sonar-github/bug.png 'Bug') Bug: Remove use of this '\\e' undefined escape sequence. ([c:InvalidEscapeSequence](https://sonarcloud.io/organizations/jjaniec-github/rules#rule_key=c%3AInvalidEscapeSequence))\n\n[See it in SonarCloud](https://sonarcloud.io/project/issues?id=jjaniec_21sh&pullRequest=28&issues=AWYmcoRXvOWp7Yd6LGCq&open=AWYmcoRXvOWp7Yd6LGCq)\n\n[ISSUE_KEY]: AWYmcoRXvOWp7Yd6LGCq","created_at":"2018-09-29T17:56:17Z","updated_at":"2018-09-29T17:56:19Z","html_url":"https://github.com/jjaniec/21sh/pull/28#discussion_r221435446","pull_request_url":"https://api.github.com/repos/jjaniec/21sh/pulls/28","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/jjaniec/21sh/pulls/comments/221435446"},"html":{"href":"https://github.com/jjaniec/21sh/pull/28#discussion_r221435446"},"pull_request":{"href":"https://api.github.com/repos/jjaniec/21sh/pulls/28"}}},"pull_request":{"url":"https://api.github.com/repos/jjaniec/21sh/pulls/28","id":218318288,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE4MzE4Mjg4","html_url":"https://github.com/jjaniec/21sh/pull/28","diff_url":"https://github.com/jjaniec/21sh/pull/28.diff","patch_url":"https://github.com/jjaniec/21sh/pull/28.patch","issue_url":"https://api.github.com/repos/jjaniec/21sh/issues/28","number":28,"state":"open","locked":false,"title":"Shell script","user":{"login":"SebastienBruckert","id":25817270,"node_id":"MDQ6VXNlcjI1ODE3Mjcw","avatar_url":"https://avatars2.githubusercontent.com/u/25817270?v=4","gravatar_id":"","url":"https://api.github.com/users/SebastienBruckert","html_url":"https://github.com/SebastienBruckert","followers_url":"https://api.github.com/users/SebastienBruckert/followers","following_url":"https://api.github.com/users/SebastienBruckert/following{/other_user}","gists_url":"https://api.github.com/users/SebastienBruckert/gists{/gist_id}","starred_url":"https://api.github.com/users/SebastienBruckert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SebastienBruckert/subscriptions","organizations_url":"https://api.github.com/users/SebastienBruckert/orgs","repos_url":"https://api.github.com/users/SebastienBruckert/repos","events_url":"https://api.github.com/users/SebastienBruckert/events{/privacy}","received_events_url":"https://api.github.com/users/SebastienBruckert/received_events","type":"User","site_admin":false},"body":"Add integration of shell script, with this : \r\n `IF` `THEN` ` ELIF` `ELSE` `WHILE` `DO` `DONE`\r\nBuiltin `test` and its alias `[` (On WIP)\r\nRemake of the AST constructor and script / command error handler.\r\nManagement of sub_ast.\r\n\r\nTravis' build failed - normal because of envp from previous changes in develop","created_at":"2018-09-26T13:33:22Z","updated_at":"2018-09-29T17:56:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c21fc63d7cc26b510d26de1daba198442342e80e","assignee":{"login":"SebastienBruckert","id":25817270,"node_id":"MDQ6VXNlcjI1ODE3Mjcw","avatar_url":"https://avatars2.githubusercontent.com/u/25817270?v=4","gravatar_id":"","url":"https://api.github.com/users/SebastienBruckert","html_url":"https://github.com/SebastienBruckert","followers_url":"https://api.github.com/users/SebastienBruckert/followers","following_url":"https://api.github.com/users/SebastienBruckert/following{/other_user}","gists_url":"https://api.github.com/users/SebastienBruckert/gists{/gist_id}","starred_url":"https://api.github.com/users/SebastienBruckert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SebastienBruckert/subscriptions","organizations_url":"https://api.github.com/users/SebastienBruckert/orgs","repos_url":"https://api.github.com/users/SebastienBruckert/repos","events_url":"https://api.github.com/users/SebastienBruckert/events{/privacy}","received_events_url":"https://api.github.com/users/SebastienBruckert/received_events","type":"User","site_admin":false},"assignees":[{"login":"SebastienBruckert","id":25817270,"node_id":"MDQ6VXNlcjI1ODE3Mjcw","avatar_url":"https://avatars2.githubusercontent.com/u/25817270?v=4","gravatar_id":"","url":"https://api.github.com/users/SebastienBruckert","html_url":"https://github.com/SebastienBruckert","followers_url":"https://api.github.com/users/SebastienBruckert/followers","following_url":"https://api.github.com/users/SebastienBruckert/following{/other_user}","gists_url":"https://api.github.com/users/SebastienBruckert/gists{/gist_id}","starred_url":"https://api.github.com/users/SebastienBruckert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SebastienBruckert/subscriptions","organizations_url":"https://api.github.com/users/SebastienBruckert/orgs","repos_url":"https://api.github.com/users/SebastienBruckert/repos","events_url":"https://api.github.com/users/SebastienBruckert/events{/privacy}","received_events_url":"https://api.github.com/users/SebastienBruckert/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"cgaspart","id":33488209,"node_id":"MDQ6VXNlcjMzNDg4MjA5","avatar_url":"https://avatars2.githubusercontent.com/u/33488209?v=4","gravatar_id":"","url":"https://api.github.com/users/cgaspart","html_url":"https://github.com/cgaspart","followers_url":"https://api.github.com/users/cgaspart/followers","following_url":"https://api.github.com/users/cgaspart/following{/other_user}","gists_url":"https://api.github.com/users/cgaspart/gists{/gist_id}","starred_url":"https://api.github.com/users/cgaspart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cgaspart/subscriptions","organizations_url":"https://api.github.com/users/cgaspart/orgs","repos_url":"https://api.github.com/users/cgaspart/repos","events_url":"https://api.github.com/users/cgaspart/events{/privacy}","received_events_url":"https://api.github.com/users/cgaspart/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":934078151,"node_id":"MDU6TGFiZWw5MzQwNzgxNTE=","url":"https://api.github.com/repos/jjaniec/21sh/labels/enhancement","name":"enhancement","color":"a2eeef","default":true}],"milestone":null,"commits_url":"https://api.github.com/repos/jjaniec/21sh/pulls/28/commits","review_comments_url":"https://api.github.com/repos/jjaniec/21sh/pulls/28/comments","review_comment_url":"https://api.github.com/repos/jjaniec/21sh/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jjaniec/21sh/issues/28/comments","statuses_url":"https://api.github.com/repos/jjaniec/21sh/statuses/3123a4d8288500bbacd01af6e5bc5b10d1e431e8","head":{"label":"jjaniec:shell_script","ref":"shell_script","sha":"3123a4d8288500bbacd01af6e5bc5b10d1e431e8","user":{"login":"jjaniec","id":16088893,"node_id":"MDQ6VXNlcjE2MDg4ODkz","avatar_url":"https://avatars2.githubusercontent.com/u/16088893?v=4","gravatar_id":"","url":"https://api.github.com/users/jjaniec","html_url":"https://github.com/jjaniec","followers_url":"https://api.github.com/users/jjaniec/followers","following_url":"https://api.github.com/users/jjaniec/following{/other_user}","gists_url":"https://api.github.com/users/jjaniec/gists{/gist_id}","starred_url":"https://api.github.com/users/jjaniec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jjaniec/subscriptions","organizations_url":"https://api.github.com/users/jjaniec/orgs","repos_url":"https://api.github.com/users/jjaniec/repos","events_url":"https://api.github.com/users/jjaniec/events{/privacy}","received_events_url":"https://api.github.com/users/jjaniec/received_events","type":"User","site_admin":false},"repo":{"id":133548605,"node_id":"MDEwOlJlcG9zaXRvcnkxMzM1NDg2MDU=","name":"21sh","full_name":"jjaniec/21sh","private":false,"owner":{"login":"jjaniec","id":16088893,"node_id":"MDQ6VXNlcjE2MDg4ODkz","avatar_url":"https://avatars2.githubusercontent.com/u/16088893?v=4","gravatar_id":"","url":"https://api.github.com/users/jjaniec","html_url":"https://github.com/jjaniec","followers_url":"https://api.github.com/users/jjaniec/followers","following_url":"https://api.github.com/users/jjaniec/following{/other_user}","gists_url":"https://api.github.com/users/jjaniec/gists{/gist_id}","starred_url":"https://api.github.com/users/jjaniec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jjaniec/subscriptions","organizations_url":"https://api.github.com/users/jjaniec/orgs","repos_url":"https://api.github.com/users/jjaniec/repos","events_url":"https://api.github.com/users/jjaniec/events{/privacy}","received_events_url":"https://api.github.com/users/jjaniec/received_events","type":"User","site_admin":false},"html_url":"https://github.com/jjaniec/21sh","description":"Our own shell - wip","fork":false,"url":"https://api.github.com/repos/jjaniec/21sh","forks_url":"https://api.github.com/repos/jjaniec/21sh/forks","keys_url":"https://api.github.com/repos/jjaniec/21sh/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jjaniec/21sh/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jjaniec/21sh/teams","hooks_url":"https://api.github.com/repos/jjaniec/21sh/hooks","issue_events_url":"https://api.github.com/repos/jjaniec/21sh/issues/events{/number}","events_url":"https://api.github.com/repos/jjaniec/21sh/events","assignees_url":"https://api.github.com/repos/jjaniec/21sh/assignees{/user}","branches_url":"https://api.github.com/repos/jjaniec/21sh/branches{/branch}","tags_url":"https://api.github.com/repos/jjaniec/21sh/tags","blobs_url":"https://api.github.com/repos/jjaniec/21sh/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jjaniec/21sh/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jjaniec/21sh/git/refs{/sha}","trees_url":"https://api.github.com/repos/jjaniec/21sh/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jjaniec/21sh/statuses/{sha}","languages_url":"https://api.github.com/repos/jjaniec/21sh/languages","stargazers_url":"https://api.github.com/repos/jjaniec/21sh/stargazers","contributors_url":"https://api.github.com/repos/jjaniec/21sh/contributors","subscribers_url":"https://api.github.com/repos/jjaniec/21sh/subscribers","subscription_url":"https://api.github.com/repos/jjaniec/21sh/subscription","commits_url":"https://api.github.com/repos/jjaniec/21sh/commits{/sha}","git_commits_url":"https://api.github.com/repos/jjaniec/21sh/git/commits{/sha}","comments_url":"https://api.github.com/repos/jjaniec/21sh/comments{/number}","issue_comment_url":"https://api.github.com/repos/jjaniec/21sh/issues/comments{/number}","contents_url":"https://api.github.com/repos/jjaniec/21sh/contents/{+path}","compare_url":"https://api.github.com/repos/jjaniec/21sh/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jjaniec/21sh/merges","archive_url":"https://api.github.com/repos/jjaniec/21sh/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jjaniec/21sh/downloads","issues_url":"https://api.github.com/repos/jjaniec/21sh/issues{/number}","pulls_url":"https://api.github.com/repos/jjaniec/21sh/pulls{/number}","milestones_url":"https://api.github.com/repos/jjaniec/21sh/milestones{/number}","notifications_url":"https://api.github.com/repos/jjaniec/21sh/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jjaniec/21sh/labels{/name}","releases_url":"https://api.github.com/repos/jjaniec/21sh/releases{/id}","deployments_url":"https://api.github.com/repos/jjaniec/21sh/deployments","created_at":"2018-05-15T17:10:47Z","updated_at":"2018-09-27T14:52:46Z","pushed_at":"2018-09-29T17:15:23Z","git_url":"git://github.com/jjaniec/21sh.git","ssh_url":"git@github.com:jjaniec/21sh.git","clone_url":"https://github.com/jjaniec/21sh.git","svn_url":"https://github.com/jjaniec/21sh","homepage":"","size":2063,"stargazers_count":3,"watchers_count":3,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":3,"license":null,"forks":1,"open_issues":3,"watchers":3,"default_branch":"develop"}},"base":{"label":"jjaniec:develop","ref":"develop","sha":"7b59b5f950c73d06d40998bce77965be9cb935d4","user":{"login":"jjaniec","id":16088893,"node_id":"MDQ6VXNlcjE2MDg4ODkz","avatar_url":"https://avatars2.githubusercontent.com/u/16088893?v=4","gravatar_id":"","url":"https://api.github.com/users/jjaniec","html_url":"https://github.com/jjaniec","followers_url":"https://api.github.com/users/jjaniec/followers","following_url":"https://api.github.com/users/jjaniec/following{/other_user}","gists_url":"https://api.github.com/users/jjaniec/gists{/gist_id}","starred_url":"https://api.github.com/users/jjaniec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jjaniec/subscriptions","organizations_url":"https://api.github.com/users/jjaniec/orgs","repos_url":"https://api.github.com/users/jjaniec/repos","events_url":"https://api.github.com/users/jjaniec/events{/privacy}","received_events_url":"https://api.github.com/users/jjaniec/received_events","type":"User","site_admin":false},"repo":{"id":133548605,"node_id":"MDEwOlJlcG9zaXRvcnkxMzM1NDg2MDU=","name":"21sh","full_name":"jjaniec/21sh","private":false,"owner":{"login":"jjaniec","id":16088893,"node_id":"MDQ6VXNlcjE2MDg4ODkz","avatar_url":"https://avatars2.githubusercontent.com/u/16088893?v=4","gravatar_id":"","url":"https://api.github.com/users/jjaniec","html_url":"https://github.com/jjaniec","followers_url":"https://api.github.com/users/jjaniec/followers","following_url":"https://api.github.com/users/jjaniec/following{/other_user}","gists_url":"https://api.github.com/users/jjaniec/gists{/gist_id}","starred_url":"https://api.github.com/users/jjaniec/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jjaniec/subscriptions","organizations_url":"https://api.github.com/users/jjaniec/orgs","repos_url":"https://api.github.com/users/jjaniec/repos","events_url":"https://api.github.com/users/jjaniec/events{/privacy}","received_events_url":"https://api.github.com/users/jjaniec/received_events","type":"User","site_admin":false},"html_url":"https://github.com/jjaniec/21sh","description":"Our own shell - wip","fork":false,"url":"https://api.github.com/repos/jjaniec/21sh","forks_url":"https://api.github.com/repos/jjaniec/21sh/forks","keys_url":"https://api.github.com/repos/jjaniec/21sh/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jjaniec/21sh/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jjaniec/21sh/teams","hooks_url":"https://api.github.com/repos/jjaniec/21sh/hooks","issue_events_url":"https://api.github.com/repos/jjaniec/21sh/issues/events{/number}","events_url":"https://api.github.com/repos/jjaniec/21sh/events","assignees_url":"https://api.github.com/repos/jjaniec/21sh/assignees{/user}","branches_url":"https://api.github.com/repos/jjaniec/21sh/branches{/branch}","tags_url":"https://api.github.com/repos/jjaniec/21sh/tags","blobs_url":"https://api.github.com/repos/jjaniec/21sh/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jjaniec/21sh/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jjaniec/21sh/git/refs{/sha}","trees_url":"https://api.github.com/repos/jjaniec/21sh/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jjaniec/21sh/statuses/{sha}","languages_url":"https://api.github.com/repos/jjaniec/21sh/languages","stargazers_url":"https://api.github.com/repos/jjaniec/21sh/stargazers","contributors_url":"https://api.github.com/repos/jjaniec/21sh/contributors","subscribers_url":"https://api.github.com/repos/jjaniec/21sh/subscribers","subscription_url":"https://api.github.com/repos/jjaniec/21sh/subscription","commits_url":"https://api.github.com/repos/jjaniec/21sh/commits{/sha}","git_commits_url":"https://api.github.com/repos/jjaniec/21sh/git/commits{/sha}","comments_url":"https://api.github.com/repos/jjaniec/21sh/comments{/number}","issue_comment_url":"https://api.github.com/repos/jjaniec/21sh/issues/comments{/number}","contents_url":"https://api.github.com/repos/jjaniec/21sh/contents/{+path}","compare_url":"https://api.github.com/repos/jjaniec/21sh/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jjaniec/21sh/merges","archive_url":"https://api.github.com/repos/jjaniec/21sh/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jjaniec/21sh/downloads","issues_url":"https://api.github.com/repos/jjaniec/21sh/issues{/number}","pulls_url":"https://api.github.com/repos/jjaniec/21sh/pulls{/number}","milestones_url":"https://api.github.com/repos/jjaniec/21sh/milestones{/number}","notifications_url":"https://api.github.com/repos/jjaniec/21sh/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jjaniec/21sh/labels{/name}","releases_url":"https://api.github.com/repos/jjaniec/21sh/releases{/id}","deployments_url":"https://api.github.com/repos/jjaniec/21sh/deployments","created_at":"2018-05-15T17:10:47Z","updated_at":"2018-09-27T14:52:46Z","pushed_at":"2018-09-29T17:15:23Z","git_url":"git://github.com/jjaniec/21sh.git","ssh_url":"git@github.com:jjaniec/21sh.git","clone_url":"https://github.com/jjaniec/21sh.git","svn_url":"https://github.com/jjaniec/21sh","homepage":"","size":2063,"stargazers_count":3,"watchers_count":3,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":3,"license":null,"forks":1,"open_issues":3,"watchers":3,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/jjaniec/21sh/pulls/28"},"html":{"href":"https://github.com/jjaniec/21sh/pull/28"},"issue":{"href":"https://api.github.com/repos/jjaniec/21sh/issues/28"},"comments":{"href":"https://api.github.com/repos/jjaniec/21sh/issues/28/comments"},"review_comments":{"href":"https://api.github.com/repos/jjaniec/21sh/pulls/28/comments"},"review_comment":{"href":"https://api.github.com/repos/jjaniec/21sh/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jjaniec/21sh/pulls/28/commits"},"statuses":{"href":"https://api.github.com/repos/jjaniec/21sh/statuses/3123a4d8288500bbacd01af6e5bc5b10d1e431e8"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"sonarcloud"}}