我遇到了您在影像中看到的以下問題。
我有一個 .js 檔案,它回傳一個 url 字串陣列。然后我應該將此陣列分配給一個env變數,如下例所示,但我收到以下錯誤。
你可以告訴我我哪里錯了。

on:
workflow_dispatch:
name: Test Download Multifile
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
name: Check out current commit
- name: Url
run: |
URL=$(node ./actionMultifile.js)
echo $URL
echo "URL=$URL" >> $GITHUB_ENV
actionMultifile.js
async function getData(){
const url = [
"https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Tyrannosaurus_rex_Sue_at_FMNH.jpg/440px-Tyrannosaurus_rex_Sue_at_FMNH.jpg",
"https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Mosasaurus_beaugei_34.JPG/440px-Mosasaurus_beaugei_34.JPG"
]
return url;
}
getData().then((url) => {
console.log(url);
});
uj5u.com熱心網友回復:
出現問題是因為您需要使用多行字串設定 URL env 變數
這是因為這里的 URL 變數不是這樣保存的:
['https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Tyrannosaurus_rex_Sue_at_FMNH.jpg/440px-Tyrannosaurus_rex_Sue_at_FMNH.jpg', 'https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Mosasaurus_beaugei_34.JPG/440px-Mosasaurus_beaugei_34.JPG']
但是像這樣:
[
'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Tyrannosaurus_rex_Sue_at_FMNH.jpg/440px-Tyrannosaurus_rex_Sue_at_FMNH.jpg',
'https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Mosasaurus_beaugei_34.JPG/440px-Mosasaurus_beaugei_34.JPG'
]
因此,您的作業流程應如下所示:
steps:
- name: Checkout repository content
uses: actions/checkout@v2 # Checkout the repository content to github runner.
- name: Setup Node Version
uses: actions/setup-node@v2
with:
node-version: 14 # Install the node version needed
- name: set multiline env var
run: |
echo 'URL<<EOF' >> $GITHUB_ENV
node ./actionMultifile.js >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
然后,請注意,您將無法${{ env.URL }}直接使用該變數,否則它只會列印第一行 ( [) 并中斷。您需要在引號 ( ") 之間使用它。
例如:
- name: use env var
run: echo "${{ env.URL }}"
- name: use env var directly
run: echo "$URL"
如果你想看看,我在這里測驗過:
- 作業流檔案
- 作業流運行
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/438160.html
標籤:javascript github yaml 行动 github-动作
