Bugzilla扩展。如何检查自定义字段是否为空?

时间:2017-12-07 11:00:35

标签: perl bugzilla

如果某个自定义字段为空,如何检查条件?

例如,可以检查未设置qa_contact。

https://

自定义字段是否有相同的方式,例如cf_test?

我知道要在变量中保存自定义字段,需要:

sub object_end_of_set_all {
    my ($self, $args) = @_;
    my $object = $args->{'object'};
    if ($object->{'bug_status'} eq 'RESOLVED') {        
        if ($object->{'qa_contact'} eq "") {             
            ThrowUserError("empty_qa_contact");
        }
    }
} 

可以使用哪种方法获取其值或检查它是否为空?

1 个答案:

答案 0 :(得分:0)

发现两个问题: 1.执行ThrowUserError(“...”)后,任何对象(cf_test甚至bugzilla字段)始终为NULL。 2.如果要对自定义字段使用Hook“object_end_of_set_all”,则只显示自定义字段的缓存值。

答案是使用不同的钩子:

sub bug_end_of_update {
    my ($self, $args) = @_;
    my ($bug, $old_bug, $timestamp, $changes) = @$args{qw(bug old_bug timestamp changes)};
    if ($bug->bug_status eq 'RESOLVED') {
        if ($bug->cf_test eq "") {
            ThrowUserError("test_is_empty");
        }
    }
}