@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Herald - add ability to conditionalize on Maniphest Task projects

Summary: adds FIELD_PROJECTS and deploys it to Maniphest Task Herald Adapter. Went with "projects" because it feels like that could go well in other Adapters that want to conditionalize based on project.

Test Plan: made a new herald rule to be cc'd if project foo was on a task. it worked!

Reviewers: epriestley

CC: Korvin, epriestley, aran

Differential Revision: https://secure.phabricator.com/D7564

+7
+4
src/applications/herald/adapter/HeraldAdapter.php
··· 24 24 const FIELD_CONTENT_SOURCE = 'contentsource'; 25 25 const FIELD_ALWAYS = 'always'; 26 26 const FIELD_AUTHOR_PROJECTS = 'authorprojects'; 27 + const FIELD_PROJECTS = 'projects'; 27 28 28 29 const CONDITION_CONTAINS = 'contains'; 29 30 const CONDITION_NOT_CONTAINS = '!contains'; ··· 154 155 self::FIELD_CONTENT_SOURCE => pht('Content Source'), 155 156 self::FIELD_ALWAYS => pht('Always'), 156 157 self::FIELD_AUTHOR_PROJECTS => pht("Author's projects"), 158 + self::FIELD_PROJECTS => pht("Projects"), 157 159 ); 158 160 } 159 161 ··· 207 209 case self::FIELD_REVIEWERS: 208 210 case self::FIELD_CC: 209 211 case self::FIELD_AUTHOR_PROJECTS: 212 + case self::FIELD_PROJECTS: 210 213 return array( 211 214 self::CONDITION_INCLUDE_ALL, 212 215 self::CONDITION_INCLUDE_ANY, ··· 600 603 case self::FIELD_AFFECTED_PACKAGE: 601 604 return self::VALUE_OWNERS_PACKAGE; 602 605 case self::FIELD_AUTHOR_PROJECTS: 606 + case self::FIELD_PROJECTS: 603 607 return self::VALUE_PROJECT; 604 608 case self::FIELD_REVIEWERS: 605 609 return self::VALUE_USER_OR_PROJECT;
+3
src/applications/herald/adapter/HeraldManiphestTaskAdapter.php
··· 62 62 self::FIELD_AUTHOR, 63 63 self::FIELD_CC, 64 64 self::FIELD_CONTENT_SOURCE, 65 + self::FIELD_PROJECTS, 65 66 ), 66 67 parent::getFields()); 67 68 } ··· 103 104 return $this->getTask()->getAuthorPHID(); 104 105 case self::FIELD_CC: 105 106 return $this->getTask()->getCCPHIDs(); 107 + case self::FIELD_PROJECTS: 108 + return $this->getTask()->getProjectPHIDs(); 106 109 } 107 110 108 111 return parent::getHeraldField($field);