Add support for Sentry Releases functionality
Sentry are currently working on some interesting release-based functionality, which could help us with determining what changes are responsible for new bugs, and communicating quickly and non-noisily with the responsible developers.
Update: this is now released https://blog.sentry.io/2017/05/01/release-commits.html
Regarding the support we should add to Prout, the Sentry API has a Create a New Release for a Project call, which we would get Prout to call every time a PR is seen on Prod. Prout would provide a direct link to the GitHub PR to provide context - there doesn't appear to be any other way to provide human-readable context in the Sentry release at the moment, except possibly in the version field. Ideally we'd like the Sentry Release Overview page to display to the PR number & title - data we could provide with Prout, if there was a legitimate field in Sentry to store it.
Some of the listed features of Sentry's release work:
- Learn which release an issue was first introduced or last seen in
- Suggested owners on issues
- Marking issues as resolved in the next release
- Resolving Sentry issues via commit messages
I've already connected the membership-frontend repository in Sentry, and hopefully with the next few released PR's we'll see some increased metadata in the entries under https://sentry.io/the-guardian/membership/releases/

cc @jacobwinch, and also @macqueen, who is working on this :sparkles: awesome stuff at Sentry :sparkles:
With the recent bunch of commits, basic support for Sentry Releases has been added to Prout:
- Prout will post release metadata (inc commit data) into Sentry's Release API as soon as a PR is merged, so that the Sentry Release summary can show the commits and authors that are related to a release alongside the issues that occurred in that release.
- When the PR is reported as 'Seen' by Prout, it will also append a link to the relevant Sentry Release summary page in the GitHub comment.

To activate Prout's support:
- Ensure that instance of Prout has the
SENTRY_ORG(eg 'the-guardian') &SENTRY_ACCESS_TOKENenvironment variables available (already done for the instance we use at the Guardian, obviously). - Ensure Sentry has 'connected' to your GitHub repo in https://sentry.io/organizations/the-guardian/repos/ (substitute your own Sentry organisation name, obviously)
- Add a stanza like this to your
.prout.json, corresponding to the Sentry projects used with your stack (eg https://sentry.io/the-guardian/contributions/, etc):
"sentry": {
"projects": ["contributions", "contributions-js"]
}
There's potential for more powerful enhancements based on this Sentry Release functionality, but they will probably require additional endpoints on Sentry's Releases API - I've posted to Sentry's forum with some suggestions on Release-specific alerting (authors/pull-request).