【发布时间】:2021-08-12 16:24:53
【问题描述】:
我们有一个名为 recent-activity 的存储库,它托管一个 GitHub 操作,可供所有 GitHub 用户使用。我们想要添加一个 URL,当操作(由任何用户)运行时,我们可以在该 URL 上发送 http 请求。但是,我们不想公开该 URL。
有什么办法可以做到吗?
【问题讨论】:
标签: node.js github workflow github-actions github-secret
我们有一个名为 recent-activity 的存储库,它托管一个 GitHub 操作,可供所有 GitHub 用户使用。我们想要添加一个 URL,当操作(由任何用户)运行时,我们可以在该 URL 上发送 http 请求。但是,我们不想公开该 URL。
有什么办法可以做到吗?
【问题讨论】:
标签: node.js github workflow github-actions github-secret
您可以通过指定名称直接将存储库中的机密包含到工作流中。假设您有一个名为 URL 的秘密,那么您可以像这样简单地使用它:
env:
URL: ${{ secrets.URL }}
现在您的 URL 已获取,您可以在其他命令中使用它,例如 $URL
【讨论】:
Error: Readme-Workflows/recent-activity/github-secret/action.yml (Line: 20, Col: 9): Unrecognized named-value: 'secrets'. Located at position 1 within expression: secrets.TEST_SECRET。这是我在另一个 repo 上运行工作流时遇到的错误
您可以在官方文档中找到有关Github Secrets 的所有信息
请注意,存储库用户无权访问密钥,因为您需要 admin 权限才能编辑密钥值。此外,秘密不会显示在操作工作流执行中(它们将在日志中替换为 ***)。
每个人都将在工作流程中以相同的方式使用此秘密变量,而无法访问其值。
演示
【讨论】:
TEST_SECRET 是秘密变量。
Readme-Workflows/recent-activity@github-actions 似乎不是一个可用的操作(因此您使用的语法可能不起作用)。您是否尝试仅在特定步骤上使用,就像我在 Run command with Secret 步骤的帖子示例中给出的那样? (例如,如果您尝试打印机密,工作流将返回 ***,如果未设置机密,则应返回错误)。
@github-secrets,它是该仓库的一个分支。当我在 github.com/abhijoshi2k/abhijoshi2k 添加秘密时,我得到了 *** 输出。但是,我想在github.com/Readme-Workflows/recent-activity 中添加秘密,并在abhijoshi2k repo 运行工作流时使其可访问。