diff options
author | dklawren <dklawren@users.noreply.github.com> | 2017-11-29 19:54:22 +0100 |
---|---|---|
committer | Dylan William Hardison <dylan@hardison.net> | 2017-11-29 19:54:22 +0100 |
commit | 7da8e374e0c96e10077690935e829b0c04fc82f4 (patch) | |
tree | 44a92ccdee16c45badd35e9c986294fd40beec12 /extensions/PhabBugz/Extension.pm | |
parent | 64ce7cb12deee5f394a869d9ec6b5e46cd2679f0 (diff) | |
download | bugzilla-7da8e374e0c96e10077690935e829b0c04fc82f4.tar.gz bugzilla-7da8e374e0c96e10077690935e829b0c04fc82f4.tar.xz |
Bug 1409957 - Create polling daemon to query Phabricator for recent transcations and update bug data according to revision changes
Diffstat (limited to 'extensions/PhabBugz/Extension.pm')
-rw-r--r-- | extensions/PhabBugz/Extension.pm | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/extensions/PhabBugz/Extension.pm b/extensions/PhabBugz/Extension.pm index 68090aa10..b3ad44819 100644 --- a/extensions/PhabBugz/Extension.pm +++ b/extensions/PhabBugz/Extension.pm @@ -10,10 +10,20 @@ package Bugzilla::Extension::PhabBugz; use 5.10.1; use strict; use warnings; + use parent qw(Bugzilla::Extension); +use Bugzilla::Constants; +use Bugzilla::Extension::PhabBugz::Feed; +use Bugzilla::Extension::PhabBugz::Logger; + our $VERSION = '0.01'; +BEGIN { + *Bugzilla::User::phab_phid = sub { return $_[0]->{phab_phid}; }; + *Bugzilla::User::phab_review_status = sub { return $_[0]->{phab_review_status}; }; +} + sub config_add_panels { my ($self, $args) = @_; my $modules = $args->{panel_modules}; @@ -40,4 +50,47 @@ sub webservice { $args->{dispatch}->{PhabBugz} = "Bugzilla::Extension::PhabBugz::WebService"; } +# +# installation/config hooks +# + +sub db_schema_abstract_schema { + my ($self, $args) = @_; + $args->{'schema'}->{'phabbugz'} = { + FIELDS => [ + id => { + TYPE => 'INTSERIAL', + NOTNULL => 1, + PRIMARYKEY => 1, + }, + name => { + TYPE => 'VARCHAR(255)', + NOTNULL => 1, + }, + value => { + TYPE => 'MEDIUMTEXT', + NOTNULL => 1 + } + ], + INDEXES => [ + phabbugz_idx => { + FIELDS => ['name'], + TYPE => 'UNIQUE', + }, + ], + }; +} + +sub install_filesystem { + my ($self, $args) = @_; + my $files = $args->{'files'}; + + my $extensionsdir = bz_locations()->{'extensionsdir'}; + my $scriptname = $extensionsdir . "/PhabBugz/bin/phabbugzd.pl"; + + $files->{$scriptname} = { + perms => Bugzilla::Install::Filesystem::WS_EXECUTE + }; +} + __PACKAGE__->NAME; |