我有两个独立的自动化工作流程。
第一个工作流程由用户手动启动。它从 SharePoint 列表中检索项目,在 Azure DevOps 中创建相应的工作项目,检索生成的 AzureDevopsID,使用此 ID 更新 SharePoint 项目,检索附件并将其附加到 Azure DevOps 中创建的工作项目。
只要在 SharePoint 列表中修改项目或文件,就会自动触发第二个工作流。它检索修改的项目,更新 Azure DevOps 中相应的工作项目,并将所有更新的附件附加到其中。
但是,我遇到了一个问题,即第一个工作流使用 AzureDevopsID 更新 SharePoint 项目的操作触发了第二个工作流,这是我想避免的。在使用 AzureDevopsID 更新 SharePoint 项目时,我需要防止第一个工作流无意中触发第二个工作流。我怎样才能做到这一点?
根据您的描述,您可以考虑以下想法:
首先,在 Azure DevOps 中使用自定义项目流程,以便您可以将名为
updated_by_auto_workflow
的字段添加到您的工作项。您可以将该字段设置为默认 false。详细步骤请参考向工作项类型添加自定义字段(继承流程)。
在第一个工作流程中,我们需要在“创建工作项”步骤中将字段
updated_by_auto_workflow
的值设置为 true。
当第一个工作流使用 AzureDevopsID 更新 SharePoint 项目的操作时,会自动触发第二个工作流。您可以添加一个步骤来获取工作项详细信息,包括字段
updated_by_auto_workflow
的值。如果该值为 true,您可以跳过第二个工作流程的其余步骤。如果该值为 false,您可以执行第二个工作流程的其余步骤。