#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 опубликовал выше).