Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Sentry Releases functionality #47

Open
rtyley opened this issue Apr 19, 2017 · 1 comment
Open

Add support for Sentry Releases functionality #47

rtyley opened this issue Apr 19, 2017 · 1 comment

Comments

@rtyley
Copy link
Member

rtyley commented Apr 19, 2017

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 ✨ awesome stuff at Sentry ✨

rtyley added a commit that referenced this issue May 17, 2017
rtyley added a commit that referenced this issue May 17, 2017
rtyley added a commit to guardian/membership-frontend that referenced this issue May 18, 2017
This is mostly to test the new support for Sentry Releases functionality:

guardian/prout#47
rtyley added a commit to guardian/contributions-frontend that referenced this issue May 18, 2017
Sentry recently released some interesting functionality around tracking issues related to specific code-changes:

https://blog.sentry.io/2017/05/01/release-commits.html

...and Prout now has some basic support for this:

guardian/prout#47

To activate Prout's support, you just need to add a stanza like this to your `.prout.json`:

```
"sentry": {
  "projects": ["contributions", "contributions-js"]
}
```

...those project slugs correspond to the Sentry projects used with this stack:

* https://sentry.io/the-guardian/contributions/
* https://sentry.io/the-guardian/contributions-js/
@rtyley
Copy link
Member Author

rtyley commented May 18, 2017

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 added a commit to guardian/members-data-api that referenced this issue May 18, 2017
Sentry recently released some interesting functionality around tracking issues related to specific code-changes:

https://blog.sentry.io/2017/05/01/release-commits.html

...and Prout now has some basic support for this:

guardian/prout#47 (comment)
rtyley added a commit to guardian/subscriptions-frontend that referenced this issue May 19, 2017
Sentry recently released some interesting functionality around tracking issues related to specific code-changes:

https://blog.sentry.io/2017/05/01/release-commits.html

...and Prout now has some basic support for this:

guardian/prout#47 (comment)
rtyley added a commit to guardian/repo-genesis that referenced this issue May 19, 2017
Sentry recently released some interesting functionality around tracking issues related to specific code-changes:

https://blog.sentry.io/2017/05/01/release-commits.html

...and Prout now has some basic support for this:

guardian/prout#47 (comment)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant