Opened 6 years ago

Closed 4 years ago

#2714 closed task (fixed)

Rewrite irc status to work with data API

Reported by: dustin Owned by: jaredgrubb
Priority: major Milestone: 0.9.0
Version: master Keywords: irc
Cc:

Description (last modified by dustin)

Blocks #2648

The irc status plugin currently interacts with all of the various status classes. Instead, it should use the data API - both MQ and the get interface.

See Also:

Change History (17)

comment:1 Changed 5 years ago by sa2ajj

  • Keywords irc added
  • Version set to master

comment:2 Changed 5 years ago by Mikhail Sobolev <mss@…>

In 918e6c0a62ab524f5177f0cb59c127698fc2c04c:

Merge pull request #1323 from delanne/IRCContact

IRCContact use the DATA API

See ticket:2714

comment:3 Changed 5 years ago by dustin

  • Description modified (diff)

comment:4 Changed 5 years ago by sa2ajj

  • Description modified (diff)

comment:5 Changed 5 years ago by Ben

Can someone elaborate on what's left to be done, there ?

Is there any other status that can be used as example that already does it well ?

comment:6 Changed 5 years ago by dustin

I don't have a good handle on the current state, no. And this is the first status plugin to be rewritten, so there's no great example to look at.

comment:7 Changed 5 years ago by Ben

Do you mean the whole 'StatusReciever?' (buildbot.status.base.StatusReceiver) should be replaced by MQ ?

comment:8 Changed 5 years ago by dustin

Functionally, yes. The class itself should go away.

comment:9 Changed 5 years ago by dustin

  • Description modified (diff)

comment:10 Changed 5 years ago by dustin

  • Description modified (diff)

comment:11 Changed 4 years ago by dustin

  • Milestone changed from 0.9.0 to 0.9.+

comment:12 Changed 4 years ago by dustin

  • Milestone changed from 0.9.+ to 0.9.0

Well, we should either finish this for 0.9.0 or document its nonfunctionality and move it to 0.9.+

comment:13 Changed 4 years ago by tardyp

needs to be move to reporter module, and make sure it works when plugged in the c['services']

comment:14 Changed 4 years ago by jaredgrubb

Looking in the source, I think it's most of the way there. There are a few TODO/FIXME left in the source. Here's the ones I think are still remaining.

Contact:

  • buildStarted: a TODO to create a change list
  • buildFinished: a FIXME to retrieve the blamelist
  • buildFinished: a FIXME to provide a URL for the build
  • watchedBuildFinished: a FIXME to provide a URL for the build
  • command_NOTIFY, command_HELP, command_FORCE: a FIXME to "think about" this one; I think these are no longer issues and these comments should be removed.
  • command_DESTROY: a FIXME about "self.bot": I dont think the 'nickname' ever gets set
  • command_STOP: I dont think this has been ported. Need to be able to stop a build.
    • getControl: only used by "STOP" and can be removed if not needed. Currently a TODO
  • subscribe : need to be able to subscribe to a build request

Finally, Contact is still derived from buildbot.status.base.StatusReceiver?. Is that still necessary, is there a replacement, or does it just inherit from one of the Service bases?

comment:15 Changed 4 years ago by dustin

I think that Contact can just drop that parent class -- from the sound of it, all of the callbacks it might expect sa a StatusReceiver have already been replaced by Data API subscriptions.

comment:16 Changed 4 years ago by tardyp

@dustin, that is what I did in my PR

@jaredgrubb: I've create some bugs under http://trac.buildbot.net/query?status=!closed&keywords=~irc

Can you have a look at them and add others that we fill necessary to fix, and we can close that one?

comment:17 Changed 4 years ago by dustin

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.