在 phabricator 中为 maniphest 定义自定义选项时如何添加对象搜索?

How to add object search when defining custom options for maniphest in phabricator?

我正在尝试通过在 maniphest.custom-field-definitions 中添加文件来在 maniphest 中设置自定义搜索字段。完全定制如下

{
  "mycompany:estimated-hours": {
    "name": "Estimated Hours",
    "type": "text",
    "caption": "Estimated number of hours this will take.",
    "required": true
  },
  "mycompany:deadline": {
    "name": "Deadline",
    "type": "date",
    "caption": "Deadline of the project"
  },
  "mycompany:actual-hours": {
    "name": "Actual Hours",
    "type": "text",
    "caption": "Actual number of hours this took."
  },
  "mycompany:company-jobs": {
    "name": "Work Type",
    "type": "select",
    "options": {
      "mycompany:engineer": "Engineer",
      "mycompany:designer": "Designer",
      "mycompany:qa": "Quality Assurance",
      "mycompany:other": "Non Technical"
    }
  },
  "mycompanyname:fieldname": {
    "name": "Blocked by task",
    "type": "users",
    "caption": "Add any dependency on other tasks",
    "required":false
  }
}

我在 phabricator 中为 Blocked by task 设置搜索字段时遇到问题。该字段应该按照 type="users"

的方式搜索 maniphest

我花了一整天的时间尝试通过多种方式实现此功能,例如

{
"mycompany:blocks-manifest": {
    "name": "Blocked By",
    "type": "text",
    "strings": {
        "search.default": "(ANY)"
    },
    "caption": "If there is any dependency, please specify",
    "options" :{
        "search.default": "(ANY)"
    }
  }
}

以及

{
  "mycompany:blocks-manifest": {
    "name": "Blocked By",
    "type": "search",
    "strings": {
        "search.default": "(ANY)"
    },
    "caption": "If there is any dependency, please specify"
  }
}

也是这样

{
  "mycompany:blocks-manifest": {
    "name": "Blocked By",
    "type": "text",
    "strings": search.default,
    "caption": "If there is any dependency, please specify"
  }
}

如果我总结一下自己,我已经查看了 Phabricator 文档中的 Configuring Custom Fields 这方面的文档,但没有收获。

关于如何修复或实现在 maniphest.custom-field-definations 下的 phabricator 中搜索先前任务的方法的任何线索?

非常鼓励来自任何 phabricator 的建议。

如果我必须通过 Adding New Classes 实现此目的,请建议如何实现。

默认情况下,您可以使用 Maniphest 附带的本机 "Blocked By" 或 "Blocks" 字段。这是最简单的选项。