Phabricator之Audit触发规则修改

使用Phabricator的开发人员,肯定会使用到Audit功能。
Phabricator + Git
在Audit的官方文档中提到:

If you put Auditors: username1, username2 in your commit message, it will trigger an audit request to those users when you push it to a tracked branch.

然而在实现的使用过程中发现只有提交描述必须以Auditors:….开头的提交相关人员才能收到审核请求,这样写的结果是在查看git log时首先看到的Auditors:flybeta,…..很长的一串,很时不爽。 如下:

git commit -m “Auditors: flybeta, 张三, 李四…. 修改添加逻辑”

经查看Phabricator源代码发现(430行):

phabricator/src/applications/audit/editor/PhabricatorAuditEditor.php

  private function createAuditRequestTransactionFromCommitMessage(
    PhabricatorRepositoryCommit $commit) {

    $data = $commit->getCommitData();
    $message = $data->getCommitMessage();

    $matches = null;
    if (!preg_match('/^Auditors?:\s*(.*)$/im', $message, $matches)) {
      return array();
    }

    $phids = id(new PhabricatorObjectListQuery())
      ->setViewer($this->getActor())
      ->setAllowPartialResults(true)
      ->setAllowedTypes(
        array(
          PhabricatorPeopleUserPHIDType::TYPECONST,
          PhabricatorProjectProjectPHIDType::TYPECONST,
        ))
      ->setObjectList($matches[1])
      ->execute();

    if (!$phids) {
      return array();
    }

    foreach ($phids as $phid) {
      $this->addAuditReason($phid, pht('Requested by Author'));
    }
    return id(new PhabricatorAuditTransaction())
      ->setTransactionType(PhabricatorAuditActionConstants::ADD_AUDITORS)
      ->setNewValue(array_fuse($phids));
  }

此处正则匹配时就是以Auditors:….开始截取的,所以只需要修改此处就可以了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值