prout icon indicating copy to clipboard operation
prout copied to clipboard

Add support for Sentry Releases functionality

Open rtyley opened this issue 8 years ago • 1 comments

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/

image

cc @jacobwinch, and also @macqueen, who is working on this :sparkles: awesome stuff at Sentry :sparkles:

rtyley avatar Apr 19 '17 09:04 rtyley

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.

image

To activate Prout's support:

  1. Ensure that instance of Prout has the SENTRY_ORG (eg 'the-guardian') & SENTRY_ACCESS_TOKEN environment variables available (already done for the instance we use at the Guardian, obviously).
  2. Ensure Sentry has 'connected' to your GitHub repo in https://sentry.io/organizations/the-guardian/repos/ (substitute your own Sentry organisation name, obviously)
  3. 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).

rtyley avatar May 18 '17 16:05 rtyley