6.4. 调用 Fuse Online 公共 API 导出端点


在使用外部工具将 Fuse 在线集成从一个 Fuse Online 环境复制到另一个 Fuse 之前,必须完成以下任务:

用于导出特定环境集成的端点

要导出标记为特定环境的集成,Fuse Online 提供以下 GET 方法端点:

/public​/integrations​/{env}​/export.zip

{env} 替换为您创建的 CI/CD 环境标签。当为特定环境标记集成时,Fuse Online 维护一个指示何时标记的时间戳。默认行为是,端点仅在尚未导出自标记以来尚未导出时才导出集成。例如,要导出标记为 test1 环境的集成,端点为:

/public/integrations/test1/export.zip

此端点导出具有 test1 环境标签的每个集成,并满足以下条件:

  • 自上次导出以来,该集成已标记为 test1 环境。
  • 该集成已标记为 test1 环境,它从未导出。

端点打包 export.zip 文件中的集成并返回该文件。

如果自导出集成以来没有标记为指定环境的集成,则端点会返回 HTTP 204 响应,以指示没有返回任何操作。

用于导出标记为指定环境的所有集成的端点

您可以调用导出端点,以便它导出使用您指定的环境标签标记的 Fuse Online 环境中的所有集成。端点会导出集成,无论是自上次导出集成的时间以来,是否为指定环境标记。这样可轻松复制在另一个 Fuse 在线环境中具有特定标签的所有集成。要做到这一点:

  • 您必须已创建了 environment 标签。请参阅 标记 CI/CD 集成
  • 在导出端点的调用中添加 ignoreTimestamp=true 选项。

例如:

/public/integrations/test1/export.zip?ignoreTimestamp=true -o export.zip

用于导出所有集成的端点

您可以调用导出端点,以便在一个 Fuse Online 环境中导出所有集成。这样可轻松复制其他 Fuse Online 环境中的所有集成。要做到这一点:

  • 您必须已创建了 environment 标签。请参阅 标记 CI/CD 集成
  • all=true 选项添加到导出端点的调用中。

例如:

/public/integrations/{env}/export.zip?all=true

{env} 替换为 CI/CD 环境标签。端点将指定的环境标签分配给尚未为该环境标记的每个集成。

添加 all=true 选项时,还必须明确指定希望将导出的集成打包在 export.zip 文件中。例如:

/public/integrations/test1/export.zip?all=true -o export.zip

此端点调用:

  • 标记 test1 环境的每个集成。
  • 返回 export.zip 文件中的所有集成。

    如果没有指定 -o export.zip 选项,则端点会返回一个名为 export.zip?all=true 的文件。

导出端点所需的自定义标头

调用导出端点的命令必须完全指定这些自定义标头,如下所示:

  • -H "Content-Type: multipart/form-data"
  • -h "SYNDESIS-XSRF-TOKEN: awesome"

    Fuse Online 公共 API 需要此标头来验证请求。

  • -h 'Authorization: Bearer <token>'

    在创建用于公开 Fuse Online 公共 API 的 OpenShift 服务帐户时,将 <token> 替换为您复制到文件中的 secret 令牌。

导出集成的 curl 命令示例

以下是调用导出集成的 Fuse Online API 端点的 curl 命令示例:

curl -v -k -L -H "Content-Type: multipart/form-data" -H "SYNDESIS-XSRF-TOKEN: awesome" -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJzeW5kZXNpcyIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJzeW5kZXNpcy1jZC1jbGllbnQtdG9rZW4tMnZjNmwiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoic3luZGVzaXMtY2QtY2xpZW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNjUxMjYxNGMtMmYwMS0xMWU5LTk3OWEtNDI1YWNlMzY3MTcyIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50OnN5bmRlc2lzOnN5bmRlc2lzLWNkLWNsaWVudCJ9.uKsri0JSKJDbgHoQwAhBJSNuWKwJgjegf2QlrCkhxVssSK1zIMZQaF9P5a4R7ZcWRnrZ_345UTqxYVeRlfHWVH0PqBkD-n7PAS9dcKJIFdS1jUHOmL1FTGgc3YW-bz1SlWT93tvK1EhorZ4_-EBfXhSAP4Uumi5qAg3_QUTMDstq233NSwBKYtFOw3Pp1ys3p3y0hcaiLMimeCH60vR4iWvptqqzc5QDigHiPySZNWxs_5awZlwdoIDvR-nSj690aC-49UKFgyEEdzdFU4bI2W4hOyDyhN9fVaIAZQKeJUrJBU-lnFTHI_NAd2OwzOEBpWZuj31Za5w9fU4kf4UDGA'
https://public-syndesis.192.168.64.42.nip.io/api/v1/public/integrations/dev1/export.zip

在命令中:

  • 命令末尾的 URL 标识用于导出集成的 Fuse 在线环境。
  • dev1 环境标签的规格表示您要导出为 dev1 环境标记的集成,并且自标记以来尚未导出。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.