如何在GitHub Actions中将仓库名称(而不是用户或组织)作为环境变量获取?
我发现github.repository
,但它包含所有者作为第一部分,像这样:owner/repo
。
如何在GitHub Actions中将仓库名称(而不是用户或组织)作为环境变量获取?
我发现github.repository
,但它包含所有者作为第一部分,像这样:owner/repo
。
尝试使用github.event.repository.name
- run: echo "REPO_NAME=${{ github.event.repository.name }}" >> $GITHUB_ENV
文档 不说,我真的推荐在某个测试仓库中倾倒上下文,以便熟悉它们,因为有很多数据可能在编写非平凡工作流程时有用,也可能没有用。
- name: Dump github context
run: echo "$GITHUB_CONTEXT"
shell: bash
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
请注意,github
上下文的变化取决于触发工作流程的事件,因此最好再次确认你想要使用的数据是否适用于工作流程中使用的所有事件。
我认为你要找的语法实际上是 github.event.repository.name
@Samira的toJson(github)
小贴士非常有用。我花了一段时间才注意到repository
属性在`event.下面缩进了一些。
您可以直接使用该值,或者使用以下方法将其分配到顶级:
env:
REPO_NAME: ${{ github.event.repository.name }}
例子:https://github.com/maguowei/awesome-stars/blob/master/.github/workflows/schedules.yml#L21
该链接指向GitHub上的文件位置,其中包含有关如何安排计划的信息。- name: get epository name
run: echo "REPOSITORY_NAME=${GITHUB_REPOSITORY#*/}" >> $GITHUB_ENV
github.event...
对于定时触发器等不起作用。这将始终有效。 - Kristofergithub.repository
中提取它:name: Print repo name
on:
workflow_dispatch:
jobs:
print-name:
runs-on: ubuntu-latest
steps:
- name: get-name
run: |
echo "REPO_NAME=$(basename ${{ github.repository }})" >> $GITHUB_ENV
- name: print-name
run: |
echo "${{ env.REPO_NAME }}"
${{ github.repository }}
已经足够了。如果你只需要基本名称,不包括仓库所有者或其他计算值,请参考下面的示例。
如果您想计算某个值,请考虑使用设置输出,因为它:
这是Vue应用程序部署到Github Pages的完整示例:
on:
push:
jobs:
pages:
runs-on: ubuntu-latest
name: Pages Deploy
steps:
- uses: actions/checkout@v2
# Output setting example
- id: repo-basename
run: |
echo "value=`basename ${{ github.repository }}`" >> $GITHUB_OUTPUT
shell: bash
- uses: xRealNeon/VuePagesAction@1.0.1
with:
token: ${{ secrets.GITHUB_TOKEN }} # Leave this line unchanged
username: ${{ github.repository_owner }}
# Using of computed variable example
reponame: ${{ steps.repo-basename.outputs.value }}
github.event.pull_request.base.repo.name
。由于您提供的非常好的调试建议并引导我找到解决方案,我将标记您的帖子作为答案。 - CalculatingKrakengithub.event.repository.name
对我有用。 - msdundargithub.event.repository.name
不可用。我正在处理这个问题! :) - davidrmcharlestoJson(github)
,我会节省很多时间... - tarikki