51黑料不打烊

事件订阅版本控制

Workfront提供两个版本的活动订阅。 本文介绍了它们之间的区别。

新版本不是对Workfront API的更改,而是对事件订阅功能的更改。

升级或降级事件订阅的功能确保在对事件结构做出更改时,现有订阅不会中断,从而允许您测试和升级到新版本,而不会在事件订阅中出现间隙。

将事件订阅升级或降级到另一个版本时,您在版本更改后的五分钟内,会收到每个事件交付的重复事件。 重复项包括事件订阅版本1和版本2中的一个。 这可确保不会因更改事件订阅版本而错过任何事件。

有关用于升级或降级事件订阅的端点的信息,请参阅事件订阅础笔滨一文中的事件订阅版本控制

IMPORTANT
以下版本将影响事件订阅版本控制:
  • 25.2版本(2025年4月10日):在25.2版本之后创建的所有新订阅都创建为版本2。
  • 25.3版本(2025年7月17日):在25.3版本发布后,订阅无法再降级为版本1。
  • 2025年9月1日:所有剩余版本1订阅迁移到版本2。

版本1与版本2之间的更改

已对事件订阅版本2进行以下更改:

一般更改

受影响的字段
版本1(以前的行为)
版本2(更改)
修正操作
参数值
对于从包含自定义表单的模板创建的任何对象,先发送CREATE事件,然后发送包含参数值(包括计算字段及其值)的UPDATE
只发送CREATE事件,其中包含包含计算字段的参数值。
如果您对UPDATE事件具有一个带参数值(包括计算的自定义字段)的筛选器,并且预期在包含参数值的对象CREATE事件之后收到该筛选器,则您将不再收到该UPDATE事件。 如果要查看对象创建时的参数值,则必须创建一个额外的CREATE订阅。
多选类型字段

对于包含多选类型字段更改的任何类型事件,如果该字段仅包含一个值,则它将转换为并以字符串形式发送。 否则,它将作为数组发送。

示例:

  • myMultiSelectField: ["oneValue"] 已转换并作为myMultiSelectField: "oneValue"发送。
  • myMultiSelectField: ["first", "second"] 作为myMultiSelectField: ["first", "second"]发送。

无论数组中有多少值,它都将作为数组发送。

示例:

  • myMultiSelectField: ["oneValue"] 作为myMultiSelectField: ["oneValue"]发送。
  • myMultiSelectField: ["first", "second"] 作为myMultiSelectField: ["first", "second"]发送。
如果您有一个预订,该预订在多选字段上具有筛选器,且值为字符串,则必须使用具有值为数组的相同筛选器创建新预订。

对象特定的更改

对象代码
受影响的字段
版本1(上一个行为)
版本2(更改)
修正操作
分配
  • projectID
  • taskID
  • opTaskID
  • customerID
更新此对象时,UPDATE事件有时错误地显示受影响的字段从null更改为ID value
所有UPDATE事件都显示受影响字段的正确值。
无。 如果对受影响的字段应用了过滤器,则只有在这些字段实际发生更改时,而不是任何其他值发生更改时,您才会收到UPDATE事件。
DOCU
  • referenceObjID
在此对象上更新任何参数值时,UPDATE事件错误地显示受影响的字段从null更改为object id
所有UPDATE事件都显示受影响字段的正确值。
无。 如果对受影响的字段应用了过滤器,则只有在这些字段实际发生更改时,而不是任何其他值发生更改时,您才会收到UPDATE事件。
  • groups
删除文档时,DELETE事件将受影响的字段错误地显示为处于产别蹿辞谤别状态的空数组。
DELETE事件正确显示了处于“之前”状态的受影响字段。
无。 DELETE事件仍将被发送,但现在显示受影响字段的正确数据。
DOCV
  • proofDecision
  • proofName
  • proofProgress
更新此对象时,将发送两个UPDATE事件。 第一个事件不包含受影响的字段,而第二个事件包含。
所有字段更新(包括受影响的字段)都仅存在于一个UPDATE事件中,并且不会发送第二个不必要的事件。
无。 如果对受影响的字段应用了过滤器,则事件将在第一个事件中交付。
展开
  • topReferenceObjCode
  • referenceObjectName
为费用更新任何参数值时,UPDATE事件错误地显示了迟辞辫搁别蹿别谤别苍肠别翱产箩颁辞诲别从EXPNS更改为PROJreferenceObjectNamenull更改为string value of project name
所有UPDATE事件都显示受影响字段的正确值。
无。 如果对受影响的字段应用了过滤器,则只有在这些字段实际发生更改时,而不是任何其他值发生更改时,您才会收到UPDATE事件。
  • topReferenceObjCode
  • referenceObjectName
删除费用对象时,在发送DELETE事件之前发送了UPDATE事件,并将受影响的字段更改为苍耻濒濒。
未发送额外的UPDATE事件。 DELETE事件具有处于“之前”状态的受影响字段的正确值。
如果您对UPDATE事件中受影响的字段具有过滤器,并且希望在删除对象时收到该过滤器,则您将不再收到该UPDATE事件。 如果您希望在删除对象时看到这些字段,则必须创建其他DELETE订阅。
HOUR
  • projectID
  • taskID
  • roleID
  • timesheetID
  • hourTypeID
  • projectOverheadID
  • referenceObjID
  • referenceObjCode
  • securityRootID
删除此对象时,DELETE事件将受影响的字段错误地显示为null,其状态为“之前”。
DELETE事件正确显示了处于“之前”状态的受影响字段。
无。 DELETE事件仍会发送,但现在会显示受影响字段的正确数据。
OPTASK
  • rootGroupID
在此对象上更新任何参数值时,UPDATE事件错误地显示受影响的字段从null更改为ID value
所有UPDATE事件都显示受影响字段的正确值。
无。 如果受影响的字段上有筛选器,则仅当该字段实际发生更改时,而不是当任何其他参数值发生更改时,您才会收到UPDATE事件。
  • resolveProjectID
  • resolveTaskID
  • resolvingObjID
更新此对象时,UPDATE事件有时错误地显示受影响的字段从null更改为ID value
所有UPDATE事件将显示受影响字段的正确值。
项目
  • rootGroupID
在此对象上更新任何参数值时,UPDATE事件错误地显示受影响的字段从null更改为ID value
所有UPDATE事件都显示受影响字段的正确值。
无。 如果受影响的字段上有筛选器,则仅当该字段实际发生更改时,而不是当任何其他参数值发生更改时,您才会收到UPDATE事件。
  • convertedOpTaskID
更新此对象时,UPDATE事件有时错误地显示受影响的字段从null更改为ID value
所有UPDATE事件都显示受影响字段的正确值。
无。 如果受影响的字段上有筛选器,则仅当该字段实际发生更改时,而不是当任何其他参数值发生更改时,您才会收到UPDATE事件。
任务
  • rootGroupID
在此对象上更新任何参数值时,UPDATE事件错误地显示受影响的字段从null更改为ID value
所有UPDATE事件都显示受影响字段的正确值。
无。 如果受影响的字段上有筛选器,则仅当该字段实际发生更改时,而不是当任何其他参数值发生更改时,您才会收到UPDATE事件。
  • convertedOpTaskID
更新此对象时,UPDATE事件有时错误地显示受影响的字段从null更改为ID value
所有UPDATE事件都显示受影响字段的正确值。
无。 如果受影响的字段上有筛选器,则仅当该字段实际发生更改时,而不是当任何其他参数值发生更改时,您才会收到UPDATE事件。

在Workfront Fusion场景中更新事件订阅版本

Workfront Fusion使用事件订阅来监视Workfront中的更改以触发场景。 您可以使用Workfront >更新事件有效负载版本模块,更新贵耻蝉颈辞苍直接在场景中使用的事件订阅版本。

有关使用此模块的说明,请参阅Workfront Fusion文档中的奥辞谤办蹿谤辞苍迟模块

recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43