pullreminders / backlog

Public backlog for http://pullpanda.com
59 stars 9 forks source link

As a user, I would like to include specifically labeled PRs that have label exclusions #117

Open camallen opened 5 years ago

camallen commented 5 years ago

Say I'm using a bot to keep my dependencies up to date and this labels all automatic PRs with dependencies label. I do not want these being reported as it's pretty noisy so I add them to the Ignored labels list.

Now say some of these PRs are security updates with another label security and they need attention ASAP, I do want to include this subset in the reports as they are very important.

Currently I can't see a way to have PRs with these combination of labels being include as it seems the exclusion list overrides all other settings. Ideally the system will have an always include list of labels I can add to that will offer this functionality.

abinoda commented 5 years ago

@camallen Here's a possible immediate solution – keep your existing team reminder as-is, but create another team reminder (for the same channel or different channel like #security-hotfix-reminders is probably cleaner) that filters for ONLY pull requests with the security label.

Let me know what you think!

camallen commented 5 years ago

Not bad and i can see that working, though in the UI i can't choose an existing channel.

I'll look at adding the new reminder for security updates, possibly with even greater frequency.

abinoda commented 5 years ago

@camallen You're right, we recently removed the option to add multiple reminders to the same channel since we didn't think it creates the best experience (too noisy, kind of confusing). Would setting up a separate channel just for these security PR reminders work for you?

abinoda commented 5 years ago

@camallen Another customer just requested being able to add multiple reminders in the same channel, so we may re-allow that functionality shortly.

camallen commented 5 years ago

Ideally using the same channel, though i can see it being useful for other teams / setups. Please do let me know if this functionality makes it back into the app.

Also having the ability to include / exclude specific authors might be helpful for some teams, especially if bots issue pull requests.

Thanks for the prompt feedback and I'm loving the PullReminders experience so far.

camallen commented 5 years ago

Do let me know if you enable the channel reuse functionality, i'd like to try this flow out

abinoda commented 5 years ago

@camallen

For right now I think our stance is that not allowing multiple reminders in a single channel is a good constraint that results in better UX for a couple reasons:

  1. Multiple reminders in a single channel can get a bit noisy, which all things equal is something we'd like to prevent from happening for our users.
  2. In addition to the noise, another issue is that users don't have a way of identifying which reminder is for what, which creates ambiguity and confusion. We've gotten requests to allow custom titles for reminders, but generally it's felt like using a separate channel for the reminder is a clearer way of setting context while also avoiding noise.

We recommended separate channels to the other customer who I referred to and they've had good results.

camallen commented 5 years ago

Understood and i can see the reasoning for the opinionated UI, etc. One counter point is that I'm the user / consumer of these reminder messages. Therefore isn't it up to me to decide how the frequency and channel location for the messages? I can currently setup the system to remind me every 30 mins on the same channel if i like. Of course i haven't done this though I could do so via the UI configuration.

Our team is trying a separate channel to see how it works for us, thanks again for the prompt and thoughtful feedback.

abinoda commented 5 years ago

@camallen

Our team is trying a separate channel to see how it works for us, thanks again for the prompt and thoughtful feedback.

Sounds good – let me know how it goes. The restriction on multiple is literally one line of our code on end. If it seemed critical we could allow it for your account.