我将如何在 Azure DevOps 上设置 Web 挂钩侦听器?
How would I go about setting up a web hook listener on Azure DevOps?
目标:
我们有一个翻译管理系统项目,其中包含一组字符串翻译,可以导出为 iOS、Android 和 Web 格式。这可以通过其 API、CLI 或使用 UI 手动完成。我们需要与基于 git 的存储库集成,该存储库位于 DevOps 中,以便在对 TMS 翻译进行更改时,代码库会自动更新(最好使用更改创建 PR)。
我尝试过的:
我是一名移动开发人员,几乎没有 web hook 经验,但似乎它们是解决方案的关键。我可以在 TMS 端配置网络挂钩,但需要提供一个 URL 和一个监听器。通过 Azure DevOps 服务挂钩设置并广泛阅读文档,我找不到任何关于设置自定义侦听器以订阅另一个服务的 Web 挂钩、使用其有效负载并在 DevOps 中触发操作的方法。
我知道这可能会受到 TMS 和 DevOps 功能的限制,但是从高层次的角度来看,如何解决这个问题?似乎没有任何内置解决方案,那么自定义解决方案需要什么呢?如果无法实现我正在寻找的东西,我也想知道。
提前致谢!
当您通过 devops 设置授权您的 GitHub 存储库时,将使用可配置的挂钩事件自动在您的存储库上创建 webhook。
So that when changes are made to the TMS translations, the code base
is updated automatically (preferably a PR would be created with the
changes).
抱歉,据我所知,Azure Devops 服务不支持这种情况。
1.The service hooks azure devops 服务中的选项是当 Azure Devops 服务中发生某事(事件)时,它在目标服务上运行任务(操作)。但是你想要的是当外部服务发生某些事情时,它在 azure devops 服务中运行任务(操作)。目前不支持此行为。
2.And Service Hooks 中不同的服务有不同的支持操作。我们以 Jenkins 服务(一个服务挂钩)为例,参见 trigger Jenkins 中的第 5 步:Azure Devops 可以触发 Jenkins 构建。
至于Web Hooks(另一个服务挂钩),它不能触发像the code base is updated automatically
这样的动作。它只是发送 Json 表示。
所以Azure Devops Service暂时不支持你想要的场景。
此外:不确定您的 TMS 是如何工作的,但您可以考虑使用 Azure Devops Rest API 来触发 Azure Devops 服务中的操作。 (这些剩余 api 可用于排队构建、发布或执行 git 相关操作)
当您的 TMS 翻译发生变化时,如果您的 TMS 支持这种行为,您可以调用相应的 Azure Devops rest api 来管理 Azure Devops 中的 git 存储库。
希望以上所有内容都能解决您的困惑,为什么 Azure Devops 中的 Web Hook 不支持您的方案:)
目标: 我们有一个翻译管理系统项目,其中包含一组字符串翻译,可以导出为 iOS、Android 和 Web 格式。这可以通过其 API、CLI 或使用 UI 手动完成。我们需要与基于 git 的存储库集成,该存储库位于 DevOps 中,以便在对 TMS 翻译进行更改时,代码库会自动更新(最好使用更改创建 PR)。
我尝试过的: 我是一名移动开发人员,几乎没有 web hook 经验,但似乎它们是解决方案的关键。我可以在 TMS 端配置网络挂钩,但需要提供一个 URL 和一个监听器。通过 Azure DevOps 服务挂钩设置并广泛阅读文档,我找不到任何关于设置自定义侦听器以订阅另一个服务的 Web 挂钩、使用其有效负载并在 DevOps 中触发操作的方法。
我知道这可能会受到 TMS 和 DevOps 功能的限制,但是从高层次的角度来看,如何解决这个问题?似乎没有任何内置解决方案,那么自定义解决方案需要什么呢?如果无法实现我正在寻找的东西,我也想知道。
提前致谢!
当您通过 devops 设置授权您的 GitHub 存储库时,将使用可配置的挂钩事件自动在您的存储库上创建 webhook。
So that when changes are made to the TMS translations, the code base is updated automatically (preferably a PR would be created with the changes).
抱歉,据我所知,Azure Devops 服务不支持这种情况。
1.The service hooks azure devops 服务中的选项是当 Azure Devops 服务中发生某事(事件)时,它在目标服务上运行任务(操作)。但是你想要的是当外部服务发生某些事情时,它在 azure devops 服务中运行任务(操作)。目前不支持此行为。
2.And Service Hooks 中不同的服务有不同的支持操作。我们以 Jenkins 服务(一个服务挂钩)为例,参见 trigger Jenkins 中的第 5 步:Azure Devops 可以触发 Jenkins 构建。
至于Web Hooks(另一个服务挂钩),它不能触发像the code base is updated automatically
这样的动作。它只是发送 Json 表示。
所以Azure Devops Service暂时不支持你想要的场景。
此外:不确定您的 TMS 是如何工作的,但您可以考虑使用 Azure Devops Rest API 来触发 Azure Devops 服务中的操作。 (这些剩余 api 可用于排队构建、发布或执行 git 相关操作)
当您的 TMS 翻译发生变化时,如果您的 TMS 支持这种行为,您可以调用相应的 Azure Devops rest api 来管理 Azure Devops 中的 git 存储库。
希望以上所有内容都能解决您的困惑,为什么 Azure Devops 中的 Web Hook 不支持您的方案:)