{"action":"created","comment":{"url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/pulls/comments/54114772","id":54114772,"diff_hunk":"@@ -0,0 +1,872 @@\n+<?php\n+\n+/**\n+ * @file\n+ * Contains \\Drupal\\tmgmt_thebigword\\Plugin\\tmgmt\\Translator\\ThebigwordTranslator.\n+ */\n+\n+namespace Drupal\\tmgmt_thebigword\\Plugin\\tmgmt\\Translator;\n+\n+use Drupal\\Core\\Cache\\Cache;\n+use Drupal\\Core\\Datetime\\DrupalDateTime;\n+use Drupal\\Core\\Plugin\\ContainerFactoryPluginInterface;\n+use Drupal\\Core\\StringTranslation\\TranslatableMarkup;\n+use Drupal\\Core\\Url;\n+use Drupal\\tmgmt\\ContinuousTranslatorInterface;\n+use Drupal\\tmgmt\\Entity\\JobItem;\n+use Drupal\\tmgmt\\Entity\\RemoteMapping;\n+use Drupal\\tmgmt\\Entity\\Translator;\n+use Drupal\\tmgmt\\JobItemInterface;\n+use Drupal\\tmgmt\\RemoteTranslatorInterface;\n+use Drupal\\tmgmt\\SourcePreviewInterface;\n+use Drupal\\tmgmt\\TMGMTException;\n+use Drupal\\tmgmt\\TranslatorPluginBase;\n+use GuzzleHttp\\Exception\\BadResponseException;\n+use Symfony\\Component\\DependencyInjection\\ContainerInterface;\n+use GuzzleHttp\\ClientInterface;\n+use Drupal\\tmgmt\\TranslatorInterface;\n+use Drupal\\tmgmt\\JobInterface;\n+use Drupal\\tmgmt\\Translator\\AvailableResult;\n+\n+/**\n+ * Thebigword translation plugin controller.\n+ *\n+ * @TranslatorPlugin(\n+ *   id = \"thebigword\",\n+ *   label = @Translation(\"Thebigword translator\"),\n+ *   description = @Translation(\"Thebigword translator service.\"),\n+ *   ui = \"Drupal\\tmgmt_thebigword\\ThebigwordTranslatorUi\"\n+ * )\n+ */\n+class ThebigwordTranslator extends TranslatorPluginBase implements ContainerFactoryPluginInterface, ContinuousTranslatorInterface, RemoteTranslatorInterface {\n+\n+  /**\n+   * Translation service URL.\n+   */\n+  const PRODUCTION_URL = 'http://uat-integration.thebigword.com/drupal/api';\n+\n+  /**\n+   * Translation service API version.\n+   *\n+   * @var string\n+   */\n+  const API_VERSION = '1';\n+\n+  /**\n+   * The translator.\n+   *\n+   * @var TranslatorInterface\n+   */\n+  private $translator;\n+\n+  /**\n+   * Sets a Translator.\n+   *\n+   * @param \\Drupal\\tmgmt\\TranslatorInterface $translator\n+   *   The translator to set.\n+   */\n+  public function setTranslator(TranslatorInterface $translator) {\n+    if (!isset($this->translator)) {\n+      $this->translator = $translator;\n+    }\n+  }\n+\n+  /**\n+   * Guzzle HTTP client.\n+   *\n+   * @var \\GuzzleHttp\\ClientInterface\n+   */\n+  protected $client;\n+\n+  /**\n+   * List of supported languages by Thebigword.\n+   *\n+   * @var array\n+   */\n+  protected $supportedRemoteLanguages = array();\n+\n+  /**\n+   * Constructs a ThebigwordTranslator object.\n+   *\n+   * @param \\GuzzleHttp\\ClientInterface $client\n+   *   The Guzzle HTTP client.\n+   * @param array $configuration\n+   *   A configuration array containing information about the plugin instance.\n+   * @param string $plugin_id\n+   *   The plugin_id for the plugin instance.\n+   * @param array $plugin_definition\n+   *   The plugin implementation definition.\n+   */\n+  public function __construct(ClientInterface $client, array $configuration, $plugin_id, array $plugin_definition) {\n+    parent::__construct($configuration, $plugin_id, $plugin_definition);\n+    $this->client = $client;\n+  }\n+\n+  /**\n+   * {@inheritdoc}\n+   */\n+  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {\n+    return new static(\n+      $container->get('http_client'),\n+      $configuration,\n+      $plugin_id,\n+      $plugin_definition\n+    );\n+  }\n+\n+  /**\n+   * {@inheritdoc}\n+   */\n+  public function requestTranslation(JobInterface $job) {\n+    $this->setTranslator($job->getTranslator());\n+\n+    try {\n+      $job_id = $job->id();\n+      $project_id = $this->newTranslationProject($job_id, $job_id, $job->getSetting('required_by'), $job->getSetting('quote_required'), $job->getSetting('category'), $job->getSetting('review'));\n+      $job->addMessage('Created a new project in thebigword with the id: @id', ['@id' => $project_id], 'debug');\n+\n+      foreach ($job->getItems() as $job_item) {\n+        /** @var RemoteMapping $remote_mapping */\n+        $remote_mapping = \\Drupal::entityTypeManager()\n+          ->getStorage('tmgmt_remote')\n+          ->create([\n+            'tjid' => $job->id(),\n+            'tjiid' => $job_item->id(),\n+            'data_item_key' => 'tmgmt_thebigword',\n+            'remote_identifier_1' => 'ProjectId',\n+            'remote_identifier_2' => $project_id,\n+            'files' => [],\n+          ]);\n+        $remote_mapping->save();\n+        $this->sendFiles($job_item);\n+      }\n+      // Confirm is required to trigger the translation.\n+      $confirmed = $this->confirmUpload($project_id, 'ReferenceAdd');\n+      if ($confirmed != count($job->getItems())) {\n+        $message = 'Not all the references had been confirmed.';\n+        throw new TMGMTException($message);\n+      }\n+      $confirmed = $this->confirmUpload($project_id, 'TranslatableSource');\n+      if ($confirmed != count($job->getItems())) {\n+        $message = 'Not all the sources had been confirmed.';\n+        throw new TMGMTException($message);\n+      }\n+\n+      $job->submitted('Job has been successfully submitted for translation.');\n+      $job->settings->project_id = $project_id;\n+    }\n+    catch (TMGMTException $e) {\n+      $this->sendFileError('RestartPoint03', '', $e->getMessage(), $job, NULL, TRUE);\n+      \\Drupal::logger('tmgmt_thebigword')->error('Job has been rejected with following error: @error',\n+        array('@error' => $e->getMessage()));\n+      $job->rejected('Job has been rejected with following error: @error',\n+        array('@error' => $e->getMessage()), 'error');\n+    }\n+  }\n+\n+  /**\n+   * Does a request to Thebigword services.\n+   *\n+   * @param string $path\n+   *   Resource path.\n+   * @param string $method\n+   *   HTTP method (GET, POST...).\n+   * @param array $params\n+   *   Form parameters to send to Thebigword service.\n+   * @param bool $download\n+   *   If we expect resource to be downloaded.\n+   *\n+   * @return array\n+   *   Response array from Thebigword.\n+   *\n+   * @throws \\Drupal\\tmgmt\\TMGMTException\n+   */\n+  public function request($path, $method = 'GET', $params = array(), $download = FALSE) {\n+    $options = array();\n+    if (!$this->translator) {\n+      throw new TMGMTException('There is no Translation entity. Access to public/secret keys is not possible.');\n+    }\n+\n+    if (\\Drupal::config('tmgmt_thebigword.settings')->get('use_mock_service')) {\n+      $url = $GLOBALS['base_url'] . '/tmgmt_thebigword_mock' . '/v' . self::API_VERSION . '/' . $path;\n+    }\n+    else {\n+      $url = self::PRODUCTION_URL . '/v' . self::API_VERSION . '/' . $path;\n+    }\n+\n+    try {\n+      if ($method == 'GET') {\n+        $options['query'] = $params;\n+      }\n+      else {\n+        $options['json'] = $params;\n+      }\n+      $options['headers'] = [\n+        'TMS-REQUESTER-ID' => $this->translator->getSetting('client_contact_key'),\n+      ];\n+      $response = $this->client->request($method, $url, $options);\n+    }\n+    catch (BadResponseException $e) {\n+      $response = $e->getResponse();\n+      // debug($response->getBody()->getContents());\n+      throw new TMGMTException('Unable to connect to Thebigword service due to following error: @error', ['@error' => $response->getReasonPhrase()], $response->getStatusCode());\n+    }\n+\n+    if ($response->getStatusCode() != 200) {\n+      throw new TMGMTException('Unable to connect to the Thebigword service due to following error: @error at @url',\n+        array('@error' => $response->getStatusCode(), '@url' => $url));\n+    }\n+\n+    // If we are expecting a download, just return received data.\n+    $received_data = $response->getBody()->getContents();\n+    if ($download) {\n+      return $received_data;\n+    }\n+    $received_data = json_decode($received_data, TRUE);\n+\n+    return $received_data;\n+  }\n+\n+  /**\n+   * {@inheritdoc}\n+   */\n+  public function getSupportedRemoteLanguages(TranslatorInterface $translator) {\n+    if (!empty($this->supportedRemoteLanguages)) {\n+      return $this->supportedRemoteLanguages;\n+    }\n+\n+    try {\n+      $this->setTranslator($translator);\n+      $supported_languages = $this->request('languages', 'GET', array());\n+\n+      // Parse languages.\n+      foreach ($supported_languages as $language) {\n+        $this->supportedRemoteLanguages[$language['CultureName']] = $language['DisplayName'];\n+      }\n+\n+      // In case of failed request or parsing, we are returning a list of\n+      // supported remote languages from default Thebigword mapping.\n+      if (empty($this->supportedRemoteLanguages)) {\n+        return [];\n+      }\n+    }\n+    catch (\\Exception $e) {\n+      if (\\Drupal::routeMatch()->getRouteName() == 'entity.tmgmt_translator.edit_form'\n+        || \\Drupal::routeMatch()->getRouteName() == 'entity.tmgmt_translator.add_form') {\n+        return [];\n+      }\n+      drupal_set_message($e->getMessage(), 'error');","path":"src/Plugin/tmgmt/Translator/ThebigwordTranslator.php","position":258,"original_position":258,"commit_id":"5622e68907edc6452d384acbf49483991ba09886","original_commit_id":"5622e68907edc6452d384acbf49483991ba09886","user":{"login":"edurenye","id":6824576,"avatar_url":"https://avatars.githubusercontent.com/u/6824576?v=3","gravatar_id":"","url":"https://api.github.com/users/edurenye","html_url":"https://github.com/edurenye","followers_url":"https://api.github.com/users/edurenye/followers","following_url":"https://api.github.com/users/edurenye/following{/other_user}","gists_url":"https://api.github.com/users/edurenye/gists{/gist_id}","starred_url":"https://api.github.com/users/edurenye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edurenye/subscriptions","organizations_url":"https://api.github.com/users/edurenye/orgs","repos_url":"https://api.github.com/users/edurenye/repos","events_url":"https://api.github.com/users/edurenye/events{/privacy}","received_events_url":"https://api.github.com/users/edurenye/received_events","type":"User","site_admin":false},"body":"I'm skipping an error the first time that you edit the translator and there is no client contact key yet.","created_at":"2016-02-25T15:46:22Z","updated_at":"2016-02-25T15:46:22Z","html_url":"https://github.com/edurenye/tmgmt_thebigword/pull/1#discussion_r54114772","pull_request_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/edurenye/tmgmt_thebigword/pulls/comments/54114772"},"html":{"href":"https://github.com/edurenye/tmgmt_thebigword/pull/1#discussion_r54114772"},"pull_request":{"href":"https://api.github.com/repos/edurenye/tmgmt_thebigword/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/pulls/1","id":60664955,"html_url":"https://github.com/edurenye/tmgmt_thebigword/pull/1","diff_url":"https://github.com/edurenye/tmgmt_thebigword/pull/1.diff","patch_url":"https://github.com/edurenye/tmgmt_thebigword/pull/1.patch","issue_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/issues/1","number":1,"state":"open","locked":false,"title":"Pull request to review all the code","user":{"login":"edurenye","id":6824576,"avatar_url":"https://avatars.githubusercontent.com/u/6824576?v=3","gravatar_id":"","url":"https://api.github.com/users/edurenye","html_url":"https://github.com/edurenye","followers_url":"https://api.github.com/users/edurenye/followers","following_url":"https://api.github.com/users/edurenye/following{/other_user}","gists_url":"https://api.github.com/users/edurenye/gists{/gist_id}","starred_url":"https://api.github.com/users/edurenye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edurenye/subscriptions","organizations_url":"https://api.github.com/users/edurenye/orgs","repos_url":"https://api.github.com/users/edurenye/repos","events_url":"https://api.github.com/users/edurenye/events{/privacy}","received_events_url":"https://api.github.com/users/edurenye/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-02-25T11:36:36Z","updated_at":"2016-02-25T15:46:22Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6b95e05cd3bc55e063ab42d0e24255fdf73ebbd6","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/pulls/1/commits","review_comments_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/pulls/1/comments","review_comment_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/pulls/comments{/number}","comments_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/issues/1/comments","statuses_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/statuses/5622e68907edc6452d384acbf49483991ba09886","head":{"label":"edurenye:8.x-1.x","ref":"8.x-1.x","sha":"5622e68907edc6452d384acbf49483991ba09886","user":{"login":"edurenye","id":6824576,"avatar_url":"https://avatars.githubusercontent.com/u/6824576?v=3","gravatar_id":"","url":"https://api.github.com/users/edurenye","html_url":"https://github.com/edurenye","followers_url":"https://api.github.com/users/edurenye/followers","following_url":"https://api.github.com/users/edurenye/following{/other_user}","gists_url":"https://api.github.com/users/edurenye/gists{/gist_id}","starred_url":"https://api.github.com/users/edurenye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edurenye/subscriptions","organizations_url":"https://api.github.com/users/edurenye/orgs","repos_url":"https://api.github.com/users/edurenye/repos","events_url":"https://api.github.com/users/edurenye/events{/privacy}","received_events_url":"https://api.github.com/users/edurenye/received_events","type":"User","site_admin":false},"repo":{"id":51745456,"name":"tmgmt_thebigword","full_name":"edurenye/tmgmt_thebigword","owner":{"login":"edurenye","id":6824576,"avatar_url":"https://avatars.githubusercontent.com/u/6824576?v=3","gravatar_id":"","url":"https://api.github.com/users/edurenye","html_url":"https://github.com/edurenye","followers_url":"https://api.github.com/users/edurenye/followers","following_url":"https://api.github.com/users/edurenye/following{/other_user}","gists_url":"https://api.github.com/users/edurenye/gists{/gist_id}","starred_url":"https://api.github.com/users/edurenye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edurenye/subscriptions","organizations_url":"https://api.github.com/users/edurenye/orgs","repos_url":"https://api.github.com/users/edurenye/repos","events_url":"https://api.github.com/users/edurenye/events{/privacy}","received_events_url":"https://api.github.com/users/edurenye/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/edurenye/tmgmt_thebigword","description":"Thebigword Translator","fork":false,"url":"https://api.github.com/repos/edurenye/tmgmt_thebigword","forks_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/forks","keys_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/teams","hooks_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/hooks","issue_events_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/issues/events{/number}","events_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/events","assignees_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/assignees{/user}","branches_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/branches{/branch}","tags_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/tags","blobs_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/git/refs{/sha}","trees_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/statuses/{sha}","languages_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/languages","stargazers_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/stargazers","contributors_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/contributors","subscribers_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/subscribers","subscription_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/subscription","commits_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/commits{/sha}","git_commits_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/git/commits{/sha}","comments_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/comments{/number}","issue_comment_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/issues/comments{/number}","contents_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/contents/{+path}","compare_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/merges","archive_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/downloads","issues_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/issues{/number}","pulls_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/pulls{/number}","milestones_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/milestones{/number}","notifications_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/labels{/name}","releases_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/releases{/id}","deployments_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/deployments","created_at":"2016-02-15T09:43:20Z","updated_at":"2016-02-16T12:51:41Z","pushed_at":"2016-02-25T11:36:36Z","git_url":"git://github.com/edurenye/tmgmt_thebigword.git","ssh_url":"git@github.com:edurenye/tmgmt_thebigword.git","clone_url":"https://github.com/edurenye/tmgmt_thebigword.git","svn_url":"https://github.com/edurenye/tmgmt_thebigword","homepage":null,"size":23,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"8.x-1.x"}},"base":{"label":"edurenye:empty","ref":"empty","sha":"4bb50593af5256afdf9046e5bc25b908ee5aafee","user":{"login":"edurenye","id":6824576,"avatar_url":"https://avatars.githubusercontent.com/u/6824576?v=3","gravatar_id":"","url":"https://api.github.com/users/edurenye","html_url":"https://github.com/edurenye","followers_url":"https://api.github.com/users/edurenye/followers","following_url":"https://api.github.com/users/edurenye/following{/other_user}","gists_url":"https://api.github.com/users/edurenye/gists{/gist_id}","starred_url":"https://api.github.com/users/edurenye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edurenye/subscriptions","organizations_url":"https://api.github.com/users/edurenye/orgs","repos_url":"https://api.github.com/users/edurenye/repos","events_url":"https://api.github.com/users/edurenye/events{/privacy}","received_events_url":"https://api.github.com/users/edurenye/received_events","type":"User","site_admin":false},"repo":{"id":51745456,"name":"tmgmt_thebigword","full_name":"edurenye/tmgmt_thebigword","owner":{"login":"edurenye","id":6824576,"avatar_url":"https://avatars.githubusercontent.com/u/6824576?v=3","gravatar_id":"","url":"https://api.github.com/users/edurenye","html_url":"https://github.com/edurenye","followers_url":"https://api.github.com/users/edurenye/followers","following_url":"https://api.github.com/users/edurenye/following{/other_user}","gists_url":"https://api.github.com/users/edurenye/gists{/gist_id}","starred_url":"https://api.github.com/users/edurenye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edurenye/subscriptions","organizations_url":"https://api.github.com/users/edurenye/orgs","repos_url":"https://api.github.com/users/edurenye/repos","events_url":"https://api.github.com/users/edurenye/events{/privacy}","received_events_url":"https://api.github.com/users/edurenye/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/edurenye/tmgmt_thebigword","description":"Thebigword Translator","fork":false,"url":"https://api.github.com/repos/edurenye/tmgmt_thebigword","forks_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/forks","keys_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/teams","hooks_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/hooks","issue_events_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/issues/events{/number}","events_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/events","assignees_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/assignees{/user}","branches_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/branches{/branch}","tags_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/tags","blobs_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/git/refs{/sha}","trees_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/statuses/{sha}","languages_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/languages","stargazers_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/stargazers","contributors_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/contributors","subscribers_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/subscribers","subscription_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/subscription","commits_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/commits{/sha}","git_commits_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/git/commits{/sha}","comments_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/comments{/number}","issue_comment_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/issues/comments{/number}","contents_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/contents/{+path}","compare_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/merges","archive_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/downloads","issues_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/issues{/number}","pulls_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/pulls{/number}","milestones_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/milestones{/number}","notifications_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/labels{/name}","releases_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/releases{/id}","deployments_url":"https://api.github.com/repos/edurenye/tmgmt_thebigword/deployments","created_at":"2016-02-15T09:43:20Z","updated_at":"2016-02-16T12:51:41Z","pushed_at":"2016-02-25T11:36:36Z","git_url":"git://github.com/edurenye/tmgmt_thebigword.git","ssh_url":"git@github.com:edurenye/tmgmt_thebigword.git","clone_url":"https://github.com/edurenye/tmgmt_thebigword.git","svn_url":"https://github.com/edurenye/tmgmt_thebigword","homepage":null,"size":23,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"8.x-1.x"}},"_links":{"self":{"href":"https://api.github.com/repos/edurenye/tmgmt_thebigword/pulls/1"},"html":{"href":"https://github.com/edurenye/tmgmt_thebigword/pull/1"},"issue":{"href":"https://api.github.com/repos/edurenye/tmgmt_thebigword/issues/1"},"comments":{"href":"https://api.github.com/repos/edurenye/tmgmt_thebigword/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/edurenye/tmgmt_thebigword/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/edurenye/tmgmt_thebigword/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/edurenye/tmgmt_thebigword/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/edurenye/tmgmt_thebigword/statuses/5622e68907edc6452d384acbf49483991ba09886"}}}}