{"action":"closed","number":180,"pull_request":{"url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/pulls/180","id":166902614,"html_url":"https://github.com/luzfcb/cookiecutter_django_test/pull/180","diff_url":"https://github.com/luzfcb/cookiecutter_django_test/pull/180.diff","patch_url":"https://github.com/luzfcb/cookiecutter_django_test/pull/180.patch","issue_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/issues/180","number":180,"state":"closed","locked":false,"title":"Update django-anymail to 1.3","user":{"login":"pyup-bot","id":16239342,"avatar_url":"https://avatars0.githubusercontent.com/u/16239342?v=4","gravatar_id":"","url":"https://api.github.com/users/pyup-bot","html_url":"https://github.com/pyup-bot","followers_url":"https://api.github.com/users/pyup-bot/followers","following_url":"https://api.github.com/users/pyup-bot/following{/other_user}","gists_url":"https://api.github.com/users/pyup-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/pyup-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pyup-bot/subscriptions","organizations_url":"https://api.github.com/users/pyup-bot/orgs","repos_url":"https://api.github.com/users/pyup-bot/repos","events_url":"https://api.github.com/users/pyup-bot/events{/privacy}","received_events_url":"https://api.github.com/users/pyup-bot/received_events","type":"User","site_admin":false},"body":"\nThere's a new version of [django-anymail](https://pypi.python.org/pypi/django-anymail) available.\nYou are currently using **0.4.2**. I have updated it to **1.3**\n\n\n\nThese links might come in handy:  <a href=\"https://pypi.python.org/pypi/django-anymail\">PyPI</a> | <a href=\"https://pyup.io/changelogs/django-anymail/\">Changelog</a> | <a href=\"https://github.com/anymail/django-anymail\">Repo</a> \n\n\n\n### Changelog\n> \n>### 1.3\n\n> Security fix\n\n>v1.3 includes the v1.2.1 security fix released at the same time. Please review the [v1.2.1 release notes](https://github.com/anymail/django-anymail/releases/tag/v1.2.1), below, if you are using Anymail&#39;s tracking webhooks.\n\n> New features\n\n>* **Inbound handling:** Add normalized inbound message event, signal, and webhooks for all supported ESPs. (See new [*Receiving mail*](http://anymail.readthedocs.io/en/stable/inbound/) docs.) This hasn&#39;t been through much real-world testing yet; bug reports and feedback are very welcome.\n>* **API network timeouts:** For Requests-based backends (all but SparkPost), use a default timeout of 30 seconds for all ESP API calls, to avoid stalling forever on a bad connection. Add a REQUESTS_TIMEOUT Anymail setting to override. (See 80.)\n>* **Test backend improvements:** Generate unique tracking `message_id` when using the [test backend](https://anymail.readthedocs.io/en/stable/tips/test_backend/); add console backend for use in development. (See 85.)\n\n\n\n\n>### 1.2.1\n\n> Security fix\n\n>Prevent timing attack on WEBHOOK_AUTHORIZATION secret\n\n>If you are using Anymail&#39;s tracking webhooks, you should upgrade to this release, and you may want to rotate to a new WEBHOOK_AUTHORIZATION shared secret (see [docs](http://anymail.readthedocs.io/en/stable/tips/securing_webhooks/use-a-shared-authorization-secret)). You should definitely change your webhook auth if your logs indicate attempted exploit.\n\n>*More information*\n\n>Anymail&#39;s webhook validation was vulnerable to a timing attack. An attacker could have used this to obtain your WEBHOOK_AUTHORIZATION shared secret, potentially allowing them to post fabricated or malicious email tracking events to your app.\n\n>There have not been any reports of attempted exploit. (The vulnerability was discovered through code review.) Attempts would be visible in HTTP logs as a very large number of 400 responses on Anymail&#39;s webhook urls (by default &quot;/anymail/*esp_name*/tracking/&quot;), and in Python error monitoring as a very large number of AnymailWebhookValidationFailure exceptions.\n\n\n\n\n>### 1.2\n\n> New features\n\n>* **Postmark:** Support new click webhook in normalized tracking events\n\n\n\n\n>### 1.1\n\n> Bug fixes\n\n>* **Mailgun:** Support metadata in opened/clicked/unsubscribed tracking webhooks, and fix potential problems if metadata keys collided with Mailgun event parameter names. (See 76, 77)\n\n> Other changes\n\n>* **Internal:** Rework Anymail&#39;s ParsedEmail class and rename to EmailAddress to align it with similar  functionality in the Python 3.6 email package, in preparation for future inbound support. ParsedEmail was not documented for use outside Anymail&#39;s internals (so this change does not bump the semver major version), but if you were using it in an undocumented way you will need to update your code.\n\n\n\n>### 1.0\n\n>It&#39;s official: Anymail is no longer &quot;pre-1.0.&quot; The API has been stable for many months, and there&#39;s no reason not to use Anymail in production.\n\n> Breaking changes\n\n>- There are no *new* breaking changes in the 1.0 release, but a breaking change introduced several months ago in v0.8 is now strictly enforced. If you still have an EMAIL_BACKEND setting that looks like &quot;anymail.backends.*espname*.*EspName*Backend&quot;, you&#39;ll need to change it to just &quot;anymail.backends.*espname*.EmailBackend&quot;. (Earlier versions had issued a DeprecationWarning. See the [v0.8 release notes](https://github.com/anymail/django-anymail/releases/tag/v0.8).)\n\n> New features and other changes\n\n>- Clean up and document Anymail&#39;s [Test EmailBackend](http://anymail.readthedocs.io/en/v1.0/tips/test_backend/)\n>- Add notes on [handling transient ESP errors](http://anymail.readthedocs.io/en/v1.0/tips/transient_errors/) and improving [batch send performance](http://anymail.readthedocs.io/en/v1.0/tips/performance/)\n>- **SendGrid:** handle Python 2 `long` integers in metadata and extra headers\n\n\n\n\n>### 1.0.rc0\n\n> Breaking changes\n\n>- **All backends:** The old *EspName*Backend names that were deprecated in v0.8 have been removed. Attempting to use the old names will now fail, rather than issue a DeprecationWarning. See the [v0.8 release notes](https://github.com/anymail/django-anymail/releases/tag/v0.8).\n\n> New features\n\n>- Anymail&#39;s Test EmailBackend is now [documented](http://anymail.readthedocs.io/en/latest/tips/test_backend/) (and cleaned up)\n\n\n\n>### 0.11.1\n\n>* **Mailjet:** Correct settings docs.\n\n\n\n\n>### 0.11\n\n> New features\n>* New ESP: **Mailjet**. Thanks to Lekensteyn and calvin. ([Docs](http://anymail.readthedocs.io/en/stable/esps/mailjet/))\n\n> Other changes\n>* In webhook handlers, AnymailTrackingEvent.metadata now defaults to `{}`, and .tags defaults to `[]`, if the ESP does not supply these fields with the event. (See 67.)\n\n\n\n\n>### 0.10\n\n> New features\n\n>* **Mailgun, SparkPost:** Support multiple from addresses, as a comma-separated `from_email` string. (*Not* a list of strings, like the recipient fields.) RFC-5322 allows multiple from email addresses, and these two ESPs support it. Though as a practical matter, multiple from emails are either ignored or treated as a spam signal by receiving mail handlers. (See 60.)\n\n> Other changes\n\n>* Fix crash sending forwarded email messages as attachments. (See 59.)\n>* **Mailgun:** Fix webhook crash on bounces from some receiving mail handlers. (See 62.)\n>* Improve recipient-parsing error messages and consistency with Django&#39;s SMTP backend. In particular, Django (and now Anymail) allows multiple, comma-separated email addresses in a single recipient string.\n\n\n\n\n>### 0.9\n\n> Breaking changes\n>- **Mandrill, Postmark:** Normalize soft-bounce webhook events to event_type &#39;bounced&#39; (rather than &#39;deferred&#39;).\n\n> Other changes\n>- Officially support released Django 1.11, including under Python 3.6.\n\n\n\n\n>### 0.8\n\n> Breaking changes\n>- **All backends:** Rename all Anymail backends to just `EmailBackend`, matching Django&#39;s naming convention. E.g., you should update: \n>  `EMAIL_BACKEND = &quot;anymail.backends.mailgun.MailgunBackend&quot;   old` \n>  to:\n>    `EMAIL_BACKEND = &quot;anymail.backends.mailgun.EmailBackend&quot;   new`\n>  \n>  The old names still work, but will issue a DeprecationWarning and will be removed in some future release (Apologies for this change; the old naming was a holdover from Djrill, and I wanted to establish consistency with other Django EmailBackends before Anymail 1.0. See 49.)\n>- **SendGrid:** Update SendGrid backend to their newer Web API v3. This should be a transparent change for most projects. Exceptions: if you use SendGrid username/password auth, Anymail&#39;s `esp_extra` with &quot;x-smtpapi&quot;, or multiple Reply-To addresses, please review the [porting notes](http://anymail.readthedocs.io/en/v0.8/esps/sendgrid/sendgrid-v3-upgrade).\n>  \n>  The SendGrid v2 EmailBackend [remains available](http://anymail.readthedocs.io/en/v0.8/esps/sendgrid/sendgrid-v2-backend) if you prefer it, but is no longer the default.\n\n> Other changes\n>- **Mandrill:** Fix bug in webhook signature validation when using basic auth via the WEBHOOK_AUTHORIZATION setting. (If you were using the MANDRILL_WEBHOOK_URL setting to work around this problem, you should be able to remove it. See 48.)\n>- Test on Django 1.11 prerelease, including under Python 3.6.\n\n\n\n\n>### 0.7\n\n> New features\n>- **Postmark:** Support Postmark&#39;s new message delivery event in Anymail normalized tracking webhook. (Update your Postmark config to enable the new event. See [docs](http://anymail.readthedocs.io/en/v0.7/esps/postmark/status-tracking-webhooks).)\n>- Handle virtually all uses of Django lazy translation strings as EmailMessage properties. (In earlier releases, these could sometimes lead to obscure exceptions or unexpected behavior with some ESPs. See 34.)\n\n> Other changes\n>- **[possibly-breaking]** Fix a long-standing bug validating email addresses. If an address has a display name containing a comma or parentheses, RFC-5322 _requires_ double-quotes around the display name (`&#39;&quot;Widgets, Inc.&quot; &lt;widgetsexample.com&gt;&#39;`). Anymail now raises a new `AnymailInvalidAddress` error for misquoted display names and other malformed addresses. (Previously, it silently truncated the address, leading to obscure exceptions or unexpected behavior. See 44.) In general, it&#39;s safest to always use double-quotes around all display names. \n>- **Mandrill:** Simplify and document two-phase process for setting up Mandrill webhooks. ([docs](http://anymail.readthedocs.io/en/v0.7/esps/mandrill/status-tracking-webhooks))\n\n\n\n\n>### 0.6.1\n\n> Bug fixes\n>- **Mailgun** and **Mandrill:** Support older Python 2.7.x versions in webhook validation (39; thanks sebbacon)\n>- **Postmark:** Handle older-style &#39;Reply-To&#39; in EmailMessage `headers` (41)\n\n\n\n\n>### 0.6\n\n> New features\n>- **Postmark:** Add support for `track_clicks` ([docs](http://anymail.readthedocs.io/en/v0.6/esps/postmark/limitations-and-quirks))\n\n> Other changes\n>- Initialize AnymailMessage.anymail_status to empty status, rather than None; clarify docs around `anymail_status` availability ([docs](http://anymail.readthedocs.io/en/v0.6/sending/anymail_additions/esp-send-status))\n>- **[possibly-breaking**] **SendGrid:** Fix missing html or text template body when using `template_id` with an empty Django EmailMessage body. In the (extremely-unlikely) case you were relying on the earlier quirky behavior to _not_ send your saved html or text template, you may want to verify that your SendGrid templates have matching html and text. ([docs](http://anymail.readthedocs.io/en/v0.6/esps/sendgrid/batch-sending-merge-and-esp-templates) -- also see 32.)\n\n\n\n\n>### 0.5\n\n> New features\n>- **Mailgun:** Add MAILGUN_SENDER_DOMAIN setting\n>  [docs](https://anymail.readthedocs.io/en/v0.5/esps/mailgun/mailgun-sender-domain)\n\n\n\n\n\n\n\n\n*Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.*\n\nHappy merging! 🤖\n","created_at":"2018-02-02T21:02:03Z","updated_at":"2018-02-08T20:32:20Z","closed_at":"2018-02-08T20:32:20Z","merged_at":null,"merge_commit_sha":"4f7f2c3c13a04a6a1ddbbac23379288f3c35bc23","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"milestone":null,"commits_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/pulls/180/commits","review_comments_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/pulls/180/comments","review_comment_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/pulls/comments{/number}","comments_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/issues/180/comments","statuses_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/statuses/d89a18c581947ebf8d546839f23ba8bf680d15c1","head":{"label":"luzfcb:pyup-update-django-anymail-0.4.2-to-1.3","ref":"pyup-update-django-anymail-0.4.2-to-1.3","sha":"d89a18c581947ebf8d546839f23ba8bf680d15c1","user":{"login":"luzfcb","id":807599,"avatar_url":"https://avatars0.githubusercontent.com/u/807599?v=4","gravatar_id":"","url":"https://api.github.com/users/luzfcb","html_url":"https://github.com/luzfcb","followers_url":"https://api.github.com/users/luzfcb/followers","following_url":"https://api.github.com/users/luzfcb/following{/other_user}","gists_url":"https://api.github.com/users/luzfcb/gists{/gist_id}","starred_url":"https://api.github.com/users/luzfcb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luzfcb/subscriptions","organizations_url":"https://api.github.com/users/luzfcb/orgs","repos_url":"https://api.github.com/users/luzfcb/repos","events_url":"https://api.github.com/users/luzfcb/events{/privacy}","received_events_url":"https://api.github.com/users/luzfcb/received_events","type":"User","site_admin":false},"repo":{"id":68063532,"name":"cookiecutter_django_test","full_name":"luzfcb/cookiecutter_django_test","owner":{"login":"luzfcb","id":807599,"avatar_url":"https://avatars0.githubusercontent.com/u/807599?v=4","gravatar_id":"","url":"https://api.github.com/users/luzfcb","html_url":"https://github.com/luzfcb","followers_url":"https://api.github.com/users/luzfcb/followers","following_url":"https://api.github.com/users/luzfcb/following{/other_user}","gists_url":"https://api.github.com/users/luzfcb/gists{/gist_id}","starred_url":"https://api.github.com/users/luzfcb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luzfcb/subscriptions","organizations_url":"https://api.github.com/users/luzfcb/orgs","repos_url":"https://api.github.com/users/luzfcb/repos","events_url":"https://api.github.com/users/luzfcb/events{/privacy}","received_events_url":"https://api.github.com/users/luzfcb/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/luzfcb/cookiecutter_django_test","description":null,"fork":false,"url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test","forks_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/forks","keys_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/keys{/key_id}","collaborators_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/teams","hooks_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/hooks","issue_events_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/issues/events{/number}","events_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/events","assignees_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/assignees{/user}","branches_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/branches{/branch}","tags_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/tags","blobs_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/git/refs{/sha}","trees_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/git/trees{/sha}","statuses_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/statuses/{sha}","languages_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/languages","stargazers_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/stargazers","contributors_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/contributors","subscribers_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/subscribers","subscription_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/subscription","commits_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/commits{/sha}","git_commits_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/git/commits{/sha}","comments_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/comments{/number}","issue_comment_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/issues/comments{/number}","contents_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/contents/{+path}","compare_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/compare/{base}...{head}","merges_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/merges","archive_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/downloads","issues_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/issues{/number}","pulls_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/pulls{/number}","milestones_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/milestones{/number}","notifications_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/labels{/name}","releases_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/releases{/id}","deployments_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/deployments","created_at":"2016-09-13T01:44:20Z","updated_at":"2016-09-13T01:45:15Z","pushed_at":"2018-02-08T20:32:16Z","git_url":"git://github.com/luzfcb/cookiecutter_django_test.git","ssh_url":"git@github.com:luzfcb/cookiecutter_django_test.git","clone_url":"https://github.com/luzfcb/cookiecutter_django_test.git","svn_url":"https://github.com/luzfcb/cookiecutter_django_test","homepage":null,"size":1571,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":31,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":0,"open_issues":31,"watchers":0,"default_branch":"master"}},"base":{"label":"luzfcb:master","ref":"master","sha":"9dd50b9df7585a439a1299e39ede3bea4f8e60c4","user":{"login":"luzfcb","id":807599,"avatar_url":"https://avatars0.githubusercontent.com/u/807599?v=4","gravatar_id":"","url":"https://api.github.com/users/luzfcb","html_url":"https://github.com/luzfcb","followers_url":"https://api.github.com/users/luzfcb/followers","following_url":"https://api.github.com/users/luzfcb/following{/other_user}","gists_url":"https://api.github.com/users/luzfcb/gists{/gist_id}","starred_url":"https://api.github.com/users/luzfcb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luzfcb/subscriptions","organizations_url":"https://api.github.com/users/luzfcb/orgs","repos_url":"https://api.github.com/users/luzfcb/repos","events_url":"https://api.github.com/users/luzfcb/events{/privacy}","received_events_url":"https://api.github.com/users/luzfcb/received_events","type":"User","site_admin":false},"repo":{"id":68063532,"name":"cookiecutter_django_test","full_name":"luzfcb/cookiecutter_django_test","owner":{"login":"luzfcb","id":807599,"avatar_url":"https://avatars0.githubusercontent.com/u/807599?v=4","gravatar_id":"","url":"https://api.github.com/users/luzfcb","html_url":"https://github.com/luzfcb","followers_url":"https://api.github.com/users/luzfcb/followers","following_url":"https://api.github.com/users/luzfcb/following{/other_user}","gists_url":"https://api.github.com/users/luzfcb/gists{/gist_id}","starred_url":"https://api.github.com/users/luzfcb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/luzfcb/subscriptions","organizations_url":"https://api.github.com/users/luzfcb/orgs","repos_url":"https://api.github.com/users/luzfcb/repos","events_url":"https://api.github.com/users/luzfcb/events{/privacy}","received_events_url":"https://api.github.com/users/luzfcb/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/luzfcb/cookiecutter_django_test","description":null,"fork":false,"url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test","forks_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/forks","keys_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/keys{/key_id}","collaborators_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/teams","hooks_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/hooks","issue_events_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/issues/events{/number}","events_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/events","assignees_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/assignees{/user}","branches_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/branches{/branch}","tags_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/tags","blobs_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/git/refs{/sha}","trees_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/git/trees{/sha}","statuses_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/statuses/{sha}","languages_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/languages","stargazers_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/stargazers","contributors_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/contributors","subscribers_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/subscribers","subscription_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/subscription","commits_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/commits{/sha}","git_commits_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/git/commits{/sha}","comments_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/comments{/number}","issue_comment_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/issues/comments{/number}","contents_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/contents/{+path}","compare_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/compare/{base}...{head}","merges_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/merges","archive_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/downloads","issues_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/issues{/number}","pulls_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/pulls{/number}","milestones_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/milestones{/number}","notifications_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/labels{/name}","releases_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/releases{/id}","deployments_url":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/deployments","created_at":"2016-09-13T01:44:20Z","updated_at":"2016-09-13T01:45:15Z","pushed_at":"2018-02-08T20:32:16Z","git_url":"git://github.com/luzfcb/cookiecutter_django_test.git","ssh_url":"git@github.com:luzfcb/cookiecutter_django_test.git","clone_url":"https://github.com/luzfcb/cookiecutter_django_test.git","svn_url":"https://github.com/luzfcb/cookiecutter_django_test","homepage":null,"size":1571,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":31,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit"},"forks":0,"open_issues":31,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/pulls/180"},"html":{"href":"https://github.com/luzfcb/cookiecutter_django_test/pull/180"},"issue":{"href":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/issues/180"},"comments":{"href":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/issues/180/comments"},"review_comments":{"href":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/pulls/180/comments"},"review_comment":{"href":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/pulls/180/commits"},"statuses":{"href":"https://api.github.com/repos/luzfcb/cookiecutter_django_test/statuses/d89a18c581947ebf8d546839f23ba8bf680d15c1"}},"author_association":"COLLABORATOR","merged":false,"mergeable":true,"rebaseable":true,"mergeable_state":"clean","merged_by":null,"comments":1,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":1,"deletions":1,"changed_files":1}}
{"actor":{"display_login":"pyup-bot"}}