【问题标题】:Upload a github action artifact to LATEST release将 github 操作工件上传到最新版本
【发布时间】:2020-11-04 20:20:08
【问题描述】:

我想将工件上传到最新版本... 不创建新版本。

我从github官方行动upload-release-asset开始上传神器。
它需要一个 upload_url 作为输入,告诉它发布的 url。
这通常取自在上一步中使用create-release 操作创建版本。

我试图从 create_release 打印输出 url-

https://uploads.github.com/repos/atiqg/test/releases/28579698/assets{?name,label}

然后我将其更改为直接到最新版本-

https://uploads.github.com/repos/atiqg/test/releases/latest/assets

不经意间没有解决并抛出此错误-

##[error]Multipart form data required

有什么办法可以做到吗?我不想通过操作创建新版本。
我想正常创建发布,然后操作应该将工件上传到最新版本...

【问题讨论】:

    标签: git github github-pages github-api github-actions


    【解决方案1】:

    如果latest不起作用,可以使用GitHub API获取upload_url...

    https://api.github.com/repos/actions/checkout/releases/latest

    ...然后将其传递给upload-release-asset。

    在工作流程中,它看起来像这样

    - run:   |
             upload_url=$(curl -sL https://api.github.com/repos/actions/checkout/releases/latest | jq -r '.upload_url')
             echo UPLOAD_URL=$upload_url >> $GITHUB_ENV
      shell: bash
    
    - uses: actions/upload-release-asset@v1
      with:
       upload_url: ${{ env.UPLOAD_URL }}
    

    【讨论】:

    • 这不再起作用,因为 set-env 默认情况下是停用的,但可以通过使用 echo UPLOAD_URL=$upload_url >> $GITHUB_ENV 而不是 echo ::set-env name=UPLOAD_URL::$upload_url 轻松修复
    猜你喜欢
    • 2017-02-12
    • 2020-02-02
    • 1970-01-01
    • 2020-11-17
    • 2021-12-18
    • 2014-05-14
    • 1970-01-01
    • 2016-11-11
    • 2020-01-10
    相关资源
    最近更新 更多