🔄

GitHub Actionsでsecret変数を使ってAPIからデータを取得する

2023/10/03に公開

やりたいこと

GitHub pages用にnpm run buildする前にAPIから情報を取得して静的コンテンツとして使うために実装しました.gitのrepositoryに画像などのコンテンツを履歴としてmain branchに残したくないので,このアプローチを取りました.workflowはこんな感じです.

変数の設定方法

GitHubのレポジトリのWebページからSettings->Security->Secret and variables->Actionsを開きます.

New repository secretをクリックして,変数名と値を入力します.また,usenameの用にsecretにする必要がない変数はaction variablesとして設定できます.
今回は次のように設定しました

  • secret:
    • PROTOPEDIA_API_KEY: ***
  • variables:
    • PROTOPEDIA_USERNAME: botamochi6277

変数の呼び出し方

次のような形で変数を呼び出すことができます.

- name: fetch prototypes
        run: |
          node scripts/fetch_prototype.js ${{vars.PROTOPEDIA_USERNAME}} ${{secrets.PROTOPEDIA_API_KEY}}

Actionのlogを確認すると,secretの方が"***"で隠されているのがわかります.

まとめ

secretを用いてActionを動かすことができました.AWSへのアクセスなどにも応用できそうです.
今回,実際にActionを実行しているレポジトリはこちらです.
https://github.com/botamochi6277/botalab

Discussion