Should support post-commit webhooks
Bug #342729 reported by
Savvas Radevic
This bug affects 15 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
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
lp:~wgrant/launchpad/webhook-retries
- Colin Watson (community): Approve
-
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)
lp:~wgrant/launchpad/webhook-retries-manual
- Colin Watson (community): Approve
-
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)
lp:~wgrant/launchpad/webhook-delivery-tweaks
- Colin Watson (community): Approve
-
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)
lp:~wgrant/launchpad/webhook-browser
- Colin Watson (community): Approve
-
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)
lp:~wgrant/launchpad/webhook-api-and-active
- Colin Watson (community): Approve
-
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)
lp:~wgrant/launchpad/webhook-event-types
- Launchpad code reviewers: Pending requested
-
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)
lp:~wgrant/launchpad/webhook-trigger
- Kit Randel (community): Approve
-
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)
lp:~wgrant/launchpad/webhook-git-push
- Kit Randel (community): Approve
-
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)
lp:~wgrant/launchpad/webhookset
(Merged)
lp:~wgrant/launchpad/webhook-proxy-errors
- Colin Watson (community): Approve
-
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)
lp:~wgrant/launchpad/webhook-deliveries-ui
- Colin Watson (community): Approve
-
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)
lp:~cjwatson/launchpad/db-bzr-webhooks
- William Grant (community): Approve (db)
- Stuart Bishop: Pending (db) requested
-
Diff: 18 lines (+14/-0)1 file modifieddatabase/schema/patch-2209-66-1.sql (+14/-0)
lp:~cjwatson/launchpad/bzr-webhooks
- William Grant (community): Approve (code)
-
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)
lp:~wgrant/launchpad/webhook-db
- Colin Watson (community): Approve
-
Diff: 38 lines (+34/-0)1 file modifieddatabase/schema/patch-2209-66-0.sql (+34/-0)
lp:~wgrant/launchpad/webhook-model
- Colin Watson (community): Approve
-
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)
lp:~wgrant/launchpad/webhook-api
- Colin Watson (community): Approve
-
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)
lp:~wgrant/launchpad/webhook-jobrunner
- Colin Watson (community): Approve
-
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)
lp:~wgrant/launchpad/webhook-deletion
- Colin Watson (community): Approve
-
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)
lp:~cjwatson/launchpad/webhook-default-event-types
- William Grant (community): Approve (code)
-
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)
lp:~cjwatson/launchpad/webhook-payload-links
- William Grant (community): Approve (code)
-
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)
lp:~cjwatson/launchpad/add-webhook-secret
- Colin Watson (community): Approve
-
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 |
affects: | launchpad → launchpad-code |
Changed in launchpad-code: | |
status: | Confirmed → Triaged |
importance: | Undecided → Low |
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 |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
Changed in launchpad: | |
status: | Fix Committed → In Progress |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
tags: |
added: qa-ok removed: qa-needstesting |
Changed in launchpad: | |
status: | In Progress → Fix Released |
To post a comment you must log in.
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.