[{"data":1,"prerenderedAt":818},["ShallowReactive",2],{"/ja-jp/blog/claude-code-gitlab-ai-development-workflow":3,"navigation-ja-jp":51,"banner-ja-jp":460,"footer-ja-jp":470,"blog-post-authors-ja-jp-Naoharu Sasaki":701,"blog-related-posts-ja-jp-claude-code-gitlab-ai-development-workflow":716,"blog-promotions-ja-jp":758,"next-steps-ja-jp":809},{"id":4,"title":5,"authorSlugs":6,"authors":8,"body":10,"category":11,"categorySlug":11,"config":12,"content":16,"date":18,"description":20,"extension":33,"externalUrl":34,"featured":13,"heroImage":17,"isFeatured":13,"meta":35,"navigation":13,"path":36,"publishedDate":18,"rawbody":37,"seo":38,"slug":15,"stem":42,"tagSlugs":43,"tags":49,"template":14,"updatedDate":34,"__hash__":50},"blogPosts/ja-jp/blog/claude-code-gitlab-ai-development-workflow.yml","Claude Code × GitLab：AI活用を加速する、エージェンティックAIとGitLab CLIによる効率的なソフトウェア開発フロー",[7],"naoharu-sasaki",[9],"Naoharu Sasaki","## 目次\n\n1. はじめに: AI活用の新時代を切り拓く効率的なソフトウェア開発\n2. Claude Codeとは何か？\n3. GitLabのCLIであるGLabの紹介\n4. Claude CodeとGLabを組み合わせた開発の流れ\n5. AIを使った開発の今後の広がりについて\n6. まとめ\n7. よくある質問\n\n\n\n## はじめに: AI活用の新時代を切り拓く効率的なソフトウェア開発\n\nこの記事を読むと、エージェント型AIであるClaude CodeとGitLab CLIツール「GLab」を組み合わせて、ローカル環境から効率的にIssue作成・MR操作・レビュー依頼などを自動化し、生成AIによるコード補助を活かした実践的な開発フローを構築する方法がわかるようになります。\n\n## Claude Codeとは何か？\n\nClaude Codeとはエージェント型AIで、ターミナル上でAIにコマンドを実行させることで既存ツールを使いながら効率的に開発できます。\n\n## GitLabのCLIであるGLabの紹介\n\nGLabはオープンソースのGitLab CLIツールです。GLabをターミナルに統合し、作業中のコマンドラインツールや、IDEの中に表示できます。GitLabのWebUIにアクセスするためにブラウザのウィンドウやタブに切り替える必要がなくなり、マージリクエストの作成やパイプラインの状況の確認など、様々なことを直感的にコマンドラインで実行可能になります。\n\n## Claude CodeとGLabを組み合わせた開発の流れ\n\n### **Claude Codeとglabのインストール**\n\nここでは個別のインストール方法や導入の仕方については割愛しますが、下記の公式サイトが参考になると思いますのでご確認ください。\n\nClaude Code: \u003Chttps://docs.anthropic.com/ja/docs/claude-code/overview>\n\nGLab: \u003Chttps://gitlab.com/gitlab-org/cli/-/blob/main/README.md>\n\n### [](https://gitlab.com/gitlab-org/cli/-/blob/main/README.md)**GitLabの認証情報を設定**\n\nまずはGLabのセットアップをしていきましょう。GLabでGitLabサーバーにログインします。\n\n`$ glab auth login`\n\n上記を実行すると、ログインするサーバーの先を問われるので、選びます。続いて、Tokenによるログインか、Webブラウザを使って認証するか聞かれるため、これも好きな方を選んでください。下記は、Webを選んだ場合の画面です。\n\n![Webログイン](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/tl81t9qzwhqjnrro3lrb.png)\n\n次に、Gitクライアントが通信するデフォルトのプロトコルを聞かれるので、これも好きなものを選んでください。環境によってはSSHプロトコルの通信が制限されている場合もあるかと思うので、そのような場合はHTTPSを選ぶことをおすすめします。\n\n最後に、Gitの認証にもCredentialsの認証情報使うかを問われるため、これも選んでいただければと思います。\nYesの場合は、GitのHTTPS認証にもglabのPersonal Access Token（PAT）を使うよう.gitconfigに設定され、Noを選んだ場合は、glabでIssueやMRの操作をする一方で、Gitのpush/pullは従来通りのSSHや別途設定した認証方式で行う必要があります。\n\n初期の設定が終わった画面を下記に示します。\n\n![初期設定完了画面](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198582/xtpheeez1gcwr8sfjmdv.png)\n\n### **開発対象プロジェクトのclone**\n\n次に、Claude Codeに指示を与えて、glabコマンドを使って、リモートリポジトリからcloneします。下記のコマンドでClaude Codeを起動します。\n\n`$ claude`\n\n既にGLabで認証は終わっているため、作業するプロジェクトのリポジトリをcloneするように指示を与えます。\n\n`> GitLab上で自分が参加しているプロジェクトを表示してください`\n\n上記のようにプロンプトするとClaude Codeが\n\n`$ glab repo list`\n\nなどを実行してくれると思います。次に、作業したいリポジトリを上記から選び、Cloneします。プロジェクト名は各自の環境に合わせて指定してください。\n\n`> プロジェクト naosasaki-demo/study/spring-demo をcloneしてください`\n\nClaude Codeの処理が終わると、一度Claude Codeを終了し、ターミナルでディレクトリを確認すると、cloneされたディレクトリが作られていることがわかると思います。\n\n**新しいIssueの作成**\n\n次に、このプロジェクトに新しくイシューを作りたいと思います。通常であればWebブラウザでGitLabにアクセスしイシューを登録しますが、GLabとClaude Codeを使って、IDEやターミナル画面から作ってみたいと思います。\n\n`> このプロジェクトに新しいイシューを作ってください。内容は、今の東京の温度と天気を返すWebAPIのエンドポイントを作成します。`\n\n![イシュー作成](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/iizlucpfxgsa0nrdsvqn.png)\n\n\n上記のようにglabを使ってイシューを作成するコマンドが提案されます。またイシューのなかの記載もある程度書いてくれていることがわかります。\n\n![イシュー作成](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198579/ye2wtupp6nf8ljzja2yh.png)\n\nブラウザでアクセスしても、正しく作られていることがわかります。\n\n![イシュー作成](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198582/vbo22zzdzzanvnrbsszq.png)\n\n### **マージリクエストとブランチの作成と作業開始**\n\n次に、実際のこのIssueの内容を実装していきたいと思います。ここからはIDEのVisual Studio Codeも利用していきたいと思います。Visual Studio Codeを起動し、内蔵されたターミナルを開き、そこでClaude Codeを起動します。\n\n早速、先ほど作ったイシューからマージリクエストを作って、その中で作業をしていきたいと思います。\n\n`> このリポジトリのプロジェクトのissue 53を実装したいので、glabでMRを作って、そのブランチをチェックアウトして`\n\n![マージリクエストとブランチの作成と作業開始](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/or6l5si3k4dbprcnnfgq.png)\n\n**コードの編集と検証**\n\n`> イシューの記載に基づいて実装してください。また、リポジトリ内部のドキュメントも追加に伴って更新してください。`\n\n![コードの編集と検証](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/dlgq0j60n2jfk24vxaj3.png)\n\nOpenWeatherMap APIを使うことを提案してくれています。そのほかにも、いくつかのクラスを作成することを提案されるので、中身を確認しつつ、それを受け入れ、git pushなども依頼します。\n\n![CC_8_git push](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198584/esdeisz4mzyyjlerlahl.png)\n\n### **レビューとCI/CDの確認**\n\n実際にマージリクエストを確認すると、ローカルで作成した変更がプッシュされ、GitLab側のCI/CDでの単体テストや、セキュリティスキャンなども正常に実行され、問題なく終了していることがわかりました。\n\n![レビュー](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/e7hyheb5gkpvb7iixrro.png)\n\nしかし、テストが通っていても、それが適切な方法で実装されているか、非機能的な観点で問題がないかは別途確認する必要があります。ここで[GitLab Duo in merge requests](https://docs.gitlab.com/ja-jp/user/project/merge_requests/duo_in_merge_requests/)という機能を利用して、GitLabのAI機能であるGitLab Duoにレビューを依頼してみたいと思います。\n\nマージリクエストのコメントでレビューをリクエストし、レビュアーとしてDuoを指定します。この時、レビューの観点なども同時に与えることができます。下記のようにコメントでレビューをDuoに依頼します。\n\n`/request_review @GitLabDuo`\n\n`マージリクエストのコードを下記の観点でレビューしてください：`\n\n`拡張性：将来的な機能追加や変更に対応しやすい設計・実装になっているか  \n可読性：他の開発者が理解しやすいコードになっているか  \n安全性：バグやセキュリティリスクを引き起こす可能性がないか  \nパフォーマンス：必要以上にリソースを消費していないか`\n\n![Duoレビュー](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198581/tnkt52hpapm8cyi4qplw.png)\n\n上記をコメントすることで、Duoにレビューを依頼できます。\n\n実際にレビュー指摘がありました。\n\n![Duoレビュー指摘](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/vehscyu2beo4pz9ns3y2.png)\n\nDuoの指摘のとおり、Claude Codeが生成した元のコードでは、translateWeatherToJapanese メソッドが呼ばれるたびに HashMap が新しく作成されています。これはパフォーマンスの低下や不要なオブジェクト生成につながります。Duoは「このマップは不変であり、再利用可能なので static final にすべき」と提案しています。これの指摘は確かにその通りなので、マージリクエスト上でこの指摘と、変更の提案を受け入れます。\n\nこの変更の受け入れ自体も、ソースコードの変更なので、受け入れたらCI/CDパイプラインが動き出して、再度自動的にセキュリティスキャンや単体テスト実施されます。再度CI/CDパイプラインが動き、問題がなかったためmainブランチにマージしました。これでこの機能の開発は完了です。\n\n## AIを使った開発の今後の広がりについて\n\n### **AIは「補助ツール」から「実行の主体」へ**\n\n従来のチャットベースのインタラクティブな開発支援、すなわち一問一答のやり取りを繰り返しながら人間が主導で手を動かしていた開発スタイルから、いま大きな転換が始まっています。\n\nGLabのようなCLIツールやWebAPIと、エージェンティックAIを組み合わせることで、「命令→実行→ステータス確認→再試行」といった一連の開発オペレーションを、AIが自律的かつ反復的に担う、まさに実行主体としてのAIへの進化が進んでいます。\n\nこれは単なる補助からの脱却であり、ソフトウェア開発における人と機械の役割分担そのものを再定義しつつあります。人間は「何を実現したいか」を定義し、AIは「どう実現するか」を粘り強く試行錯誤していく、そんな協働の形が、現実の開発現場に静かに浸透し始めています。\n\n**レビューとガバナンスの重要性**\n\nAIによってコードが自動生成されるようになった今、開発効率が飛躍的に向上する一方で、「そのコードは本当に安全か？」「人間はAIの出力を正しくレビューできるのか？」といった新たな課題が生まれています。\n\n人間の作業と同様に、AIによって生成されたコードは、動作するからといって、品質が担保されているとは限りません。\n\nこうした背景から、組織的にAIを活用していくには、**コードの品質・セキュリティ・コンプライアンスを保証する仕組みを開発プロセスに組み込む**ことが不可欠です。\n\n今回は、コードの生成にClaude Codeを利用しましたが、そのコードに含まれる性能的な懸念をGitLab Duoによるレビューで摘出することができました。\n\nその他にも、GitLabでは「パイプライン実行ポリシー」を用いることで、プロジェクト単位ではなくグループやサブグループに対して、**SASTや依存関係スキャン、シークレット検出などのセキュリティジョブを強制適用**することが可能です。\n\nこのように、**AIによる開発支援とセキュリティ・品質管理の自動化を同時に実現できる**のは、DevSecOpsを包括的に支援するプラットフォームであるGitLabの強みといえます。\n\n## まとめ\n\nこの記事では、Claude CodeのようなAIエージェントと、GitLab公式CLIツールGLabを組み合わせることで、自然言語によるコード生成からGitLab上でのイシュー管理やマージリクエスト作成までをAIエージェントにやってもらうことで、開発効率を向上させる例を紹介しました。一方で、AIエージェントが生成するコードの品質を担保するには、GitLabのセキュリティスキャンやパイプライン実行ポリシーを活用した自動検証の仕組みが欠かせません。AIと人間、それぞれの強みを活かした開発フローが、今後ますます重要になっていくでしょう。\n\n> 今すぐ始められる：GitLabでAIを使ったソフトウェア開発を体験しよう\n>\n> [GitLab Duoの無料トライアルに申し込む](https://about.gitlab.com/ja-jp/sales/)\n\n## よくある質問\n\n### Q1: GitLabのAI機能にはどのようなものがありますか？\n\nA1: GitLabのAI機能「GitLab Duo」には、ソースコードの提案、テストケース/コードの生成はもちろん、脆弱性の自動修復や、CI/CD失敗時の根本原因分析など、ソフトウェア開発全体に対するAIによる支援機能群が含まれています。\n\n\n### Q2: GitLab Duoはユーザーのソースコードを学習に使いますか？\n\nA2: いいえ。GitLab Duoは利用者のコードやデータをモデルの再学習には使用しません。GitLabはユーザーデータのプライバシーとセキュリティを重視しており、企業向けにも安心して利用できる設計となっています。詳細については、[GitLab AI Transparency Center](https://about.gitlab.com/ai-transparency-center/)をご確認ください。\n\n### Q3: Claude Codeとは何ですか？\n\nA3: Claude Codeとはエージェント型AIで、ターミナル上でAIにコマンドを実行させることで既存ツールを使いながら効率的に開発できます。\n\n### Q4: GitLab CLIのGLabとは何ですか？\n\nA4: GLabは、GitLab公式が提供するオープンソースのCLIツールです。GLabをターミナルに統合し、作業中のコマンドラインツールや、IDEの中に表示できます。","ai-ml",{"featured":13,"template":14,"slug":15},true,"BlogPost","claude-code-gitlab-ai-development-workflow",{"heroImage":17,"category":11,"body":10,"date":18,"authors":19,"description":20,"title":5,"tags":21},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1751953181/rtejicnkhd9oslaxsoo5.jpg","2025-07-14",[9],"エージェント型AIであるClaude CodeとGitLab CLIツール「GLab」を組み合わせて、ローカル環境から効率的にIssue作成・MR操作・レビュー依頼などを自動化し、生成AIによるコード補助を活かした実践的な開発フローを構築する方法をご紹介します。",[22,23,24,25,26,27,28,29,30,31,32],"AI/ML","CI/CD","code review","collaboration","DevSecOps","features","GitOps","integrations","security","tutorial","workflow","yml",null,{},"/ja-jp/blog/claude-code-gitlab-ai-development-workflow","seo:\n  noIndex: false\n  title: エージェンティックAI Claude CodeとGitLab CLIの開発フロー\n  description: Claude\n    CodeとGLabを組み合わせてローカル環境から効率的にIssue作成・MR操作・レビュー依頼などを自動化し、生成AIのコード補助を活かした開発フローを構築する方法を紹介\n  ogImage: https://res.cloudinary.com/about-gitlab-com/image/upload/v1751953181/rtejicnkhd9oslaxsoo5.jpg\ncontent:\n  heroImage: https://res.cloudinary.com/about-gitlab-com/image/upload/v1751953181/rtejicnkhd9oslaxsoo5.jpg\n  category: ai-ml\n  body: >-\n    ## 目次\n\n\n    1. はじめに: AI活用の新時代を切り拓く効率的なソフトウェア開発\n\n    2. Claude Codeとは何か？\n\n    3. GitLabのCLIであるGLabの紹介\n\n    4. Claude CodeとGLabを組み合わせた開発の流れ\n\n    5. AIを使った開発の今後の広がりについて\n\n    6. まとめ\n\n    7. よくある質問\n\n\n\n\n    ## はじめに: AI活用の新時代を切り拓く効率的なソフトウェア開発\n\n\n    この記事を読むと、エージェント型AIであるClaude CodeとGitLab CLIツール「GLab」を組み合わせて、ローカル環境から効率的にIssue作成・MR操作・レビュー依頼などを自動化し、生成AIによるコード補助を活かした実践的な開発フローを構築する方法がわかるようになります。\n\n\n    ## Claude Codeとは何か？\n\n\n    Claude Codeとはエージェント型AIで、ターミナル上でAIにコマンドを実行させることで既存ツールを使いながら効率的に開発できます。\n\n\n    ## GitLabのCLIであるGLabの紹介\n\n\n    GLabはオープンソースのGitLab CLIツールです。GLabをターミナルに統合し、作業中のコマンドラインツールや、IDEの中に表示できます。GitLabのWebUIにアクセスするためにブラウザのウィンドウやタブに切り替える必要がなくなり、マージリクエストの作成やパイプラインの状況の確認など、様々なことを直感的にコマンドラインで実行可能になります。\n\n\n    ## Claude CodeとGLabを組み合わせた開発の流れ\n\n\n    ### **Claude Codeとglabのインストール**\n\n\n    ここでは個別のインストール方法や導入の仕方については割愛しますが、下記の公式サイトが参考になると思いますのでご確認ください。\n\n\n    Claude Code: \u003Chttps://docs.anthropic.com/ja/docs/claude-code/overview>\n\n\n    GLab: \u003Chttps://gitlab.com/gitlab-org/cli/-/blob/main/README.md>\n\n\n    ### [](https://gitlab.com/gitlab-org/cli/-/blob/main/README.md)**GitLabの認証情報を設定**\n\n\n    まずはGLabのセットアップをしていきましょう。GLabでGitLabサーバーにログインします。\n\n\n    `$ glab auth login`\n\n\n    上記を実行すると、ログインするサーバーの先を問われるので、選びます。続いて、Tokenによるログインか、Webブラウザを使って認証するか聞かれるため、これも好きな方を選んでください。下記は、Webを選んだ場合の画面です。\n\n\n    ![Webログイン](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/tl81t9qzwhqjnrro3lrb.png)\n\n\n    次に、Gitクライアントが通信するデフォルトのプロトコルを聞かれるので、これも好きなものを選んでください。環境によってはSSHプロトコルの通信が制限されている場合もあるかと思うので、そのような場合はHTTPSを選ぶことをおすすめします。\n\n\n    最後に、Gitの認証にもCredentialsの認証情報使うかを問われるため、これも選んでいただければと思います。\n\n    Yesの場合は、GitのHTTPS認証にもglabのPersonal Access Token（PAT）を使うよう.gitconfigに設定され、Noを選んだ場合は、glabでIssueやMRの操作をする一方で、Gitのpush/pullは従来通りのSSHや別途設定した認証方式で行う必要があります。\n\n\n    初期の設定が終わった画面を下記に示します。\n\n\n    ![初期設定完了画面](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198582/xtpheeez1gcwr8sfjmdv.png)\n\n\n    ### **開発対象プロジェクトのclone**\n\n\n    次に、Claude Codeに指示を与えて、glabコマンドを使って、リモートリポジトリからcloneします。下記のコマンドでClaude Codeを起動します。\n\n\n    `$ claude`\n\n\n    既にGLabで認証は終わっているため、作業するプロジェクトのリポジトリをcloneするように指示を与えます。\n\n\n    `> GitLab上で自分が参加しているプロジェクトを表示してください`\n\n\n    上記のようにプロンプトするとClaude Codeが\n\n\n    `$ glab repo list`\n\n\n    などを実行してくれると思います。次に、作業したいリポジトリを上記から選び、Cloneします。プロジェクト名は各自の環境に合わせて指定してください。\n\n\n    `> プロジェクト naosasaki-demo/study/spring-demo をcloneしてください`\n\n\n    Claude Codeの処理が終わると、一度Claude Codeを終了し、ターミナルでディレクトリを確認すると、cloneされたディレクトリが作られていることがわかると思います。\n\n\n    **新しいIssueの作成**\n\n\n    次に、このプロジェクトに新しくイシューを作りたいと思います。通常であればWebブラウザでGitLabにアクセスしイシューを登録しますが、GLabとClaude Codeを使って、IDEやターミナル画面から作ってみたいと思います。\n\n\n    `> このプロジェクトに新しいイシューを作ってください。内容は、今の東京の温度と天気を返すWebAPIのエンドポイントを作成します。`\n\n\n    ![イシュー作成](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/iizlucpfxgsa0nrdsvqn.png)\n\n\n\n    上記のようにglabを使ってイシューを作成するコマンドが提案されます。またイシューのなかの記載もある程度書いてくれていることがわかります。\n\n\n    ![イシュー作成](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198579/ye2wtupp6nf8ljzja2yh.png)\n\n\n    ブラウザでアクセスしても、正しく作られていることがわかります。\n\n\n    ![イシュー作成](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198582/vbo22zzdzzanvnrbsszq.png)\n\n\n    ### **マージリクエストとブランチの作成と作業開始**\n\n\n    次に、実際のこのIssueの内容を実装していきたいと思います。ここからはIDEのVisual Studio Codeも利用していきたいと思います。Visual Studio Codeを起動し、内蔵されたターミナルを開き、そこでClaude Codeを起動します。\n\n\n    早速、先ほど作ったイシューからマージリクエストを作って、その中で作業をしていきたいと思います。\n\n\n    `> このリポジトリのプロジェクトのissue 53を実装したいので、glabでMRを作って、そのブランチをチェックアウトして`\n\n\n    ![マージリクエストとブランチの作成と作業開始](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/or6l5si3k4dbprcnnfgq.png)\n\n\n    **コードの編集と検証**\n\n\n    `> イシューの記載に基づいて実装してください。また、リポジトリ内部のドキュメントも追加に伴って更新してください。`\n\n\n    ![コードの編集と検証](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/dlgq0j60n2jfk24vxaj3.png)\n\n\n    OpenWeatherMap APIを使うことを提案してくれています。そのほかにも、いくつかのクラスを作成することを提案されるので、中身を確認しつつ、それを受け入れ、git pushなども依頼します。\n\n\n    ![CC_8_git push](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198584/esdeisz4mzyyjlerlahl.png)\n\n\n    ### **レビューとCI/CDの確認**\n\n\n    実際にマージリクエストを確認すると、ローカルで作成した変更がプッシュされ、GitLab側のCI/CDでの単体テストや、セキュリティスキャンなども正常に実行され、問題なく終了していることがわかりました。\n\n\n    ![レビュー](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/e7hyheb5gkpvb7iixrro.png)\n\n\n    しかし、テストが通っていても、それが適切な方法で実装されているか、非機能的な観点で問題がないかは別途確認する必要があります。ここで[GitLab Duo in merge requests](https://docs.gitlab.com/ja-jp/user/project/merge_requests/duo_in_merge_requests/)という機能を利用して、GitLabのAI機能であるGitLab Duoにレビューを依頼してみたいと思います。\n\n\n    マージリクエストのコメントでレビューをリクエストし、レビュアーとしてDuoを指定します。この時、レビューの観点なども同時に与えることができます。下記のようにコメントでレビューをDuoに依頼します。\n\n\n    `/request_review @GitLabDuo`\n\n\n    `マージリクエストのコードを下記の観点でレビューしてください：`\n\n\n    `拡張性：将来的な機能追加や変更に対応しやすい設計・実装になっているか  \n\n    可読性：他の開発者が理解しやすいコードになっているか  \n\n    安全性：バグやセキュリティリスクを引き起こす可能性がないか  \n\n    パフォーマンス：必要以上にリソースを消費していないか`\n\n\n    ![Duoレビュー](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198581/tnkt52hpapm8cyi4qplw.png)\n\n\n    上記をコメントすることで、Duoにレビューを依頼できます。\n\n\n    実際にレビュー指摘がありました。\n\n\n    ![Duoレビュー指摘](https://res.cloudinary.com/about-gitlab-com/image/upload/v1752198573/vehscyu2beo4pz9ns3y2.png)\n\n\n    Duoの指摘のとおり、Claude Codeが生成した元のコードでは、translateWeatherToJapanese メソッドが呼ばれるたびに HashMap が新しく作成されています。これはパフォーマンスの低下や不要なオブジェクト生成につながります。Duoは「このマップは不変であり、再利用可能なので static final にすべき」と提案しています。これの指摘は確かにその通りなので、マージリクエスト上でこの指摘と、変更の提案を受け入れます。\n\n\n    この変更の受け入れ自体も、ソースコードの変更なので、受け入れたらCI/CDパイプラインが動き出して、再度自動的にセキュリティスキャンや単体テスト実施されます。再度CI/CDパイプラインが動き、問題がなかったためmainブランチにマージしました。これでこの機能の開発は完了です。\n\n\n    ## AIを使った開発の今後の広がりについて\n\n\n    ### **AIは「補助ツール」から「実行の主体」へ**\n\n\n    従来のチャットベースのインタラクティブな開発支援、すなわち一問一答のやり取りを繰り返しながら人間が主導で手を動かしていた開発スタイルから、いま大きな転換が始まっています。\n\n\n    GLabのようなCLIツールやWebAPIと、エージェンティックAIを組み合わせることで、「命令→実行→ステータス確認→再試行」といった一連の開発オペレーションを、AIが自律的かつ反復的に担う、まさに実行主体としてのAIへの進化が進んでいます。\n\n\n    これは単なる補助からの脱却であり、ソフトウェア開発における人と機械の役割分担そのものを再定義しつつあります。人間は「何を実現したいか」を定義し、AIは「どう実現するか」を粘り強く試行錯誤していく、そんな協働の形が、現実の開発現場に静かに浸透し始めています。\n\n\n    **レビューとガバナンスの重要性**\n\n\n    AIによってコードが自動生成されるようになった今、開発効率が飛躍的に向上する一方で、「そのコードは本当に安全か？」「人間はAIの出力を正しくレビューできるのか？」といった新たな課題が生まれています。\n\n\n    人間の作業と同様に、AIによって生成されたコードは、動作するからといって、品質が担保されているとは限りません。\n\n\n    こうした背景から、組織的にAIを活用していくには、**コードの品質・セキュリティ・コンプライアンスを保証する仕組みを開発プロセスに組み込む**ことが不可欠です。\n\n\n    今回は、コードの生成にClaude Codeを利用しましたが、そのコードに含まれる性能的な懸念をGitLab Duoによるレビューで摘出することができました。\n\n\n    その他にも、GitLabでは「パイプライン実行ポリシー」を用いることで、プロジェクト単位ではなくグループやサブグループに対して、**SASTや依存関係スキャン、シークレット検出などのセキュリティジョブを強制適用**することが可能です。\n\n\n    このように、**AIによる開発支援とセキュリティ・品質管理の自動化を同時に実現できる**のは、DevSecOpsを包括的に支援するプラットフォームであるGitLabの強みといえます。\n\n\n    ## まとめ\n\n\n    この記事では、Claude CodeのようなAIエージェントと、GitLab公式CLIツールGLabを組み合わせることで、自然言語によるコード生成からGitLab上でのイシュー管理やマージリクエスト作成までをAIエージェントにやってもらうことで、開発効率を向上させる例を紹介しました。一方で、AIエージェントが生成するコードの品質を担保するには、GitLabのセキュリティスキャンやパイプライン実行ポリシーを活用した自動検証の仕組みが欠かせません。AIと人間、それぞれの強みを活かした開発フローが、今後ますます重要になっていくでしょう。\n\n\n    > 今すぐ始められる：GitLabでAIを使ったソフトウェア開発を体験しよう\n\n    >\n\n    > [GitLab Duoの無料トライアルに申し込む](https://about.gitlab.com/ja-jp/sales/)\n\n\n    ## よくある質問\n\n\n    ### Q1: GitLabのAI機能にはどのようなものがありますか？\n\n\n    A1: GitLabのAI機能「GitLab Duo」には、ソースコードの提案、テストケース/コードの生成はもちろん、脆弱性の自動修復や、CI/CD失敗時の根本原因分析など、ソフトウェア開発全体に対するAIによる支援機能群が含まれています。\n\n\n\n    ### Q2: GitLab Duoはユーザーのソースコードを学習に使いますか？\n\n\n    A2: いいえ。GitLab Duoは利用者のコードやデータをモデルの再学習には使用しません。GitLabはユーザーデータのプライバシーとセキュリティを重視しており、企業向けにも安心して利用できる設計となっています。詳細については、[GitLab AI Transparency Center](https://about.gitlab.com/ai-transparency-center/)をご確認ください。\n\n\n    ### Q3: Claude Codeとは何ですか？\n\n\n    A3: Claude Codeとはエージェント型AIで、ターミナル上でAIにコマンドを実行させることで既存ツールを使いながら効率的に開発できます。\n\n\n    ### Q4: GitLab CLIのGLabとは何ですか？\n\n\n    A4: GLabは、GitLab公式が提供するオープンソースのCLIツールです。GLabをターミナルに統合し、作業中のコマンドラインツールや、IDEの中に表示できます。\n  date: 2025-07-14\n  authors:\n    - Naoharu Sasaki\n  description: エージェント型AIであるClaude CodeとGitLab\n    CLIツール「GLab」を組み合わせて、ローカル環境から効率的にIssue作成・MR操作・レビュー依頼などを自動化し、生成AIによるコード補助を活かした実践的な開発フローを構築する方法をご紹介します。\n  title: Claude Code × GitLab：AI活用を加速する、エージェンティックAIとGitLab CLIによる効率的なソフトウェア開発フロー\n  tags:\n    - AI/ML\n    - CI/CD\n    - code review\n    - collaboration\n    - DevSecOps\n    - features\n    - GitOps\n    - integrations\n    - security\n    - tutorial\n    - workflow\nconfig:\n  featured: true\n  template: BlogPost\n  slug: claude-code-gitlab-ai-development-workflow\n",{"noIndex":39,"title":40,"description":41,"ogImage":17},false,"エージェンティックAI Claude CodeとGitLab CLIの開発フロー","Claude CodeとGLabを組み合わせてローカル環境から効率的にIssue作成・MR操作・レビュー依頼などを自動化し、生成AIのコード補助を活かした開発フローを構築する方法を紹介","ja-jp/blog/claude-code-gitlab-ai-development-workflow",[44,45,46,25,47,27,48,29,30,31,32],"aiml","cicd","code-review","devsecops","gitops",[22,23,24,25,26,27,28,29,30,31,32],"aZW7HX80pz_CA8p8uSNTGjIwIAT_4cl0Y6b9GvptoWs",{"data":52},{"logo":53,"freeTrial":58,"sales":63,"login":68,"items":73,"search":380,"minimal":413,"duo":430,"switchNav":439,"pricingDeployment":450},{"config":54},{"href":55,"dataGaName":56,"dataGaLocation":57},"/ja-jp/","gitlab logo","header",{"text":59,"config":60},"無料トライアルを開始",{"href":61,"dataGaName":62,"dataGaLocation":57},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp&glm_content=default-saas-trial/","free trial",{"text":64,"config":65},"お問い合わせ",{"href":66,"dataGaName":67,"dataGaLocation":57},"/ja-jp/sales/","sales",{"text":69,"config":70},"サインイン",{"href":71,"dataGaName":72,"dataGaLocation":57},"https://gitlab.com/users/sign_in/","sign in",[74,101,197,202,302,362],{"text":75,"config":76,"cards":78},"プラットフォーム",{"dataNavLevelOne":77},"platform",[79,85,93],{"title":75,"description":80,"link":81},"DevSecOpsに特化したインテリジェントオーケストレーションプラットフォーム",{"text":82,"config":83},"プラットフォームを探索",{"href":84,"dataGaName":77,"dataGaLocation":57},"/ja-jp/platform/",{"title":86,"description":87,"link":88},"GitLab Duo Agent Platform","ソフトウェアライフサイクル全体を支えるエージェント型AI",{"text":89,"config":90},"GitLab Duoのご紹介",{"href":91,"dataGaName":92,"dataGaLocation":57},"/ja-jp/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":94,"description":95,"link":96},"GitLabが選ばれる理由","エンタープライズがGitLabを選ぶ主な理由をご覧ください",{"text":97,"config":98},"詳細はこちら",{"href":99,"dataGaName":100,"dataGaLocation":57},"/ja-jp/why-gitlab/","why gitlab",{"text":102,"left":13,"config":103,"link":105,"lists":109,"footer":179},"製品",{"dataNavLevelOne":104},"solutions",{"text":106,"config":107},"すべてのソリューションを表示",{"href":108,"dataGaName":104,"dataGaLocation":57},"/ja-jp/solutions/",[110,134,157],{"title":111,"description":112,"link":113,"items":118},"自動化","CI/CDと自動化でデプロイを加速",{"config":114},{"icon":115,"href":116,"dataGaName":117,"dataGaLocation":57},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[119,122,125,130],{"text":23,"config":120},{"href":121,"dataGaLocation":57,"dataGaName":23},"/ja-jp/solutions/continuous-integration/",{"text":86,"config":123},{"href":91,"dataGaLocation":57,"dataGaName":124},"gitlab duo agent platform - product menu",{"text":126,"config":127},"ソースコード管理",{"href":128,"dataGaLocation":57,"dataGaName":129},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":131,"config":132},"自動化されたソフトウェアデリバリー",{"href":116,"dataGaLocation":57,"dataGaName":133},"Automated software delivery",{"title":135,"description":136,"link":137,"items":142},"セキュリティ","セキュリティを犠牲にすることなくコード作成を高速化",{"config":138},{"href":139,"dataGaName":140,"dataGaLocation":57,"icon":141},"/ja-jp/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[143,147,152],{"text":144,"config":145},"アプリケーションセキュリティテスト",{"href":139,"dataGaName":146,"dataGaLocation":57},"Application security testing",{"text":148,"config":149},"ソフトウェアサプライチェーンの安全性",{"href":150,"dataGaLocation":57,"dataGaName":151},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":153,"config":154},"ソフトウェアコンプライアンス",{"href":155,"dataGaName":156,"dataGaLocation":57},"/ja-jp/solutions/software-compliance/","software compliance",{"title":158,"link":159,"items":164},"測定",{"config":160},{"icon":161,"href":162,"dataGaName":163,"dataGaLocation":57},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[165,169,174],{"text":166,"config":167},"可視性と測定",{"href":162,"dataGaLocation":57,"dataGaName":168},"Visibility and Measurement",{"text":170,"config":171},"バリューストリーム管理",{"href":172,"dataGaLocation":57,"dataGaName":173},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":175,"config":176},"分析とインサイト",{"href":177,"dataGaLocation":57,"dataGaName":178},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":180,"items":181},"GitLabが活躍する場所",[182,187,192],{"text":183,"config":184},"大企業",{"href":185,"dataGaLocation":57,"dataGaName":186},"/ja-jp/enterprise/","enterprise",{"text":188,"config":189},"スモールビジネス",{"href":190,"dataGaLocation":57,"dataGaName":191},"/ja-jp/small-business/","small business",{"text":193,"config":194},"公共部門",{"href":195,"dataGaLocation":57,"dataGaName":196},"/ja-jp/solutions/public-sector/","public sector",{"text":198,"config":199},"価格",{"href":200,"dataGaName":201,"dataGaLocation":57,"dataNavLevelOne":201},"/ja-jp/pricing/","pricing",{"text":203,"config":204,"link":206,"lists":210,"feature":289},"リソース",{"dataNavLevelOne":205},"resources",{"text":207,"config":208},"すべてのリソースを表示",{"href":209,"dataGaName":205,"dataGaLocation":57},"/ja-jp/resources/",[211,243,261],{"title":212,"items":213},"はじめに",[214,219,224,229,234,239],{"text":215,"config":216},"インストール",{"href":217,"dataGaName":218,"dataGaLocation":57},"/ja-jp/install/","install",{"text":220,"config":221},"クイックスタートガイド",{"href":222,"dataGaName":223,"dataGaLocation":57},"/ja-jp/get-started/","quick setup checklists",{"text":225,"config":226},"学ぶ",{"href":227,"dataGaLocation":57,"dataGaName":228},"https://university.gitlab.com/","learn",{"text":230,"config":231},"製品ドキュメント",{"href":232,"dataGaName":233,"dataGaLocation":57},"https://docs.gitlab.com/ja-jp/","product documentation",{"text":235,"config":236},"ベストプラクティスビデオ",{"href":237,"dataGaName":238,"dataGaLocation":57},"/ja-jp/getting-started-videos/","best practice videos",{"text":240,"config":241},"インテグレーション",{"href":242,"dataGaName":29,"dataGaLocation":57},"/ja-jp/integrations/",{"title":244,"items":245},"検索する",[246,251,256],{"text":247,"config":248},"お客様成功事例",{"href":249,"dataGaName":250,"dataGaLocation":57},"/ja-jp/customers/","customer success stories",{"text":252,"config":253},"ブログ",{"href":254,"dataGaName":255,"dataGaLocation":57},"/ja-jp/blog/","blog",{"text":257,"config":258},"リモート",{"href":259,"dataGaName":260,"dataGaLocation":57},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":262,"items":263},"つなげる",[264,269,274,279,284],{"text":265,"config":266},"GitLabサービス",{"href":267,"dataGaName":268,"dataGaLocation":57},"/ja-jp/services/","services",{"text":270,"config":271},"コミュニティ",{"href":272,"dataGaName":273,"dataGaLocation":57},"/community/","community",{"text":275,"config":276},"フォーラム",{"href":277,"dataGaName":278,"dataGaLocation":57},"https://forum.gitlab.com/","forum",{"text":280,"config":281},"イベント",{"href":282,"dataGaName":283,"dataGaLocation":57},"/events/","events",{"text":285,"config":286},"パートナー",{"href":287,"dataGaName":288,"dataGaLocation":57},"/ja-jp/partners/","partners",{"background":290,"textColor":291,"text":292,"image":293,"link":297},"#2f2a6b","#fff","ソフトウェア開発の未来への洞察",{"altText":294,"config":295},"ソースプロモカード",{"src":296},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":298,"config":299},"最新情報を読む",{"href":300,"dataGaName":301,"dataGaLocation":57},"/ja-jp/the-source/","the source",{"text":303,"config":304,"lists":306},"会社情報",{"dataNavLevelOne":305},"company",[307],{"items":308},[309,314,320,322,327,332,337,342,347,352,357],{"text":310,"config":311},"GitLabについて",{"href":312,"dataGaName":313,"dataGaLocation":57},"/ja-jp/company/","about",{"text":315,"config":316,"footerGa":319},"採用情報",{"href":317,"dataGaName":318,"dataGaLocation":57},"/jobs/","jobs",{"dataGaName":318},{"text":280,"config":321},{"href":282,"dataGaName":283,"dataGaLocation":57},{"text":323,"config":324},"経営陣",{"href":325,"dataGaName":326,"dataGaLocation":57},"/company/team/e-group/","leadership",{"text":328,"config":329},"チーム",{"href":330,"dataGaName":331,"dataGaLocation":57},"/company/team/","team",{"text":333,"config":334},"ハンドブック",{"href":335,"dataGaName":336,"dataGaLocation":57},"https://handbook.gitlab.com/","handbook",{"text":338,"config":339},"投資家向け情報",{"href":340,"dataGaName":341,"dataGaLocation":57},"https://ir.gitlab.com/","investor relations",{"text":343,"config":344},"トラストセンター",{"href":345,"dataGaName":346,"dataGaLocation":57},"/ja-jp/security/","trust center",{"text":348,"config":349},"AI Transparency Center",{"href":350,"dataGaName":351,"dataGaLocation":57},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":353,"config":354},"ニュースレター",{"href":355,"dataGaName":356,"dataGaLocation":57},"/company/contact/#contact-forms","newsletter",{"text":358,"config":359},"プレス",{"href":360,"dataGaName":361,"dataGaLocation":57},"/press/","press",{"text":64,"config":363,"lists":364},{"dataNavLevelOne":305},[365],{"items":366},[367,370,375],{"text":64,"config":368},{"href":66,"dataGaName":369,"dataGaLocation":57},"talk to sales",{"text":371,"config":372},"サポートを受ける",{"href":373,"dataGaName":374,"dataGaLocation":57},"https://support.gitlab.com","support portal",{"text":376,"config":377},"カスタマーポータル",{"href":378,"dataGaName":379,"dataGaLocation":57},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":381,"login":382,"suggestions":389},"閉じる",{"text":383,"link":384},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":385,"config":386},"GitLab.com",{"href":71,"dataGaName":387,"dataGaLocation":388},"search login","search",{"text":390,"default":391},"提案",[392,394,399,401,405,409],{"text":86,"config":393},{"href":91,"dataGaName":86,"dataGaLocation":388},{"text":395,"config":396},"コード提案（AI）",{"href":397,"dataGaName":398,"dataGaLocation":388},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":23,"config":400},{"href":121,"dataGaName":23,"dataGaLocation":388},{"text":402,"config":403},"GitLab on AWS",{"href":404,"dataGaName":402,"dataGaLocation":388},"/ja-jp/partners/technology-partners/aws/",{"text":406,"config":407},"GitLab on Google Cloud",{"href":408,"dataGaName":406,"dataGaLocation":388},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":410,"config":411},"GitLabを選ぶ理由",{"href":99,"dataGaName":412,"dataGaLocation":388},"Why GitLab?",{"freeTrial":414,"mobileIcon":418,"desktopIcon":423,"secondaryButton":426},{"text":59,"config":415},{"href":416,"dataGaName":62,"dataGaLocation":417},"https://gitlab.com/-/trials/new/","nav",{"altText":419,"config":420},"GitLabアイコン",{"src":421,"dataGaName":422,"dataGaLocation":417},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":419,"config":424},{"src":425,"dataGaName":422,"dataGaLocation":417},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":212,"config":427},{"href":428,"dataGaName":429,"dataGaLocation":417},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":431,"mobileIcon":435,"desktopIcon":437},{"text":432,"config":433},"GitLab Duoの詳細について",{"href":91,"dataGaName":434,"dataGaLocation":417},"gitlab duo",{"altText":419,"config":436},{"src":421,"dataGaName":422,"dataGaLocation":417},{"altText":419,"config":438},{"src":425,"dataGaName":422,"dataGaLocation":417},{"button":440,"mobileIcon":445,"desktopIcon":447},{"text":441,"config":442},"/switch",{"href":443,"dataGaName":444,"dataGaLocation":417},"#contact","switch",{"altText":419,"config":446},{"src":421,"dataGaName":422,"dataGaLocation":417},{"altText":419,"config":448},{"src":449,"dataGaName":422,"dataGaLocation":417},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":451,"mobileIcon":456,"desktopIcon":458},{"text":452,"config":453},"料金ページに戻る",{"href":200,"dataGaName":454,"dataGaLocation":417,"icon":455},"back to pricing","GoBack",{"altText":419,"config":457},{"src":421,"dataGaName":422,"dataGaLocation":417},{"altText":419,"config":459},{"src":425,"dataGaName":422,"dataGaLocation":417},{"title":461,"button":462,"config":467},"エージェント型AIがソフトウェア配信をどのように変革するかをご覧ください",{"text":463,"config":464},"GitLab Transcendを今すぐ視聴",{"href":465,"dataGaName":466,"dataGaLocation":57},"/ja-jp/events/transcend/virtual/","transcend event",{"layout":468,"icon":469,"disabled":13},"release","AiStar",{"data":471},{"text":472,"source":473,"edit":479,"contribute":484,"config":489,"items":494,"minimal":692},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":474,"config":475},"ページのソースを表示",{"href":476,"dataGaName":477,"dataGaLocation":478},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":480,"config":481},"このページを編集",{"href":482,"dataGaName":483,"dataGaLocation":478},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":485,"config":486},"ご協力をお願いします",{"href":487,"dataGaName":488,"dataGaLocation":478},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":490,"facebook":491,"youtube":492,"linkedin":493},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[495,540,588,631,658],{"title":198,"links":496,"subMenu":511},[497,501,506],{"text":498,"config":499},"プランの表示",{"href":200,"dataGaName":500,"dataGaLocation":478},"view plans",{"text":502,"config":503},"Premiumを選ぶ理由",{"href":504,"dataGaName":505,"dataGaLocation":478},"/ja-jp/pricing/premium/","why premium",{"text":507,"config":508},"Ultimateを選ぶ理由",{"href":509,"dataGaName":510,"dataGaLocation":478},"/ja-jp/pricing/ultimate/","why ultimate",[512],{"title":64,"links":513},[514,516,518,520,525,530,535],{"text":64,"config":515},{"href":66,"dataGaName":67,"dataGaLocation":478},{"text":371,"config":517},{"href":373,"dataGaName":374,"dataGaLocation":478},{"text":376,"config":519},{"href":378,"dataGaName":379,"dataGaLocation":478},{"text":521,"config":522},"ステータス",{"href":523,"dataGaName":524,"dataGaLocation":478},"https://status.gitlab.com/","status",{"text":526,"config":527},"利用規約",{"href":528,"dataGaName":529,"dataGaLocation":478},"/terms/","terms of use",{"text":531,"config":532},"プライバシーに関する声明",{"href":533,"dataGaName":534,"dataGaLocation":478},"/ja-jp/privacy/","privacy statement",{"text":536,"config":537},"Cookie 優先設定",{"dataGaName":538,"dataGaLocation":478,"id":539,"isOneTrustButton":13},"cookie preferences","ot-sdk-btn",{"title":102,"links":541,"subMenu":550},[542,546],{"text":543,"config":544},"DevSecOpsプラットフォーム",{"href":84,"dataGaName":545,"dataGaLocation":478},"devsecops platform",{"text":547,"config":548},"AI支援開発",{"href":91,"dataGaName":549,"dataGaLocation":478},"ai-assisted development",[551],{"title":552,"links":553},"トピック",[554,557,560,565,570,573,578,583],{"text":23,"config":555},{"href":556,"dataGaName":45,"dataGaLocation":478},"/ja-jp/topics/ci-cd/",{"text":28,"config":558},{"href":559,"dataGaName":48,"dataGaLocation":478},"/ja-jp/topics/gitops/",{"text":561,"config":562},"DevOps",{"href":563,"dataGaName":564,"dataGaLocation":478},"/ja-jp/topics/devops/","devops",{"text":566,"config":567},"バージョン管理",{"href":568,"dataGaName":569,"dataGaLocation":478},"/ja-jp/topics/version-control/","version control",{"text":26,"config":571},{"href":572,"dataGaName":47,"dataGaLocation":478},"/ja-jp/topics/devsecops/",{"text":574,"config":575},"クラウドネイティブ",{"href":576,"dataGaName":577,"dataGaLocation":478},"/ja-jp/topics/cloud-native/","cloud native",{"text":579,"config":580},"コーディングのためのAI",{"href":581,"dataGaName":582,"dataGaLocation":478},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":584,"config":585},"エージェント型AI",{"href":586,"dataGaName":587,"dataGaLocation":478},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":589,"links":590},"ソリューション",[591,594,596,601,605,608,611,614,616,618,621,626],{"text":144,"config":592},{"href":139,"dataGaName":593,"dataGaLocation":478},"Application Security Testing",{"text":131,"config":595},{"href":116,"dataGaName":117,"dataGaLocation":478},{"text":597,"config":598},"アジャイル開発",{"href":599,"dataGaName":600,"dataGaLocation":478},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":602,"config":603},"SCM",{"href":128,"dataGaName":604,"dataGaLocation":478},"source code management",{"text":23,"config":606},{"href":121,"dataGaName":607,"dataGaLocation":478},"continuous integration & delivery",{"text":170,"config":609},{"href":172,"dataGaName":610,"dataGaLocation":478},"value stream management",{"text":28,"config":612},{"href":613,"dataGaName":48,"dataGaLocation":478},"/ja-jp/solutions/gitops/",{"text":183,"config":615},{"href":185,"dataGaName":186,"dataGaLocation":478},{"text":188,"config":617},{"href":190,"dataGaName":191,"dataGaLocation":478},{"text":619,"config":620},"公共機関",{"href":195,"dataGaName":196,"dataGaLocation":478},{"text":622,"config":623},"教育",{"href":624,"dataGaName":625,"dataGaLocation":478},"/ja-jp/solutions/education/","education",{"text":627,"config":628},"金融サービス",{"href":629,"dataGaName":630,"dataGaLocation":478},"/ja-jp/solutions/finance/","financial services",{"title":203,"links":632},[633,635,637,639,642,644,646,648,650,652,654,656],{"text":215,"config":634},{"href":217,"dataGaName":218,"dataGaLocation":478},{"text":220,"config":636},{"href":222,"dataGaName":223,"dataGaLocation":478},{"text":225,"config":638},{"href":227,"dataGaName":228,"dataGaLocation":478},{"text":230,"config":640},{"href":232,"dataGaName":641,"dataGaLocation":478},"docs",{"text":252,"config":643},{"href":254,"dataGaName":255,"dataGaLocation":478},{"text":247,"config":645},{"href":249,"dataGaName":250,"dataGaLocation":478},{"text":257,"config":647},{"href":259,"dataGaName":260,"dataGaLocation":478},{"text":265,"config":649},{"href":267,"dataGaName":268,"dataGaLocation":478},{"text":270,"config":651},{"href":272,"dataGaName":273,"dataGaLocation":478},{"text":275,"config":653},{"href":277,"dataGaName":278,"dataGaLocation":478},{"text":280,"config":655},{"href":282,"dataGaName":283,"dataGaLocation":478},{"text":285,"config":657},{"href":287,"dataGaName":288,"dataGaLocation":478},{"title":303,"links":659},[660,662,664,666,668,670,672,676,681,683,685,687],{"text":310,"config":661},{"href":312,"dataGaName":305,"dataGaLocation":478},{"text":315,"config":663},{"href":317,"dataGaName":318,"dataGaLocation":478},{"text":323,"config":665},{"href":325,"dataGaName":326,"dataGaLocation":478},{"text":328,"config":667},{"href":330,"dataGaName":331,"dataGaLocation":478},{"text":333,"config":669},{"href":335,"dataGaName":336,"dataGaLocation":478},{"text":338,"config":671},{"href":340,"dataGaName":341,"dataGaLocation":478},{"text":673,"config":674},"Sustainability",{"href":675,"dataGaName":673,"dataGaLocation":478},"/sustainability/",{"text":677,"config":678},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":679,"dataGaName":680,"dataGaLocation":478},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":343,"config":682},{"href":345,"dataGaName":346,"dataGaLocation":478},{"text":353,"config":684},{"href":355,"dataGaName":356,"dataGaLocation":478},{"text":358,"config":686},{"href":360,"dataGaName":361,"dataGaLocation":478},{"text":688,"config":689},"現代奴隷制の透明性に関する声明",{"href":690,"dataGaName":691,"dataGaLocation":478},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":693},[694,696,699],{"text":526,"config":695},{"href":528,"dataGaName":529,"dataGaLocation":478},{"text":697,"config":698},"Cookieの設定",{"dataGaName":538,"dataGaLocation":478,"id":539,"isOneTrustButton":13},{"text":531,"config":700},{"href":533,"dataGaName":534,"dataGaLocation":478},[702],{"id":703,"title":9,"body":34,"config":704,"content":707,"description":34,"extension":33,"meta":711,"navigation":13,"path":712,"seo":713,"stem":714,"__hash__":715},"blogAuthors/en-us/blog/authors/naoharu-sasaki.yml",{"template":705,"gitlabHandle":706},"BlogAuthor","https://gitlab.com/naosasaki",{"name":9,"config":708,"role":710},{"headshot":709},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1751951026/qgwsq65eqcrrxemihenj.png","Senior Solutions Architect",{},"/en-us/blog/authors/naoharu-sasaki",{},"en-us/blog/authors/naoharu-sasaki","aT3bx8faijbo0A6e-pTs9GIYT2xoKWKou76b7YvQinc",[717,730,745],{"content":718,"config":728},{"title":719,"description":720,"authors":721,"heroImage":723,"date":724,"body":725,"category":11,"tags":726},"GitLabとAnthropic：エンタープライズ開発のためのガバナンスAI","GitLabがAnthropicとのClaude統合を強化。ガバナンス・コンプライアンス・監査証跡を組み込んだプラットフォームで、最新Claudeモデルへのアクセス、そしてGoogle CloudやAWSを通じた柔軟なクラウド展開をエンタープライズに提供します。",[722],"Stuart Moncada","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776457632/llddiylsgwuze0u1rjks.png","2026-04-28","エンタープライズや公共セクターのリーダーにとって、この緊張関係は見慣れたものです。ソフトウェアチームはAIを活用してスピードを上げる必要がある一方、セキュリティ、コンプライアンス、規制上の要求はますます厳しくなっています。GitLabはAnthropicとのClaude統合を強化し、新たにリリースされたClaudeモデルへのアクセスを、ガバナンス・コンプライアンス・監査証跡がすでに組み込まれたGitLabのインテリジェントオーケストレーションプラットフォーム上で提供します。\n\nClaudeはGitLab Duo Agent Platformにおけるデフォルトモデルとして、コード生成・レビューからエージェント型チャット、脆弱性の解消まで、幅広いユースケースで機能を支えています。GitLab Duoをご利用いただいている方は、Duoエージェントがソフトウェア開発ライフサイクル（SDLC）全体にわたってワークフローを自動化する様子をすでにご体験いただいています。\n\nこの統合強化により、ClaudeのコアAI機能をGitLabにより迅速に統合し、エンタープライズが展開できる幅を広げるとともに、GitLabがソフトウェア開発・エンジニアリングプラットフォームとして本質的に異なる点を改めて示します。それは、すべてのAIインタラクションに組み込まれたガバナンス・コンプライアンス・監査証跡です。\n\n> 「GitLab Duoにより、チームの計画・構築・リリースのスピードが格段に上がりました。AnthropicのClaudeとGitLabのプラットフォームを組み合わせることで、働き方やガバナンスの仕組みを変えることなく、より高度なAIを活用できています。」 \\\n> – Mans Booijink氏、オペレーションマネージャー、Cube社\n\n## 真の差別化要因：ガバナンスAI\n\nGitLabでは、ガバナンスコントロールと監査機能がSDLCに組み込まれています。GitLab Duo Agent PlatformでClaudeがコード変更を提案する場合、その提案は他のあらゆる変更と同様に、マージリクエストのプロセス、承認ルール、セキュリティスキャン、そして監査証跡を経由します。AIはコントロールを迂回することはできません。AIはコントロールの枠組みの中で動作します。\n\nGitLabがエージェント型ソフトウェア開発、すなわちAIが明確に定義されたタスクを自律的に処理する開発手法へと深く踏み込む中、ガバナンスレイヤーの重要性はさらに増しています。マージリクエストのオープン、脆弱性の解消支援、サービスのリファクタリングを担えるAIエージェントには、人間の開発者と同様に、監査可能性・帰属明確性・ポリシー適用が求められます。この要件はGitLabが当初から下したアーキテクチャ上の決断であり、AIエージェントが担う責務の範囲が広がるにつれて、その重要性はさらに高まっています。\n\n## エンタープライズ向けデプロイの柔軟性\n\nまた、この統合強化により、組織がGitLabを通じて最新のClaudeモデルにアクセスする方法も広がります。GitLab内でのClaudeはGoogle CloudのVertex AIおよびAWS Bedrockを通じて利用可能であり、企業はすでに導入済みのハイパースケーラーとの契約やクラウドガバナンスフレームワークを通じてAIワークロードをルーティングできます。別途ベンダー契約は不要です。データレジデンシーに関する新たな懸念もありません。既存のGCPまたはAWSの関係がそのままオンランプとなります。\n\nGitLabは[Claude Marketplace](https://claude.com/platform/marketplace)にも参加しました。これにより、お客様はGitLabクレジットを購入してAnthropicへの既存の支出コミットメントに充てることができ、AIコストを一元管理しながら、Anthropicへの投資と並行してGitLabを手軽に見つけ、調達できるようになります。\n\n## エージェント型の未来へ\n\n計画・コーディング・テスト・セキュリティ確保・デプロイにわたり、AIが定義されたタスクを自律的にこなすエージェント型ソフトウェア開発というGitLabのビジョンを実現するには、高度な推論能力・信頼性・安全性を備えたモデルが必要です。そして、それらの自律的アクションが完全にガバナンスされるプラットフォームも不可欠です。\n\nエージェント型ワークフローには、高度な推論能力・信頼性・安全性を備えたモデルが求められます。これらの基準は、GitLabがAIモデルパートナーを選定・統合する際の指針となっています。また、GitLabのガバナンスフレームワークにより、AIエージェントがより高度な開発作業を担うようになっても、エンタープライズはエージェントの行動・実行タイミング・変更の追跡方法について完全な可視性とコントロールを維持できます。\n\n## GitLabをご利用のお客様への意味\n\nすでにGitLab Duo Agent Platformをご利用の方は、ソフトウェア開発ライフサイクル全体にわたってClaudeモデルへのアクセスとより深いAIアシスタンスを、これまで通りのガバナンスフレームワークの中でご活用いただけます。\n\nAI活用型ソフトウェア開発プラットフォームを評価中の方は、高度なAI機能とエンタープライズコントロールのどちらかを選ぶ必要はありません。この戦略的連携は、その両方を実現するために構築されています。\n\n> GitLab Duo Agent Platformについてさらに詳しく知りたい方は、[デモのご依頼または無料トライアルのお申し込みはこちら](https://about.gitlab.com/ja-jp/gitlab-duo-agent-platform/)からどうぞ。",[22,727,288],"product",{"featured":13,"template":14,"slug":729},"gitlab-and-anthropic-governed-ai-for-enterprise-development",{"content":731,"config":743},{"title":732,"description":733,"authors":734,"body":737,"heroImage":738,"date":739,"category":11,"tags":740},"GitLabとVertex AI on Google Cloud：エージェント型ソフトウェア開発の加速","Google CloudのVertex AIとGitLab Duo Agent Platformを組み合わせることで、ファウンデーションモデル、エンタープライズ制御、Model Gardenの豊富なモデルを活用したエージェント型開発が実現します。\n",[735,736],"Regnard Raquedan","Rajesh Agadi","GitLab Duo Agent Platformは、組織がソフトウェアをビルド、セキュア化、そして提供する方法を再定義しつつあります。2026年1月の一般提供開始以来、このプラットフォームはソフトウェア開発ライフサイクルのあらゆる段階にエージェント型AIをもたらしています。Duo Agent Platformは、ソフトウェアチームと専門エージェントが連携して計画、コーディング、レビュー、セキュリティ脆弱性の修正を行う、インテリジェントなオーケストレーションレイヤーです。\n\nこのパートナーシップを通じて、[GitLab Duo Agent Platform](https://about.gitlab.com/gitlab-duo-agent-platform/)はVertex AI on Google Cloudとの統合によりソフトウェア開発のオーケストレーションとライフサイクルコンテキストを自動化します。Vertex AIはエージェント呼び出しのモデル層を担い、ソフトウェアチームはすでに定義済みのGoogle Cloudポリシーに従って推論を実行しながら、イシュー、マージリクエスト、パイプライン、セキュリティワークフローの作業を継続できます。\n\nGoogle CloudのVertex AIモデルの進化により、Google CloudユーザーはGitLab Duo Agent Platformをさらに活用できるようになっています。GitLabではAIを活用したDevSecOpsコントロールプレーンを、Vertex AIの急速に進化するAIインフラ基盤と、Duo Agent Platformの柔軟なデプロイ・統合オプションが支えています。この組み合わせにより、エンタープライズスケールで動作する、より高度でガバナンスの効いたエージェント型ワークフローが実現します。\n\n![Google CloudのVertex AIと連携してエージェント型ソフトウェア開発とガバナンスを備えたAIワークフローを実現するGitLab Duo Agent Platformの概念図](https://res.cloudinary.com/about-gitlab-com/image/upload/v1776165990/b7jlux9kydafncwy8spc.png)\n\n## 開発ライフサイクル全体にわたるエージェント\n\n多くのAIツールは、コードをより速く生成するという単一のタスクに集中しています。GitLab Duo Agent Platformはそれをさらに超え、計画からセキュリティレビュー、リリースまで、ソフトウェア開発ライフサイクル（SDLC）全体にわたってAIエージェントをオーケストレーションします。これは、多数のプロジェクトとリリースを抱える多くのチームを対象としています。このスケールにおいて、AIコーディングアシスタントは継続的なイノベーションに必要ではありますが、それだけでは十分ではありません。\n\n単一目的のコーディングアシスタントがプロジェクトの全体像を把握することはほとんどありません。バックログの状況、オープン中のマージリクエスト、失敗したジョブ、セキュリティの検出結果はGitLabに蓄積されていますが、コーディングアシスタント内の別のチャットウィンドウはSDLCのその全体像を引き継ぐことができません。このギャップは、手動によるハンドオフ、コンテキストを持たないAIへの重複した説明、そして一つのシステムとして設計されたわけではないツール間のデータフローをマッピングしようとするガバナンスチームという形で表れます。\n\nGitLab Duo Agent Platformは、エンジニアが日々使用するオブジェクト上でエージェントとフローを動作させることで、このギャップを埋めます。Google Cloudを推論の基盤として選択している場合、Vertex AIはエージェントが呼び出すモデルとサービスを提供し、GitLabのAI Gatewayがアクセスを仲介することで管理者はどこに何が接続されているかを明確に把握できます。例えば、GitLab Duo Planner Agentはバックログを分析し、エピックを構造化タスクに分解し、優先順位付けフレームワークを適用することで、次に何を構築するかをチームが判断するのを支援します。Security Analyst Agentは脆弱性をトリアージし、平易な言葉でリスクを説明し、優先順位に従って修正を推奨します。ビルトインのフローはこれらのエージェントをエンドツーエンドのプロセスへと連結し、開発者がすべてのハンドオフを手動で管理する必要をなくします。\n\nGitLab Duo Agent PlatformのAgentic Chatは、開発者にとって統合された体験を提供します。自然言語でクエリを投げかけることで、プロジェクトのイシュー、マージリクエスト、パイプライン、セキュリティの検出結果、コードベースといった全体像を踏まえた多段階の推論に基づくコンテキスト対応の回答が得られます。GitLabがSDLCの統一データモデルを持つ記録システムとして機能しているため、GitLab Duoエージェントは、スタンドアロンのツール固有AIアシスタントでは到達できないライフサイクルコンテキストをもとに動作します。\n\n### Vertex AIによる能力の拡張\n\nGitLab Duo Agent Platformはモデルフレキシブルな設計となっており、タスクごとに最適なパフォーマンスを発揮するモデルへと異なる機能をルーティングします。このアーキテクチャの選択はGoogle Cloud上で効果を発揮します。Vertex AIはファウンデーションモデルと関連サービスのマネージド環境として機能し、幅広いモデルエコシステムとマネージドインフラを提供することでプラットフォームの能力をさらに引き出します。\n\nVertex AIを通じて利用できる最新世代のAIモデルは、以前のバージョンと比較して推論、ツール使用、長文コンテキスト理解において大幅な改善をもたらします。これらはまさに、GitLabのエージェントが大規模で複雑なコードベースを持つ多くのプロジェクトとチームにわたって依拠するプロパティです。基盤モデルにおけるより長いコンテキストウィンドウと豊富なツール連携により、エージェントが一度のパスで達成できることが広がり、深いバックログ分析やモノレポのセキュリティレビューといったワークロードに特に重要な意味を持ちます。\n\n幅広いファウンデーションモデルへのアクセスを提供する[Vertex AI Model Garden](https://cloud.google.com/model-garden)により、ベンダーロックインではなく、パフォーマンス、コスト、規制要件に基づいてこれらの選択を行う自由がお客様に与えられます。\n\nさらに、GitLabのお客様はDuo Agent PlatformにBYOM（Bring Your Own Model）を利用することで、承認済みのプロバイダーとゲートウェイをセキュリティモデルが期待する場所に配置できます。[18.9リリースにおけるセルフホスト型Duo Agent PlatformとBYOMの解説](https://about.gitlab.com/blog/agentic-ai-enterprise-control-self-hosted-duo-agent-platform-and-byom/)では、その仕組みが詳しく説明されています。このデプロイオプションにより、お客様はソフトウェア開発プロセスに合わせてカスタマイズできるより広いモデルの選択肢へのアクセスを得られます。適切なワークフローに、適切なモデルを、適切なガードレールとともに。\n\nGitLabがVertex AIを基盤として選択したのは、エンタープライズグレードの信頼性と比類ないモデルの幅広さへのニーズによるものです。Vertex AIとModel Gardenは、LLMホスティングの重労働を完全に抽象化し、迅速なバージョン提供、堅牢なセキュリティ、厳格なガバナンスをシームレスに統合に組み込んでいます。Geminiモデルの提供にとどまらず、Vertex AIはサードパーティおよびオープンソースモデルの豊富なカタログへのグローバルかつ低レイテンシのアクセスを提供します。\n\nGoogleCloudの業界をリードするデータプライバシーとモデル保護へのアプローチと組み合わせることで、Vertex AIはGitLabの次世代デベロッパーエクスペリエンスを支える明確な選択肢として浮上しました。\n\nVertex AI Model GardenをバックエンドへIntegrateすることで、GitLabはDevSecOpsプラットフォームを強化しながら、その複雑さをユーザーに負わせることがありません。開発チームは基盤となるLLMの評価や管理に煩わされることなく、アプリケーション構築のための効率的なAI支援ワークフローを体験できます。\n\nGitLabはクラウドオーケストレーションを完全に抽象化し、開発者が優れたコードの記述に集中できる環境を提供する一方、Vertex AIはその支援となる機能を動かしています。\n\n## Google Cloudをご利用のお客様への意義\n\nGitLab Duo Agent Platformはすでに、一つのガバナンスの効いた記録システムの中でソフトウェアライフサイクル全体にわたって動作するAIエージェントを提供しています。Google Cloud上では、Vertex AIがモデルとインフラ層を継続的に進化させながら、迅速なイノベーションを可能にします。\n\nGoogle Cloudをご利用のお客様にとって、この統合は厳格なエンタープライズガバナンスを維持しながらソフトウェア提供を効率化することを意味します。プラットフォームエンジニアリンググループにとっては、クライアントサイドのツールを数十種類カタログ化するのではなく、GitLab内の提案、分析、修正を担うVertex AI連携モデルを標準化することを意味します。セキュリティプログラムは、エージェントが開発者がすでに検出結果をトリアージしている場所と同じ場所で修正を提案・検証することで、頭の切り替えを減らし、管理されていないチャネルへ流出していた作業を削減できます。\n\nクラウドの費用対効果とポリシーの観点から、GitLab内からVertexへのエージェント推論をまとめることで、Google Cloud上ですでに運用している契約や統制に近い形で使用量を管理でき、調達プロセスを迂回する重複支出やシャドーパスを回避するのに役立ちます。\n\nVertex AIはGitLab Duo Agent Platformの基盤インフラプロバイダーであるため、組織はAIツールチェーンの断片化を管理するオーバーヘッドとリスクなしに、デベロッパーの生産性を大幅に向上させることができます。チームは単一のセキュアな記録システムの中で足並みを揃え、アプリケーションをより速くビルドし、確信を持ってリリースできるようになります。\n\nGitLabとGoogle Cloudのコラボレーションは2018年から続いています。今日、これはAIの実験から、Google Cloud上での完全にガバナンスが効いたエージェント型ソフトウェア開発へと移行する組織にとって、最も包括的なパスの一つとなっています。GitLabがエージェントオーケストレーションとデベロッパーコンテキストを拡充し、Vertex AIがモデル能力とエージェントインフラの限界を押し広げていく中で、共同顧客にとっての価値は今後も成長し続けるでしょう。\n\n> [GitLab Duo Agent Platformの無料トライアルを開始](https://about.gitlab.com/free-trial/)して、Google Cloud上でのGitLabとVertex AIのパワーをぜひご体験ください。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663121/Blog/Hero%20Images/LogoLockupPlusLight.png","2026-04-14",[22,288,741,742,727],"google","news",{"featured":13,"template":14,"slug":744},"gitlab-and-vertex-ai-on-google-cloud",{"content":746,"config":756},{"heroImage":747,"body":748,"authors":749,"updatedDate":751,"date":752,"title":753,"tags":754,"description":755,"category":11},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643639/sapu29gmlgtwvhggmj6k.png","ソフトウェア開発の管理では、複数のツールを同時に扱うことが求められます。Jiraで課題を追跡し、IDEでコードを記述し、GitLabでコラボレーションするといった具合です。こうしたプラットフォーム間のコンテキストの切り替えは集中力を妨げ、デリバリーを遅らせます。\n\nGitLab Duo Agent Platformの[MCP](https://about.gitlab.com/topics/ai/model-context-protocol/)サポートにより、Jiraをはじめ、MCPに対応するあらゆるツールを、AIを活用した開発環境に直接接続できるようになりました。課題の照会、チケットの更新、ワークフローの同期など、すべてを自然言語で、IDEを離れることなく実行できます。\n\n## この記事で学べること\n\nこのチュートリアルでは、以下の内容を解説します。\n\n* **Jira/Atlassian OAuthアプリケーションのセットアップ** — セキュアな認証を設定します\n* **GitLab Duo Agent Platformの設定** — GitLab Duo Agent PlatformをMCPクライアントとして設定します\n* **3つの実践的なユースケース** — 実際のワークフローのデモをご覧ください\n\n## 前提条件\n\n開始する前に、以下の要件を満たしていることをご確認ください。\n\n| 要件 | 詳細 |\n| ---- | ----- |\n| **GitLabインスタンス** | Duo Agent Platformが有効なGitLab 18.8以降 |\n| **Jiraアカウント** | OAuthアプリケーションを作成できる管理者権限を持つJira Cloudインスタンス |\n| **IDE** | GitLab Workflow拡張機能がインストールされたVisual Studio Code |\n| **MCPサポート** | GitLabでMCPサポートが有効化済み |\n\n\n## アーキテクチャの概要\n\nGitLab Duo Agent Platformは**MCPクライアント**として機能し、Atlassian MCPサーバーに接続してJiraのプロジェクト管理データにアクセスします。Atlassian MCPサーバーは認証を処理し、自然言語のリクエストをAPI呼び出しに変換して、構造化されたデータをGitLab Duo Agent Platformに返します。このプロセス全体を通じて、セキュリティと監査管理が維持されます。\n\n## パート1：Jira OAuthアプリケーションの設定\n\nGitLab Duo Agent PlatformをJiraインスタンスに安全に接続するには、Atlassian Developer ConsoleでOAuth 2.0アプリケーションを作成する必要があります。これにより、GitLabのMCPサーバーにJiraデータへの認可されたアクセス権が付与されます。\n\n### セットアップ手順\n\n手動で設定する場合は、以下の手順に従ってください。\n\n1. **Atlassian Developer Consoleへのアクセス**\n\n   * [developer.atlassian.com/console/myapps](https://developer.atlassian.com/console/myapps)にアクセスします。\n\n   * Atlassianアカウントでサインインします。\n\n2. **新しいOAuth 2.0アプリの作成**\n\n   * 「**Create**」→「**OAuth 2.0 integration**」をクリックします。\n\n   * アプリ名を入力します（例：「gitlab-dap-mcp」）。\n\n   * 利用規約に同意し、「**Create**」をクリックします。\n\n3. **権限の設定**\n\n   * 左サイドバーの「**Permissions**」に移動します。\n\n   * 「**Jira API**」を追加し、以下のスコープを設定します。\n\n     * `read:jira-work` — 課題、プロジェクト、ボードの読み取り\n\n     * `write:jira-work` — 課題の作成と更新\n\n     * `read:jira-user` — ユーザー情報の読み取り\n\n4. **認可の設定**\n\n   * 左サイドバーの「**Authorization**」に移動します。\n\n   * お使いの環境のコールバックURLを追加します（`https://gitlab.com/oauth/callback`）。\n\n   * 変更を保存します。\n\n5. **認証情報の取得**\n\n   * 「**Settings**」に移動します。\n\n   * 「**Client ID**」と「**Client Secret**」をコピーします。\n\n   * これらの認証情報はMCP設定に必要なため、安全な場所に保管してください。\n\n\n### インタラクティブウォークスルー：Jira OAuthのセットアップ\n\n以下の画像をクリックして開始してください。\n\n\n[![Jira OAuthセットアップツアー](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772644850/wnzfoq43nkkfmgdqldmr.png)](https://gitlab.navattic.com/jira-oauth-setup)\n\n\n## パート2：GitLab Duo Agent PlatformのMCPクライアントの設定\n\nOAuth認証情報の準備ができたら、GitLab Duo Agent PlatformをAtlassian MCPサーバーに接続するための設定を行います。\n\n### MCP設定ファイルの作成\n\nGitLabプロジェクトの `.gitlab/duo/mcp.json` にMCP設定ファイルを作成します。\n\n\n```json\n{\n  \"mcpServers\": {\n    \"atlassian\": {\n      \"type\": \"http\",\n      \"url\": \"https://mcp.atlassian.com/v1/mcp\",\n      \"auth\": {\n        \"type\": \"oauth2\",\n        \"clientId\": \"YOUR_CLIENT_ID\",\n        \"clientSecret\": \"YOUR_CLIENT_SECRET\",\n        \"authorizationUrl\": \"https://auth.atlassian.com/oauth/authorize\",\n        \"tokenUrl\": \"https://auth.atlassian.com/oauth/token\"\n      },\n      \"approvedTools\": true\n    }\n  }\n}\n```\n\n`YOUR_CLIENT_ID` と `YOUR_CLIENT_SECRET` は、パート1で生成した認証情報に置き換えてください。\n\n### GitLabでMCPを有効化\n\n1. 「**グループ設定**」→「**GitLab Duo**」→「**Configuration**」に移動します。\n2. 「Allow external MCP tools」にチェックが入っていることを確認します。\n\n### 接続の確認\n\nVS Codeでプロジェクトを開いてGitLab Duo Agent Platformのチャットで次のように入力してください。\n\n```text\nWhat MCP tools do you have access to?\n```\n\n次に、以下のように入力します。\n\n```text\nTest the MCP JIRA configuration in this project\n```\n\nこの時点で、IDEからAtlassian MCPウェブサイトにリダイレクトされ、アクセスの承認を求められます。\n\n![Atlassian MCPウェブサイトへのリダイレクト](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643461/z5acqjgguh0damnnde9g.png \"MCPのAtlassianウェブサイトへのリダイレクト\")\n\n\u003Cbr>\u003C/br>\n\n![アクセスの承認](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643461/rwowamm8nsubhpixtn3i.png \"アクセスの承認\")\n\n\u003Cbr>\u003C/br>\n\n![JIRAインスタンスを選択して承認](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643461/chuzqd0jeptfwvoj7wjr.png \"JIRAインスタンスを選択して承認\")\n\n\u003Cbr>\u003C/br>\n\n![成功！](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643462/bsgti5iste2bzck19o5y.png \"成功！\")\n\n\u003Cbr>\u003C/br>\n\n### MCPダッシュボードでの確認\n\nGitLabには、IDEに組み込みの**MCPダッシュボード**も用意されています。\n\nVS CodeまたはVSCodiumで、コマンドパレット（macOSでは `Cmd+Shift+P`、Windows/Linuxでは `Ctrl+Shift+P`）を開いて「**GitLab: Show MCP Dashboard**」を検索してください。ダッシュボードは新しいエディタータブで表示され、以下の情報を確認できます。\n\n* 設定済みの各MCPサーバーの**接続ステータス**\n* サーバーが公開している**利用可能なツール**（例：`jira_get_issue`、`jira_create_issue`）\n* **サーバーログ** — リアルタイムで呼び出されているツールを確認可能\n\n![MCPサーバーのダッシュボードとステータス](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643462/mmvdfchucacsydivowvn.png \"MCPサーバーのダッシュボードとステータス\")\n\n\u003Cbr>\u003C/br>\n\n![サーバーの詳細と権限](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643462/tcocgdvovp2dl42pvfn8.png \"サーバーの詳細と権限\")\n\n\u003Cbr>\u003C/br>\n\n\n![MCPサーバーログ](https://res.cloudinary.com/about-gitlab-com/image/upload/v1772643466/mougvqqk1bozchaufsci.png \"MCPサーバーログ\")\n\n\u003Cbr>\u003C/br>\n\n### インタラクティブウォークスルー：MCPのテスト\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1170005495?badge=0&amp;autopause=0&amp; player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Testing MCP\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n## パート3：実践的なユースケース\n\n統合の設定が完了したら、JiraをGitLab Duo Agent Platformへの接続を実現できる3つの実践的なワークフローを見ていきましょう。\n\n### プランニングアシスタント\n\n**シナリオ：** スプリントプランニングの準備として、バックログをすばやく評価し、優先事項を把握し、ブロッカーを特定する必要があります。\n\nこのデモでは以下の操作を紹介します。\n\n* バックログの照会\n* 未割り当ての高優先度課題の特定\n* AIによるスプリント推奨の取得\n\n#### プロンプト例\n\nGitLab Duo Agent Platformのチャットで以下のプロンプトをお試しください。\n\n```text\nList all the unassigned issues in JIRA for project GITLAB\n```\n\n```text\nSuggest the two top issues to prioritize and summarize them. Assign them to me.\n```\n\n### インタラクティブウォークスルー：プロジェクトプランニング\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1170005462?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Project Planning\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player. js\">\u003C/script>\n\n### コードからの課題トリアージと作成\n\n**シナリオ：** コードレビュー中にバグを発見し、IDEを離れることなく、関連するコンテキストに沿ってJiraの課題を作成したい場合です。\n\nこのデモでは以下の手順を紹介します。\n\n* コーディング中のバグの特定\n* 自然言語を使ったJira課題の詳細な作成\n* コードのコンテキストに沿った課題フィールドの自動入力\n* 現在のブランチへの課題のリンク\n\n#### プロンプト例\n\n```text\nSearch in JIRA for a bug related to: Null pointer exception in PaymentService.processRefund().\nIf it does not exist create it with all the context needed from the code. Find possible blockers that this bug may cause.\n```\n\n```text\nCreate a new branch called issue-gitlab-18, checkout, and link it to the issue we just created. Assign the JIRA issue to me and mark it as in-progress.\n```\n\n### インタラクティブウォークスルー：バグレビューとタスク自動化\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1170005368?badge=0&amp;autopause=0&amp; player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Bug Review\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n### クロスシステムのインシデント調査\n\n**シナリオ：** 本番環境でインシデントが発生し、Jira（インシデントチケット）、GitLabプロジェクト管理、コードベース、マージリクエストからの情報を照合して根本原因を特定する必要があります。\n\nこのデモでは以下を実演します。\n\n* Jiraからのインシデント詳細の取得\n* GitLabの最近のマージリクエストとの照合\n* 関連する可能性のあるコード変更の特定\n* インシデントタイムラインの生成\n* 修正計画の設計とGitLabのワークアイテムとしての作成\n\n#### プロンプト例\n\n```text\n\"We have a production incident INC-1 about checkout failures. Can you help me investigate with all available context?\"\n```\n\n```text\nCreate a timeline of events for incident INC-1 including related Jira issues and recent deployments\n```\n\n```text\nPropose a remediation plan\n```\n\n### インタラクティブウォークスルー：クロスシステムのトラブルシューティングと修正\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1170005413?badge=0&amp;autopause=0&amp; player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Cross System Investigation\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n## トラブルシューティング\n\nよくあるセットアップの問題と解決策を以下にまとめます。\n\n| 問題 | 解決策 |\n| ----- | ----- |\n| 「MCP server not found」 | `mcp.json` ファイルが正しい場所にあり、適切にフォーマットされていることを確認してください。 |\n| 「Authentication failed」 | OAuth認証情報を再確認し、Atlassianでスコープが正しく設定されていることを確認してください。 |\n| 「No Jira tools available」 | `mcp.json` を更新後にVS Codeを再起動し、GitLabでMCPが有効になっていることを確認してください。 |\n| 「Connection timeout」 | `mcp.atlassian.com` へのネットワーク接続を確認してください。 |\n\n\u003Cbr/> 詳細なトラブルシューティングについては、[GitLab MCPクライアントのドキュメント](https://docs.gitlab.com/ja-jp/user/gitlab_duo/model_context_protocol/mcp_clients/)をご参照ください。\n\n\n## セキュリティに関する考慮事項\n\nJiraをGitLab Duo Agent Platformと統合する際は、以下の点にご注意ください。\n\n* **OAuthトークン** — 認証情報を安全に管理してください。\n* **最小権限の原則** — Jiraスコープは必要最小限のみ付与してください。\n* **トークンのローテーション** — セキュリティ管理の一環として、OAuth認証情報を定期的にローテーションしてください。\n\n\n## まとめ\n\nMCPを通じてGitLab Duo Agent Platformをさまざまなツールに接続することで、開発ライフサイクルとのインタラクションが大きく変わります。この記事では、以下の方法を学びました。\n\n* **自然言語による課題の照会** — バックログ、スプリント、インシデントについて自然言語で質問できます。\n* **DevSecOps環境全体での課題の作成と更新** — IDEを離れることなくバグを報告し、チケットを更新できます。\n* **システム間の情報照合** — JiraのデータをGitLabのプロジェクト管理、マージリクエスト、パイプラインと組み合わせることで、全体的な可視性が得られます。\n* **コンテキスト切り替えの削減** — プロジェクト管理とのつながりを維持しながら、コードに集中できます。\n\nこの統合は、MCPの可能性を体現するものです。AIを通じてツールへの標準化されたセキュアなアクセスを提供し、ガバナンスやセキュリティを損なうことなく、デベロッパーがより効率的に作業できる環境を実現します。\n\n\n## 関連リソース\n\n* [Model Context Protocol統合](https://about.gitlab.com/ja-jp/blog/duo-agent-platform-with-mcp/)\n\n* [Model Context Protocolとは](https://about.gitlab.com/topics/ai/model-context-protocol/)\n\n* [エージェント型AIに関するガイドとリソース](https://about.gitlab.com/ja-jp/blog/agentic-ai-guides-and-resources/)\n\n* [GitLab MCPクライアントのドキュメント](https://docs.gitlab.com/ja-jp/user/gitlab_duo/model_context_protocol/mcp_clients/)\n\n* [GitLab Duo Agent Platformを始める：完全ガイド](https://about.gitlab.com/ja-jp/blog/gitlab-duo-agent-platform-complete-getting-started-guide/)",[750],"Albert Rabassa","2026-03-30","2026-03-05","MCPであらゆるツールを接続してGitLab Duo Agent Platformを拡張",[727,31],"MCPを使用して外部ツールをGitLab Duo Agent Platformに接続する方法を解説します。3つの実践的なワークフローデモを含むステップバイステップのセットアップガイドです。",{"featured":39,"template":14,"slug":757},"extend-gitlab-duo-agent-platform-connect-any-tool-with-mcp",{"promotions":759},[760,773,784,795],{"id":761,"categories":762,"header":763,"text":764,"button":765,"image":770},"ai-modernization",[11],"Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":766,"config":767},"Get your AI maturity score",{"href":768,"dataGaName":769,"dataGaLocation":255},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":771},{"src":772},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":774,"categories":775,"header":776,"text":764,"button":777,"image":781},"devops-modernization",[727,47],"Are you just managing tools or shipping innovation?",{"text":778,"config":779},"Get your DevOps maturity score",{"href":780,"dataGaName":769,"dataGaLocation":255},"/assessments/devops-modernization-assessment/",{"config":782},{"src":783},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":785,"categories":786,"header":787,"text":764,"button":788,"image":792},"security-modernization",[30],"Are you trading speed for security?",{"text":789,"config":790},"Get your security maturity score",{"href":791,"dataGaName":769,"dataGaLocation":255},"/assessments/security-modernization-assessment/",{"config":793},{"src":794},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":796,"paths":797,"header":800,"text":801,"button":802,"image":807},"github-azure-migration",[798,799],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":803,"config":804},"See how GitLab compares to GitHub",{"href":805,"dataGaName":806,"dataGaLocation":255},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":808},{"src":783},{"header":810,"blurb":811,"button":812,"secondaryButton":816},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":59,"config":813},{"href":814,"dataGaName":62,"dataGaLocation":815},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":64,"config":817},{"href":66,"dataGaName":67,"dataGaLocation":815},1777493637269]