Dependabot が既存のワークフローをトリガーするときのエラーのトラブルシューティング
この記事では、いくつかのトラブルシューティングに関するアドバイスを提供します。 「GitHub Actions のワークフロー構文」も参照してください。
シークレットにアクセスする
Dependabot イベントでワークフローがトリガーされる場合、ワークフローで使用できるシークレットは Dependabot シークレットのみです。 GitHub Actions シークレットは使用できません。 そのため、Dependabot イベントによってトリガーされるワークフローで使用されるシークレットは、Dependabot シークレットとして格納する必要があります。 詳しくは、「Dependabot のプライベート レジストリへのアクセスの構成」をご覧ください。
Dependabot シークレットは secrets コンテキストに追加され、GitHub Actions のシークレットとまったく同じ構文を使用して参照されます。 詳しくは、「GitHub Actions でのシークレットの使用」をご覧ください。
Dependabot や他のアクターによってトリガーされるワークフローがある場合、最もシンプルな解決策は、アクションで、および同じ名前を持つ Dependabot シークレットで必要なアクセス許可を持つトークンを格納することです。 その後、ワークフローには、これらのシークレットへの 1 回の呼び出しを含めることができます。 Dependabot のシークレットの名前が異なる場合は、条件を使用して、使用するアクターごとに適切なシークレットを指定します。
条件を使う例については、「GitHub ActionsでのDependabotの自動化」を参照してください。
ユーザー名とパスワードを使用して AWS 上のプライベート コンテナー レジストリにアクセスするには、ワークフローに username と password のシークレットを含める必要があります。
この例では、Dependabot によってワークフローがトリガーされると、READONLY_AWS_ACCESS_KEY_ID および READONLY_AWS_ACCESS_KEY という名前を持つ Dependabot シークレットが使用されます。 別のアクターでワークフローがトリガーされる場合は、それらの名前を持つアクション シークレットが使用されます。
# このワークフローはGitHubによって認定されていないアクションを使用します。
# それらはサードパーティによって提供され、
# 別個の利用規約、プライバシーポリシー、
# ドキュメントを参照してください。
name: CI
on:
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Login to private container registry for dependencies
uses: docker/login-action@3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c
with:
registry: https://1234567890.dkr.ecr.us-east-1.amazonaws.com
username: ${{ secrets.READONLY_AWS_ACCESS_KEY_ID }}
password: ${{ secrets.READONLY_AWS_ACCESS_KEY }}
- name: Build the Docker image
run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)
# このワークフローはGitHubによって認定されていないアクションを使用します。
# それらはサードパーティによって提供され、
# 別個の利用規約、プライバシーポリシー、
# ドキュメントを参照してください。
name: CI
on:
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Login to private container registry for dependencies
uses: docker/login-action@3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c
with:
registry: https://1234567890.dkr.ecr.us-east-1.amazonaws.com
username: ${{ secrets.READONLY_AWS_ACCESS_KEY_ID }}
password: ${{ secrets.READONLY_AWS_ACCESS_KEY }}
- name: Build the Docker image
run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)
`GITHUB_TOKEN` アクセス許可の変更
既定では、Dependabot によってトリガーされる GitHub Actions ワークフローでは、読み取り専用のアクセス許可を持つ GITHUB_TOKEN を取得します。 ワークフローで permissions キーを使用すると、トークンのアクセスを増やすことができます。
name: CI on: pull_request # Set the access for individual scopes, or use permissions: write-all permissions: pull-requests: write issues: write ... jobs: ...
name: CI
on: pull_request
# Set the access for individual scopes, or use permissions: write-all
permissions:
pull-requests: write
issues: write
...
jobs:
...
詳しくは、「ワークフローでの認証に GITHUB_TOKEN を使用する」をご覧ください。
手動でのワークフローの再実行
Dependabot ワークフローを手動で再実行すると、再実行を開始したユーザーの権限が異なる場合でも、以前と同じ権限で実行されます。 詳しくは、「ワークフローとジョブの再実行」をご覧ください。