{"action":"created","comment":{"url":"https://api.github.com/repos/acquia/lightning/pulls/comments/102495877","pull_request_review_id":23247556,"id":102495877,"diff_hunk":"@@ -0,0 +1,351 @@\n+<?php\n+\n+namespace Drupal\\lightning\\Command;\n+\n+use Drupal\\Console\\Command\\Generate\\ProfileCommand;\n+use Drupal\\Console\\Command\\Shared\\ConfirmationTrait;\n+use Drupal\\Console\\Command\\Shared\\FormTrait;\n+use Drupal\\Console\\Command\\Shared\\ModuleTrait;\n+use Drupal\\Console\\Core\\Command\\Shared\\CommandTrait;\n+use Drupal\\Console\\Core\\Style\\DrupalStyle;\n+use Drupal\\Console\\Core\\Utils\\ConfigurationManager;\n+use Drupal\\Console\\Core\\Utils\\FileQueue;\n+use Drupal\\Console\\Core\\Utils\\StringConverter;\n+use Drupal\\Console\\Core\\Utils\\TwigRenderer;\n+use Drupal\\Console\\Core\\Utils\\TranslatorManager;\n+use Drupal\\Console\\Extension\\Manager;\n+use Drupal\\Console\\Utils\\Site;\n+use Drupal\\Console\\Utils\\Validator;\n+use Drupal\\Core\\Extension\\ExtensionDiscovery;\n+use Drupal\\Core\\Extension\\InfoParser;\n+use Drupal\\lightning\\Generator\\SubProfileGenerator;\n+use Drupal\\lightning_core\\Element;\n+use GuzzleHttp\\Client;\n+use Symfony\\Component\\Console\\Input\\InputInterface;\n+use Symfony\\Component\\Console\\Input\\InputOption;\n+use Symfony\\Component\\Console\\Output\\OutputInterface;\n+use Symfony\\Component\\Console\\Question\\ChoiceQuestion;\n+\n+class SubProfileCommand extends ProfileCommand {\n+\n+  use CommandTrait;\n+  use ModuleTrait;\n+  use FormTrait;\n+  use ConfirmationTrait;\n+\n+  /**\n+   * @var string \\Drupal::root().\n+   */\n+  protected $appRoot;\n+\n+  /**\n+   * @var array\n+   */\n+  protected $topLevelComponents;\n+\n+  /**\n+   * @var array\n+   */\n+  protected $excludedDependencies;\n+\n+  /**\n+   * @var SubProfileGenerator\n+   */\n+  protected $generator;\n+\n+  /**\n+   * {@inheritdoc}\n+   */\n+  protected function configure() {\n+    $this\n+      ->setName('lightning:subprofile')\n+      ->setDescription($this->trans('Generate a subprofile of Lightning'))\n+      ->setHelp($this->trans('The <info>lightning:subprofile</info> command helps you generate a new subprofile of Lightning'))\n+      ->addOption(\n+        'profile',\n+        '',\n+        InputOption::VALUE_REQUIRED,\n+        $this->trans('The name of the subprofile')\n+      )\n+      ->addOption(\n+        'machine-name',\n+        '',\n+        InputOption::VALUE_REQUIRED,\n+        $this->trans('The machine name of the subprofile (lowercase and underscore only)')\n+      )\n+      ->addOption(\n+        'description',\n+        '',\n+        InputOption::VALUE_OPTIONAL,\n+        $this->trans('Subprofile description')\n+      )\n+      ->addOption(\n+        'dependencies',\n+        false,\n+        InputOption::VALUE_OPTIONAL,\n+        $this->trans('commands.generate.profile.options.dependencies')\n+      )\n+      ->addOption(\n+        'excluded_dependencies',\n+        false,\n+        InputOption::VALUE_OPTIONAL,\n+        $this->trans('Top-level components of Lightning to exclude separated by commas.')\n+      )\n+      ->addOption(\n+        'excluded_subcomponents',\n+        false,\n+        InputOption::VALUE_OPTIONAL,\n+        $this->trans('Lightning sub-components to exclude separated by commas.')\n+      );\n+  }\n+\n+  /**\n+   * ProfileCommand constructor.\n+   */\n+  public function __construct() {\n+    $translater = new TranslatorManager();\n+    $stringConverter = new StringConverter();\n+    $renderer = new TwigRenderer($translater, $stringConverter);\n+    $renderer->setSkeletonDirs([__DIR__ . '/../../templates/']);\n+    $fileQueue = new FileQueue();\n+    $generator = new SubProfileGenerator();\n+    $generator->setRenderer($renderer);\n+    $generator->setFileQueue($fileQueue);\n+    $this->generator = $generator;\n+    $httpClient = new Client();\n+    $appRoot = \\Drupal::root();\n+    $configurationManager = new ConfigurationManager();\n+    $site = new Site($appRoot, $configurationManager);\n+    $extensionManager = new Manager($site, $appRoot);\n+    $validator = new Validator($extensionManager);\n+    $this->excludedDependencies = [];\n+    parent::__construct($extensionManager, $generator, $stringConverter, $validator, $appRoot, $site, $httpClient);\n+  }\n+\n+  /**\n+   * {@inheritdoc}\n+   */\n+  protected function interact(InputInterface $input, OutputInterface $output) {\n+    $io = new DrupalStyle($input, $output);\n+    $validators = $this->validator;\n+\n+    try {\n+      // A profile is technically also a module, so we can use the same\n+      // validator to check the name.\n+      $profile = $input->getOption('profile') ? $validators->validateModuleName($input->getOption('profile')) : null;\n+    } catch (\\Exception $error) {\n+      $io->error($error->getMessage());\n+\n+      return;\n+    }\n+\n+    if (!$profile) {\n+      $profile = $io->ask(\n+        $this->trans('The name of the subprofile'),\n+        '',\n+        function ($profile) use ($validators) {\n+          return $validators->validateModuleName($profile);\n+        }\n+      );\n+      $input->setOption('profile', $profile);\n+    }\n+\n+    try {\n+      $machine_name = $input->getOption('machine-name') ? $validators->validateModuleName($input->getOption('machine-name')) : null;\n+    } catch (\\Exception $error) {\n+      $io->error($error->getMessage());\n+\n+      return;\n+    }\n+\n+    if (!$machine_name) {\n+      $machine_name = $io->ask(\n+        $this->trans('commands.generate.profile.questions.machine-name'),\n+        $this->stringConverter->createMachineName($profile),\n+        function ($machine_name) use ($validators) {\n+          return $validators->validateMachineName($machine_name);\n+        }\n+      );\n+      $input->setOption('machine-name', $machine_name);\n+    }\n+\n+    $description = $input->getOption('description');\n+    if (!$description) {\n+      $description = $io->ask($this->trans('Subprofile description'), '');\n+      $input->setOption('description', $description);\n+    }\n+\n+    $dependencies = $input->getOption('dependencies');\n+    if (!$dependencies) {\n+      if ($io->confirm($this->trans('commands.generate.profile.questions.dependencies'), true)) {\n+        $dependencies = $io->ask($this->trans('commands.generate.profile.options.dependencies'), '');\n+      }\n+      $input->setOption('dependencies', $dependencies);\n+    }\n+\n+    $excluded_dependencies = $input->getOption('excluded_dependencies');\n+    if (!$excluded_dependencies) {\n+      if ($io->confirm($this->trans('Would you like to exclude any of Lightning\\'s top-level components from the installation? (Experimental components are excluded automatically.)'), false)) {\n+        $excludable_components = self::getTopLevelComponents(['lightning_core', 'lightning_preview']);\n+        $question = new ChoiceQuestion('List the top-level components you would like to exclude, separated by commas.', $excludable_components);\n+        $question->setMultiselect(true);\n+        $io->writeln('The following components can be excluded: ' . Element::oxford($question->getChoices()));\n+        $excluded_dependencies = $io->askChoiceQuestion($question);\n+      }\n+      $input->setOption('excluded_dependencies', $excluded_dependencies);\n+    }\n+\n+    $excluded_subcomponents = $input->getOption('excluded_subcomponents');\n+    if (!$excluded_subcomponents) {\n+      if ($io->confirm($this->trans('Would you like to exclude any of Lightning\\'s sub-components?'), false)) {\n+        // Subcomponents whose parent is already excluded are automatically\n+        // excluded. So we build a list of excludable subcomponents whose parent\n+        // component isn't already excluded.\n+        $excludable_subcomponents = [];\n+        $top_level_components = self::getTopLevelComponents();\n+        $non_excluded_tlcs = array_diff($top_level_components, $excluded_dependencies);\n+        foreach ($non_excluded_tlcs as $non_excluded_tlc) {\n+          $tlc_subcomponents = self::getSubComponents($non_excluded_tlc);\n+          $excludable_subcomponents = array_merge($excludable_subcomponents, $tlc_subcomponents);\n+        }\n+\n+        $question = new ChoiceQuestion('List the sub-components you would like to exclude, separated by commas.', $excludable_subcomponents);\n+        $question->setMultiselect(true);\n+        $io->writeln('The following sub-components can be excluded: ' . Element::oxford($question->getChoices()));\n+        $excluded_subcomponents = $io->askChoiceQuestion($question);\n+      }\n+      $input->setOption('excluded_subcomponents', $excluded_subcomponents);\n+    }\n+  }\n+\n+  /**\n+   * {@inheritdoc}\n+   */\n+  protected function execute(InputInterface $input, OutputInterface $output) {\n+    $io = new DrupalStyle($input, $output);\n+\n+    if (!$this->confirmGeneration($io)) {\n+      return;\n+    }\n+\n+    $profile = $this->validator->validateModuleName($input->getOption('profile'));\n+    $machine_name = $this->validator->validateMachineName($input->getOption('machine-name'));\n+    $description = $input->getOption('description');\n+    $profile_path = $this->appRoot . '/profiles/custom';\n+\n+    // Check if all module dependencies are available.\n+    $dependencies = $this->validator->validateModuleDependencies($input->getOption('dependencies'));\n+    if ($dependencies) {\n+      // @todo ProfileCommand::checkDependencies is private so we aren't\n+      // actually checking to see if they are present.\n+      $dependencies = $dependencies['success'];\n+    }\n+    $this->buildExcludedDependenciesList($input->getOption('excluded_dependencies'));\n+    $this->buildExcludedDependenciesList($input->getOption('excluded_subcomponents'));\n+    $this->generator->generate(\n+      $profile,\n+      $machine_name,\n+      $profile_path,\n+      $description,\n+      $dependencies,\n+      $this->excludedDependencies\n+    );\n+  }\n+\n+  /**\n+   * @param array $excluded_dependencies\n+   *   Dependencies to exclude.\n+   *\n+   * Adds the provided component(s) to the excluded list and, if the provided","path":"src/Command/SubProfileCommand.php","position":259,"original_position":259,"commit_id":"4e2a271713bab6a8a54ed1b3bd0eeaf654854d11","original_commit_id":"4e2a271713bab6a8a54ed1b3bd0eeaf654854d11","user":{"login":"phenaproxima","id":4504530,"avatar_url":"https://avatars.githubusercontent.com/u/4504530?v=3","gravatar_id":"","url":"https://api.github.com/users/phenaproxima","html_url":"https://github.com/phenaproxima","followers_url":"https://api.github.com/users/phenaproxima/followers","following_url":"https://api.github.com/users/phenaproxima/following{/other_user}","gists_url":"https://api.github.com/users/phenaproxima/gists{/gist_id}","starred_url":"https://api.github.com/users/phenaproxima/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phenaproxima/subscriptions","organizations_url":"https://api.github.com/users/phenaproxima/orgs","repos_url":"https://api.github.com/users/phenaproxima/repos","events_url":"https://api.github.com/users/phenaproxima/events{/privacy}","received_events_url":"https://api.github.com/users/phenaproxima/received_events","type":"User","site_admin":false},"body":"This long description should be above the parameter list.","created_at":"2017-02-22T15:50:43Z","updated_at":"2017-02-22T16:00:24Z","html_url":"https://github.com/acquia/lightning/pull/273#discussion_r102495877","pull_request_url":"https://api.github.com/repos/acquia/lightning/pulls/273","_links":{"self":{"href":"https://api.github.com/repos/acquia/lightning/pulls/comments/102495877"},"html":{"href":"https://github.com/acquia/lightning/pull/273#discussion_r102495877"},"pull_request":{"href":"https://api.github.com/repos/acquia/lightning/pulls/273"}}},"pull_request":{"url":"https://api.github.com/repos/acquia/lightning/pulls/273","id":106310967,"html_url":"https://github.com/acquia/lightning/pull/273","diff_url":"https://github.com/acquia/lightning/pull/273.diff","patch_url":"https://github.com/acquia/lightning/pull/273.patch","issue_url":"https://api.github.com/repos/acquia/lightning/issues/273","number":273,"state":"open","locked":false,"title":"8.x subprofile","user":{"login":"balsama","id":1536654,"avatar_url":"https://avatars.githubusercontent.com/u/1536654?v=3","gravatar_id":"","url":"https://api.github.com/users/balsama","html_url":"https://github.com/balsama","followers_url":"https://api.github.com/users/balsama/followers","following_url":"https://api.github.com/users/balsama/following{/other_user}","gists_url":"https://api.github.com/users/balsama/gists{/gist_id}","starred_url":"https://api.github.com/users/balsama/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/balsama/subscriptions","organizations_url":"https://api.github.com/users/balsama/orgs","repos_url":"https://api.github.com/users/balsama/repos","events_url":"https://api.github.com/users/balsama/events{/privacy}","received_events_url":"https://api.github.com/users/balsama/received_events","type":"User","site_admin":false},"body":"Known issues:\r\n* subprofil command requires drupal to be installed\r\n* Need migration script","created_at":"2017-02-15T13:33:49Z","updated_at":"2017-02-22T16:00:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"7de6ea5871595357b395bacbfa25bc6341eb95ee","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/acquia/lightning/pulls/273/commits","review_comments_url":"https://api.github.com/repos/acquia/lightning/pulls/273/comments","review_comment_url":"https://api.github.com/repos/acquia/lightning/pulls/comments{/number}","comments_url":"https://api.github.com/repos/acquia/lightning/issues/273/comments","statuses_url":"https://api.github.com/repos/acquia/lightning/statuses/4e2a271713bab6a8a54ed1b3bd0eeaf654854d11","head":{"label":"balsama:8.x-subprofile","ref":"8.x-subprofile","sha":"4e2a271713bab6a8a54ed1b3bd0eeaf654854d11","user":{"login":"balsama","id":1536654,"avatar_url":"https://avatars.githubusercontent.com/u/1536654?v=3","gravatar_id":"","url":"https://api.github.com/users/balsama","html_url":"https://github.com/balsama","followers_url":"https://api.github.com/users/balsama/followers","following_url":"https://api.github.com/users/balsama/following{/other_user}","gists_url":"https://api.github.com/users/balsama/gists{/gist_id}","starred_url":"https://api.github.com/users/balsama/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/balsama/subscriptions","organizations_url":"https://api.github.com/users/balsama/orgs","repos_url":"https://api.github.com/users/balsama/repos","events_url":"https://api.github.com/users/balsama/events{/privacy}","received_events_url":"https://api.github.com/users/balsama/received_events","type":"User","site_admin":false},"repo":{"id":73847549,"name":"lightning","full_name":"balsama/lightning","owner":{"login":"balsama","id":1536654,"avatar_url":"https://avatars.githubusercontent.com/u/1536654?v=3","gravatar_id":"","url":"https://api.github.com/users/balsama","html_url":"https://github.com/balsama","followers_url":"https://api.github.com/users/balsama/followers","following_url":"https://api.github.com/users/balsama/following{/other_user}","gists_url":"https://api.github.com/users/balsama/gists{/gist_id}","starred_url":"https://api.github.com/users/balsama/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/balsama/subscriptions","organizations_url":"https://api.github.com/users/balsama/orgs","repos_url":"https://api.github.com/users/balsama/repos","events_url":"https://api.github.com/users/balsama/events{/privacy}","received_events_url":"https://api.github.com/users/balsama/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/balsama/lightning","description":"Lightning is a base distribution for fast and feature-rich Drupal. Mirror of","fork":true,"url":"https://api.github.com/repos/balsama/lightning","forks_url":"https://api.github.com/repos/balsama/lightning/forks","keys_url":"https://api.github.com/repos/balsama/lightning/keys{/key_id}","collaborators_url":"https://api.github.com/repos/balsama/lightning/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/balsama/lightning/teams","hooks_url":"https://api.github.com/repos/balsama/lightning/hooks","issue_events_url":"https://api.github.com/repos/balsama/lightning/issues/events{/number}","events_url":"https://api.github.com/repos/balsama/lightning/events","assignees_url":"https://api.github.com/repos/balsama/lightning/assignees{/user}","branches_url":"https://api.github.com/repos/balsama/lightning/branches{/branch}","tags_url":"https://api.github.com/repos/balsama/lightning/tags","blobs_url":"https://api.github.com/repos/balsama/lightning/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/balsama/lightning/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/balsama/lightning/git/refs{/sha}","trees_url":"https://api.github.com/repos/balsama/lightning/git/trees{/sha}","statuses_url":"https://api.github.com/repos/balsama/lightning/statuses/{sha}","languages_url":"https://api.github.com/repos/balsama/lightning/languages","stargazers_url":"https://api.github.com/repos/balsama/lightning/stargazers","contributors_url":"https://api.github.com/repos/balsama/lightning/contributors","subscribers_url":"https://api.github.com/repos/balsama/lightning/subscribers","subscription_url":"https://api.github.com/repos/balsama/lightning/subscription","commits_url":"https://api.github.com/repos/balsama/lightning/commits{/sha}","git_commits_url":"https://api.github.com/repos/balsama/lightning/git/commits{/sha}","comments_url":"https://api.github.com/repos/balsama/lightning/comments{/number}","issue_comment_url":"https://api.github.com/repos/balsama/lightning/issues/comments{/number}","contents_url":"https://api.github.com/repos/balsama/lightning/contents/{+path}","compare_url":"https://api.github.com/repos/balsama/lightning/compare/{base}...{head}","merges_url":"https://api.github.com/repos/balsama/lightning/merges","archive_url":"https://api.github.com/repos/balsama/lightning/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/balsama/lightning/downloads","issues_url":"https://api.github.com/repos/balsama/lightning/issues{/number}","pulls_url":"https://api.github.com/repos/balsama/lightning/pulls{/number}","milestones_url":"https://api.github.com/repos/balsama/lightning/milestones{/number}","notifications_url":"https://api.github.com/repos/balsama/lightning/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/balsama/lightning/labels{/name}","releases_url":"https://api.github.com/repos/balsama/lightning/releases{/id}","deployments_url":"https://api.github.com/repos/balsama/lightning/deployments","created_at":"2016-11-15T19:23:58Z","updated_at":"2016-12-18T10:59:46Z","pushed_at":"2017-02-22T15:49:41Z","git_url":"git://github.com/balsama/lightning.git","ssh_url":"git@github.com:balsama/lightning.git","clone_url":"https://github.com/balsama/lightning.git","svn_url":"https://github.com/balsama/lightning","homepage":"http://www.drupal.org/project/lightning","size":10112,"stargazers_count":1,"watchers_count":1,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":1,"default_branch":"8.x-2.x"}},"base":{"label":"acquia:8.x-2.x","ref":"8.x-2.x","sha":"9890eff704e923e00176a63b7e319514f2daffa4","user":{"login":"acquia","id":514789,"avatar_url":"https://avatars.githubusercontent.com/u/514789?v=3","gravatar_id":"","url":"https://api.github.com/users/acquia","html_url":"https://github.com/acquia","followers_url":"https://api.github.com/users/acquia/followers","following_url":"https://api.github.com/users/acquia/following{/other_user}","gists_url":"https://api.github.com/users/acquia/gists{/gist_id}","starred_url":"https://api.github.com/users/acquia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acquia/subscriptions","organizations_url":"https://api.github.com/users/acquia/orgs","repos_url":"https://api.github.com/users/acquia/repos","events_url":"https://api.github.com/users/acquia/events{/privacy}","received_events_url":"https://api.github.com/users/acquia/received_events","type":"Organization","site_admin":false},"repo":{"id":24332667,"name":"lightning","full_name":"acquia/lightning","owner":{"login":"acquia","id":514789,"avatar_url":"https://avatars.githubusercontent.com/u/514789?v=3","gravatar_id":"","url":"https://api.github.com/users/acquia","html_url":"https://github.com/acquia","followers_url":"https://api.github.com/users/acquia/followers","following_url":"https://api.github.com/users/acquia/following{/other_user}","gists_url":"https://api.github.com/users/acquia/gists{/gist_id}","starred_url":"https://api.github.com/users/acquia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acquia/subscriptions","organizations_url":"https://api.github.com/users/acquia/orgs","repos_url":"https://api.github.com/users/acquia/repos","events_url":"https://api.github.com/users/acquia/events{/privacy}","received_events_url":"https://api.github.com/users/acquia/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/acquia/lightning","description":"Lightning is a base distribution for fast and feature-rich Drupal. Mirror of","fork":false,"url":"https://api.github.com/repos/acquia/lightning","forks_url":"https://api.github.com/repos/acquia/lightning/forks","keys_url":"https://api.github.com/repos/acquia/lightning/keys{/key_id}","collaborators_url":"https://api.github.com/repos/acquia/lightning/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/acquia/lightning/teams","hooks_url":"https://api.github.com/repos/acquia/lightning/hooks","issue_events_url":"https://api.github.com/repos/acquia/lightning/issues/events{/number}","events_url":"https://api.github.com/repos/acquia/lightning/events","assignees_url":"https://api.github.com/repos/acquia/lightning/assignees{/user}","branches_url":"https://api.github.com/repos/acquia/lightning/branches{/branch}","tags_url":"https://api.github.com/repos/acquia/lightning/tags","blobs_url":"https://api.github.com/repos/acquia/lightning/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/acquia/lightning/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/acquia/lightning/git/refs{/sha}","trees_url":"https://api.github.com/repos/acquia/lightning/git/trees{/sha}","statuses_url":"https://api.github.com/repos/acquia/lightning/statuses/{sha}","languages_url":"https://api.github.com/repos/acquia/lightning/languages","stargazers_url":"https://api.github.com/repos/acquia/lightning/stargazers","contributors_url":"https://api.github.com/repos/acquia/lightning/contributors","subscribers_url":"https://api.github.com/repos/acquia/lightning/subscribers","subscription_url":"https://api.github.com/repos/acquia/lightning/subscription","commits_url":"https://api.github.com/repos/acquia/lightning/commits{/sha}","git_commits_url":"https://api.github.com/repos/acquia/lightning/git/commits{/sha}","comments_url":"https://api.github.com/repos/acquia/lightning/comments{/number}","issue_comment_url":"https://api.github.com/repos/acquia/lightning/issues/comments{/number}","contents_url":"https://api.github.com/repos/acquia/lightning/contents/{+path}","compare_url":"https://api.github.com/repos/acquia/lightning/compare/{base}...{head}","merges_url":"https://api.github.com/repos/acquia/lightning/merges","archive_url":"https://api.github.com/repos/acquia/lightning/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/acquia/lightning/downloads","issues_url":"https://api.github.com/repos/acquia/lightning/issues{/number}","pulls_url":"https://api.github.com/repos/acquia/lightning/pulls{/number}","milestones_url":"https://api.github.com/repos/acquia/lightning/milestones{/number}","notifications_url":"https://api.github.com/repos/acquia/lightning/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/acquia/lightning/labels{/name}","releases_url":"https://api.github.com/repos/acquia/lightning/releases{/id}","deployments_url":"https://api.github.com/repos/acquia/lightning/deployments","created_at":"2014-09-22T14:49:49Z","updated_at":"2017-02-21T14:24:52Z","pushed_at":"2017-02-22T15:49:42Z","git_url":"git://github.com/acquia/lightning.git","ssh_url":"git@github.com:acquia/lightning.git","clone_url":"https://github.com/acquia/lightning.git","svn_url":"https://github.com/acquia/lightning","homepage":"http://www.drupal.org/project/lightning","size":10353,"stargazers_count":67,"watchers_count":67,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":46,"mirror_url":null,"open_issues_count":34,"forks":46,"open_issues":34,"watchers":67,"default_branch":"8.x-2.x"}},"_links":{"self":{"href":"https://api.github.com/repos/acquia/lightning/pulls/273"},"html":{"href":"https://github.com/acquia/lightning/pull/273"},"issue":{"href":"https://api.github.com/repos/acquia/lightning/issues/273"},"comments":{"href":"https://api.github.com/repos/acquia/lightning/issues/273/comments"},"review_comments":{"href":"https://api.github.com/repos/acquia/lightning/pulls/273/comments"},"review_comment":{"href":"https://api.github.com/repos/acquia/lightning/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/acquia/lightning/pulls/273/commits"},"statuses":{"href":"https://api.github.com/repos/acquia/lightning/statuses/4e2a271713bab6a8a54ed1b3bd0eeaf654854d11"}}}}
{"actor":{"display_login":"phenaproxima"}}