← Back to team overview

launchpad-dev team mailing list archive

Re: Automatically setting the bug task status from the branch scanner

 

On Mon, 12 Apr 2010 21:17:09 Graham Binns wrote:
> On 12 April 2010 10:13, William Grant <wgrant@xxxxxxxxxx> wrote:
> > On Mon, 2010-04-12 at 10:08 +0100, Graham Binns wrote:
> >> On 12 April 2010 09:56, Tim Penhey <tim.penhey@xxxxxxxxxxxxx> wrote:
> >> > On Mon, 12 Apr 2010 19:11:17 Bjorn Tillenius wrote:
> >> >> On Mon, Apr 12, 2010 at 08:01:24AM +0100, Graham Binns wrote:
> >> >> > On 12 April 2010 06:04, Tim Penhey <tim.penhey@xxxxxxxxxxxxx> wrote:
> >> >> > > Hi Deryck,
> >> >> > > 
> >> >> > > As discussed before I'm tackling the JFDI approach and I'm going
> >> >> > > to get the scanner to update the bug-task status [1].
> >> >> > > 
> >> >> > > I'd like the bug-task to be set to in-progress when it is linked
> >> >> > > to the branch, and fix-committed if it is linked to a branch
> >> >> > > that was marked as merged through a merge proposal.
> >> >> > > 
> >> >> > > Since the scanner is a script, what do you think the best
> >> >> > > approach is so that the appropriate subscribers get notified? Â
> >> >> > > I had a brief look at the bug code but it was not clear to me
> >> >> > > exactly how to proceed.
> >> >> > 
> >> >> > The simplest way I can think of, though not a particularly elegant
> >> >> > one,
> >> >> > 
> >> >> > is to do something like this:
> >> >> >     from lp.bugs.adapters.bugchange import BugTaskStatusChange
> >> >> >     change = BugTaskStatusChange(
> >> >> > 
> >> >> >         bug_task=bug_task, when=UTC_NOW, person=current_person,
> >> >> >         what_changed='status', old_value=old_bugtask_status.title,
> >> >> >         new_value=new_bugtask_status.title)
> >> >> > 
> >> >> >     bug_task.bug.addChange(change)
> >> >> > 
> >> >> > However, I'd be inclined to say "use whatever the API uses," but I
> >> >> > don't actually know what that is (just from a bit of looking
> >> >> > around at pre-8am I can't find it, anyway).
> >> >> 
> >> >> The easiest way is probably to use IBug.setStatus(). It will do the
> >> >> right thing (including notifying people about changes), even if you
> >> >> pass in an IProductSeries.
> >> > 
> >> > Ah ha, but I don't have a person.
> >> > 
> >> > Should I use a celebrity?
> >> 
> >> I think so, yes. We have celebrities for the Janitor(s) and for the
> >> bug watch updater and so on, so it makes sense to have a celebrity for
> >> the scanner too.
> > 
> > Soyuz uses ~janitor to close bugs. See
> > lp.soyuz.scripts.processaccepted.close_bugs_for_sourcepackagerelease.
> 
> The janitor could be used but I'd be inclined to use something else.
> The use of the janitor suggests that the work is being done as a
> cleanup operation (so it's appropriate for Soyuz because the janitor
> is cleaning up after a package release). For the branch scanner,
> though, the branches are in active development, so I think it's more
> meaningful to have a branch scanner celebrity.

The Janitor is someone who cleans up after you.  Perhaps it is cleaning up 
before you realised that you've left a mess?

I'm not in favour of making celebrities for the sake of it, although a scanner 
one could be useful for being the sender of revision email...

> Also, the bikeshed should be blue.

Cornsilk is a nice colour.

Tim



Follow ups

References