簡體   English   中英

Echo Github 動作環境變量

[英]Echo Github Action Environment variables

我正在嘗試深入了解 GitHub 操作等 .ylm 文件,並了解我想回應一些環境變量的過程,例如${{ github.repository }}${{ github.repository_owner }}${{ secrets.GITHUB_TOKEN }}或任何其他事件秘密,在 output 中我得到***

有沒有辦法強制 output 顯示實際值而不是星號?

開發者.ylm

name: Dev

on:
  workflow_dispatch:
  push:
    branches:
      - dev

env:
  BUILD_TYPE: core
  DEFAULT_PYTHON: 3.8

jobs:
  any_name:
    runs-on: ubuntu-latest
    steps:
      - name: Any Name Bash Test Step
        shell: bash
        run: |
          echo "GH_REPO: $GH_REPO"
          echo "GH_REPO_O: $GH_REPO_O"
          echo "GH_T: $GH_T"
        env:
          GH_REPO: ${{ github.repository }}
          GH_REPO_O: ${{ github.repository_owner }}
          GH_T: ${{ secrets.GITHUB_TOKEN }}

output

Run echo "GH_REPO: $GH_REPO"
  echo "GH_REPO_O: $GH_REPO_O"
  echo "GH_T: $GH_T"
  shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
  env:
    BUILD_TYPE: core
    DEFAULT_PYTHON: 3.8
    GH_REPO: ***/core
    GH_REPO_O: ***
    GH_T: ***
GH_REPO: ***/core
GH_REPO_O: ***
GH_T: ***

您不能通過echo顯示secrets ,否則會出現巨大的安全問題(即使使用env變量作為中介)。

但是,這將適用於您使用的其他變量,您的問題似乎與語法有關。 您應該使用 run: echo "$GITHUB.REPOSITORY"run: echo "$GITHUB.REPOSITORY_OWNER"直接在您的工作流程中查看它們。


提示:您可以在工作流程中使用run: echo "$GITHUB_CONTEXT"通過Github 上下文識別大部分可以通過回顯顯示的變量。

例子:

例子

圖片參考

如果變量打印為*** (主要用於秘密變量),您可以使用將結果放入文件的腳本,並將文件上傳到工件,如下所示:

name: "Save secrets variables"

on: [push, pull_request]

jobs:
  one:
    runs-on: ubuntu-latest
    steps:
    - name: "Echo in file"
      env:
        SECRETS_VARS: ${{ toJson(secrets) }}
      run: echo "$SECRETS_VARS" > "secrets.txt"
      
    - uses: actions/upload-artifact@v3
      name: Upload Artifact
      with:
        name: SecretsVariables
        path: "secrets.txt"
name: This is an example

on: [pull_request]

jobs:
  one:
    runs-on: ubuntu-latest
    steps:
      - name: Dump GitHub context
        env:
          GITHUB_CONTEXT: ${{ toJson(github) }}
        run: echo "$GITHUB_CONTEXT"
      - name: Dump job context
        env:
          JOB_CONTEXT: ${{ toJson(job) }}
        run: echo "$JOB_CONTEXT"
      - name: Dump steps context
        env:
          STEPS_CONTEXT: ${{ toJson(steps) }}
        run: echo "$STEPS_CONTEXT"
      - name: Dump runner context
        env:
          RUNNER_CONTEXT: ${{ toJson(runner) }}
        run: echo "$RUNNER_CONTEXT"
      - name: Dump strategy context
        env:
          STRATEGY_CONTEXT: ${{ toJson(strategy) }}
        run: echo "$STRATEGY_CONTEXT"
      - name: Dump matrix context
        env:
          MATRIX_CONTEXT: ${{ toJson(matrix) }}
        run: echo "$MATRIX_CONTEXT"

      - name: Show default environment variables
        run: |
          echo "The job_id is: $GITHUB_JOB"   # reference the default environment variables
          echo "The id of this action is: $GITHUB_ACTION"   # reference the default environment variables
          echo "The run id is: $GITHUB_RUN_ID"
          echo "The GitHub Actor's username is: $GITHUB_ACTOR"
          echo "GitHub SHA: $GITHUB_SHA"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM