使用 Databricks Repos API 将顶级生产文件夹中的 Repo 升级到最新版本
Using the Databricks Repos API to bring Repo in top-level production folder to latest version
我在使用 Databricks Repos API 的 Github Actions 工作流程中遇到问题。我们希望 Git 操作中的 API 调用将我们的 Databricks Repos 顶级文件夹中的 Repo 带到合并到主分支中的最新版本。
我们设置的 Github Actions 工作流是:
on:
pull_request:
types:
- closed
jobs:
if_merged:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: |
export DATABRICKS_TOKEN=databricks_token_here
curl PATCH --header "Authorization: Bearer $DATABRICKS_TOKEN" \
https://<databricks-instance>/api/2.0/repos/{repo_id}?branch=main
合并后,Git集线器操作成功。但是当回到 Databricks 中的 Repo 时,更新的文件不存在,除非我们拉入 Databricks Repos UI.
Actions 工作流程中是否缺少某些内容?
是的,您有一个错误 - 分支名称的负载应该是 JSON,而不是 URL 的一部分。这里是 working code:
curl -s -n -X PATCH "$DATABRICKS_HOST/api/2.0/repos/$STAGING_REPOS_ID" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" -d '{"branch": "main"}'
P.S。您还可以将 databricks-cli 与 databricks repos update
命令一起使用,因为它是 shown here。主要优点 - 您可以使用回购路径而不是回购 ID。
我在使用 Databricks Repos API 的 Github Actions 工作流程中遇到问题。我们希望 Git 操作中的 API 调用将我们的 Databricks Repos 顶级文件夹中的 Repo 带到合并到主分支中的最新版本。
我们设置的 Github Actions 工作流是:
on:
pull_request:
types:
- closed
jobs:
if_merged:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: |
export DATABRICKS_TOKEN=databricks_token_here
curl PATCH --header "Authorization: Bearer $DATABRICKS_TOKEN" \
https://<databricks-instance>/api/2.0/repos/{repo_id}?branch=main
合并后,Git集线器操作成功。但是当回到 Databricks 中的 Repo 时,更新的文件不存在,除非我们拉入 Databricks Repos UI.
Actions 工作流程中是否缺少某些内容?
是的,您有一个错误 - 分支名称的负载应该是 JSON,而不是 URL 的一部分。这里是 working code:
curl -s -n -X PATCH "$DATABRICKS_HOST/api/2.0/repos/$STAGING_REPOS_ID" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" -d '{"branch": "main"}'
P.S。您还可以将 databricks-cli 与 databricks repos update
命令一起使用,因为它是 shown here。主要优点 - 您可以使用回购路径而不是回购 ID。