難易度は Level 1(やさしめ)〜Level 5(難関) の5段階です。
GitHub Actions(GH-200)のサンプル問題(本番形式・解説付き)
GitHub Actions(GH-200)(Microsoft / GitHub・GitHub Actions 認定試験 GH-200(2026年1月時点のスキル))の出題形式を、実際の問題で確かめられます。ここに掲載する5問は、無料の会員登録で解ける模試 第1回(75問)の冒頭から抜粋したオリジナル問題です。当サイトは全825問を本番CBT準拠の形式で収録しており、この5問はそのごく一部にあたります。
設問1
再利用可能なワークフローの参照の付け方に合う、変更の伝わり方を、下のタイルから選んで置いてください。(使わないタイルもあります)
解説
ref の種類で、元を変えたときの伝わり方が決まります。リダイレクトは行われず、コピーを残すのはワークフローテンプレートの性質です。
設問2
main がデフォルトブランチのリポジトリで、main の schedule ワークフローは cron "0 3 * * *" です。開発者は feature/cron ブランチで同じファイルの cron を "0 4 * * *" に書き換えて push しましたが、マージはまだです。次の実行ではどう動きますか。
- デフォルトブランチ main の最新コミットの内容で動くので、UTC の 3 時に動く(正解)
- feature/cron の最新コミットの内容で動くので、UTC の 4 時に動く
- より新しいコミットを持つブランチの定義が自動で選ばれる
- main と feature/cron の両方の定義が使われ、3 時と 4 時の 2 回動く
解説
schedule は常にデフォルトブランチの最新コミットで動きます。feature ブランチの変更はマージするまで反映されません。 「feature/cron の最新コミットの内容で動くので、UTC の 4 時に動く」は誤りです。schedule が読むのは feature ブランチの内容ではなく、デフォルトブランチの最新コミットです。 「main と feature/cron の両方の定義が使われ、3 時と 4 時の 2 回動く」は誤りです。schedule が使う定義はデフォルトブランチの 1 つです。別ブランチの定義が重なって動くことはありません。 「より新しいコミットを持つブランチの定義が自動で選ばれる」は誤りです。新しさでブランチが選ばれることはありません。選ばれるのは常にデフォルトブランチです。
他の選択肢が誤りである理由
- 「feature/cron の最新コミットの内容で動くので、UTC の 4 時に動く」schedule が読むのは feature ブランチの内容ではなく、デフォルトブランチの最新コミットです。
- 「より新しいコミットを持つブランチの定義が自動で選ばれる」新しさでブランチが選ばれることはありません。選ばれるのは常にデフォルトブランチです。
- 「main と feature/cron の両方の定義が使われ、3 時と 4 時の 2 回動く」schedule が使う定義はデフォルトブランチの 1 つです。別ブランチの定義が重なって動くことはありません。
設問3
呼ばれる側でシークレットを直接参照したい。さらに、Windows 向けの一連の作業を、Linux で動くジョブから呼びたい。この 2 つの要件を満たす仕組みはどれですか。
- JavaScript アクション
- 再利用可能ワークフロー(正解)
- Docker コンテナー アクション
- 複合アクション
解説
再利用可能ワークフローは、呼ばれる側でシークレットを直接参照でき、ジョブごとに runs-on を決められるので、別の OS の作業を呼べます。 「複合アクション」は誤りです。複合アクションはシークレットを使えず、入力で渡す必要があります。呼んだジョブのランナーで動くので、別の OS には切り替えられません。 「JavaScript アクション」は誤りです。呼んだジョブのランナー上で直接動きます。別の OS のマシンで動かす用途には使えません。 「Docker コンテナー アクション」は誤りです。Linux のランナーでしか実行できないので、Windows 向けの作業をまとめる用途に使えません。
他の選択肢が誤りである理由
- 「JavaScript アクション」呼んだジョブのランナー上で直接動きます。別の OS のマシンで動かす用途には使えません。
- 「Docker コンテナー アクション」Linux のランナーでしか実行できないので、Windows 向けの作業をまとめる用途に使えません。
- 「複合アクション」複合アクションはシークレットを使えず、入力で渡す必要があります。呼んだジョブのランナーで動くので、別の OS には切り替えられません。
設問4
on.schedule の動きについて、正しい説明を 2 つ選んでください。
- timezone を指定しない限り、cron はリポジトリ所有者の地域の時刻で解釈される
- 実行は、デフォルトブランチの最新コミットにあるワークフローでだけ動く(正解)
- 毎時 0 分は負荷が低いため、ほかの時刻より遅れずに始まる傾向がある
- 5 分より短い間隔では動かせない(正解)
- cron は 6 つのフィールドで書き、先頭のフィールドが秒を表す
解説
schedule は 5 分より短い間隔では動かせません。 別のブランチに置いたファイルでは、スケジュールの実行は動きません。 「timezone を指定しない限り、cron はリポジトリ所有者の地域の時刻で解釈される」は誤りです。既定は UTC です。試験の版(2026 年 1 月)の文書では、schedule は常に UTC で動きます。今の文書では、IANA のタイムゾーン文字列を timezone に指定して、別の時刻で読ませることもできます。 「毎時 0 分は負荷が低いため、ほかの時刻より遅れずに始まる傾向がある」は誤りです。毎時 0 分の前後は負荷が高く、遅れることがあります。 「cron は 6 つのフィールドで書き、先頭のフィールドが秒を表す」は誤りです。フィールドは 5 つで、分・時・日・月・曜日の順です。
他の選択肢が誤りである理由
- 「timezone を指定しない限り、cron はリポジトリ所有者の地域の時刻で解釈される」既定は UTC です。試験の版(2026 年 1 月)の文書では、schedule は常に UTC で動きます。今の文書では、IANA のタイムゾーン文字列を timezone に指定して、別の時刻で読ませることもできます。
- 「毎時 0 分は負荷が低いため、ほかの時刻より遅れずに始まる傾向がある」毎時 0 分の前後は負荷が高く、遅れることがあります。
- 「cron は 6 つのフィールドで書き、先頭のフィールドが秒を表す」フィールドは 5 つで、分・時・日・月・曜日の順です。
設問5
独自のデプロイ保護ルールを作った GitHub App が、POST /repos/OWNER/REPO/actions/runs/RUN_ID/deployment_protection_rule に結果を送ります。デプロイの可否を伝える state の値として、正しいものはどれですか。
- allow か deny のどちらか
- approved か rejected(正解)
- success か failure のどちらか
- pending か running のどちらか
解説
state には、承認する approved か、却下する rejected を送ります。 「success か failure のどちらか」は誤りです。ワークフローの結果を表す語で、この API の state には使いません。 「pending か running のどちらか」は誤りです。処理の途中を表す語で、この API の state には使いません。 「allow か deny のどちらか」は誤りです。この API の state の値は approved か rejected です。
他の選択肢が誤りである理由
- 「allow か deny のどちらか」この API の state の値は approved か rejected です。
- 「success か failure のどちらか」ワークフローの結果を表す語で、この API の state には使いません。
- 「pending か running のどちらか」処理の途中を表す語で、この API の state には使いません。
続きは、会員登録なしでそのまま50問解けます。採点と解説つきで、上と同じ本物の問題です。
登録なしで50問解く