[{"data":1,"prerenderedAt":1920},["ShallowReactive",2],{"/ja-jp/blog/claude-code-and-gitlab":3,"navigation-ja-jp":1141,"banner-ja-jp":1570,"footer-ja-jp":1578,"blog-post-authors-ja-jp-Michael Friedrich":1820,"blog-related-posts-ja-jp-claude-code-and-gitlab":1835,"blog-promotions-ja-jp":1859,"next-steps-ja-jp":1911},{"id":4,"title":5,"authors":6,"body":8,"category":1121,"date":1122,"description":1123,"extension":1124,"externalUrl":1125,"faq":1125,"featured":153,"heroImage":1126,"meta":1127,"navigation":153,"path":1128,"seo":1129,"slug":1132,"stem":1133,"tags":1134,"template":1138,"updatedDate":1139,"__hash__":1140},"blogPosts/ja-jp/blog/claude-code-and-gitlab.md","Claude CodeとGitLab：リリースまでの3つのワークフロー",[7],"Michael Friedrich",{"type":9,"value":10,"toc":1106},"minimark",[11,15,18,28,31,44,48,86,91,94,113,161,164,176,180,187,194,206,219,225,233,357,360,369,379,382,385,414,423,429,435,438,451,455,458,465,469,482,493,503,530,540,558,561,580,586,595,598,601,608,617,624,630,633,642,649,655,658,678,681,687,690,699,706,712,715,721,725,734,740,748,764,779,785,788,797,800,806,809,834,840,843,849,853,856,868,1014,1022,1031,1040,1043,1046,1049,1052,1063,1066,1102],[12,13,14],"p",{},"Claude Codeが開発者に支持される理由は、ターミナルやIDE内でシニアエンジニアとペアプログラミングをしているような感覚を味わえるからです。なじみのないコードの理解、修正の提案、新機能のスキャフォールディングを素早く行えます。",[12,16,17],{},"しかし、注目すべきパターンがあります。エージェント型コーディングツールがコードを書く能力を向上させるほど、ソフトウェアライフサイクルの残りの工程がそれに追いつけなくなっていきます。バグのバックログは増加し、パイプラインの失敗率は上昇し、セキュリティの脆弱性はチームがトリアージできるペースよりも速く蓄積されていきます。コードを書くことと、ソフトウェアをリリースすることは同じではなく、両者の間には確かなギャップが存在します。",[12,19,20,21,27],{},"GitLabは、",[22,23,26],"a",{"href":24,"rel":25},"https://about.gitlab.com/ja-jp/blog/loop-engineering-gitlab-claude-code",[],"Claude Code","の後に続くソフトウェアライフサイクルの残りのすべての工程（CI/CD、セキュリティスキャン、コードレビュー、承認）を、一か所で、監査証跡付きで加速します。",[12,29,30],{},"このチュートリアルでは、Claude Codeがコードベースで素早く動作し、GitLabがそのコードを認定されたリリース可能な変更へと仕上げる3つのシナリオを紹介します。",[32,33,34,38,41],"ul",{},[35,36,37],"li",{},"C++のバグをClaude Codeで修正し、GitLab CI/CD、セキュリティスキャン、Duo Code Reviewに後の処理を任せる。",[35,39,40],{},"GitLab MCPのコンテキストを追加して、Claudeがローカルファイルだけでなく実際のイシューから作業できるようにする。",[35,42,43],{},"Duo Agent PlatformのClaudeを利用した外部エージェントを使用して、MR内のコードレビューフィードバックに直接対応する。",[45,46,47],"h2",{"id":47},"前提条件",[49,50,51,59,68,83],"ol",{},[35,52,53,54,58],{},"ターミナルで設定済みかつ実行中の",[22,55,26],{"href":56,"rel":57},"https://code.claude.com/docs/en/overview",[],"。",[35,60,61,62,67],{},"バグレポートや機能提案のイシューが含まれるGitLabプロジェクト（例：",[22,63,66],{"href":64,"rel":65},"https://gitlab.com/gitlab-da/use-cases/ai/gitlab-duo-agent-platform/demo-environments/tanuki-iot-platform",[],"Tanuki Iot Platformプロジェクト","）。",[35,69,70,71,76,77,82],{},"特定のユースケース向け：",[22,72,75],{"href":73,"rel":74},"https://docs.gitlab.com/ja-jp/user/gitlab_duo/model_context_protocol/mcp_server/",[],"GitLab MCPサーバー","と",[22,78,81],{"href":79,"rel":80},"https://docs.gitlab.com/ja-jp/user/duo_agent_platform/agents/external/",[],"外部エージェント","を備えたGitLab Duo Agent Platform。",[35,84,85],{},"コードのビルドに必要なもの：C++向けのCMake、Make、gcc/clang++、JavaはMaven。",[87,88,90],"h3",{"id":89},"gitlabプロジェクトの準備","GitLabプロジェクトの準備",[12,92,93],{},"このチュートリアルの手順を自分の開発環境で再現する場合は、以下を実施してください。",[32,95,96,102,105],{},[35,97,98,101],{},[22,99,66],{"href":64,"rel":100},[],"をGitLab環境にインポートします。オープンイシューもすべてインポートしてください。",[35,103,104],{},"プロジェクトをローカル環境にクローンし、ディレクトリに移動します。",[35,106,107,108,112],{},"ターミナルを開き、",[109,110,111],"code",{},"claude","コマンドでClaude Codeを起動します。",[114,115,120],"pre",{"className":116,"code":117,"language":118,"meta":119,"style":119},"language-shell shiki shiki-themes github-light","git clone https://gitlab.example.com/examplegroup/tanuki-iot-platform.git\ncd tanuki-iot-platform\n\nclaude\n","shell","",[109,121,122,138,148,155],{"__ignoreMap":119},[123,124,127,131,135],"span",{"class":125,"line":126},"line",1,[123,128,130],{"class":129},"s7eDp","git",[123,132,134],{"class":133},"sYBdl"," clone",[123,136,137],{"class":133}," https://gitlab.example.com/examplegroup/tanuki-iot-platform.git\n",[123,139,141,145],{"class":125,"line":140},2,[123,142,144],{"class":143},"sYu0t","cd",[123,146,147],{"class":133}," tanuki-iot-platform\n",[123,149,151],{"class":125,"line":150},3,[123,152,154],{"emptyLinePlaceholder":153},true,"\n",[123,156,158],{"class":125,"line":157},4,[123,159,160],{"class":129},"claude\n",[12,162,163],{},"プロンプトでプロジェクトの目的を確認します。",[114,165,169],{"className":166,"code":167,"language":168,"meta":119,"style":119},"language-markdown shiki shiki-themes github-light","What is this project about?\n","markdown",[109,170,171],{"__ignoreMap":119},[123,172,173],{"class":125,"line":126},[123,174,167],{"class":175},"sgsFI",[45,177,179],{"id":178},"claude-codeとgitlabを使い始める","Claude CodeとGitLabを使い始める",[12,181,182,183,186],{},"最初のシナリオでは、C++で書かれたハードウェアセンサーのバグを修正します。Arduinoコレクターは、USB接続されたArduino Uno R4ボードからメトリクスを読み取りますが、デバイス",[109,184,185],{},"/dev/ttyACM0","が接続されていない場合にクラッシュします。",[12,188,189],{},[190,191],"img",{"alt":192,"src":193,"title":192},"Arduino IoTコレクターのクラッシュバグレポートを示すGitLabイシュー","https://res.cloudinary.com/about-gitlab-com/image/upload/v1778079018/itfnec4qrlldxfftwnig.png",[12,195,196,201,202,205],{},[22,197,200],{"href":198,"rel":199},"https://gitlab.com/gitlab-da/use-cases/ai/gitlab-duo-agent-platform/demo-environments/tanuki-iot-platform/-/work_items/4",[],"イシュー4","のバグレポートを確認した後、",[109,203,204],{},"main.cpp","ファイルのコードを調べます。例えばvimを使って確認できます。",[114,207,209],{"className":116,"code":208,"language":118,"meta":119,"style":119},"vim sensors/arduino-iot-collector/src/main.cpp\n",[109,210,211],{"__ignoreMap":119},[123,212,213,216],{"class":125,"line":126},[123,214,215],{"class":129},"vim",[123,217,218],{"class":133}," sensors/arduino-iot-collector/src/main.cpp\n",[12,220,221],{},[190,222],{"alt":223,"src":224,"title":223},"vimで開いたArduino IoTコレクターのソースコード","https://res.cloudinary.com/about-gitlab-com/image/upload/v1778079018/mjof3rgdlxjy2trmgehq.png",[12,226,227,232],{},[22,228,231],{"href":229,"rel":230},"https://cmake.org/",[],"CMake","でコレクターのバイナリをビルドして実行し、問題を再現します。",[114,234,236],{"className":116,"code":235,"language":118,"meta":119,"style":119},"cmake -S . -B build\ncmake --build build\n\n./build/arduino_iot_collector\nStarting Arduino IoT Collector Application...\nlibc++abi: terminating due to uncaught exception of type std::runtime_error: Failed to initialize Arduino temperature sensor: Arduino port not found: /dev/ttyACM0\n[1]    85289 abort      ./build/arduino_iot_collector\n",[109,237,238,255,264,268,273,291,351],{"__ignoreMap":119},[123,239,240,243,246,249,252],{"class":125,"line":126},[123,241,242],{"class":129},"cmake",[123,244,245],{"class":143}," -S",[123,247,248],{"class":133}," .",[123,250,251],{"class":143}," -B",[123,253,254],{"class":133}," build\n",[123,256,257,259,262],{"class":125,"line":140},[123,258,242],{"class":129},[123,260,261],{"class":143}," --build",[123,263,254],{"class":133},[123,265,266],{"class":125,"line":150},[123,267,154],{"emptyLinePlaceholder":153},[123,269,270],{"class":125,"line":157},[123,271,272],{"class":129},"./build/arduino_iot_collector\n",[123,274,276,279,282,285,288],{"class":125,"line":275},5,[123,277,278],{"class":129},"Starting",[123,280,281],{"class":133}," Arduino",[123,283,284],{"class":133}," IoT",[123,286,287],{"class":133}," Collector",[123,289,290],{"class":133}," Application...\n",[123,292,294,297,300,303,306,309,312,315,318,321,324,326,329,331,334,337,339,342,345,348],{"class":125,"line":293},6,[123,295,296],{"class":129},"libc++abi:",[123,298,299],{"class":133}," terminating",[123,301,302],{"class":133}," due",[123,304,305],{"class":133}," to",[123,307,308],{"class":133}," uncaught",[123,310,311],{"class":133}," exception",[123,313,314],{"class":133}," of",[123,316,317],{"class":133}," type",[123,319,320],{"class":133}," std::runtime_error:",[123,322,323],{"class":133}," Failed",[123,325,305],{"class":133},[123,327,328],{"class":133}," initialize",[123,330,281],{"class":133},[123,332,333],{"class":133}," temperature",[123,335,336],{"class":133}," sensor:",[123,338,281],{"class":133},[123,340,341],{"class":133}," port",[123,343,344],{"class":133}," not",[123,346,347],{"class":133}," found:",[123,349,350],{"class":133}," /dev/ttyACM0\n",[123,352,354],{"class":125,"line":353},7,[123,355,356],{"class":175},"[1]    85289 abort      ./build/arduino_iot_collector\n",[12,358,359],{},"Claude Codeを開き、次のプロンプトで修正を依頼します。",[114,361,363],{"className":166,"code":362,"language":168,"meta":119,"style":119},"Please help me fix the Arduino IoT Collector sensor - it crashes.\n",[109,364,365],{"__ignoreMap":119},[123,366,367],{"class":125,"line":126},[123,368,362],{"class":175},[12,370,371,372,374,375,378],{},"Claude Codeはコードベースを検索し、",[109,373,204],{},"ファイルの問題を特定します。このファイルでは",[109,376,377],{},"std::runtime_error()","例外がスローされ、アプリケーションが即座にクラッシュしています。期待される動作は、ユーザーフレンドリーな設定エラーをログに記録し、アプリケーションの実行を継続することです。",[12,380,381],{},"ソースコードの修正とビルドが成功したら、Gitブランチの作成、コミット、マージリクエストの作成を行い、CI/CDパイプライン、セキュリティスキャン、コードレビューのワークフローをトリガーします。",[12,383,384],{},"Claude CodeでGitを操作するには、いくつかの方法があります。",[32,386,387,393],{},[35,388,389,390],{},"プロンプトを使用する：",[109,391,392],{},"Please help me create a Git branch and commit and push the changes.",[35,394,395,396,399,400,403,404,403,407,410,411,413],{},"シェルコマンドを実行する：",[109,397,398],{},"!","でコマンドプロンプトを開き、",[109,401,402],{},"git checkout -b fix-arduino-sensor","、",[109,405,406],{},"git commit -avm \"...\"",[109,408,409],{},"git push","コマンドを順に実行します。",[109,412,409],{},"の出力にMR作成URLが生成されます。クリックするとブラウザが開き、フォームに入力できます。",[12,415,416,417,422],{},"MRが作成されるとCI/CDパイプラインがトリガーされ、ビルドとテストの動作を確認します。セキュリティスキャンにより、新たな脆弱性が導入されていないことを確認します。新しいMRは自動的に",[22,418,421],{"href":419,"rel":420},"https://docs.gitlab.com/ja-jp/user/duo_agent_platform/flows/foundational_flows/code_review/",[],"GitLab Duo Code Review Flow","をトリガーし、修正の正確性を評価します。開発スタイルガイドとカスタムレビュー指示に従って評価が行われます。",[12,424,425],{},[190,426],{"alt":427,"src":428,"title":427},"C++向けGitLab Duo Code Reviewのカスタム指示","https://res.cloudinary.com/about-gitlab-com/image/upload/v1778079019/wasta2rqivrvrsjtw1jv.png",[12,430,431],{},[190,432],{"alt":433,"src":434,"title":433},"GitLab Duo Code Review Flowのレビューフィードバックコメント","https://res.cloudinary.com/about-gitlab-com/image/upload/v1778079019/r2oalo1xwkpbmeispflo.png",[12,436,437],{},"Claude Code、GitLab CI/CD、GitLab Duo Agent Platformの動作を紹介する短い録画をご覧いただけます。",[439,440,443,444],"figure",{"className":441},[442],"video_container","\n  ",[445,446,450],"iframe",{"src":447,"frameBorder":448,"allowFullScreen":449},"https://www.youtube.com/embed/JH4Sae3eDpw","0","true"," ",[45,452,454],{"id":453},"gitlab-mcpを使ったclaude-codeによるcバグの修正","GitLab MCPを使ったClaude CodeによるC++バグの修正",[12,456,457],{},"前のシナリオでは、Claude Codeがローカルのコードリポジトリを検索し、利用可能なコンテキストを基に修正を推定しました。しかし、バグを説明するGitLabイシュー、デバッグの議論、問題の修正方法や長期的な対処法についての情報が欠けていました。また、マージリクエストやイシューに保存された過去のコード変更の履歴（ソフトウェア開発ライフサイクル（SDLC）のコンテキスト）も考慮されていませんでした。",[12,459,460,461,464],{},"このような豊富なGitLab SDLCコンテキストを活用するために、",[22,462,75],{"href":73,"rel":463},[],"をClaude Codeに統合できます。",[87,466,468],{"id":467},"gitlab-mcpサーバーの設定","GitLab MCPサーバーの設定",[12,470,471,475,476,481],{},[22,472,75],{"href":473,"rel":474},"https://about.gitlab.com/ja-jp/blog/what-is-mcp-server/",[],"がインスタンスまたはトップレベルグループで",[22,477,480],{"href":478,"rel":479},"https://docs.gitlab.com/ja-jp/user/gitlab_duo/model_context_protocol/mcp_server/#prerequisites",[],"有効化","されていることを確認してください。",[12,483,484,485,488,489,492],{},"新しいターミナルを開き、",[109,486,487],{},"http","トランスポートタイプを使用して",[22,490,75],{"href":73,"rel":491},[],"をClaude Codeに追加します。",[12,494,495,498,499,502],{},[109,496,497],{},"gitlab.example.com","をご自身のGitLabインスタンスのURLに変更するか、",[109,500,501],{},"GitLab.com","を使用してください。",[114,504,506],{"className":116,"code":505,"language":118,"meta":119,"style":119},"claude mcp add --transport http GitLab https://gitlab.example.com/api/v4/mcp\n",[109,507,508],{"__ignoreMap":119},[123,509,510,512,515,518,521,524,527],{"class":125,"line":126},[123,511,111],{"class":129},[123,513,514],{"class":133}," mcp",[123,516,517],{"class":133}," add",[123,519,520],{"class":143}," --transport",[123,522,523],{"class":133}," http",[123,525,526],{"class":133}," GitLab",[123,528,529],{"class":133}," https://gitlab.example.com/api/v4/mcp\n",[12,531,532,533,535,536,539],{},"新しいターミナルセッションで",[109,534,111],{},"を実行し、",[109,537,538],{},"/mcp","と入力して、開いたブラウザページでOAuthを使用してGitLab MCPサーバーで認証します。",[114,541,543],{"className":116,"code":542,"language":118,"meta":119,"style":119},"claude\n\n/mcp\n",[109,544,545,549,553],{"__ignoreMap":119},[123,546,547],{"class":125,"line":126},[123,548,160],{"class":129},[123,550,551],{"class":125,"line":140},[123,552,154],{"emptyLinePlaceholder":153},[123,554,555],{"class":125,"line":150},[123,556,557],{"class":129},"/mcp\n",[12,559,560],{},"接続を確認するには、Claudeに次のように質問します。",[114,562,564],{"className":166,"code":563,"language":168,"meta":119,"style":119},"Which GitLab MCP tools are available to you?\n\nShow the GitLab MCP Server version\n",[109,565,566,571,575],{"__ignoreMap":119},[123,567,568],{"class":125,"line":126},[123,569,570],{"class":175},"Which GitLab MCP tools are available to you?\n",[123,572,573],{"class":125,"line":140},[123,574,154],{"emptyLinePlaceholder":153},[123,576,577],{"class":125,"line":150},[123,578,579],{"class":175},"Show the GitLab MCP Server version\n",[12,581,582],{},[190,583],{"alt":584,"src":585,"title":584},"GitLab MCPサーバーのバージョンを確認するClaude Code","https://res.cloudinary.com/about-gitlab-com/image/upload/v1778079019/f2ygt6wuuvxxbpticcgt.png",[12,587,588,589,594],{},"Claude CodeをGitLab MCPサーバーで認証すると、",[22,590,593],{"href":591,"rel":592},"https://datatracker.ietf.org/doc/html/rfc7591",[],"OAuth","を通じて接続され、昇格された別個の権限ではなく、既存のGitLabアイデンティティで動作します。実際には、Claude Codeはアカウントとプロジェクト／グループのメンバーシップを通じてすでにアクセス権を持っているプロジェクト、イシュー、マージリクエスト、その他のGitLabデータのみを閲覧できます。これは重要なガードレールです。MCPはAIツール内のコンテキストを拡張しますが、GitLabの可視性制御を回避したり、独自に広範なアクセス権を生成したりすることはありません。",[12,596,597],{},"2つ目のガードレールはユーザー承認です。このフローでは、Claude Codeが呼び出したいMCPツールを特定し、処理を進める前に承認を求めるため、外部コンテキストが取得される際も開発者がループに留まります。セキュリティに敏感な環境では、プロンプトで公開されるデータに注意を払い、MCPは主に信頼できるGitLabコンテンツと併用することも重要です。",[87,599,600],{"id":600},"バグレポートのイシューに取り組む",[12,602,603,604,607],{},"プロンプトで",[22,605,200],{"href":198,"rel":606},[],"を参照して、イシューのコンテキストをClaude Codeに取得します。プロジェクトにイシューがない場合は、イシュー4をクローン／コピーして、プロンプトの番号を調整してください。",[114,609,611],{"className":166,"code":610,"language":168,"meta":119,"style":119},"Please help me fix issue 4\n",[109,612,613],{"__ignoreMap":119},[123,614,615],{"class":125,"line":126},[123,616,610],{"class":175},[12,618,619,620,623],{},"Claude Codeはイシューのコンテキストを取得するために",[109,621,622],{},"get_issue","というMCPツールを呼び出す必要があると判断し、承認を求めます。将来の使用を自動的に承認することもできます。",[12,625,626],{},[190,627],{"alt":628,"src":629,"title":628},"MCPツールを使用してイシューのコンテキストを取得するClaude Code","https://res.cloudinary.com/about-gitlab-com/image/upload/v1778079021/tj6dpxbemvvgqnbifzjy.png",[12,631,632],{},"Claude Codeがイシューから必要なコンテキストを取得すると、センサーのC++ソースコードを直接分析し始めます。修正を作成して確認した後、Claude Codeがまだ行っていない場合は、新しいGitブランチの作成、コミット、MRの作成を依頼できます。",[114,634,636],{"className":166,"code":635,"language":168,"meta":119,"style":119},"Please create a new Git branch, commit the changes, and create a new merge request\n",[109,637,638],{"__ignoreMap":119},[123,639,640],{"class":125,"line":126},[123,641,635],{"class":175},[12,643,644,645,648],{},"Claude Codeは",[109,646,647],{},"create_merge_request","というMCPツールを見つけ、ブラウザを開くことなく直接MRを作成します。",[12,650,651],{},[190,652],{"alt":653,"src":654,"title":653},"MCPツールを使用してMRを作成し、イシュー4にリンクしたClaude Code","https://res.cloudinary.com/about-gitlab-com/image/upload/v1778079021/bo41ti93yonvsy9q2gbw.png",[12,656,657],{},"GitLabでは、MRの作成イベントにより複数の並列ワークフローが自動的にトリガーされます。",[32,659,660,663,671],{},[35,661,662],{},"自動ビルドとテストのためのCI/CDパイプライン",[35,664,665,670],{},[22,666,669],{"href":667,"rel":668},"https://docs.gitlab.com/ja-jp/user/application_security/sast/advanced_sast_cpp/",[],"C++向けAdvanced SAST","によるセキュリティスキャン",[35,672,673,674],{},"GitLab Duo Agent Platformによる",[22,675,677],{"href":419,"rel":676},[],"Code Review Flow",[12,679,680],{},"GitLab内のこれらの自動化されたエージェント型ワークフローは、Claude Codeがイシュー解決のためのAIコーディングを加速するのと同じくらい、ソフトウェアデリバリーを加速します。",[12,682,683],{},[190,684],{"alt":685,"src":686,"title":685},"MR内のCI/CDパイプラインステータス - テストとセキュリティスキャン","https://res.cloudinary.com/about-gitlab-com/image/upload/v1778079022/yd3kzf9yp4usdldovs1a.png",[12,688,689],{},"ブラウザでMRを開くか、ターミナルに留まってClaude Codeに次のように確認できます。",[114,691,693],{"className":166,"code":692,"language":168,"meta":119,"style":119},"Is the Merge Request running OK?\n",[109,694,695],{"__ignoreMap":119},[123,696,697],{"class":125,"line":126},[123,698,692],{"class":175},[12,700,701,702,705],{},"MCPツールの",[109,703,704],{},"get_merge_request_pipelines","を使用して、MRパイプラインのステータスを取得し、グリーンでマージ準備完了であることを確認します。",[12,707,708],{},[190,709],{"alt":710,"src":711,"title":710},"MCPツールを使用してMRパイプラインのステータスを取得するClaude Code","https://res.cloudinary.com/about-gitlab-com/image/upload/v1778079019/s8cwcvc3r5moui2twjpd.png",[12,713,714],{},"GitLab MCPサーバーのサポートを受けてClaude Codeが問題を修正する方法を学びたい方は、録画をご覧ください。",[439,716,443,718],{"className":717},[442],[445,719,450],{"src":720,"frameBorder":448,"allowFullScreen":449},"https://www.youtube.com/embed/q8XWnmdIaI0",[45,722,724],{"id":723},"外部エージェントレビュアーとしてのclaude-code","外部エージェントレビュアーとしてのClaude Code",[12,726,727,728,733],{},"最後のシナリオでは、Claude Codeが",[22,729,732],{"href":730,"rel":731},"https://gitlab.com/gitlab-da/use-cases/ai/gitlab-duo-agent-platform/demo-environments/tanuki-iot-platform/-/work_items/24",[],"イシュー24","の要件（REST/WebSocketバックエンドを持つSpring Boot APIサーバー）を基に新機能を実装しました。CI/CDパイプラインとセキュリティスキャンは問題なく通過していますが、MRにはコードレビューのフィードバックが待機しています。",[12,735,736],{},[190,737],{"alt":738,"src":739,"title":738},"Spring Boot APIサーバーMRに対するGitLab Duo Code Reviewフィードバック","https://res.cloudinary.com/about-gitlab-com/image/upload/v1778079022/to7zvyrarrvcnyuuzldi.png",[12,741,742,743,747],{},"イシュー、エピック、MRにClaude Codeをコラボレーションパートナーとして追加し、タスクに一緒に取り組むことができます。前提条件については",[22,744,746],{"href":79,"rel":745},[],"外部エージェントのドキュメント","を参照してください。",[12,749,750,751,755,756,759,760,763],{},"プロジェクトメニューの",[752,753,754],"strong",{},"AI > Agents","から",[109,757,758],{},"Claude Agent by GitLab","を有効にします。後でエージェントをメンションまたはアサインする方法として、サービスアカウント名（パターン：",[109,761,762],{},"@ai-\u003Cagent-name>-\u003Ctop-level-group-name>","）を確認しておいてください。",[12,765,766,767,772,773,778],{},"次に、コードレビューのフィードバックが含まれるMRを開き、要求された変更を確認します。スクリーンショットは",[22,768,771],{"href":769,"rel":770},"https://gitlab.com/gitlab-da/use-cases/ai/gitlab-duo-agent-platform/demo-environments/tanuki-iot-platform/-/merge_requests/78",[],"MR 78","を使用しており、GitLab Duo Code Reviewは",[22,774,777],{"href":775,"rel":776},"https://docs.gitlab.com/ja-jp/user/duo_agent_platform/customize/review_instructions/?tab=Java",[],"Javaのカスタムレビュー指示","に従っています。",[12,780,781],{},[190,782],{"alt":783,"src":784,"title":783},"MRで導入されたAPIエンドポイントの、安全でない\"AllowedOriginPatterns\"に対するGitLab Duo Code Review Flowフィードバック","https://res.cloudinary.com/about-gitlab-com/image/upload/v1778079039/gvgqmcnijllptvnnyyjc.png",[12,786,787],{},"Claude Codeエージェントをメンションして新しいコメントを作成します。",[114,789,791],{"className":166,"code":790,"language":168,"meta":119,"style":119},"@ai-claude-agent-by-gitlab-\u003Ctop-level-groupname> Can you help me address the review feedback?\n",[109,792,793],{"__ignoreMap":119},[123,794,795],{"class":125,"line":126},[123,796,790],{"class":175},[12,798,799],{},"このメンションにより、バックグラウンドで新しいエージェントセッションが生成され、Claude Codeエージェントのセットアップが行われ、レビューフィードバックへの対応が開始されます。完了すると、Gitコミットの作成とMRへのサマリーコメントの投稿という指示に従って処理が完了します。",[12,801,802],{},[190,803],{"alt":804,"src":805,"title":804},"Claude Agentによって解決されたGitLab Duo Code Reviewフィードバック","https://res.cloudinary.com/about-gitlab-com/image/upload/v1778079038/pqy8f4xo8n0i7yvkajso.png",[12,807,808],{},"ソフトウェア開発が組織のガードレール内に収まるようにするための次のステップを以下に示します。",[32,810,811,814,817,826],{},[35,812,813],{},"残りのレビューフィードバックに対応する。",[35,815,816],{},"CI/CDパイプラインジョブの警告を確認する。",[35,818,819,820,825],{},"潜在的なセキュリティの脆弱性を確認する（例：",[22,821,824],{"href":822,"rel":823},"https://docs.gitlab.com/ja-jp/user/duo_agent_platform/flows/foundational_flows/agentic_sast_vulnerability_resolution/",[],"SAST脆弱性解消","を使用）。",[35,827,828,833],{},[22,829,832],{"href":830,"rel":831},"https://docs.gitlab.com/ja-jp/user/project/codeowners/",[],"コードオーナー","として設定された承認権限を持つ開発者からマージリクエストの承認を取得する。",[12,835,836],{},[190,837],{"alt":838,"src":839,"title":838},"CI/CDパイプライン、必要な承認、セキュリティの検出結果、マージステータスを示すマージリクエストウィジェット","https://res.cloudinary.com/about-gitlab-com/image/upload/v1778079039/uzegwykldauzuxucrpjf.png",[12,841,842],{},"Claude CodeがGitLab Duo Agent Platformの外部エージェントとしてレビューを支援する方法を学びたい方は、こちらの動画をご覧ください。",[439,844,443,846],{"className":845},[442],[445,847,450],{"src":848,"frameBorder":448,"allowFullScreen":449},"https://www.youtube.com/embed/Tw0wNet1HCc",[45,850,852],{"id":851},"claude-codeとgitlabのヒント","Claude CodeとGitLabのヒント",[87,854,855],{"id":855},"カスタム指示",[12,857,858,861,862,867],{},[109,859,860],{},"AGENTS.md","のエントリを使用して、コミット前にコードをビルドしてテストすること、変更を最小限に抑えること、プロジェクトのアーキテクチャをより深く理解することをエージェントに指示できます。Tanuki IoT Platformでは以下の",[22,863,866],{"href":864,"rel":865},"https://gitlab.com/gitlab-da/use-cases/ai/gitlab-duo-agent-platform/demo-environments/tanuki-iot-platform/-/blob/main/AGENTS.md?ref_type=heads&plain=1",[],"本番環境の例","を使用しています。",[114,869,871],{"className":166,"code":870,"language":168,"meta":119,"style":119},"## Working with sensors\n\n### Before editing\n1. Identify the sensor directory you're working with\n2. Check for an `AGENTS.md` file in that directory\n3. Read sensor-specific instructions before making changes\n4. Follow language-specific style guides\n\n### Making changes\n- Keep changes minimal and focused on the user request\n- Do not refactor existing code unless specifically instructed\n- Preserve original code formatting\n- Only modify code necessary to solve the specific request\n\n### Creating MRs\n- Always run local builds and tests first\n- Create a new branch for changes\n- Automatically create a merge request after successful commits\n- Reference relevant issues or tasks in the MR description\n",[109,872,873,879,883,888,897,911,919,927,932,938,947,955,963,971,976,982,990,998,1006],{"__ignoreMap":119},[123,874,875],{"class":125,"line":126},[123,876,878],{"class":877},"surfw","## Working with sensors\n",[123,880,881],{"class":125,"line":140},[123,882,154],{"emptyLinePlaceholder":153},[123,884,885],{"class":125,"line":150},[123,886,887],{"class":877},"### Before editing\n",[123,889,890,894],{"class":125,"line":157},[123,891,893],{"class":892},"sqxcx","1.",[123,895,896],{"class":175}," Identify the sensor directory you're working with\n",[123,898,899,902,905,908],{"class":125,"line":275},[123,900,901],{"class":892},"2.",[123,903,904],{"class":175}," Check for an ",[123,906,907],{"class":143},"`AGENTS.md`",[123,909,910],{"class":175}," file in that directory\n",[123,912,913,916],{"class":125,"line":293},[123,914,915],{"class":892},"3.",[123,917,918],{"class":175}," Read sensor-specific instructions before making changes\n",[123,920,921,924],{"class":125,"line":353},[123,922,923],{"class":892},"4.",[123,925,926],{"class":175}," Follow language-specific style guides\n",[123,928,930],{"class":125,"line":929},8,[123,931,154],{"emptyLinePlaceholder":153},[123,933,935],{"class":125,"line":934},9,[123,936,937],{"class":877},"### Making changes\n",[123,939,941,944],{"class":125,"line":940},10,[123,942,943],{"class":892},"-",[123,945,946],{"class":175}," Keep changes minimal and focused on the user request\n",[123,948,950,952],{"class":125,"line":949},11,[123,951,943],{"class":892},[123,953,954],{"class":175}," Do not refactor existing code unless specifically instructed\n",[123,956,958,960],{"class":125,"line":957},12,[123,959,943],{"class":892},[123,961,962],{"class":175}," Preserve original code formatting\n",[123,964,966,968],{"class":125,"line":965},13,[123,967,943],{"class":892},[123,969,970],{"class":175}," Only modify code necessary to solve the specific request\n",[123,972,974],{"class":125,"line":973},14,[123,975,154],{"emptyLinePlaceholder":153},[123,977,979],{"class":125,"line":978},15,[123,980,981],{"class":877},"### Creating MRs\n",[123,983,985,987],{"class":125,"line":984},16,[123,986,943],{"class":892},[123,988,989],{"class":175}," Always run local builds and tests first\n",[123,991,993,995],{"class":125,"line":992},17,[123,994,943],{"class":892},[123,996,997],{"class":175}," Create a new branch for changes\n",[123,999,1001,1003],{"class":125,"line":1000},18,[123,1002,943],{"class":892},[123,1004,1005],{"class":175}," Automatically create a merge request after successful commits\n",[123,1007,1009,1011],{"class":125,"line":1008},19,[123,1010,943],{"class":892},[123,1012,1013],{"class":175}," Reference relevant issues or tasks in the MR description\n",[12,1015,1016,1017,1021],{},"これらの",[22,1018,855],{"href":1019,"rel":1020},"https://docs.gitlab.com/ja-jp/user/duo_agent_platform/customize/agents_md/",[],"は、GitLab Duo Agent Platform上のエージェントとフローでも処理されます。",[12,1023,644,1024,1027,1028,1030],{},[109,1025,1026],{},"CLAUDE.md","を優先しますが、これを",[109,1029,860],{},"に向けることもできます。",[114,1032,1034],{"className":166,"code":1033,"language":168,"meta":119,"style":119},"@AGENTS.md\n",[109,1035,1036],{"__ignoreMap":119},[123,1037,1038],{"class":125,"line":126},[123,1039,1033],{"class":175},[45,1041,1042],{"id":1042},"まとめ",[12,1044,1045],{},"AIコーディングツールはコードを書く工程での開発者の速度を向上させます。しかし、コードを書くこととソフトウェアをリリースすることは別物です。ツールが最初の工程で非常に優れているからこそ、両者のギャップは広がっていきます。より多くのコードが書かれ、バグのバックログが増加し、パイプラインの失敗率が上昇し、セキュリティの脆弱性が蓄積されていきます。",[12,1047,1048],{},"Claude Codeは、コードが存在する場所での生産性を維持します。なじみのないコードベースを理解し、修正を提案し、機能を素早くスキャフォールディングできます。GitLab Duo Agent Platformは、エンタープライズ組織のソフトウェアチームに属する多くの開発者にとって、その速度を実際にリリースして認定できる安全なソフトウェアへと変換するものです。GitLabを使えば、ソフトウェアライフサイクルの残りの工程（CI/CDパイプラインの修正、セキュリティスキャン、自動修正、コードレビュー、人間が介在するワークフローなど）を、すべてのエージェント型アクションにおいて追跡し、組織のガードレールとセキュリティポリシーの範囲内で実行するよう設定できます。",[12,1050,1051],{},"このチュートリアルでは、Claude CodeとGitLab Duo Agent Platformを組み合わせる3つの方法を紹介しました。",[32,1053,1054,1057,1060],{},[35,1055,1056],{},"Claude Codeでバグを修正し、GitLab CI/CD、セキュリティスキャン、Duo Code Reviewに後の処理を任せる。",[35,1058,1059],{},"GitLab MCPのコンテキストを追加して、ClaudeがGitLabイシュー内に保存された実際のコンテキストから作業できるようにする（ローカルファイルのみではなく）。",[35,1061,1062],{},"GitLab Duo Agent PlatformのClaudeを利用した外部エージェントを使用して、MR内のレビューフィードバックに直接対応する。",[12,1064,1065],{},"3つすべてに共通する原則は同じです。Claudeが速く動き、GitLabが作業を保証します。",[1067,1068,1069,1078,1087],"blockquote",{},[12,1070,1071,1072,1077],{},"GitLab Duo Agent Platformをまだお使いでない方は、",[22,1073,1076],{"href":1074,"rel":1075},"https://about.gitlab.com/ja-jp/gitlab-duo-agent-platform/",[],"無料トライアル","からお始めください。",[12,1079,1080,1081,1086],{},"GitLabの無料プランをご利用中の方は、",[22,1082,1085],{"href":1083,"rel":1084},"https://docs.gitlab.com/ja-jp/subscriptions/gitlab_credits/#for-the-free-tier-on-gitlabcom",[],"いくつかの簡単な手順","でGitLab Duo Agent Platformにサインアップできます。",[12,1088,1089,1090,1095,1096,1101],{},"GitLab PremiumまたはUltimateの既存サブスクライバーの方は、",[22,1091,1094],{"href":1092,"rel":1093},"https://docs.gitlab.com/ja-jp/user/duo_agent_platform/turn_on_off/",[],"Duo Agent Platformを有効にする","だけで開始でき、サブスクリプションに",[22,1097,1100],{"href":1098,"rel":1099},"https://docs.gitlab.com/ja-jp/subscriptions/gitlab_credits/#included-credits",[],"含まれている","GitLab Creditsをすぐにご利用いただけます。",[1103,1104,1105],"style",{},"html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .surfw, html code.shiki .surfw{--shiki-default:#005CC5;--shiki-default-font-weight:bold}html pre.shiki code .sqxcx, html code.shiki .sqxcx{--shiki-default:#E36209}",{"title":119,"searchDepth":140,"depth":140,"links":1107},[1108,1111,1112,1116,1117,1120],{"id":47,"depth":140,"text":47,"children":1109},[1110],{"id":89,"depth":150,"text":90},{"id":178,"depth":140,"text":179},{"id":453,"depth":140,"text":454,"children":1113},[1114,1115],{"id":467,"depth":150,"text":468},{"id":600,"depth":150,"text":600},{"id":723,"depth":140,"text":724},{"id":851,"depth":140,"text":852,"children":1118},[1119],{"id":855,"depth":150,"text":855},{"id":1042,"depth":140,"text":1042},"ai","2026-05-06","エージェント型AIコーディングツールを使用するとコードを素早く書けるようになります。しかし、リリースするのは誰でしょうか？Claude CodeとGitLab Duo Agent Platformを組み合わせることで、バグレポートから本番環境での修正まで一貫して実現できます。本ブログでは、その方法をご紹介します。","md",null,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1778087000/qdfsf8kz6ebfnopx9v2e.png",{},"/ja-jp/blog/claude-code-and-gitlab",{"config":1130,"title":5,"description":1123},{"noIndex":1131},false,"claude-code-and-gitlab","ja-jp/blog/claude-code-and-gitlab",[1135,1136,1137],"AI","tutorial","product","BlogPost","2026-08-07","EDtWnFfnnzj0vS7FXoOVwCQL3a3-esg8G_tPUmEZMKA",{"logo":1142,"freeTrial":1147,"sales":1152,"login":1157,"items":1162,"search":1491,"minimal":1523,"duo":1540,"switchNav":1549,"pricingDeployment":1560},{"config":1143},{"href":1144,"dataGaName":1145,"dataGaLocation":1146},"/ja-jp/","gitlab logo","header",{"text":1148,"config":1149},"無料トライアルを開始",{"href":1150,"dataGaName":1151,"dataGaLocation":1146},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp&glm_content=default-saas-trial/","free trial",{"text":1153,"config":1154},"デモをリクエスト",{"href":1155,"dataGaName":1156,"dataGaLocation":1146},"/ja-jp/sales/?contact-topic=request-demo","sales",{"text":1158,"config":1159},"サインイン",{"href":1160,"dataGaName":1161,"dataGaLocation":1146},"https://gitlab.com/users/sign_in/","sign in",[1163,1192,1294,1299,1413,1469],{"text":1164,"config":1165,"menu":1167},"プラットフォーム",{"dataNavLevelOne":1166},"platform",{"type":1168,"columns":1169},"cards",[1170,1176,1184],{"title":1164,"description":1171,"link":1172},"DevSecOpsに特化したインテリジェントオーケストレーションプラットフォーム",{"text":1173,"config":1174},"プラットフォームの詳細はこちら",{"href":1175,"dataGaName":1166,"dataGaLocation":1146},"/ja-jp/platform/",{"title":1177,"description":1178,"link":1179},"GitLab Duo Agent Platform","ソフトウェアライフサイクル全体を支えるエージェント型AI",{"text":1180,"config":1181},"GitLab Duoのご紹介",{"href":1182,"dataGaName":1183,"dataGaLocation":1146},"/ja-jp/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":1185,"description":1186,"link":1187},"GitLabが選ばれる理由","エンタープライズがGitLabを選ぶ主な理由をご覧ください",{"text":1188,"config":1189},"詳細はこちら",{"href":1190,"dataGaName":1191,"dataGaLocation":1146},"/ja-jp/why-gitlab/","why gitlab",{"text":1193,"left":153,"config":1194,"menu":1196},"製品",{"dataNavLevelOne":1195},"solutions",{"type":1197,"link":1198,"columns":1202,"feature":1273},"lists",{"text":1199,"config":1200},"すべてのソリューションを表示",{"href":1201,"dataGaName":1195,"dataGaLocation":1146},"/ja-jp/solutions/",[1203,1228,1251],{"title":1204,"description":1205,"link":1206,"items":1211},"自動化","CI/CDと自動化でデプロイを加速",{"config":1207},{"icon":1208,"href":1209,"dataGaName":1210,"dataGaLocation":1146},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[1212,1216,1219,1224],{"text":1213,"config":1214},"CI/CD",{"href":1215,"dataGaLocation":1146,"dataGaName":1213},"/ja-jp/solutions/continuous-integration/",{"text":1177,"config":1217},{"href":1182,"dataGaLocation":1146,"dataGaName":1218},"gitlab duo agent platform - product menu",{"text":1220,"config":1221},"ソースコード管理",{"href":1222,"dataGaLocation":1146,"dataGaName":1223},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":1225,"config":1226},"自動化されたソフトウェアデリバリー",{"href":1209,"dataGaLocation":1146,"dataGaName":1227},"Automated software delivery",{"title":1229,"description":1230,"link":1231,"items":1236},"セキュリティ","セキュリティを犠牲にすることなくコード作成を高速化",{"config":1232},{"href":1233,"dataGaName":1234,"dataGaLocation":1146,"icon":1235},"/ja-jp/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[1237,1241,1246],{"text":1238,"config":1239},"アプリケーションセキュリティテスト",{"href":1233,"dataGaName":1240,"dataGaLocation":1146},"Application security testing",{"text":1242,"config":1243},"ソフトウェアサプライチェーンセキュリティ",{"href":1244,"dataGaLocation":1146,"dataGaName":1245},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":1247,"config":1248},"ソフトウェアコンプライアンス",{"href":1249,"dataGaName":1250,"dataGaLocation":1146},"/ja-jp/solutions/software-compliance/","software compliance",{"title":1252,"link":1253,"items":1258},"測定",{"config":1254},{"icon":1255,"href":1256,"dataGaName":1257,"dataGaLocation":1146},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[1259,1263,1268],{"text":1260,"config":1261},"可視性と測定",{"href":1256,"dataGaLocation":1146,"dataGaName":1262},"Visibility and Measurement",{"text":1264,"config":1265},"バリューストリーム管理",{"href":1266,"dataGaLocation":1146,"dataGaName":1267},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":1269,"config":1270},"分析とインサイト",{"href":1271,"dataGaLocation":1146,"dataGaName":1272},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":1274,"type":1197,"items":1275},"GitLabが活躍する場所",[1276,1282,1288],{"text":1277,"config":1278},"大企業",{"icon":1279,"href":1280,"dataGaLocation":1146,"dataGaName":1281},"Building","/ja-jp/enterprise/","enterprise",{"text":1283,"config":1284},"スモールビジネス",{"icon":1285,"href":1286,"dataGaLocation":1146,"dataGaName":1287},"Work","/ja-jp/small-business/","small business",{"text":1289,"config":1290},"公共部門",{"icon":1291,"href":1292,"dataGaLocation":1146,"dataGaName":1293},"Organization","/ja-jp/solutions/public-sector/","public sector",{"text":1295,"config":1296},"価格",{"href":1297,"dataGaName":1298,"dataGaLocation":1146,"dataNavLevelOne":1298},"/ja-jp/pricing/","pricing",{"text":1300,"config":1301,"menu":1303},"関連リソース",{"dataNavLevelOne":1302},"resources",{"type":1197,"link":1304,"columns":1308,"feature":1402},{"text":1305,"config":1306},"すべてのリソースを表示",{"href":1307,"dataGaName":1302,"dataGaLocation":1146},"/ja-jp/resources/",[1309,1342,1369],{"title":1310,"items":1311},"はじめに",[1312,1317,1322,1327,1332,1337],{"text":1313,"config":1314},"インストール",{"href":1315,"dataGaName":1316,"dataGaLocation":1146},"/ja-jp/install/","install",{"text":1318,"config":1319},"クイックスタートガイド",{"href":1320,"dataGaName":1321,"dataGaLocation":1146},"/ja-jp/get-started/","quick setup checklists",{"text":1323,"config":1324},"学ぶ",{"href":1325,"dataGaLocation":1146,"dataGaName":1326},"https://university.gitlab.com/","learn",{"text":1328,"config":1329},"製品ドキュメント",{"href":1330,"dataGaName":1331,"dataGaLocation":1146},"https://docs.gitlab.com/ja-jp/","product documentation",{"text":1333,"config":1334},"ベストプラクティスビデオ",{"href":1335,"dataGaName":1336,"dataGaLocation":1146},"/ja-jp/getting-started-videos/","best practice videos",{"text":1338,"config":1339},"インテグレーション",{"href":1340,"dataGaName":1341,"dataGaLocation":1146},"/ja-jp/integrations/","integrations",{"title":1343,"items":1344},"検索する",[1345,1350,1355,1360,1364],{"text":1346,"config":1347},"お客様成功事例",{"href":1348,"dataGaName":1349,"dataGaLocation":1146},"/ja-jp/customers/","customer success stories",{"text":1351,"config":1352},"ブログ",{"href":1353,"dataGaName":1354,"dataGaLocation":1146},"/ja-jp/blog/","blog",{"text":1356,"config":1357},"Demo Hub",{"href":1358,"dataGaName":1359,"dataGaLocation":1146},"/ja-jp/demo-hub/","demo hub",{"text":1361,"config":1362},"The Source",{"href":1363,"dataGaName":1354,"dataGaLocation":1146},"/ja-jp/the-source/",{"text":1365,"config":1366},"リモート",{"href":1367,"dataGaName":1368,"dataGaLocation":1146},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":1370,"items":1371},"つなげる",[1372,1377,1382,1387,1392,1397],{"text":1373,"config":1374},"GitLabサービス",{"href":1375,"dataGaName":1376,"dataGaLocation":1146},"/ja-jp/services/","services",{"text":1378,"config":1379},"コントリビュート",{"href":1380,"dataGaName":1381,"dataGaLocation":1146},"https://contributors.gitlab.com","contribute",{"text":1383,"config":1384},"コミュニティ",{"href":1385,"dataGaName":1386,"dataGaLocation":1146},"/community/","community",{"text":1388,"config":1389},"フォーラム",{"href":1390,"dataGaName":1391,"dataGaLocation":1146},"https://forum.gitlab.com/","forum",{"text":1393,"config":1394},"イベント",{"href":1395,"dataGaName":1396,"dataGaLocation":1146},"/events/","events",{"text":1398,"config":1399},"パートナー",{"href":1400,"dataGaName":1401,"dataGaLocation":1146},"/ja-jp/partners/","partners",{"config":1403,"title":1406,"text":1407,"link":1408},{"background":1404,"textColor":1405},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","GitLabの最新情報","最新の機能と改善点に関する情報をお届けします。",{"text":1409,"config":1410},"最新情報を読む",{"href":1411,"dataGaName":1412,"dataGaLocation":1146},"/ja-jp/whats-new/","whats new",{"text":1414,"config":1415,"menu":1417},"企業情報",{"dataNavLevelOne":1416},"company",{"type":1197,"columns":1418},[1419],{"items":1420},[1421,1426,1432,1434,1439,1444,1449,1454,1459,1464],{"text":1422,"config":1423},"GitLabについて",{"href":1424,"dataGaName":1425,"dataGaLocation":1146},"/ja-jp/company/","about",{"text":1427,"config":1428,"footerGa":1431},"採用情報",{"href":1429,"dataGaName":1430,"dataGaLocation":1146},"/jobs/","jobs",{"dataGaName":1430},{"text":1393,"config":1433},{"href":1395,"dataGaName":1396,"dataGaLocation":1146},{"text":1435,"config":1436},"経営陣",{"href":1437,"dataGaName":1438,"dataGaLocation":1146},"/company/team/e-group/","leadership",{"text":1440,"config":1441},"ハンドブック",{"href":1442,"dataGaName":1443,"dataGaLocation":1146},"https://handbook.gitlab.com/","handbook",{"text":1445,"config":1446},"投資家向け情報",{"href":1447,"dataGaName":1448,"dataGaLocation":1146},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":1450,"config":1451},"トラストセンター",{"href":1452,"dataGaName":1453,"dataGaLocation":1146},"/ja-jp/security/","trust center",{"text":1455,"config":1456},"AI Transparency Center",{"href":1457,"dataGaName":1458,"dataGaLocation":1146},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":1460,"config":1461},"ニュースレター",{"href":1462,"dataGaName":1463,"dataGaLocation":1146},"/company/contact/#contact-forms","newsletter",{"text":1465,"config":1466},"プレス",{"href":1467,"dataGaName":1468,"dataGaLocation":1146},"/press/","press",{"text":1470,"config":1471,"menu":1472},"お問い合わせ",{"dataNavLevelOne":1416},{"type":1197,"columns":1473},[1474],{"items":1475},[1476,1481,1486],{"text":1477,"config":1478},"お問い合わせはこちら",{"href":1479,"dataGaName":1480,"dataGaLocation":1146},"/ja-jp/sales/","talk to sales",{"text":1482,"config":1483},"サポートを受ける",{"href":1484,"dataGaName":1485,"dataGaLocation":1146},"https://support.gitlab.com/hc/en-us","support portal",{"text":1487,"config":1488},"カスタマーポータル",{"href":1489,"dataGaName":1490,"dataGaLocation":1146},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1492,"login":1493,"suggestions":1499},"閉じる",{"text":1494,"link":1495},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":501,"config":1496},{"href":1160,"dataGaName":1497,"dataGaLocation":1498},"search login","search",{"text":1500,"default":1501},"提案",[1502,1504,1509,1511,1515,1519],{"text":1177,"config":1503},{"href":1182,"dataGaName":1177,"dataGaLocation":1498},{"text":1505,"config":1506},"コード提案（AI）",{"href":1507,"dataGaName":1508,"dataGaLocation":1498},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":1213,"config":1510},{"href":1215,"dataGaName":1213,"dataGaLocation":1498},{"text":1512,"config":1513},"GitLab on AWS",{"href":1514,"dataGaName":1512,"dataGaLocation":1498},"/ja-jp/partners/technology-partners/aws/",{"text":1516,"config":1517},"GitLab on Google Cloud",{"href":1518,"dataGaName":1516,"dataGaLocation":1498},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":1520,"config":1521},"GitLabを選ぶ理由",{"href":1190,"dataGaName":1522,"dataGaLocation":1498},"Why GitLab?",{"freeTrial":1524,"mobileIcon":1528,"desktopIcon":1533,"secondaryButton":1536},{"text":1148,"config":1525},{"href":1526,"dataGaName":1151,"dataGaLocation":1527},"https://gitlab.com/-/trials/new/","nav",{"altText":1529,"config":1530},"GitLabアイコン",{"src":1531,"dataGaName":1532,"dataGaLocation":1527},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1529,"config":1534},{"src":1535,"dataGaName":1532,"dataGaLocation":1527},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":1310,"config":1537},{"href":1538,"dataGaName":1539,"dataGaLocation":1527},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":1541,"mobileIcon":1545,"desktopIcon":1547},{"text":1542,"config":1543},"GitLab Duoの詳細について",{"href":1182,"dataGaName":1544,"dataGaLocation":1527},"gitlab duo",{"altText":1529,"config":1546},{"src":1531,"dataGaName":1532,"dataGaLocation":1527},{"altText":1529,"config":1548},{"src":1535,"dataGaName":1532,"dataGaLocation":1527},{"button":1550,"mobileIcon":1555,"desktopIcon":1557},{"text":1551,"config":1552},"/switch",{"href":1553,"dataGaName":1554,"dataGaLocation":1527},"#contact","switch",{"altText":1529,"config":1556},{"src":1531,"dataGaName":1532,"dataGaLocation":1527},{"altText":1529,"config":1558},{"src":1559,"dataGaName":1532,"dataGaLocation":1527},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1561,"mobileIcon":1566,"desktopIcon":1568},{"text":1562,"config":1563},"料金ページに戻る",{"href":1297,"dataGaName":1564,"dataGaLocation":1527,"icon":1565},"back to pricing","GoBack",{"altText":1529,"config":1567},{"src":1531,"dataGaName":1532,"dataGaLocation":1527},{"altText":1529,"config":1569},{"src":1535,"dataGaName":1532,"dataGaLocation":1527},{"title":1571,"button":1572,"config":1576},"GitLab Orbitが登場: AIエージェントのためのコンテキストレイヤー",{"text":1188,"config":1573},{"href":1574,"dataGaName":1575,"dataGaLocation":1146},"/ja-jp/gitlab-orbit/","orbit",{"layout":1577,"disabled":1131},"release",{"data":1579},{"text":1580,"source":1581,"edit":1587,"contribute":1592,"config":1597,"items":1602,"minimal":1811},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":1582,"config":1583},"ページのソースを表示",{"href":1584,"dataGaName":1585,"dataGaLocation":1586},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1588,"config":1589},"このページを編集",{"href":1590,"dataGaName":1591,"dataGaLocation":1586},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1593,"config":1594},"ご協力をお願いします",{"href":1595,"dataGaName":1596,"dataGaLocation":1586},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1598,"facebook":1599,"youtube":1600,"linkedin":1601},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1603,1648,1701,1744,1778],{"title":1295,"links":1604,"subMenu":1619},[1605,1609,1614],{"text":1606,"config":1607},"プランの表示",{"href":1297,"dataGaName":1608,"dataGaLocation":1586},"view plans",{"text":1610,"config":1611},"Premiumを選ぶ理由",{"href":1612,"dataGaName":1613,"dataGaLocation":1586},"/ja-jp/pricing/premium/","why premium",{"text":1615,"config":1616},"Ultimateを選ぶ理由",{"href":1617,"dataGaName":1618,"dataGaLocation":1586},"/ja-jp/pricing/ultimate/","why ultimate",[1620],{"title":1470,"links":1621},[1622,1624,1626,1628,1633,1638,1643],{"text":1470,"config":1623},{"href":1479,"dataGaName":1156,"dataGaLocation":1586},{"text":1482,"config":1625},{"href":1484,"dataGaName":1485,"dataGaLocation":1586},{"text":1487,"config":1627},{"href":1489,"dataGaName":1490,"dataGaLocation":1586},{"text":1629,"config":1630},"ステータス",{"href":1631,"dataGaName":1632,"dataGaLocation":1586},"https://status.gitlab.com/","status",{"text":1634,"config":1635},"利用規約",{"href":1636,"dataGaName":1637,"dataGaLocation":1586},"/terms/","terms of use",{"text":1639,"config":1640},"プライバシーに関する声明",{"href":1641,"dataGaName":1642,"dataGaLocation":1586},"/ja-jp/privacy/","privacy statement",{"text":1644,"config":1645},"Cookie 優先設定",{"dataGaName":1646,"dataGaLocation":1586,"id":1647,"isOneTrustButton":153},"cookie preferences","ot-sdk-btn",{"title":1193,"links":1649,"subMenu":1658},[1650,1654],{"text":1651,"config":1652},"DevSecOpsプラットフォーム",{"href":1175,"dataGaName":1653,"dataGaLocation":1586},"devsecops platform",{"text":1655,"config":1656},"AI支援開発",{"href":1182,"dataGaName":1657,"dataGaLocation":1586},"ai-assisted development",[1659],{"title":1660,"links":1661},"トピック",[1662,1666,1671,1676,1681,1686,1691,1696],{"text":1213,"config":1663},{"href":1664,"dataGaName":1665,"dataGaLocation":1586},"/ja-jp/topics/ci-cd/","cicd",{"text":1667,"config":1668},"GitOps",{"href":1669,"dataGaName":1670,"dataGaLocation":1586},"/ja-jp/topics/gitops/","gitops",{"text":1672,"config":1673},"DevOps",{"href":1674,"dataGaName":1675,"dataGaLocation":1586},"/ja-jp/topics/devops/","devops",{"text":1677,"config":1678},"バージョン管理",{"href":1679,"dataGaName":1680,"dataGaLocation":1586},"/ja-jp/topics/version-control/","version control",{"text":1682,"config":1683},"DevSecOps",{"href":1684,"dataGaName":1685,"dataGaLocation":1586},"/ja-jp/topics/devsecops/","devsecops",{"text":1687,"config":1688},"クラウドネイティブ",{"href":1689,"dataGaName":1690,"dataGaLocation":1586},"/ja-jp/topics/cloud-native/","cloud native",{"text":1692,"config":1693},"コーディングのためのAI",{"href":1694,"dataGaName":1695,"dataGaLocation":1586},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":1697,"config":1698},"エージェント型AI",{"href":1699,"dataGaName":1700,"dataGaLocation":1586},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":1702,"links":1703},"ソリューション",[1704,1707,1709,1714,1718,1721,1724,1727,1729,1731,1734,1739],{"text":1238,"config":1705},{"href":1233,"dataGaName":1706,"dataGaLocation":1586},"Application Security Testing",{"text":1225,"config":1708},{"href":1209,"dataGaName":1210,"dataGaLocation":1586},{"text":1710,"config":1711},"アジャイル開発",{"href":1712,"dataGaName":1713,"dataGaLocation":1586},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":1715,"config":1716},"SCM",{"href":1222,"dataGaName":1717,"dataGaLocation":1586},"source code management",{"text":1213,"config":1719},{"href":1215,"dataGaName":1720,"dataGaLocation":1586},"continuous integration & delivery",{"text":1264,"config":1722},{"href":1266,"dataGaName":1723,"dataGaLocation":1586},"value stream management",{"text":1667,"config":1725},{"href":1726,"dataGaName":1670,"dataGaLocation":1586},"/ja-jp/solutions/gitops/",{"text":1277,"config":1728},{"href":1280,"dataGaName":1281,"dataGaLocation":1586},{"text":1283,"config":1730},{"href":1286,"dataGaName":1287,"dataGaLocation":1586},{"text":1732,"config":1733},"公共機関",{"href":1292,"dataGaName":1293,"dataGaLocation":1586},{"text":1735,"config":1736},"教育",{"href":1737,"dataGaName":1738,"dataGaLocation":1586},"/ja-jp/solutions/education/","education",{"text":1740,"config":1741},"金融サービス",{"href":1742,"dataGaName":1743,"dataGaLocation":1586},"/ja-jp/solutions/finance/","financial services",{"title":1745,"links":1746},"リソース",[1747,1749,1751,1753,1757,1759,1762,1764,1766,1768,1770,1772,1774,1776],{"text":1313,"config":1748},{"href":1315,"dataGaName":1316,"dataGaLocation":1586},{"text":1318,"config":1750},{"href":1320,"dataGaName":1321,"dataGaLocation":1586},{"text":1323,"config":1752},{"href":1325,"dataGaName":1326,"dataGaLocation":1586},{"text":1328,"config":1754},{"href":1755,"dataGaName":1756,"dataGaLocation":1586},"https://docs.gitlab.com/ja-jp","docs",{"text":1351,"config":1758},{"href":1353,"dataGaName":1354,"dataGaLocation":1586},{"text":1760,"config":1761},"最新リリース",{"href":1411,"dataGaName":1412,"dataGaLocation":1586},{"text":1346,"config":1763},{"href":1348,"dataGaName":1349,"dataGaLocation":1586},{"text":1365,"config":1765},{"href":1367,"dataGaName":1368,"dataGaLocation":1586},{"text":1373,"config":1767},{"href":1375,"dataGaName":1376,"dataGaLocation":1586},{"text":1378,"config":1769},{"href":1380,"dataGaName":1381,"dataGaLocation":1586},{"text":1383,"config":1771},{"href":1385,"dataGaName":1386,"dataGaLocation":1586},{"text":1388,"config":1773},{"href":1390,"dataGaName":1391,"dataGaLocation":1586},{"text":1393,"config":1775},{"href":1395,"dataGaName":1396,"dataGaLocation":1586},{"text":1398,"config":1777},{"href":1400,"dataGaName":1401,"dataGaLocation":1586},{"title":1779,"links":1780},"会社情報",[1781,1783,1785,1787,1789,1791,1795,1800,1802,1804,1806],{"text":1422,"config":1782},{"href":1424,"dataGaName":1416,"dataGaLocation":1586},{"text":1427,"config":1784},{"href":1429,"dataGaName":1430,"dataGaLocation":1586},{"text":1435,"config":1786},{"href":1437,"dataGaName":1438,"dataGaLocation":1586},{"text":1440,"config":1788},{"href":1442,"dataGaName":1443,"dataGaLocation":1586},{"text":1445,"config":1790},{"href":1447,"dataGaName":1448,"dataGaLocation":1586},{"text":1792,"config":1793},"Sustainability",{"href":1794,"dataGaName":1792,"dataGaLocation":1586},"/sustainability/",{"text":1796,"config":1797},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":1798,"dataGaName":1799,"dataGaLocation":1586},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1450,"config":1801},{"href":1452,"dataGaName":1453,"dataGaLocation":1586},{"text":1460,"config":1803},{"href":1462,"dataGaName":1463,"dataGaLocation":1586},{"text":1465,"config":1805},{"href":1467,"dataGaName":1468,"dataGaLocation":1586},{"text":1807,"config":1808},"現代奴隷制の透明性に関する声明",{"href":1809,"dataGaName":1810,"dataGaLocation":1586},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1812},[1813,1815,1818],{"text":1634,"config":1814},{"href":1636,"dataGaName":1637,"dataGaLocation":1586},{"text":1816,"config":1817},"Cookieの設定",{"dataGaName":1646,"dataGaLocation":1586,"id":1647,"isOneTrustButton":153},{"text":1639,"config":1819},{"href":1641,"dataGaName":1642,"dataGaLocation":1586},[1821],{"id":1822,"title":7,"body":1125,"config":1823,"content":1825,"description":1125,"extension":1829,"meta":1830,"navigation":153,"path":1831,"seo":1832,"stem":1833,"__hash__":1834},"blogAuthors/en-us/blog/authors/michael-friedrich.yml",{"template":1824},"BlogAuthor",{"name":7,"config":1826},{"headshot":1827,"ctfId":1828},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659879/Blog/Author%20Headshots/dnsmichi-headshot.jpg","dnsmichi","yml",{},"/en-us/blog/authors/michael-friedrich",{},"en-us/blog/authors/michael-friedrich","lJ-nfRIhdG49Arfrxdn1Vv4UppwD51BB13S3HwIswt4",[1836,1844,1851],{"title":1837,"description":1838,"heroImage":1839,"category":1121,"date":1840,"authors":1841,"slug":1843,"externalUrl":1125},"Loop Engineeringの実践方法：GitLab × Claude Codeでの実装例","GitLabとClaude Codeで実践するLoop Engineeringの実装例をご紹介。AIエージェントを自律稼働させるcron起動・Skills活用・ラベルベースのフローと、必須のガードレール設計を解説します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1785215335/oevhcbrbev1zyfubdfxz.jpg","2026-07-31",[1842],"Issei Hamada, Sony Biz Networks Corporation","loop-engineering-gitlab-claude-code",{"title":1845,"description":1846,"heroImage":1847,"category":1121,"date":1840,"authors":1848,"slug":1850,"externalUrl":1125},"エージェント型AI、MCP、AIコードアシスタントを統制する方法","AIエージェントは、各ステップで人によるレビューを介さずに、コードの記述、プッシュ、デプロイを行うことができます。アクセス、権限、監査証跡を統制する実践的なフレームワークを解説します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1785337625/ifzlc2hyzaxhzmjgyymh.png",[1849],"Julie Griffin","govern-agentic-ai-mcps-code-assistants",{"title":1852,"description":1853,"heroImage":1854,"category":1121,"date":1855,"authors":1856,"slug":1858,"externalUrl":1125},"Claude Opus 5、GitLabで最難関タスクに挑む","AnthropicのClaude Opus 5がGitLab Duo Agent Platformで利用可能になりました。速度を犠牲にすることなく、より深い推論力を提供します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099203/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2820%29_2bJGC5ZP3WheoqzlLT05C5_1750099203484.png","2026-07-27",[1857],"Brittany Lutz","claude-opus-5-on-gitlab-duo-agent-platform",{"promotions":1860},[1861,1874,1885,1897],{"id":1862,"categories":1863,"header":1864,"text":1865,"button":1866,"image":1871},"ai-modernization",[1121],"AIの真価、組織全体で発揮できていますか？","所要時間は5分以内です",{"text":1867,"config":1868},"AI成熟度スコアを確認する",{"href":1869,"dataGaName":1870,"dataGaLocation":1354},"/ja-jp/assessments/ai-modernization-assessment/","modernization assessment",{"config":1872},{"src":1873},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1875,"categories":1876,"header":1877,"text":1865,"button":1878,"image":1882},"devops-modernization",[1137,1685],"単にツールを管理するだけでなく、イノベーションを提供していますか？",{"text":1879,"config":1880},"DevOps成熟度スコアを確認しましょう",{"href":1881,"dataGaName":1870,"dataGaLocation":1354},"/ja-jp/assessments/devops-modernization-assessment/",{"config":1883},{"src":1884},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1886,"categories":1887,"header":1889,"text":1865,"button":1890,"image":1894},"security-modernization",[1888],"security","スピードのためにセキュリティを犠牲にしていませんか？",{"text":1891,"config":1892},"セキュリティ成熟度スコアを確認しましょう",{"href":1893,"dataGaName":1870,"dataGaLocation":1354},"/ja-jp/assessments/security-modernization-assessment/",{"config":1895},{"src":1896},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1898,"paths":1899,"header":1902,"text":1903,"button":1904,"image":1909},"github-azure-migration",[1900,1901],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","チームはGitHubのAzure移行に対応できていますか？","GitHubはすでにAzureを基盤として再構築を進めています。それがあなたのチームにとって何を意味するのか、ご確認ください。",{"text":1905,"config":1906},"GitLabとGitHubの比較を見る",{"href":1907,"dataGaName":1908,"dataGaLocation":1354},"/ja-jp/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1910},{"src":1884},{"header":1912,"blurb":1913,"button":1914,"secondaryButton":1918},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":1148,"config":1915},{"href":1916,"dataGaName":1151,"dataGaLocation":1917},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":1470,"config":1919},{"href":1479,"dataGaName":1156,"dataGaLocation":1917},1786803752167]