5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Github Actionsでjsonファイルをsecretsに設定する

Last updated at Posted at 2023-05-09

はじめに

 credential情報を持つjsonファイルを用いたプログラムを、Github Actionsで自動化させたかったのですが、どうしたら良いか迷子になりました。初心者の備忘録なので、ご指摘あればぜひお願いします。

改行文字のせいでsecretsに登録できない

 趣味でスプレッドシートをいじるプログラムを作っていたのですが、googleへの認証のため次のようなcredential.jsonが必要でした。

{
  "type": "xxxx",
  "project_id": "xxxx",
  "private_key_id": "xxxx",
  "private_key": "-----BEGIN PRIVATE KEY-----\nxxxx\n-----END PRIVATE KEY-----\n",
  "client_email": "xxxx",
  "client_id": "xxxx",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/xxxx"
}

 この情報をGitHub Actionsのsecretsに登録するのに、引っかかったところが"private_key"でした。ここの改行文字の処理が上手くいかず、secretsに登録しても"private_key"を呼び出せませんでした。

create-jsonを使う

 GitHub Actionsのマーケットに公開されているcreate-jsonというツールを使って解決できました。探せば大体悩みは解決しますね。
 基本的な使い方は、まず登録したいjsonファイルの内容をsecretsに登録します。
スクリーンショット 2023-05-08 10.15.27.png

 その後、以下のようにActionsのワークフローに追加することで、secretsに登録したjsonファイルを作成することができます。

- name: create-json
  id: create-json
  uses: jsdaniell/create-json@v1.2.2
  with:
    name: "credentials.json"
    json: ${{ secrets.CREDENTIALS_JSON }}
    dir: "src/"

dirを設定することで必要に応じて、作成するディレクトリを変更することも出来ます。

おわりに

 大分このsecrets問題と戦っていて諦めかけていたんですが、stackoverflowに辿り着きActionsのマーケットというのを知りました。このマーケットを眺めて便利ツールを発見するのも面白そうです。

参考記事

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?