Github 动作js文件 return 要保存在变量中的字符串

Github Action js file return string to be saved in a variable

我有一个这样的 js 文件,它应该 return 我一个字符串,稍后在 action:

action.js

async function getData(){
 const url = "https://upload.wikimedia.org/wikipedia/commons/thumb/7/71/Meet_Truffle%21.jpg/440px-Meet_Truffle%21.jpg";
 return url;
}

getData().then((url) => {
  return url;
});

我做了类似的事情,但它似乎不起作用,你能告诉我我该怎么做吗?

Pull.yml

- name: Url
  run: node ./action.js >> $URL

- uses: suisei-cn/actions-download-file@v1
  id: downloadfile
  name: Download the file
  with:
       url: $URL
       target: assets/

一个选项是在将字符串添加为工作流中的 ENV 变量之前将其归因于一个变量Github上下文。

但是,要使其工作,您不能直接在 .js 文件中使用 return url;。您还需要 console.log(url); 将 url 值打印到控制台。

您的工作流程将如下所示:

- name: Url
  run: |
     URL=$(node ./action.js)
     echo "URL=$URL" >> $GITHUB_ENV

- uses: suisei-cn/actions-download-file@v1
  id: downloadfile
  name: Download the file
  with:
       url: ${{ env.URL }}
       target: assets/

action.js 文件可能如下所示(我对节点不熟悉):

async function getData(){
 const url = "https://upload.wikimedia.org/wikipedia/commons/thumb/7/71/Meet_Truffle%21.jpg/440px-Meet_Truffle%21.jpg";
 return url;
}

getData().then((url) => {
  console.log(url);
  return url;
});

您可以在此 workflow run with python and node. The workflow implementation can be found here 中找到示例。