I'm trying to set up a rule in CiviRules that will send an e-mail n days after a contribution was made.

When I try to save the condition parameters I get an error message.

Can anyone confirm that this is a bug, or am I messing up something?

Error log:

2020/02/06 13:20:26 [error] 8317#8317: *280630 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught TypeError: Argument 1 passed to civicrm_api3() must be of the type string, null given, called in .../shared/uploads/sites/5/civicrm/ext/org.civicoop.civirules/CRM/CivirulesConditions/Generic/ValueComparison.php on line 125 and defined in .../releases/20200204155448/web/app/plugins/civicrm/civicrm/api/api.php:84

Stack trace:

#0 .../shared/uploads/sites/5/civicrm/ext/org.civicoop.civirules/CRM/CivirulesConditions/Generic/ValueComparison.php(125): civicrm_api3(NULL, 'getfields', Array)
#1 .../shared/uploads/sites/5/civicrm/ext/org.civicoop.civirules/CRM/CivirulesConditions/Generic/ValueComparison.php(73): CRM_CivirulesConditions_Generic_ValueComparison->isDateField(NULL, NULL)
#2 .../shared/uploads/sites/5/civicrm/ext/org.civicoop.civirules/CRM/CivirulesConditions/Contribution/LastContribution.php(64): CRM_CivirulesConditions_Generic_ValueComparison->ge" while reading response header from upstream, client: [...], server: [...], request: "GET /wp/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fcivirule%2Fform%2Frule&reset=1&action=update&id=2 HTTP/2.0", upstream: "fastcgi://unix:/var/run/php-fpm-wordpress.sock:", host: [...], referrer: [...]/wp/wp-admin/admin.php?page=CiviCRM&q=civicrm%2Fcivirules%2Fform%2Frulesview&reset=1"

I reproduced the bug on the demo site:

enter image description here

enter image description here

enter image description here


It might well be, but this is not the way I would specify the rule. This condition was for something pretty different, I do not recollect what exactly.

I would specify that the action is send email but the delay is xxxx number of days?

Like so:

enter image description here

  • Delay is a useful tool, however not in my case. My goal is to ask for a repeated contribution n days after the last contribution was made. Using delay would result in asking for a repeated contribution even if the contribution was already repeated within n days. – Szelim Simándi Feb 27 '20 at 12:15
  • Sounds like you have to develop your own specific action then? – ErikH - CiviCooP Feb 27 '20 at 14:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.