Should support post-commit webhooks
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| | Launchpad itself |
Low
|
William Grant | ||
Bug Description
It would be nice for Launchpad to support cia.vc commit updates server-side.
CIA provides IRC bots for channels and that could help the interaction and the vitality of a lot of projects and channels.
sourceforge.net and gna.org already have built-in support:
"You may already be using a hosting service, like SourceForge.net or Gna!, which provides built-in CIA.vc integration. Check with your hosting provider for details. You may need to ensure that CIA.vc and your hosting provider use the same project name."
Related branches
- Colin Watson: Approve on 2015-07-10
-
Diff: 38 lines (+34/-0)1 file modifieddatabase/schema/patch-2209-66-0.sql (+34/-0)
- Colin Watson: Approve on 2015-07-10
-
Diff: 1093 lines (+944/-2)14 files modifiedconfigs/testrunner/launchpad-lazr.conf (+3/-0)
database/schema/security.cfg (+9/-1)
lib/lp/security.py (+14/-0)
lib/lp/services/config/schema-lazr.conf (+11/-0)
lib/lp/services/configure.zcml (+1/-0)
lib/lp/services/webhooks/client.py (+54/-0)
lib/lp/services/webhooks/configure.zcml (+28/-0)
lib/lp/services/webhooks/interfaces.py (+153/-0)
lib/lp/services/webhooks/model.py (+252/-0)
lib/lp/services/webhooks/tests/test_webhook.py (+153/-0)
lib/lp/services/webhooks/tests/test_webhookjob.py (+253/-0)
lib/lp/testing/factory.py (+10/-0)
setup.py (+1/-0)
versions.cfg (+2/-1)
- Colin Watson: Approve on 2015-07-10
-
Diff: 754 lines (+482/-13)11 files modifiedlib/lp/code/browser/gitrepository.py (+2/-1)
lib/lp/code/interfaces/gitrepository.py (+2/-1)
lib/lp/code/model/gitrepository.py (+2/-1)
lib/lp/security.py (+14/-1)
lib/lp/services/webhooks/browser.py (+49/-0)
lib/lp/services/webhooks/configure.zcml (+27/-1)
lib/lp/services/webhooks/interfaces.py (+74/-4)
lib/lp/services/webhooks/model.py (+49/-1)
lib/lp/services/webhooks/tests/test_webhook.py (+5/-3)
lib/lp/services/webhooks/tests/test_webservice.py (+240/-0)
lib/lp/services/webhooks/webservice.py (+18/-0)
- Colin Watson: Approve on 2015-07-13
-
Diff: 170 lines (+76/-12)4 files modifiedconfigs/testrunner/launchpad-lazr.conf (+1/-1)
lib/lp/services/webhooks/configure.zcml (+11/-7)
lib/lp/services/webhooks/model.py (+14/-1)
lib/lp/services/webhooks/tests/test_webhookjob.py (+50/-3)
- Colin Watson: Approve on 2015-07-21
-
Diff: 547 lines (+196/-28)11 files modifieddatabase/schema/security.cfg (+1/-0)
lib/lp/code/model/gitrepository.py (+2/-0)
lib/lp/code/model/tests/test_gitrepository.py (+15/-9)
lib/lp/scripts/garbo.py (+35/-10)
lib/lp/scripts/tests/test_garbo.py (+20/-1)
lib/lp/services/webhooks/configure.zcml (+5/-0)
lib/lp/services/webhooks/interfaces.py (+16/-0)
lib/lp/services/webhooks/model.py (+25/-0)
lib/lp/services/webhooks/tests/test_webhook.py (+25/-7)
lib/lp/services/webhooks/tests/test_webhookjob.py (+42/-1)
lib/lp/services/webhooks/tests/test_webservice.py (+10/-0)
- Colin Watson: Approve on 2015-07-29
-
Diff: 383 lines (+181/-25)5 files modifiedlib/lp/services/job/model/job.py (+2/-2)
lib/lp/services/webhooks/interfaces.py (+17/-0)
lib/lp/services/webhooks/model.py (+58/-9)
lib/lp/services/webhooks/tests/test_webhookjob.py (+101/-11)
lib/lp/services/webhooks/tests/test_webservice.py (+3/-3)
- Colin Watson: Approve on 2015-07-29
-
Diff: 216 lines (+98/-18)5 files modifiedlib/lp/services/job/model/job.py (+2/-1)
lib/lp/services/webhooks/interfaces.py (+11/-0)
lib/lp/services/webhooks/model.py (+9/-0)
lib/lp/services/webhooks/tests/test_webhookjob.py (+62/-17)
lib/lp/services/webhooks/tests/test_webservice.py (+14/-0)
- Colin Watson: Approve on 2015-08-03
-
Diff: 439 lines (+167/-43)6 files modifiedlib/lp/services/job/tests/test_celery_configuration.py (+2/-0)
lib/lp/services/webhooks/client.py (+23/-4)
lib/lp/services/webhooks/interfaces.py (+8/-1)
lib/lp/services/webhooks/model.py (+15/-1)
lib/lp/services/webhooks/tests/test_webhookjob.py (+117/-34)
lib/lp/testing/factory.py (+2/-3)
- Colin Watson: Approve on 2015-08-04
-
Diff: 490 lines (+184/-24)7 files modifiedlib/lp/services/job/tests/test_celery.py (+1/-3)
lib/lp/services/webhooks/interfaces.py (+32/-4)
lib/lp/services/webhooks/model.py (+26/-6)
lib/lp/services/webhooks/tests/test_job.py (+53/-2)
lib/lp/services/webhooks/tests/test_model.py (+3/-2)
lib/lp/services/webhooks/tests/test_webservice.py (+66/-5)
lib/lp/testing/factory.py (+3/-2)
- Colin Watson: Approve on 2015-08-05
-
Diff: 774 lines (+582/-21)12 files modifiedlib/lp/app/browser/launchpad.py (+15/-11)
lib/lp/app/doc/hierarchical-menu.txt (+4/-4)
lib/lp/code/browser/gitrepository.py (+9/-1)
lib/lp/services/webapp/tests/test_breadcrumbs.py (+1/-1)
lib/lp/services/webhooks/browser.py (+125/-0)
lib/lp/services/webhooks/configure.zcml (+33/-0)
lib/lp/services/webhooks/interfaces.py (+7/-3)
lib/lp/services/webhooks/model.py (+2/-1)
lib/lp/services/webhooks/templates/webhook-delete.pt (+29/-0)
lib/lp/services/webhooks/templates/webhook-index.pt (+23/-0)
lib/lp/services/webhooks/templates/webhooktarget-webhooks.pt (+52/-0)
lib/lp/services/webhooks/tests/test_browser.py (+282/-0)
- Launchpad code reviewers: Pending requested 2015-08-10
-
Diff: 334 lines (+96/-20)7 files modifiedlib/lp/services/webhooks/browser.py (+7/-4)
lib/lp/services/webhooks/configure.zcml (+9/-0)
lib/lp/services/webhooks/interfaces.py (+18/-3)
lib/lp/services/webhooks/model.py (+2/-0)
lib/lp/services/webhooks/tests/test_browser.py (+6/-5)
lib/lp/services/webhooks/tests/test_model.py (+19/-0)
lib/lp/services/webhooks/tests/test_webservice.py (+35/-8)
- Kit Randel: Approve on 2015-08-14
-
Diff: 377 lines (+111/-33)7 files modifiedlib/lp/services/webhooks/client.py (+7/-3)
lib/lp/services/webhooks/interfaces.py (+8/-1)
lib/lp/services/webhooks/model.py (+17/-4)
lib/lp/services/webhooks/tests/test_job.py (+35/-20)
lib/lp/services/webhooks/tests/test_model.py (+37/-0)
lib/lp/services/webhooks/tests/test_webservice.py (+4/-3)
lib/lp/testing/factory.py (+3/-2)
- Kit Randel: Approve on 2015-08-14
-
Diff: 163 lines (+96/-0)3 files modifieddatabase/schema/security.cfg (+2/-0)
lib/lp/code/model/gitjob.py (+29/-0)
lib/lp/code/model/tests/test_gitjob.py (+65/-0)
- Colin Watson: Approve on 2015-08-24
-
Diff: 110 lines (+62/-4)2 files modifiedlib/lp/services/webhooks/client.py (+32/-2)
lib/lp/services/webhooks/tests/test_job.py (+30/-2)
- Colin Watson: Approve on 2015-09-10
-
Diff: 1115 lines (+784/-51)16 files modifiedMakefile (+2/-1)
lib/canonical/launchpad/icing/style.css (+7/-0)
lib/lp/app/javascript/date.js (+14/-4)
lib/lp/app/javascript/tests/test_date.js (+16/-2)
lib/lp/bugs/browser/buglisting.py (+6/-17)
lib/lp/registry/browser/pillar.py (+3/-22)
lib/lp/services/webapp/batching.py (+28/-0)
lib/lp/services/webhooks/browser.py (+19/-1)
lib/lp/services/webhooks/interfaces.py (+5/-0)
lib/lp/services/webhooks/javascript/deliveries.js (+297/-0)
lib/lp/services/webhooks/javascript/tests/test_deliveries.html (+73/-0)
lib/lp/services/webhooks/javascript/tests/test_deliveries.js (+214/-0)
lib/lp/services/webhooks/model.py (+6/-1)
lib/lp/services/webhooks/templates/webhook-index.pt (+64/-0)
lib/lp/services/webhooks/tests/test_webservice.py (+4/-3)
lib/lp/services/webhooks/tests/test_yuitests.py (+26/-0)
- William Grant: Approve (db) on 2015-09-25
- Stuart Bishop: Pending (db) requested 2015-09-24
-
Diff: 18 lines (+14/-0)1 file modifieddatabase/schema/patch-2209-66-1.sql (+14/-0)
- William Grant: Approve (code) on 2015-09-29
-
Diff: 1669 lines (+563/-321)24 files modifiedlib/lp/code/browser/branch.py (+11/-2)
lib/lp/code/configure.zcml (+3/-0)
lib/lp/code/interfaces/branch.py (+48/-18)
lib/lp/code/interfaces/branchlookup.py (+8/-0)
lib/lp/code/interfaces/branchtarget.py (+1/-1)
lib/lp/code/interfaces/gitrepository.py (+2/-1)
lib/lp/code/model/branch.py (+8/-1)
lib/lp/code/model/branchlookup.py (+11/-8)
lib/lp/code/model/branchtarget.py (+3/-3)
lib/lp/code/model/tests/test_branch.py (+206/-206)
lib/lp/code/model/tests/test_branchlookup.py (+35/-30)
lib/lp/code/model/tests/test_branchset.py (+12/-0)
lib/lp/code/model/tests/test_branchtarget.py (+9/-9)
lib/lp/codehosting/scanner/bzrsync.py (+13/-1)
lib/lp/codehosting/scanner/events.py (+9/-1)
lib/lp/codehosting/scanner/tests/test_bzrsync.py (+33/-1)
lib/lp/registry/browser/productseries.py (+2/-1)
lib/lp/services/webhooks/client.py (+1/-1)
lib/lp/services/webhooks/interfaces.py (+2/-1)
lib/lp/services/webhooks/model.py (+11/-0)
lib/lp/services/webhooks/templates/webhooktarget-webhooks.pt (+2/-2)
lib/lp/services/webhooks/tests/test_browser.py (+73/-8)
lib/lp/services/webhooks/tests/test_model.py (+31/-15)
lib/lp/services/webhooks/tests/test_webservice.py (+29/-11)
- William Grant: Approve (code) on 2015-10-04
-
Diff: 260 lines (+97/-12)7 files modifiedlib/lp/code/model/branch.py (+4/-0)
lib/lp/code/model/gitrepository.py (+4/-0)
lib/lp/services/webhooks/browser.py (+4/-1)
lib/lp/services/webhooks/configure.zcml (+16/-7)
lib/lp/services/webhooks/interfaces.py (+34/-4)
lib/lp/services/webhooks/model.py (+9/-0)
lib/lp/services/webhooks/tests/test_browser.py (+26/-0)
- William Grant: Approve (code) on 2015-10-05
-
Diff: 81 lines (+9/-2)4 files modifiedlib/lp/code/model/gitjob.py (+2/-0)
lib/lp/code/model/tests/test_gitjob.py (+3/-1)
lib/lp/codehosting/scanner/events.py (+3/-1)
lib/lp/codehosting/scanner/tests/test_bzrsync.py (+1/-0)
- Colin Watson: Approve on 2015-10-26
-
Diff: 77 lines (+24/-4)2 files modifiedlib/lp/services/webhooks/browser.py (+6/-3)
lib/lp/services/webhooks/tests/test_browser.py (+18/-1)
| description: | updated |
| Savvas Radevic (medigeek) wrote : | #2 |
Confirming the bug then :)
There are more updated information on how to use the bzr-cia plugin: https:/
The bzr-cia plugin can be found in the package: cia-clients
| Changed in launchpad: | |
| status: | New → Confirmed |
| affects: | launchpad → launchpad-code |
| Changed in launchpad-code: | |
| status: | Confirmed → Triaged |
| importance: | Undecided → Low |
| Dimitri John Ledkov (xnox) wrote : | #3 |
http://
http://
Google code support has landed with elegant server side implementation. It's for http dunno how that will work since lp pushes using ssh....
| Karl Fogel (kfogel) wrote : | #4 |
How LP receives the code changes from users shouldn't affect how LP notifies CIA that the changes have happened. We can receive via SSH (or SFTP, or passenger pigeon, or whatever) and still notify CIA via HTTP or whatever is best.
| Karl Fogel (kfogel) wrote : | #5 |
By the way, we should consider using that Google Code system for commit hooks ourselves. It's a cute solution to the "users want to run arbitrary hooks, we don't want to run arbitrary code on our servers" problem.
| Paul Hummer (rockstar) wrote : | #6 |
Hey folks! If you're also interested in robotic landing, Tarmac currently does support CIA notifications when it merges branches for you. It's an okay workaround until Launchpad gets native support for it.
| Tim Penhey (thumper) wrote : | #7 |
I agree that it would be awesome to have post-commit web hooks. However the launchpad code team does not have the resources to put into this right now.
I'd personally be happy to mentor someone through this, but I don't have the time to do it myself.
| Adi Roiban (adiroiban) wrote : | #8 |
Whould it not be simpler to start by implementing a generic web hooks similar to what we have on github ?http://
By doing so, project can implement their own LP to CIA hook gateways ... LP to ANY_OTHER_SYSTEM.
Is there a bug filed on LP to address this generic webhook feature? I would be happy to work on that.
| Tim Penhey (thumper) wrote : Re: [Bug 342729] Re: [wishlist] Please add built-in support for cia.vc commit updates | #9 |
On Tue, 06 Jul 2010 04:40:51 you wrote:
> Whould it not be simpler to start by implementing a generic web hooks
> similar to what we have on github ?http://
> hooks/
>
> By doing so, project can implement their own LP to CIA hook gateways ...
> LP to ANY_OTHER_SYSTEM.
>
> Is there a bug filed on LP to address this generic webhook feature? I
> would be happy to work on that.
I think there is. I'll have to dig it up. I'd be happy to mentor the webhook
work. It is something I'd like to see but haven't had the personal bandwidth
to work on.
| summary: |
- [wishlist] Please add built-in support for cia.vc commit updates + Should support post-commit webhooks |
| Changed in launchpad: | |
| assignee: | nobody → William Grant (wgrant) |
| status: | Triaged → In Progress |
| Karl Fogel (kfogel) wrote : | #10 |
\o/ wgrant
| Launchpad QA Bot (lpqabot) wrote : | #11 |
r13138 in db-stable (http://
| tags: | added: qa-needstesting |
| tags: |
added: qa-ok removed: qa-needstesting |
| Launchpad QA Bot (lpqabot) wrote : | #12 |
r17632 in stable (http://
| tags: |
added: qa-needstesting removed: qa-ok |
| Launchpad QA Bot (lpqabot) wrote : | #13 |
r17633 in stable (http://
| Launchpad QA Bot (lpqabot) wrote : | #14 |
r17634 in stable (http://
| tags: |
added: qa-ok removed: qa-needstesting |
| Launchpad QA Bot (lpqabot) wrote : | #15 |
r17643 in stable (http://
| tags: |
added: qa-needstesting removed: qa-ok |
| tags: |
added: qa-ok removed: qa-needstesting |
| Launchpad QA Bot (lpqabot) wrote : | #16 |
r17650 in stable (http://
| tags: |
added: qa-needstesting removed: qa-ok |
| Launchpad QA Bot (lpqabot) wrote : | #17 |
r17651 in stable (http://
| tags: |
added: qa-ok removed: qa-needstesting |
| Launchpad QA Bot (lpqabot) wrote : | #18 |
r17671 in stable (http://
| tags: |
added: qa-needstesting removed: qa-ok |
| Launchpad QA Bot (lpqabot) wrote : | #19 |
r17673 in stable (http://
| tags: |
added: qa-ok removed: qa-needstesting |
| Launchpad QA Bot (lpqabot) wrote : | #20 |
r17679 in stable (http://
| tags: |
added: qa-needstesting removed: qa-ok |
| tags: |
added: qa-ok removed: qa-needstesting |
| Launchpad QA Bot (lpqabot) wrote : | #21 |
r17689 in stable (http://
| tags: |
added: qa-needstesting removed: qa-ok |
| tags: |
added: qa-ok removed: qa-needstesting |
| Launchpad QA Bot (lpqabot) wrote : | #22 |
r17690 in stable (http://
| tags: |
added: qa-needstesting removed: qa-ok |
| Colin Watson (cjwatson) wrote : | #23 |
Demonstration: https:/
| tags: |
added: qa-ok removed: qa-needstesting |
| Launchpad QA Bot (lpqabot) wrote : | #24 |
r17693 in stable (http://
| tags: |
added: qa-needstesting removed: qa-ok |
| tags: |
added: qa-ok removed: qa-needstesting |
| Launchpad QA Bot (lpqabot) wrote : | #25 |
r17721 in stable (http://
| tags: |
added: qa-needstesting removed: qa-ok |
| tags: |
added: qa-ok removed: qa-needstesting |
| Launchpad QA Bot (lpqabot) wrote : | #26 |
Fixed in db-stable r13225 <http://
| tags: |
added: qa-needstesting removed: qa-ok |
| Changed in launchpad: | |
| status: | In Progress → Fix Committed |
| Colin Watson (cjwatson) wrote : | #27 |
2015-09-25 19:13:33,649 INFO 2209-66-1 applied just now in 0.3 seconds
| tags: |
added: qa-ok removed: qa-needstesting |
| Changed in launchpad: | |
| status: | Fix Committed → In Progress |
| Launchpad QA Bot (lpqabot) wrote : | #28 |
r17771 in stable (http://
| tags: |
added: qa-needstesting removed: qa-ok |
| tags: |
added: qa-ok removed: qa-needstesting |
| Launchpad QA Bot (lpqabot) wrote : | #29 |
r17788 in stable (http://
| tags: |
added: qa-needstesting removed: qa-ok |
| Launchpad QA Bot (lpqabot) wrote : | #30 |
r17790 in stable (http://
| tags: |
added: qa-ok removed: qa-needstesting |
| Launchpad QA Bot (lpqabot) wrote : | #31 |
r17832 in stable (http://
| tags: |
added: qa-needstesting removed: qa-ok |
| tags: |
added: qa-ok removed: qa-needstesting |
| Changed in launchpad: | |
| status: | In Progress → Fix Released |

Just a "me too". CIA notification is great, it really helps people stay in touch with what's going on, and tends to stimulate code review (because the notices appear in IRC, where people can react to them in real-time and in concert).
See http:// cia.vc/ doc/ for an overview of how CIA works.
http:// cia.vc/ doc/clients/ has some instructions about Bazaar, but they seem a bit out-of-date. Jelmer or Robert may need to unify and/or update the plugins listed there.