コンテンツの更新時にGitHub Actionsを自動実行する
概要
このチュートリアルでは、コンテンツの更新時に GitHub Actionsを自動実行する方法を説明します。
手動でコンテンツを更新した場合のほか、承認ワークフローを利用した場合とAPIを使用してコンテンツを更新した場合についても説明します。
学べること
コンテンツの更新時にGitHub Actionsを実行方法を学びます。 流れは以下の通りです。
前提条件
このページはKurocoとNuxt.jsでのプロジェクトが構築済みであり、コンテンツ一覧のページが作成されていることを前提としています。
まだ構築していない場合は、下記のチュートリアルを参照してください。
Kurocoビギナーズガイド
KurocoとNuxt.jsで、コンテンツ一覧ページを作成する
GitHub Workflowの設定
GitHubと接続し、リポジトリを設定すると、GitHubの設定画面は以下のようになります。

GitHub Actionsを実行するには、Kuroco管理画面のGitHubページでワークフローを設定する必要があります。設定されていない場合、コンテンツ更新時にワークフロー連携を有効にしていてもGitHub Actionsが実行されません。
ここでワークフローと対象ブランチを設定する必要があります。GitHubリポジトリに基づいて対応する項目を選択し、[更新する]をクリックしてください。

GitHub Actionsを使用してコンテンツを作成する
[コンテンツ] -> [コンテンツ名] に移動して、[追加] をクリックして新しいコンテンツを作成します。

ワークフローを「有効」にします。

ワークフローを「有効」に設定してコンテンツを追加または更新すると、自動でGitHub Actionsが実行されます。

ワークフローの設定を有効にして更新すると、次回更新時にもワークフローの設定はデフォルトで有効がチェックされた状態になります。
承認ワークフローを使用してコンテンツを作成する
GitHub Actionsは、コンテンツが更新されたときに自動的に実行されます。
承認ワークフローがそのコンテンツに設定されている場合は、すべてのグループが承認し、コンテンツが公開/更新されたときにGitHub Actionsが実行されます。
1. 承認ワークフローの作成
承認ワークフローを作成するには、サイドメニューで[オペレーション] -> [承認ワークフロー]に遷移します。ここで新しいワークフローを追加するか、既に作成されている場合は編集します。

必要な情報を入力し、承認ワークフローを作成してください。

2. フロー設定をする
コンテンツの作成/更新から公開までのフロー設定をします。

フロー設定が完了したら、コンテンツの編集にすすみます。
3. 新しいトピックを作成する
[コンテンツ] > [コンテンツ名] に移動して、[追加] をクリックして新しいコンテンツを作成します。

4. GitHubワークフローと承認ワークフローを設定する
コンテンツが公開された後にGitHub Actionsが実行されるようGitHubのワークフロー設定を有効にします。承認ワークフローの設定も合わせて実施します。

5. コンテンツを更新する
コンテンツに承認フローワークフローが設定されている場合は承認待ちに移行します。

6. GitHub Actionsが実行されることを確認する
Contentの設定後、GitHubアクションが実行されます。 GitHub の [アクション] タブで確認できます。


APIを使用してコンテンツを作成する
API経由でコンテンツが更新された場合でもGitHubアクションを実行するように設定できます。このチュートリアルでは簡単化のため、承認フローを使用せずにContents APIを使用します。
承認フローを使用したコンテンツの追加方法については、こちらを参照してください。
1. コンテンツ挿入APIの作成
サイドメニューからエンドポイント一覧のページに遷移します。追加をクリックし、以下のエンドポイントを追加します。

| 設定 | 値 |
|---|---|
| パス | エンドポイントのパス。必要に応じて入力してください。 |
| カテゴリー | 「コンテンツ」を選択します。 |
| モデル | Topics v1 |
| オペレーション | コンテンツで実行する操作を選択します。(insert or update) |
| topics_group_id | コンテンツ定義IDを入力します。 |
2. リクエストを送信する
エンドポイントの動作はSwagger UIで確認します。
新しく作成したエンドポイントを選択して、[Try it out]をクリックします。
ここで、dispatch_github_workflowを1で渡すと、コンテンツが公開されたときにGitHub Actionsが実行されます。
承認ワークフローが使用されている場合、GitHub Actionsは承認ワークフローが完了した後に実行されます。 また、コンテンツが非公開に設定された場合や、後日公開されるように日時指定がされた場合、GitHub Actionsはコンテンツが公開されたときに実行されます。
このチュートリアルでは簡単化のため、open_flgを1で渡し、コンテンツを挿入するとすぐに公開されるようにします。これにより、コンテンツの追加時にすぐにGitHub Actionsが実行されます。
コンテンツの内容を入力し、[Execute]をクリックします。

レスポンスでコンテンツが正常に追加されたことを確認します。

コンテンツ一覧に遷移し、コンテンツが追加されていることを確認します。

3. GitHub Actionsの実行を確認する
GitHubリポジトリのActionsタブに遷移すると、GitHub Actionsが実行されたことを確認できます。

サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。