Переменные среды действия Echo Github

#github #github-actions

Вопрос:

Я пытаюсь погрузиться в действие GitHub и так далее в файлах .ylm, и чтобы понять процесс, я хотел бы воспроизвести некоторые переменные среды, такие как ${{ github.repository }} или ${{ github.repository_owner }} или секреты событий, такие как ${{ secrets.GITHUB_TOKEN }} или любые другие, и в выводе, который я получаю *** .

Есть ли какой-либо способ заставить вывод отображать фактические значения вместо звездочек?

dev.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 }}
 

выход

 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: ***
 

Ответ №1:

Вы не можете показать secrets , echo иначе возникла бы огромная проблема безопасности (даже при использовании env переменных в качестве посредника).

Однако это будет работать с другими переменными, которые вы использовали, проблема в вашем случае, по-видимому, связана с синтаксисом. Вы должны использовать run: echo "$GITHUB.REPOSITORY" и run: echo "$GITHUB.REPOSITORY_OWNER" , чтобы увидеть их непосредственно в своем рабочем процессе.


Совет: Вы можете определить большинство переменных, которые могут отображаться с помощью echo в контексте Github, используя run: echo "$GITHUB_CONTEXT" их в своем рабочем процессе.

Пример:

Пример

Ссылка на изображение

Комментарии:

1. Ответ и совет были очень полезны и решили мою проблему, более того, перейдя по ссылке на документ, я нашел пример печати контекстной информации в файле журнала ( docs.github.com/en/actions/reference/… ) , которые показывают, что я предполагаю все переменные. Спасибо!

2. Это больше не работает

3. Что ты пытался сделать, что больше не работает @Matteo?

4. Не уверен, что я делаю неправильно, я просто вставляю это run: echo "$GITHUB_CONTEXT" в свой конвейер , он просто повторяет строку "$GITHUB_CONTEXT" , вместо этого используя ссылку drypatrick, если она работает

5. Вы env: GITHUB_CONTEXT: ${{ toJSON(github) }} также использовали на ступенчатом уровне? Он может не работать без него (как показано в ссылке, которую drypatrick опубликовал выше).