{"meta":{"title":"GitHub Actions Importer を使用した Bamboo からの移行","intro":"GitHub Actions Importer を使って、Bamboo パイプラインの GitHub Actions への移行を自動化する方法について説明します。","product":"GitHub Actions","breadcrumbs":[{"href":"/ja/actions","title":"GitHub Actions"},{"href":"/ja/actions/tutorials","title":"チュートリアル"},{"href":"/ja/actions/tutorials/migrate-to-github-actions","title":"GitHub Actions に移行する"},{"href":"/ja/actions/tutorials/migrate-to-github-actions/automated-migrations","title":"自動移行"},{"href":"/ja/actions/tutorials/migrate-to-github-actions/automated-migrations/bamboo-migration","title":"Bamboo 移行"}],"documentType":"article"},"body":"# GitHub Actions Importer を使用した Bamboo からの移行\n\nGitHub Actions Importer を使って、Bamboo パイプラインの GitHub Actions への移行を自動化する方法について説明します。\n\n## GitHub Actions Importer を使用した Bamboo からの移行について\n\n以下の手順では、GitHub Actions Importer を使って Bamboo パイプラインを GitHub Actions に移行するように環境を構成する方法について説明します。\n\n### 前提条件\n\n* GitHub Actions ワークフローに変換するプロジェクトとパイプラインを持つ Bamboo アカウントまたは組織。\n* Bamboo バージョン 7.1.1 以降。\n* アカウントまたは組織用の Bamboo personal access token を作成する権限へのアクセス。\n* Linux ベースのコンテナーを実行し、必要なツールをインストールできる環境。\n  * Docker が[インストールされていて](https://docs.docker.com/get-docker/)実行されていること。\n\n  * [GitHub CLI](https://cli.github.com) がインストールされていること。\n  > \\[!NOTE]\n  > GitHub Actions Importer コンテナーと CLI は、CI プラットフォームと同じサーバーにインストールする必要はありません。\n\n### 制限事項\n\nGitHub Actions Importer を使って Bamboo から GitHub Actions に移行する場合、いくつかの制限があります。\n\n* GitHub Actions Importer は、Bamboo サーバーによって生成された YAML 仕様を利用して移行を実行します。 Bamboo が YAML へのエクスポートをサポートしていない場合、欠落している情報は移行されません。\n* トリガー条件はサポートされていません。 GitHub Actions Importer によって条件を含むトリガーが検出されると、条件はコメントとして表示され、トリガーは条件なしで変換されます。\n* 成果物を格納するように設定がカスタマイズされている Bamboo プランは変換されません。 代わりに、成果物の格納と取得には [`upload-artifact`](https://github.com/actions/upload-artifact) アクションおよび [`download-artifact`](https://github.com/actions/download-artifact) アクションが使用されます。\n* 無効なプランは、GitHub UI で手動で無効にする必要があります。 詳しくは、「[ワークフローの無効化と有効化](/ja/actions/using-workflows/disabling-and-enabling-a-workflow)」をご覧ください。\n* 無効なジョブは、実行を妨げる `if: false` 条件を使用して変換されます。 ジョブを再度有効にするには、これを削除する必要があります。\n* 無効なタスクは変換されません。Bamboo API を使用する際にエクスポートされたプランに含まれないためです。\n* Bamboo には、ビルド完了後にビルド ワークスペースをクリーンアップするためのオプションが用意されています。 これらは、GitHubホストランナーまたはエフェメラルセルフホステッド ランナーが自動的にこれを処理すると想定されるため、変換されません。\n* ハングしているビルドを検出するオプションは変換されません。GitHub Actions に対応するものがないためです。 最も近いオプションは、ジョブの `timeout-minutes` です。これを使用して、ジョブが実行できる最大時間 (分) を設定できます。 詳しくは、「[GitHub Actions　のワークフロー構文](/ja/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idtimeout-minutes)」をご覧ください。\n* パターン一致ラベル付けは変換されません。GitHub Actions に対応するものがないためです。\n* すべての成果物は、`actions/upload-artifact` かどうかに関係なく `shared` に変換されます。このため、ワークフローのすべてのジョブからダウンロードできるようになります。\n* アクセス許可は変換されません。GitHub Actions に適切に対応するものがないためです。\n* Bamboo のバージョンが 7.1.1 から 8.1.1 までの場合、プロジェクト変数とプラン変数は移行されません。\n\n#### 手動タスク\n\n特定の Bamboo 構成は手動で移行する必要があります。 これには以下が含まれます。\n\n* マスクされた変数\n* 成果物の有効期限設定\n\n## GitHub Actions Importer CLI 拡張機能のインストール\n\n1. GitHub Actions Importer CLI 拡張機能のインストール\n\n   ```bash copy\n   gh extension install github/gh-actions-importer\n   ```\n\n2. 拡張機能がインストールされていることを確認します。\n\n   ```bash\n   $ gh actions-importer -h\n   Options:\n     -?, -h, --help  Show help and usage information\n\n   Commands:\n     update     Update to the latest version of GitHub Actions Importer.\n     version    Display the version of GitHub Actions Importer.\n     configure  Start an interactive prompt to configure credentials used to authenticate with your CI server(s).\n     audit      Plan your CI/CD migration by analyzing your current CI/CD footprint.\n     forecast   Forecast GitHub Actions usage from historical pipeline utilization.\n     dry-run    Convert a pipeline to a GitHub Actions workflow and output its yaml file.\n     migrate    Convert a pipeline to a GitHub Actions workflow and open a pull request with the changes.\n   ```\n\n## 資格情報の構成\n\n```\n          `configure` CLI コマンドを使って、Bamboo と GitHub を操作するときに GitHub Actions Importer に必要な資格情報とオプションを設定します。\n```\n\n1. GitHub personal access token (classic) を作成します。 詳しくは、「[個人用アクセス トークンを管理する](/ja/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic)」をご覧ください。\n\n   トークンには、`workflow` スコープが必要です。\n\n   トークンは、作成後にコピーして、後で使用できるように安全な場所に保存します。\n\n2. Bamboo personal access token を作成します。 詳しくは、Bamboo ドキュメントの「[Personal Access Tokens](https://confluence.atlassian.com/bamboo/personal-access-tokens-976779873.html)」を参照してください。\n\n   変換対象のリソースに応じて、トークンには次のアクセス許可が必要です。\n\n   | リソースの種類     |                                                                                                                                                             表示                                                                                                                                                            |                                                                                                                                                                                                             構成の表示                                                                                                                                                                                                            |                                                                                                                                                                                                              編集                                                                                                                                                                                                              |\n   | :---------- | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\n   | ビルド プラン     | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"check icon\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> |                                                   <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"check icon\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                  |                                                   <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"check icon\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                  |\n   | デプロイ プロジェクト | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"check icon\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> |                                                   <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"check icon\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                  | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"x icon\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> |\n   | デプロイ環境      | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"check icon\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"x icon\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"x icon\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> |\n\n   トークンは、作成後にコピーして、後で使用できるように安全な場所に保存します。\n\n3. ターミナルで、GitHub Actions Importer `configure` CLI コマンドを実行します。\n\n   ```shell\n   gh actions-importer configure\n   ```\n\n   ```\n          `configure` コマンドでは、次の情報の入力が求められます。\n   ```\n\n   * \\[どの CI プロバイダーを構成していますか?] で、方向キーを使用して `Bamboo` を選択し、<kbd>Space</kbd> キーを押して選択し、<kbd>Enter</kbd> キーを押します。\n   * \"GitHub の Personal access token\" で、先ほど作成した personal access token (classic) の値を入力し、<kbd>Enter</kbd> キーを押します。\n   * \"GitHub インスタンスのベース URL\"、\n   * \"Bamboo の Personal access token\" で、先ほど作成した Bamboo personal access token の値を入力し、<kbd>Enter</kbd> キーを押します。\n   * \\[Bamboo インスタンスのベース URL] で、Bamboo サーバーまたは Bamboo データ センター インスタンスの URL を入力し、<kbd>Enter</kbd> キーを押します。\n\n   以下に `configure` コマンドの例を示します。\n\n   ```shell\n   $ gh actions-importer configure\n   ✔ Which CI providers are you configuring?: Bamboo\n   Enter the following values (leave empty to omit):\n   ✔ Personal access token for GitHub: ***************\n   ✔ Base url of the GitHub instance: https://github.com\n   ✔ Personal access token for Bamboo: ********************\n   ✔ Base url of the Bamboo instance: https://bamboo.example.com\n   Environment variables successfully updated.\n   ```\n\n4. ターミナルで GitHub Actions Importer `update` CLI コマンドを実行して GitHub Packages Container registry に接続し、コンテナー イメージが確実に最新バージョンに更新されるようにします。\n\n   ```shell\n   gh actions-importer update\n   ```\n\n   コマンドの出力は次のようになります。\n\n   ```shell\n   Updating ghcr.io/actions-importer/cli:latest...\n   ghcr.io/actions-importer/cli:latest up-to-date\n   ```\n\n## Bamboo の監査を実行する\n\n```\n          `audit` コマンドを使って、Bamboo 組織内のすべてのプロジェクトの概要ビューを取得できます。\n\n          `audit` コマンドによって、次のステップが実行されます。\n```\n\n1. Bamboo 組織で定義されているすべてのプロジェクトを取得します。\n2. 各パイプラインを、対応する GitHub Actions ワークフローに変換します。\n3. GitHub Actions Importer を使って、どの程度完全で複雑な移行が可能かをまとめたレポートを生成します。\n\n### 監査コマンドの実行\n\nBamboo インスタンスの監査を実行するには、ターミナルで次のコマンドを実行します。\n\n```shell\ngh actions-importer audit bamboo --output-dir tmp/audit\n```\n\n### 監査結果の検査\n\nデータ再利用アクションの監査のための検査\n\n## 使用状況の予測\n\n```\n          `forecast` コマンドを使って、Bamboo インスタンスで完了したパイプライン実行のメトリックを計算することで、潜在的な GitHub Actions の使用状況を予測できます。\n```\n\n### forecast コマンドの実行\n\n潜在的な GitHub Actions の使用状況の予測を実行するには、ターミナルで次のコマンドを実行します。 既定では、GitHub Actions Importer による予測レポートに過去 7 日間が含まれます。\n\n```shell\ngh actions-importer forecast bamboo --output-dir tmp/forecast_reports\n```\n\n### プロジェクトの予測\n\nプロジェクトに関連付けられているプランとデプロイ環境に予測を限定するには、`--project` オプションを使用できます。ここで、値としてビルド プロジェクト キーを設定します。\n\n次に例を示します。\n\n```shell\ngh actions-importer forecast bamboo --project PAN --output-dir tmp/forecast_reports\n```\n\n### 予測レポートの検査\n\n予測の結果は、指定した出力ディレクトリ内の `forecast_report.md` ファイルに含まれます。\n\n以下に、予測レポートに表示される可能性がある主な用語を示します。\n\n* **ジョブ数**は、完了したジョブの合計数です。\n* **パイプライン数**は、使われた一意のパイプラインの数です。\n* **実行時間**は、ランナーがジョブに費やした時間を表します。 このメトリックを使うと、GitHub ホステッド ランナーのコストを計画するのに役立ちます。\n  * このメトリックは、GitHub Actions に費やすと予想する時間と相関しています。 これは、この時間 (分) に使われるハードウェアによって異なります。\n    [GitHub Actions 料金計算ツール](https://github.com/pricing/calculator)を使って、コストを見積もることができます。\n* **キュー時間**メトリクスは、ランナーが実行できるようになるのを待機するためにジョブが費やした時間を表します。\n* **同時実行ジョブ** メトリックは、特定の時点で実行されるジョブの量を表します。 このメトリックを使って\n\n## Bamboo パイプラインのドライラン移行を実行する\n\n```\n          `dry-run` コマンドを使って、Bamboo パイプラインを同等の GitHub Actions ワークフローに変換できます。 dry-run を実行すると、指定したディレクトリに出力ファイルが作成されますが、パイプラインを移行するための pull request は開かれません。\n```\n\n### ビルドプランのドライラン移行を実行する\n\nBamboo ビルド プランを GitHub Actions に移行するためのドライ ランを実行するには、`:my_plan_slug` という形式のプランのプロジェクトとプラン キー (例: `<projectKey>-<planKey>`) で `PAN-SCRIP` を置き換えて、次のコマンドをターミナルで実行します。\n\n```shell\ngh actions-importer dry-run bamboo build --plan-slug :my_plan_slug --output-dir tmp/dry-run\n```\n\n### デプロイ プロジェクトのドライ ラン移行の実行\n\nBamboo デプロイ プロジェクトを GitHub Actions に移行するためのドライ ランを実行するには、`:my_deployment_project_id` を変換対象のデプロイ プロジェクトの ID で置き換えて、次のコマンドをターミナルで実行します。\n\n```shell\ngh actions-importer dry-run bamboo deployment --deployment-project-id :my_deployment_project_id --output-dir tmp/dry-run\n```\n\n指定した出力ディレクトリで、ドライ ランのログと変換されたワークフロー ファイルを表示できます。\n\n不明なビルド ステップや部分的に成功したパイプラインなど、GitHub Actions Importer で自動的に変換できなかったものがある場合は、カスタム トランスフォーマーを作成して変換プロセスをさらにカスタマイズできます。 詳しくは、「[カスタム トランスフォーマーを使用した GitHub Actions Importer の拡張](/ja/actions/migrating-to-github-actions/automated-migrations/extending-github-actions-importer-with-custom-transformers)」をご覧ください。\n\n## Bamboo パイプラインの運用移行を実行する\n\n```\n          `migrate` コマンドを使って、Bamboo パイプラインを変換し、同等の GitHub Actions ワークフローで pull request を開くことができます。\n```\n\n### ビルド プランの migrate コマンドの実行\n\nBamboo ビルド プランを GitHub Actions に移行するには、GitHub リポジトリの URL で `target-url` 値を置き換え、プランの `:my_plan_slug` という形式のプロジェクトとプラン キーで `<projectKey>-<planKey>` を置き換えて、ターミナルで次のコマンドを実行します。\n\n```shell\ngh actions-importer migrate bamboo build --plan-slug :my_plan_slug --target-url :target_url --output-dir tmp/migrate\n```\n\nコマンドの出力には、変換されたワークフローをリポジトリに追加する pull request への URL が含まれます。 成功した出力の例は、次のようになります。\n\n```shell\n$ gh actions-importer migrate bamboo build --plan-slug :PROJECTKEY-PLANKEY --target-url https://github.com/octo-org/octo-repo --output-dir tmp/migrate\n[2022-08-20 22:08:20] Logs: 'tmp/migrate/log/actions-importer-20220916-014033.log'\n[2022-08-20 22:08:20] Pull request: 'https://github.com/octo-org/octo-repo/pull/1'\n```\n\n### デプロイ プロジェクトの migrate コマンドの実行\n\nBamboo デプロイ プロジェクトを GitHub Actions に移行するには、GitHub リポジトリの URL で `target-url` 値を置き換え、変換対象のデプロイ プロジェクトの ID で `:my_deployment_project_id` を置き換えて、ターミナルで次のコマンドを実行します。\n\n```shell\ngh actions-importer migrate bamboo deployment --deployment-project-id :my_deployment_project_id --target-url :target_url --output-dir tmp/migrate\n```\n\nコマンドの出力には、変換されたワークフローをリポジトリに追加する pull request への URL が含まれます。 成功した出力の例は、次のようになります。\n\n```shell\n$ gh actions-importer migrate bamboo deployment --deployment-project-id 123 --target-url https://github.com/octo-org/octo-repo --output-dir tmp/migrate\n[2023-04-20 22:08:20] Logs: 'tmp/migrate/log/actions-importer-20230420-014033.log'\n[2023-04-20 22:08:20] Pull request: 'https://github.com/octo-org/octo-repo/pull/1'\n```\n\n### pull request の検査\n\n`migrate` コマンドが正常に実行された場合、出力には、変換されたワークフローをリポジトリに追加する新しい pull request へのリンクが含まれます。\n\npull request の重要な要素には、次のようなものがあります。\n\n* pull request の説明の「**手動ステップ**」というセクションには、パイプラインの GitHub Actions への移行を終了する前に手動で完了する必要があるステップが列挙されています。 たとえば、このセクションでは、ワークフローで使われるシークレットを作成するように指示する場合があります。\n* 変換されたワークフロー ファイル。 Pull request の **\\[Files changed]** タブを選んで、GitHub リポジトリに追加されるワークフロー ファイルを表示します。\n\nPull request の検査が終了したら、それをマージして、ワークフローを GitHub リポジトリに追加できます。\n\n## リファレンス\n\nこのセクションには、環境変数、省略可能な引数、および GitHub Actions Importer を使って Bamboo から移行するときにサポートされる構文に関する参照情報が記載されています。\n\n### 環境変数の使用\n\nGitHub Actions Importer\n\nGitHub Actions Importer では、以下の環境変数を使って Bamboo インスタンスに接続します。\n\n* `GITHUB_ACCESS_TOKEN`: 変換されたワークフローで pull request を作成するために使われる personal access token (classic) (`repo` と `workflow` スコープが必要)。\n* `GITHUB_INSTANCE_URL`: ターゲット GitHub インスタンスへの URL (例: `https://github.com`)。\n* `BAMBOO_ACCESS_TOKEN`: Bamboo インスタンスで認証するために使用する Bamboo personal access token。\n* `BAMBOO_INSTANCE_URL`: Bamboo インスタンスの URL (例: `https://bamboo.example.com`)。\n\nこれらの環境変数は、実行時に GitHub Actions Importer によって読み込まれる `.env.local` ファイルに指定できます。\n\n### 省略可能な引数。\n\nGitHub Actions Importer サブコマンドと一緒に使って、移行をカスタマイズできる省略可能な引数があります。\n\n#### `--source-file-path`\n\n```\n          `--source-file-path` 引数は、`dry-run` または `migrate` サブコマンドと共に使用できます。\n```\n\n既定では、GitHub Actions Importer はパイプラインの内容を Bamboo インスタンスからフェッチします。\n`--source-file-path` 引数を指定して、指定したソース ファイル パスを代わりに使うように GitHub Actions Importer に指示します。\n\n次に例を示します。\n\n```shell\ngh actions-importer dry-run bamboo build --plan-slug IN-COM -o tmp/bamboo --source-file-path ./path/to/my/bamboo/file.yml\n```\n\n#### `--config-file-path`\n\n```\n          `--config-file-path` 引数は、`audit`、`dry-run`、および `migrate` サブコマンドと一緒に使うことができます。\n```\n\n既定では、GitHub Actions Importer はパイプラインの内容を Bamboo インスタンスからフェッチします。\n`--config-file-path` 引数を指定して、指定したソース ファイルを代わりに使うように GitHub Actions Importer に指示します。\n\n##### 監査の例\n\nこの例では、GitHub Actions Importer で、指定した YAML 構成ファイルを使い、監査が実行されます。\n\n```bash\ngh actions-importer audit bamboo -o tmp/bamboo --config-file-path \"./path/to/my/bamboo/config.yml\"\n```\n\n構成ファイルを使って Bamboo インスタンスを監査するには、構成ファイルが次の形式である必要があり、`repository_slug` がそれぞれ一意である必要があります。\n\n```yaml\nsource_files:\n  - repository_slug: IN/COM\n    path: path/to/one/source/file.yml\n  - repository_slug: IN/JOB\n    path: path/to/another/source/file.yml\n```\n\n##### ドライ ランの例\n\nこの例では、GitHub Actions Importer で、指定した YAML 構成ファイルをソース ファイルとして使い、ドライ ランが実行されます。\n\nリポジトリのスラッグは、`--plan-slug` オプションを使用してビルドされます。 ソース ファイル パスが照合され、指定したソース ファイルからプルされます。\n\n```bash\ngh actions-importer dry-run bamboo build --plan-slug IN-COM -o tmp/bamboo --config-file-path \"./path/to/my/bamboo/config.yml\"\n```\n\n### Bamboo パイプラインでサポートされている構文\n\n次の表は、GitHub Actions Importer で現在変換できるプロパティの種類を示しています。\n\n| Bamboo                              | GitHub Actions                                  |       ステータス |\n| :---------------------------------- | :---------------------------------------------- | ----------: |\n| `environments`                      | `jobs`                                          |  サポートされています |\n| `environments.<environment_id>`     | `jobs.<job_id>`                                 |  サポートされています |\n| `<job_id>.artifacts`                | `jobs.<job_id>.steps.actions/upload-artifact`   |  サポートされています |\n| `<job_id>.artifact-subscriptions`   | `jobs.<job_id>.steps.actions/download-artifact` |  サポートされています |\n| `<job_id>.docker`                   | `jobs.<job_id>.container`                       |  サポートされています |\n| `<job_id>.final-tasks`              | `jobs.<job_id>.steps.if`                        |  サポートされています |\n| `<job_id>.requirements`             | `jobs.<job_id>.runs-on`                         |  サポートされています |\n| `<job_id>.tasks`                    | `jobs.<job_id>.steps`                           |  サポートされています |\n| `<job_id>.variables`                | `jobs.<job_id>.env`                             |  サポートされています |\n| `stages`                            | `jobs.<job_id>.needs`                           |  サポートされています |\n| `stages.<stage_id>.final`           | `jobs.<job_id>.if`                              |  サポートされています |\n| `stages.<stage_id>.jobs`            | `jobs`                                          |  サポートされています |\n| `stages.<stage_id>.jobs.<job_id>`   | `jobs.<job_id>`                                 |  サポートされています |\n| `stages.<stage_id>.manual`          | `jobs.<job_id>.environment`                     |  サポートされています |\n| `triggers`                          | `on`                                            |  サポートされています |\n| `dependencies`                      | `jobs.<job_id>.steps.<gh cli step>`             | 部分的にサポートされる |\n| `branches`                          | 適用なし                                            |  サポートされていない |\n| `deployment.deployment-permissions` | 適用なし                                            |  サポートされていない |\n| `environment-permissions`           | 適用なし                                            |  サポートされていない |\n| `notifications`                     | 適用なし                                            |  サポートされていない |\n| `plan-permissions`                  | 適用なし                                            |  サポートされていない |\n| `release-naming`                    | 適用なし                                            |  サポートされていない |\n| `repositories`                      | 適用なし                                            |  サポートされていない |\n\nサポートされている Bamboo の概念とプラグイン マッピングについて詳しくは、[`github/gh-actions-importer` リポジトリ](https://github.com/github/gh-actions-importer/blob/main/docs/bamboo/index.md)を参照してください。\n\n### 環境変数のマッピング\n\nGitHub Actions Importer では、次の表のマッピングを使って、既定の Bamboo 環境変数を GitHub Actions の最も近い同等の変数に変換します。\n\n| Bamboo                                           | GitHub Actions                                                                        |\n| :----------------------------------------------- | :------------------------------------------------------------------------------------ |\n| `bamboo.agentId`                                 | `${{ github.runner_name }}`                                                           |\n| `bamboo.agentWorkingDirectory`                   | `${{ github.workspace }}`                                                             |\n| `bamboo.buildKey`                                | `${{ github.workflow }}-${{ github.job }}`                                            |\n| `bamboo.buildNumber`                             | `${{ github.run_id }}`                                                                |\n| `bamboo.buildPlanName`                           | `${{ github.repository }}-${{ github.workflow }}-${{ github.job }`                    |\n| `bamboo.buildResultKey`                          | `${{ github.workflow }}-${{ github.job }}-${{ github.run_id }}`                       |\n| `bamboo.buildResultsUrl`                         | `${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}` |\n| `bamboo.build.working.directory`                 | `${{ github.workspace }}`                                                             |\n| `bamboo.deploy.project`                          | `${{ github.repository }}`                                                            |\n| `bamboo.ManualBuildTriggerReason.userName`       | `${{ github.actor }}`                                                                 |\n| `bamboo.planKey`                                 | `${{ github.workflow }}`                                                              |\n| `bamboo.planName`                                | `${{ github.repository }}-${{ github.workflow }}`                                     |\n| `bamboo.planRepository.branchDisplayName`        | `${{ github.ref }}`                                                                   |\n| `bamboo.planRepository.<position>.branch`        | `${{ github.ref }}`                                                                   |\n| `bamboo.planRepository.<position>.branchName`    | `${{ github.ref }}`                                                                   |\n| `bamboo.planRepository.<position>.name`          | `${{ github.repository }}`                                                            |\n| `bamboo.planRepository.<position>.repositoryUrl` | `${{ github.server }}/${{ github.repository }}`                                       |\n| `bamboo.planRepository.<position>.revision`      | `${{ github.sha }}`                                                                   |\n| `bamboo.planRepository.<position>.username`      | `${{ github.actor}}`                                                                  |\n| `bamboo.repository.branch.name`                  | `${{ github.ref }}`                                                                   |\n| `bamboo.repository.git.branch`                   | `${{ github.ref }}`                                                                   |\n| `bamboo.repository.git.repositoryUrl`            | `${{ github.server }}/${{ github.repository }}`                                       |\n| `bamboo.repository.pr.key`                       | `${{ github.event.pull_request.number }}`                                             |\n| `bamboo.repository.pr.sourceBranch`              | `${{ github.event.pull_request.head.ref }}`                                           |\n| `bamboo.repository.pr.targetBranch`              | `${{ github.event.pull_request.base.ref }}`                                           |\n| `bamboo.resultsUrl`                              | `${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}` |\n| `bamboo.shortJobKey`                             | `${{ github.job }}`                                                                   |\n| `bamboo.shortJobName`                            | `${{ github.job }}`                                                                   |\n| `bamboo.shortPlanKey`                            | `${{ github.workflow }}`                                                              |\n| `bamboo.shortPlanName`                           | `${{ github.workflow }}`                                                              |\n\n> \\[!NOTE]\n> 不明な変数は、`${{ env.<variableName> }}` に変換されます。これは、適切な操作について `env` の下で置き換えるか追加する必要があります。 たとえば、`${bamboo.jira.baseUrl}` は `${{ env.jira_baseUrl }}` になります。\n\n### システム変数\n\nタスクで使用されるシステム変数は、同等の bash シェル変数に変換され、使用可能であると見なされます。 たとえば、`${system.<variable.name>}` は `$variable_name` に変換されます。 ワークフローの適切な操作を確実にするために、これを確認することをお勧めします。\n\n## 法務上の通知\n\nデータ再利用可能アクション.actions-importer-legal-notice %}"}