正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。
ドキュメントに関する現在のご利用体験についてお聞かせください。アンケートにご協力ください。

GitLab MCPサーバーツール

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
  • ステータス: ベータ版

この機能に関するフィードバックを提供するには、イシュー630189にコメントを残してください。

GitLab MCPサーバーは、既存のGitLabワークフローと連携して動作する一連のツールを提供します。これらのツールを使用して、GitLabと直接やり取りし、一般的なGitLabの操作を実行できます。

get_mcp_server_version

GitLab MCPサーバーの現在のバージョンを返します。

例:

What version of the GitLab MCP server am I connected to?

get_project

単一のGitLabプロジェクトのメタデータ(数値ID、フルパス、デフォルトブランチ、表示レベル、およびウェブURL)を返します。

パラメータタイプ必須説明
url文字列いいえプロジェクトのURL。urlまたはproject_idのいずれか一方のみを指定してください。
project_id文字列いいえプロジェクトのIDまたはフルパス。urlまたはproject_idのいずれか一方のみを指定してください。

プロジェクトにリポジトリがまだない場合、default_branchはnullです。名前がまだわからないプロジェクトを探すには、projectsスコープを指定してsearchを使用します。

例:

What is the default branch of gitlab-org/gitlab?

add_commit

1回で1つ以上のファイルアクションを持つコミットをブランチに追加します。

パラメータタイプ必須説明
commit_message文字列はいコミットメッセージ。
actionsオブジェクトの配列はい単一のバッチとしてコミットするファイルアクション。
branch文字列はいコミット先のブランチの名前。
project_id文字列いいえプロジェクトのIDまたはパス。urlが提供されない場合に必要です。
url文字列いいえGitLabのプロジェクトのURL。project_idが提供されない場合に必要です。
start_branch文字列いいえ新しいブランチの開始元となるブランチの名前。branchが存在しない場合、必須です。
start_sha文字列いいえ新しいブランチを開始するコミットのSHA。start_branchと相互に排他的です。
start_project文字列いいえコミットを開始するプロジェクトのフルパス。プロジェクト自体、またはフォークしたプロジェクトである必要があります。

actions内の各オブジェクトは以下のフィールドを受け入れます:

フィールドタイプ必須説明
action文字列はい実行するアクション: create、update、delete、move、またはchmod。
file_path文字列はいファイルのフルパス。
content文字列いいえファイルコンテンツ。create、update、およびmoveで使用されます。old_strおよびnew_strとは相互排他的です。
old_str文字列いいえupdateアクションで置換する既存のテキスト。new_strが必要です。
new_str文字列いいえupdateアクションでのold_strの置換テキスト。
previous_path文字列いいえ元のファイルパス。moveに必須です。
encoding文字列いいえcontentのエンコード: textまたはbase64。デフォルトはtextです。
last_commit_id文字列いいえファイルの最後の既知のコミットID。楽観的並行処理に使用されます。
execute_filemodeブール値いいえファイルが実行可能であるかどうか。chmodに必須です。

部分的な編集は、old_strの出現を1つだけ置換します。複数回出現する場合は、より多くの周辺コンテキストを提供してください。部分的な編集はサーバー上の完全なファイルを読み取るため、10 MBより大きいファイルには対応していません。より大きなファイルの場合は、代わりにファイルコンテンツ全体をコミットしてください。

部分的な編集は、バイナリファイルやLFSに保存されているファイルには対応していません。

例:

In project gitlab-org/gitlab, create README.md on branch "docs-update"
with the content "# New title" and commit message "Add README"

create_issue

マイルストーンのタイトルとラベル名を同じ場所(プロジェクトとその祖先グループ)で解決しますが、見つからない名前に対してはより厳格なsave_work_itemに置き換えられました。create_issueは存在しないラベル名を作成し、不明なマイルストーンのタイトルをサイレントに削除する一方、save_work_itemは見つからない名前に対してエラーを返します。このツールはtools/listには表示されなくなりましたが、呼び出し元が移行する間は呼び出し可能です。

GitLabプロジェクトに新しいイシューを作成します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはフルパス。
title文字列はいイシューのタイトル。
description文字列いいえイシューの説明。
assignee_ids整数の配列いいえ割り当てられたユーザーのIDの配列。
milestone_id整数いいえマイルストーンのID。
labels文字列の配列いいえラベル名の配列。
confidentialブール値いいえイシューを機密に設定します。デフォルトはfalseです。
epic_id整数いいえリンクされたエピックのID。

例:

Create a new issue titled "Fix login bug" in project 123 with description
"Users cannot log in with special characters in password"

get_issue

イシューやその他の作業アイテムタイプをカバーするget_work_itemに置き換えられました。このツールはtools/listには表示されなくなりましたが、呼び出し元が移行する間は呼び出し可能です。

特定のGitLabイシューに関する詳細情報を取得します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはフルパス。
issue_iid整数はいイシューの内部ID。

例:

Get details for issue 42 in project 123

save_merge_request

GitLabプロジェクトでマージリクエストを作成または更新します。merge_request_iidの有無によって操作が選択されます: これを省略するとマージリクエストが作成され、提供すると既存のマージリクエストが更新されます。

パラメータタイプ必須説明
project_id文字列はいプロジェクトのIDまたはフルパス。
merge_request_iid整数いいえマージリクエストの内部ID。既存のマージリクエストを更新するには提供し、新規作成するには省略します。
title文字列いいえマージリクエストのタイトル。作成時に必須です。
source_branch文字列いいえソースブランチの名前。作成時に必須です。
target_branch文字列いいえターゲットブランチの名前。作成時に必須です。
target_project_id整数いいえターゲットプロジェクトのID。作成時に適用されます。
description文字列いいえマージリクエストの説明。
labels文字列の配列いいえラベル名。既存のすべてのラベルを置き換えます。空の配列を渡すと、すべてのラベルが削除されます。
add_labels文字列の配列いいえ追加するラベル名。更新時に適用されます。
remove_labels文字列の配列いいえ削除するラベル名。更新時に適用されます。
assignees文字列の配列いいえ割り当てるユーザー名。assignee_idsの代替です。いずれか一方を指定してください。空の配列を渡すと、すべての担当者が削除されます。
assignee_ids整数の配列いいえ割り当てるユーザーID。assigneesの代替です。いずれか一方を指定してください。空の配列を渡すと、すべての担当者が削除されます。
reviewers文字列の配列いいえレビューをリクエストするユーザー名。reviewer_idsの代替です。いずれか一方を指定してください。空の配列を渡すと、すべてのレビュアーが削除されます。
reviewer_ids整数の配列いいえレビューをリクエストするユーザーID。reviewersの代替です。いずれか一方を指定してください。空の配列を渡すと、すべてのレビュアーが削除されます。
milestone_id整数いいえマイルストーンのID。
milestone文字列いいえプロジェクトまたは祖先グループのマイルストーンのタイトル。milestone_idと相互に排他的です。
remove_source_branchブール値いいえマージリクエストがマージされたときに、ソースブランチを削除します。
squashブール値いいえマージ時にコミットを単一のコミットにスカッシュします。
state_event文字列いいえ実行するステート移行。closeまたはreopenのいずれか。更新時に適用されます。
discussion_lockedブール値いいえマージリクエストのディスカッションをロックします。更新時に適用されます。
allow_collaborationブール値いいえターゲットブランチにマージできるメンバーからのコミットを許可します。更新時に適用されます。

例:

Create a merge request in project gitlab-org/gitlab titled "Bug fix broken specs"
from branch "fix/specs-broken" into "master" and enable squash
Update merge request 42 in project gitlab-org/gitlab to add the "bug" label and close it

get_merge_request

マージリクエスト、およびオプションでその差分、コミット、ノート、パイプライン、ディスカッション、または競合を取得します。includeパラメータで関連データを要求しない限り、ベースのマージリクエストのみが返されます。

パラメータタイプ必須説明
url文字列いいえGitLabのマージリクエストのURL。これ、またはproject_idとmerge_request_iidを指定します。
project_id文字列いいえプロジェクトのIDまたはフルパス。urlが指定されていない場合は必須。
merge_request_iid整数いいえマージリクエストの内部ID。urlが指定されていない場合は必須。
include配列いいえマージリクエストとともに返す関連ファセット。diffs、commits、notes、pipelines、discussions、conflictsのいずれか。呼び出しごとに1つのファセットに限定されます。
notes_after文字列いいえノートの順方向ページネーションのカーソル。includeが["notes"]の場合にのみ適用されます。
notes_first整数いいえカーソル以降に返すノートの数(最大100)。includeが["notes"]の場合にのみ適用されます。

diffsファセットは、変更統計(合計値とファイルごとの追加および削除)のみを返します。パッチテキストを取得するには、get_merge_request_diffsを使用します。

conflictsファセットは、Git競合マーカーを含む生の競合ファイルコンテンツを返します。マージリクエストがマージできず、ソースブランチにプッシュできる場合にのみ利用可能で、マージ可能性がチェックされるまではnullです。ベースのconflictsフィールドを読んで状態を判断してください。

例:

Get merge request 15 in project gitlab-org/gitlab with its commits

list_duo_agents_and_flows

プロジェクトで有効になっているGitLab Duoエージェントとフローを一覧表示し、フロー名を推測する代わりに何が利用可能かを発見できるようにします。プロジェクトが提供するエージェントとフローはプロジェクトごとに設定され、そのIDはプロジェクト間で異なります。

各エントリにはcan_start_sessionが含まれており、これは実行権限のあるフローに対してのみtrueとなります。エージェントと外部エージェントは発見のためにリストされますが、起動することはできません。また、実行できないフロー、未リリースまたはドラフト状態のバージョンを持つフローも起動不可としてリストされます。起動可能なエントリのみがstart_duo_sessionが取るai_catalog_item_consumer_idを持ちます。その他のすべてのエントリはnullに設定されています。説明は切り詰められる場合があります。

このリストには、プロジェクトで設定されたエージェント、フロー、外部エージェントに加えて、基盤となるチャットエージェントが含まれます。チャットエージェントは固定リストであり、ページ分割されたプロジェクト結果の一部ではないため、最初のページでのみ返され、エージェントが含まれていない限り省略されます。これらはfirstに加えて提供されるため、最初のページには要求したよりも多くのエントリが含まれる場合があります。これらはai_catalog_item_consumer_idの代わりにworkflow_definitionを持ち、これにより、表示名GitLab Duoを共有する2つのエージェントも区別されます。プロジェクトで設定されたエントリはworkflow_definitionがnullに設定されています。

基盤となるチャットエージェントは、プロジェクトではなく、GitLab.com上のプロジェクトのトップレベルグループ、およびGitLab Self-Managed上の組織によって管理されます。

パラメータタイプ必須説明
project_id文字列はいエージェントとフローをリストするプロジェクトの数値IDまたはフルパス。
item_type文字列いいえagent、flow、またはthird_party_flowのエントリのみを返します。省略するとすべての種類が返されます。
after文字列いいえ順方向ページネーションのカーソル。
first整数いいえ順方向ページネーションで返すエージェントとフローの数。デフォルトは20、最大は100です。

呼び出しごとに結果の単一ページが返されます。さらにページが存在する場合、応答にはafterとして渡すことができるpageInfo.endCursorが含まれます。

設定されているが非アクティブなアイテムはページ取得後に破棄されるため、pageInfo.hasNextPageがまだtrueの間でも、ページにはfirstよりも少ないエントリ、またはまったくエントリが含まれない場合があります。空のページで停止する代わりに、hasNextPageがfalseになるまでページングを続けてください。

例:

Which Duo flows can I run in gitlab-org/gitlab?

start_duo_session

AIカタログからフローを実行するGitLab Duo Agent Platformセッションを開始し、セッションIDを返します。カタログフローのみがこの方法で開始できます。これは、これらのセッションのみが後でsend_duo_session_inputで応答できるためです。

セッションは、コミットをプッシュし、マージリクエストを開くことができるCIジョブで実行されます。応答には推奨されるポーリング遅延が含まれます。進行状況を追跡するには、返されたworkflow_idと共にget_duo_sessionを使用します。

パラメータタイプ必須説明
project_id文字列はいフローが実行されるプロジェクトのIDまたはフルパス。
ai_catalog_item_consumer_id整数はい実行するフローを設定するAIカタログアイテムコンシューマのID。これを見つけるにはlist_duo_agents_and_flowsを使用します。
goal文字列はいエージェントが実行すべきこと。これがフローの開始点となるプロンプトです。

例:

Run the Developer flow in project 42 to add tests for the parser

list_duo_sessions

GitLab Duo Agent Platformのセッションをリスト表示します(Duo Chatセッションを除く)。各セッションには、個別のステータス、ゴールプレビュー、フロー定義、および作成日時が含まれます。プロジェクトセッションにはセッションURLも含まれます。ゴールプレビューは切り詰められている場合があります。

パラメータタイプ必須説明
url文字列いいえGitLabのプロジェクトのURL。セッションをフィルタリングするために使用します。project_idと一緒に使用しないでください。
project_id文字列いいえセッションをフィルタリングするプロジェクトの数値IDまたはフルパス。urlと一緒に使用しないでください。
status_group文字列いいえセッションステータスグループ。active、paused、awaiting_input、completed、failed、canceledのいずれか。
statuses配列いいえセッションのステータス。created、running、paused、finished、failed、stopped、input_required、plan_approval_required、またはtool_call_approval_requiredのいずれか1つ以上。status_groupと一緒に使用しないでください。
after文字列いいえ順方向ページネーションのカーソル。
first整数いいえ順方向ページネーションで返すセッションの数。デフォルトは20、最大は100です。

status_groupフィルターは、複数の個別のステータスを持つセッションを返すことができます。代わりにstatusesを使用して、1つ以上の正確なステータスでフィルタリングしてください。呼び出しごとに結果の単一ページが返されます。さらにページが存在する場合、応答にはafterとして渡すことができるpageInfo.endCursorが含まれます。

例:

List my active Duo Agent Platform sessions in gitlab-org/gitlab

get_duo_session

GitLab Duo Agent Platformセッションのステータスをチェックします。実行中のセッションには、推奨されるポーリング遅延が含まれます。完了したセッションと完了したチャットのやり取りには、最新のエージェントの回答が含まれます。承認を待っているセッションには、セッションを続行するための指示が含まれます。

パラメータタイプ必須説明
workflow_id整数はいtrigger_duo_flowまたはask_duo_agentによって返されるワークフローID。

例:

Check the status of Duo session 42

send_duo_session_input

入力を待っているGitLab Duo Agent Platformセッションに回答します。保留中のプランまたはツール呼び出しを承認または拒否するか、エージェントが尋ねた質問に返信します。セッションは、最後のCIジョブが完了すると入力を受け入れます。ステータスがinput_required、plan_approval_required、またはtool_call_approval_requiredのいずれであっても同様です。

セッションはCIジョブで継続されます。応答には推奨されるポーリング遅延が含まれます。進行状況を追跡するには、同じworkflow_idと共にget_duo_sessionを使用します。

パラメータタイプ必須説明
workflow_id整数はいlist_duo_sessionsまたはget_duo_sessionによって返されるDuoセッションのID。
human_approvalブール値はいtrueは保留中のプランまたはツール呼び出しを承認します。trueと共にhuman_messageを含めないでください。そうしないと、ツールはセッションを再開する代わりに呼び出しを拒否します。falseはそれを拒否します: エージェントがあなたのフィードバックを元に続行するようにhuman_messageを含めてください。これがなければ、エージェントは続行しないように指示され、セッションは継続されます。
human_message文字列いいえエージェントへのフィードバック、またはセッションが質問した際の回答(2000文字以内)。human_approval=falseと共に提供してください。human_approval=trueの場合、ツールはセッションを再開する代わりに呼び出しを拒否します。

例:

Approve the plan for Duo session 42
Reject the plan for Duo session 42 and ask it to also add tests

list_merge_requests

GitLabプロジェクトまたはグループ内のマージリクエストをリストまたは検索し、コンパクトなマージリクエストのメタデータを返します。グループスコープには、常にグループとそのサブグループ内のすべてのプロジェクトからのマージリクエストが含まれますが、アーカイブされたプロジェクトからのマージリクエストは除外されます。グループの結果には、各マージリクエストの所有プロジェクトパスも含まれており、get_merge_requestと共に使用できます。

パラメータタイプ必須説明
url文字列いいえプロジェクトまたはグループのGitLab URL。url、project_id、またはgroup_idのいずれか一方のみを指定してください。
project_id文字列いいえプロジェクトのIDまたはフルパス。url、project_id、またはgroup_idのいずれか一方のみを指定してください。
group_id文字列いいえグループのIDまたはフルパス。url、project_id、またはgroup_idのいずれか一方のみを指定してください。
author_username文字列いいえマージリクエストの作成者のユーザー名でフィルタリングします。
assignee_username文字列いいえ割り当てられたユーザーのユーザー名でフィルタリングします。
reviewer_username文字列いいえレビュアーのユーザー名でフィルタリングします。
state文字列いいえ状態でフィルターします。opened、closed、merged、locked、allのいずれか。いずれかの状態を含めるには省略します。
scope文字列いいえ認証済みユーザーを基準にフィルタリングします。created_by_me、assigned_to_me、review_requestedのいずれかです。そのフィールドでは、明示的なユーザー名が優先されます。
milestone文字列いいえマイルストーンのタイトルでフィルタリングします。
labels文字列いいえラベル名のコンマ区切りリスト。これらのラベルがすべて付いているマージリクエストのみが返されます。
search文字列いいえマージリクエストのタイトルと説明に対して一致した検索クエリ。
after文字列いいえ順方向ページネーションのカーソル。
first整数いいえ順方向ページネーションで返すマージリクエストの数。デフォルトは20、最大は100です。

単一のマージリクエストを詳細に取得するには、get_merge_requestを使用します。その差分、コミット、およびノートは、get_merge_request_diffs、get_merge_request_commits、およびget_merge_request_notesから入手できます。リソースタイプ全体の全文検索には、searchを使用します。

例:

List my open merge requests in gitlab-org/gitlab

get_merge_request_commits

特定のGitLabマージリクエスト内のコミットのリストを取得します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはフルパス。
merge_request_iid整数はいマージリクエストの内部ID。
per_page整数いいえページあたりのコミット数。
page整数いいえ現在のページ番号。

例:

Show me all commits in merge request 42 from project 123

get_merge_request_diffs

特定のGitLabマージリクエストの差分を取得します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはフルパス。
merge_request_iid整数はいマージリクエストの内部ID。
per_page整数いいえページあたりの差分数。
page整数いいえ現在のページ番号。

例:

What files were changed in merge request 25 in the gitlab project?

get_merge_request_pipelines

特定のGitLabマージリクエストのパイプラインを取得します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはフルパス。
merge_request_iid整数はいマージリクエストの内部ID。

例:

Show me all pipelines for merge request 42 in project gitlab-org/gitlab

get_merge_request_conflicts

マージできないマージリクエストのマージコンフリクトコンテンツを取得します。競合するファイルに表示されるとおりのraw Git競合マーカー(<<<<<<<、=======、および>>>>>>>)を返します。各ファイルのコンテンツは# File:見出しの下にグループ化されます。名前変更されたファイルの場合、見出しには各ブランチ内のパスが表示されます。

パラメータタイプ必須説明
project_id文字列はいプロジェクトのIDまたはフルパス(例: gitlab-org/gitlab)。
merge_request_iid整数はいマージリクエストの内部ID。

マージリクエストのソースブランチにプッシュする権限が必要です。このツールは、マージリクエストに競合がない場合、マージ可能性がまだチェックされていない場合、またはブランチや差分参照が欠落している場合にエラーを返します。

例:

Show the conflicts for merge request 42 in project gitlab-org/gitlab

save_note

認証済みユーザーとして、GitLabマージリクエストまたは作業アイテムにコメントを追加するか、既存のディスカッションスレッドに返信します。

パラメータタイプ必須説明
url文字列いいえマージリクエストまたは作業アイテムのURL。URLがターゲットタイプを決定します。
project_id文字列いいえプロジェクトのIDまたはパス。merge_request_iidと共に、およびプロジェクトレベルの作業アイテムの場合はwork_item_iidと共に必須です。
group_id文字列いいえグループのIDまたはパス。グループレベルの作業アイテムの場合はwork_item_iidと共に必須です。
merge_request_iid整数いいえマージリクエストの内部ID。project_idと共に提供してください。work_item_iidと相互に排他的です。
work_item_iid整数いいえ作業アイテムの内部ID。project_idまたはgroup_idと共に提供してください。merge_request_iidと相互に排他的です。
body文字列はいノートの内容。クイックアクションがトリガーされるのを避けるため、行の先頭に/を使用することはできません(例: /merge)。
internalブール値いいえノートを内部用としてマークします(レポーターロール以上のメンバーにのみ表示されます)。デフォルトはfalseです。
discussion_id文字列いいえ返信先となるディスカッションのグローバルID(形式はgid://gitlab/Discussion/<id>)。指定されていない場合、新しいトップレベルのノートが作成されます。

例:

  • マージリクエストにコメント:

    Reply "Thanks, fixed in the latest push" to merge request 42 in project gitlab-org/gitlab
  • 作業アイテムにコメント:

    Add a comment "This looks good to me" to work item 42 in project gitlab-org/gitlab

get_merge_request_notes

特定のGitLabマージリクエストのノート(コメントおよびシステムノート)を取得します。

パラメータタイプ必須説明
url文字列いいえGitLabマージリクエストのURL。project_idおよびmerge_request_iidが指定されていない場合は必須。
project_id文字列いいえプロジェクトのIDまたはフルパス。urlが指定されていない場合は必須。
merge_request_iid整数いいえマージリクエストの内部ID。urlが指定されていない場合は必須。
after文字列いいえ順方向ページネーションのカーソル。
before文字列いいえ逆方向ページネーションのカーソル。
first整数いいえ順方向ページネーションで返すノート数。
last整数いいえ逆方向ページネーションで返すノート数。

返される各ノートにはディスカッションIDが含まれるため、関連するノートをスレッドにまとめることができます。

例:

Show me all comments on merge request 5 in project gitlab-org/gitlab

save_merge_request_review

認証済みユーザーとしてマージリクエストのレビューアーティファクトを書き込みます。各呼び出しは、methodパラメータで選択された1つの操作のみを実行します:

方法Action
create_noteトップレベルのコメントを追加します。
reply_discussion既存のディスカッションに返信します。
create_diff_note特定の差分行にコメントします。
resolve_discussionディスカッションを解決するか未解決にするか。
submit_review複数の差分コメントとオプションの要約を1回の呼び出しで投稿します。
post_duo_reviewGitLab Duoにマージリクエストのレビューを依頼します。GitLab Duoコードレビューが必要です。
approveマージリクエストを承認します。すでに承認されている呼び出しは、ステータスalready_approvedで成功します。
unapproveあなたの承認を削除します。事前の承認がない呼び出しは、ステータスnot_approvedで成功します。

post_duo_review、approve、およびunapproveからの応答には、マージリクエストの現在のdiff_head_shaが含まれているため、既存の承認またはレビューが最新のコミットをまだカバーしているかどうかを判断できます。

パラメータタイプ必須説明
url文字列いいえGitLabマージリクエストのURL。project_idおよびmerge_request_iidが指定されていない場合は必須。
project_id文字列いいえプロジェクトのIDまたはパス。urlが指定されていない場合は必須。
merge_request_iid整数いいえマージリクエストの内部ID。urlが指定されていない場合は必須。
method文字列はい実行する操作。別のメソッドに属するパラメータは拒否されます。
body文字列いいえノートテキスト。create_note、reply_discussion、およびcreate_diff_noteに必要です。クイックアクションがトリガーされるのを避けるため、行の先頭に/を使用することはできません(例: /merge)。
discussion_id文字列いいえ処理対象のディスカッション。reply_discussionとresolve_discussionに必要です。グローバルIDまたは裸のディスカッションIDを受け入れます。
internalブール値いいえcreate_noteの場合、ノートを内部としてマークします。
resolvedブール値いいえresolve_discussionの場合: trueは解決する、falseは未解決にする。そのメソッドに必要です。
old_path文字列いいえcreate_diff_noteの場合、変更前のファイルパス。old_pathまたはnew_path、あるいはその両方を指定します。
new_path文字列いいえcreate_diff_noteの場合、変更後のファイルパス。
old_line整数いいえcreate_diff_noteの場合、古いバージョンの行番号。old_lineまたはnew_line、あるいはその両方を指定します。
new_line整数いいえcreate_diff_noteの場合、新しいバージョンの行番号。
comments配列いいえsubmit_reviewの場合、1〜20個の差分コメント。各エントリはfileとbody(必須)、およびold_line、new_line、suggestion(オプション)を取ります。そのメソッドに必要です。fileは変更後のパスです。ファイル名を変更した場合は、代わりにcreate_diff_noteを使用してください。
verdict文字列いいえsubmit_reviewの場合、要約ノートの前にプレフィックスとして付けられる全体的な評決。
summary文字列いいえsubmit_reviewの場合、差分コメントの後に投稿される要約ノート。
summary_internalブール値いいえsubmit_reviewの場合、要約ノートを内部としてマークします。
sha文字列いいえapproveの場合、ヘッドSHAガード。指定され、マージリクエストのヘッドと一致しなくなった場合、承認は拒否されます。get_merge_requestによって返される完全な40文字のdiff_head_shaを渡してください。

例:

Review merge request 42 in project gitlab-org/gitlab and leave your findings as diff comments with a summary

list_project_members

GitLabプロジェクトのメンバーをそのロールとアクセスレベルと共に一覧表示します。

パラメータタイプ必須説明
project_id文字列はいプロジェクトのフルパスまたは数値ID(例: gitlab-org/gitlabまたは278964)。
include_inheritedブール値いいえ親グループまたはプロジェクトのサブグループからロールを継承するメンバーも返します。falseがデフォルトです。
query文字列いいえ名前またはユーザー名にこのテキストを含むメンバーのみを返します。
first整数いいえ順方向ページネーションで返すメンバー数(デフォルト20、最大100)。
after文字列いいえ順方向ページネーションのカーソル。

各メンバーについて、応答はユーザーID、ユーザー名、名前、数値access_level、一致するaccess_level_name(例: Maintainer)、およびメンバーシップのexpires_at日付を返します。メールで招待されたものの、まだ招待を承諾していないメンバーは返されません。

呼び出しごとに結果の単一ページが返されます。さらにページが存在する場合、応答のmetadataには、次のページをフェッチするためにafterとして渡すことができるend_cursorが含まれます。

例:

Who are the maintainers of gitlab-org/gitlab?

get_user

単一のGitLabユーザーを取得します。このツールを使用して、ユーザー名または自身のアカウントを数値ユーザーIDに解決します。たとえば、他のツールで担当者やレビュアーを設定する前に使用してください。

username、id、またはmeのいずれか一方のみを指定してください。

パラメータタイプ必須説明
username文字列いいえ検索するユーザーのユーザー名。
id整数いいえ検索するユーザーの数値ID。
meブール値いいえ認証済みユーザーを検索するにはtrueに設定します。提供されている場合、trueである必要があります。usernameとidを省略します。

応答は、ユーザーの数値id、username、name、state、およびweb_urlを返します。

例:

What is my GitLab user ID?

accept_merge_request

マージリクエストをマージするか、自動的にマージするようスケジュールします。strategyがない場合、マージはすぐに開始され、非同期で完了します。strategyがある場合、自動マージが有効になり、マージリクエストはチェックが完了するとマージされます。代わりにマージリクエストを承認するには、save_merge_request_reviewツールを使用します。

すでにマージされたマージリクエストに対する呼び出しは、ステータスalready_mergedで成功し、すでにスケジュールされているマージリクエストに対するstrategyを伴う呼び出しは、ステータスalready_scheduledで成功します。

パラメータタイプ必須説明
url文字列いいえGitLabのマージリクエストのURL。これ、またはproject_idとmerge_request_iidを指定します。
project_id文字列いいえプロジェクトのIDまたはパス。urlが指定されていない場合は必須。
merge_request_iid整数いいえマージリクエストの内部ID。urlが指定されていない場合は必須。
sha文字列はいヘッドSHAガード。それがマージリクエストのヘッドと一致しなくなった場合、マージは拒否されます。get_merge_requestによって返されるdiff_head_shaを渡してください。
strategy文字列いいえ自動マージ戦略。例: merge_when_checks_pass。指定された場合、すぐにマージする代わりに自動マージを有効にします。
squashブール値いいえマージ時にコミットを単一のコミットにスカッシュします。
commit_message文字列いいえカスタムGitLab Duoマージコミットメッセージ。
squash_commit_message文字列いいえカスタムスカッシュコミットメッセージ。squashがtrueの場合に適用されます。
should_remove_source_branchブール値いいえマージ後にソースブランチを削除します。

例:

Merge merge request 42 in project gitlab-org/gitlab once its checks pass, and remove the source branch

add_branch

GitLabプロジェクトにソース参照からブランチを追加します。

パラメータタイプ必須説明
url文字列いいえGitLabのプロジェクトのURL。これ、またはproject_idを指定します。
project_id文字列いいえプロジェクトのIDまたはパス。urlが提供されない場合に必要です。
branch文字列はい新しいブランチの名前。
ref文字列はい新しいブランチを作成する元のブランチ名またはコミットSHA。

例:

Create a branch named feature/x from main in project gitlab-org/gitlab

fork_repository

GitLabプロジェクトをネームスペースにフォークします。

フォークは非同期で作成されます。応答には、フォークの進行状況を示すscheduledのようなimport_statusフィールドを含む、新しいプロジェクト属性が含まれます。

以下のステータスに基づく理由により、呼び出しは失敗します:

  • ネームスペースにすでにプロジェクトのフォークがある場合の409ステータス。
  • プロジェクトまたはネームスペースが存在しない場合、またはプロジェクトをフォークする権限がない場合の404ステータス。
パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはフルパス。
namespace_id整数いいえプロジェクトをフォークするネームスペースのID。
namespace_path文字列いいえプロジェクトをフォークするネームスペースのパス。
name文字列いいえフォークに割り当てる名前。
path文字列いいえフォークに割り当てるパス。
description文字列いいえフォークに割り当てる説明。
visibility文字列いいえフォークの表示レベル。

例:

Fork gitlab-org/gitlab-test into my personal namespace

list_branches

GitLabプロジェクトのブランチを、オプションで名前によってフィルタリングして一覧表示します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはフルパス。
search文字列いいえ名前でブランチをフィルタリングします。
page整数いいえ現在のページ番号。デフォルトは1です。
per_page整数いいえ1ページあたりのアイテム数。デフォルトは20です。

例:

List branches in gitlab-org/gitlab whose names contain "release"

get_repository_file

特定のrefにあるリポジトリから単一ファイルのコンテンツを取得する。

コンテンツはリポジトリから取得され、ローカルファイルシステムからは取得されません。ファイルはrefでコミットされた状態で返されるため、ローカルのチェックアウトにおける未コミットの変更は含まれません。

パラメータタイプ必須説明
url文字列いいえファイルのURL。https://gitlab.example.com/my-group/my-project/-/blob/main/app/models/user.rbなど。これ、またはproject_id、file_path、およびrefを指定します。
project_id文字列いいえプロジェクトのIDまたはフルパス。urlが提供されない場合に必要です。urlも提供されている場合、両方は同じプロジェクトを参照する必要があります。
file_path文字列いいえリポジトリのルートからの相対ファイルパス。urlが提供されない場合に必要です。
ref文字列いいえブランチ名、タグ名、またはコミットSHA。デフォルトブランチにはHEADを使用します。urlが提供されない場合に必要です。
offset整数いいえ読み取りを開始するゼロベースの行(オフセット)。デフォルトは0です。
limit整数いいえ返される行の最大数。デフォルトおよび最大値は2000です。

レスポンスには、total_lines、returned_lines、truncated、およびsize_bytesを含むmetadataオブジェクトが含まれています。レスポンスがファイルの一部のみをカバーする場合、system_instructionは次の呼び出しで使用するoffset(オフセット)を示します。

このツールはテキストのみを返します。バイナリファイルおよびGit LFSに保存されているファイルはエラーを返します。プロジェクトがGitLab Duoコンテキストから除外するファイルもエラーを返します。

例:

Show me app/models/user.rb from the main branch of my-group/my-project

list_repository_tree

指定されたパスと参照にあるGitLabリポジトリ内のファイルとディレクトリを一覧表示します。エントリのメタデータのみを返し、ファイルの内容は返しません。ファイルの内容を読み取るには、get_repository_fileを使用します。

パラメータタイプ必須説明
url文字列いいえGitLabのプロジェクトのURL。urlまたはproject_idのいずれか一方のみを指定してください。
project_id文字列いいえプロジェクトのIDまたはフルパス。urlまたはproject_idのいずれか一方のみを指定してください。
path文字列いいえリポジトリルートからの相対パスで、リストするディレクトリのパス。デフォルトはルートです。
ref文字列いいえブランチ名、タグ名、またはコミットSHA。デフォルトはデフォルトブランチです。
recursiveブール値いいえすべてのサブディレクトリのエントリを再帰的に一覧表示します。デフォルトはfalseです。
after文字列いいえ順方向ページネーションのカーソル。前の応答からのendCursorを使用します。

各呼び出しは最大100のエントリを返します。pageInfo.hasNextPageがtrueの場合、pageInfo.endCursorをafterとして渡して次のページをフェッチします。

例:

List the files under app/services in gitlab-org/gitlab on the default branch

get_commit

単一のコミットのメタデータ、およびオプションでその差分またはノートを取得する。

パラメータタイプ必須説明
url文字列いいえGitLabのコミットのURL。project_idとcommit_shaが提供されない場合に必要です。
project_id文字列いいえプロジェクトのIDまたはフルパス。urlが提供されない場合に必要です。
commit_sha文字列いいえコミットを検索します。フルまたはショートSHA、ブランチ名、またはタグ名を受け入れます。urlが提供されない場合に必要です。
include配列いいえ関連するファセットをフェッチしてインラインで表示します。呼び出しごとに1つ(diffまたはnotes)。ベースメタデータは常に返されます。
diff_detail文字列いいえコミット差分の詳細レベル。includeにdiffが含まれる場合にのみ適用されます。statsまたはfull_patchのいずれかになります。デフォルトはstatsです。
notes_after文字列いいえ次のノートページをフェッチするためのトークン。includeにnotesが含まれる場合にのみ適用されます。
notes_first整数いいえ1ページあたりに返すノートの数(最大100)。includeにnotesが含まれる場合にのみ適用されます。

diff_detailをstatsに設定すると、差分ファセットはファイルごとおよび要約の行数を返します。full_patchを使用すると、パッチテキストを返します。

例:

Show me commit abc123 in gitlab-org/gitlab with its diff stats

list_commits

GitLabプロジェクトのコミットを、オプションで参照、作成者、パス、または日付によってフィルタリングして一覧表示します。コンパクトなコミットメタデータを返します。単一のコミットの差分またはノートを取得するには、get_commitを使用します。

パラメータタイプ必須説明
url文字列いいえGitLabのプロジェクトのURL。urlまたはproject_idのいずれか一方のみを指定してください。
project_id文字列いいえプロジェクトのIDまたはフルパス。urlまたはproject_idのいずれか一方のみを指定してください。
ref_name文字列いいえコミットをリストするブランチまたはタグ。デフォルトはデフォルトブランチです。
author文字列いいえコミット作成者の名前またはメールでフィルタリングします。
path文字列いいえこのファイルパスに影響するコミットのみを返します。
since文字列いいえこのISO 8601形式の日付または時刻以降にコミットされたコミットのみを返します。
until文字列いいえこのISO 8601形式の日付または時刻より前にコミットされたコミットのみを返します。
order文字列いいえ順序付け戦略。topoまたはdateを指定できます。デフォルトは逆時系列順です。
first_parentブール値いいえマージコミットの最初の親のみをたどります。
with_statsブール値いいえコミットごとの行数統計(追加、削除、変更されたファイル)を含みます。
after文字列いいえ順方向ページネーションのカーソル。前の応答からのendCursorを使用します。
first整数いいえ返すコミットの数。デフォルトは20、最大は100です。

with_statsがtrueの場合、各コミットはGitaly呼び出しコストがかかるため、firstはデフォルトで10になり、with_statsが設定されている場合は10を超えてはなりません。

例:

List commits to app/models in gitlab-org/gitlab since 2026-08-01 by Alex

list_releases

GitLabプロジェクトのリリースを、最新リリースが最初になるように一覧表示します。

パラメータタイプ必須説明
url文字列いいえGitLabのプロジェクトのURL。project_idが提供されない場合に必要です。
project_id文字列いいえプロジェクトのIDまたはフルパス。urlが提供されない場合に必要です。
page整数いいえ取得するページ番号。デフォルトは1です。
per_page整数いいえ1ページあたりに返すリリース数。デフォルトは20、最大は100です。
state文字列いいえリリースステートでフィルタリング: released、upcoming、またはall。デフォルトはreleasedです。

urlまたはproject_idのいずれか一方のみを指定してください。

各エントリはリリースメタデータのみを返します: tag_name、name、released_at、upcoming、およびassets。assetsには、リリースの資産リンクのcountと、そのうち最大5つのlinksが含まれます。リリースに5つを超えるものがある場合、countが実際の合計を報告します。ソースアーカイブはタグから派生可能であるため、除外されます。

応答には、page、per_page、およびhas_moreを含むmetadataオブジェクトも含まれます。次のページをリクエストするかどうかを決定するにはhas_moreを使用します。

リリースノートは意図的にこの応答では返されません。

将来のreleased_atを持つリリースは公開ではなくスケジュールされたものであり、公開されたリリースよりも上位にソートされます。取得するものを制御するにはstateを使用します。スケジュールされたリリースにはupcomingがtrueに設定されています。

リリースが構築されたコミットを読み取るには、そのtag_nameをget_commitツールに渡します。資産をダウンロードするには、assets.linksのurlを使用します。

例:

List the most recent releases for project gitlab-org/gitlab

list_tags

GitLabプロジェクトのタグを、更新日時が新しい順に一覧表示します。searchがタグ名に正確に一致する場合、GitLabはそのタグを最初にリストします。

パラメータタイプ必須説明
url文字列いいえGitLabのプロジェクトのURL。project_idが提供されない場合に必要です。
project_id文字列いいえプロジェクトのIDまたはフルパス。urlが提供されない場合に必要です。
search文字列いいえ名前でタグをフィルタリングします。先頭を固定する^、末尾を固定する$、およびワイルドカードとして*をサポートします。
first整数いいえ返すタグの数。デフォルトは20、最大は100です。
after文字列いいえ順方向ページネーションのカーソル。前の応答からのmetadata.end_cursorを使用します。

urlまたはproject_idのいずれか一方のみを指定してください。

各エントリはnameとcommitを返します。ここでcommitはタグの先端コミットshaとtitleを保持します。commitはコミット以外のものを指すタグの場合nullです。

タグメッセージは意図的にこの応答では返されません。

応答には、has_next_pageおよびend_cursorを含むmetadataオブジェクトも含まれます。has_next_pageがtrueの場合、end_cursorをafterとして渡して次のページをフェッチします。

タグが指す完全なコミットを読み取るには、get_commitツールを使用します。

例:

List the most recent tags for the gitlab-org/gitlab project

get_pipeline

パイプライン、およびオプションでそのジョブ、ダウンストリームパイプライン、ブリッジ(トリガー)ジョブ、またはそのジョブが生成したアーティファクトを取得します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはフルパス。
pipeline_id整数はいパイプラインのID。
include配列いいえパイプラインと共に含めるファセット(呼び出しごとに1つ): jobs、downstream_pipelines、bridge_jobs、またはartifacts。
job_status文字列いいえjobsファセットをステータスでフィルタリングします(例: failed)。includeがjobsの場合にのみ適用されます。
first整数いいえ選択されたincludeファセットに対して返すアイテムの数。artifactsファセットの場合、これはアーティファクトが返されるジョブの数です。デフォルトは20、最大は100です。
after文字列いいえ選択されたincludeファセットの順方向ページネーションのカーソル。前の応答からのpage_info.end_cursorを使用します。

ブリッジジョブのdownstream_pipelineは、トリガージョブがまだダウンストリームパイプラインをトリガーしていない場合と、そのパイプラインにアクセスできない場合の両方で省略されます(null)。

ダウンストリームパイプラインは別のプロジェクトに属する可能性があるため、各ダウンストリームパイプラインにはproject_full_pathが含まれます。その値を後続の呼び出しのidとして使用します。

artifactsファセットは、アーティファクトのフラットなリストを返します。各アーティファクトは、そのname、size、file_type、有効期限情報、およびそれを生成したジョブのjob_idとjob_nameを運びます。ページネーションはパイプラインのジョブを対象とし、アーティファクトは対象としません。

例:

  • パイプラインを取得する:

    Get the status of pipeline 12345 in project gitlab-org/gitlab
  • パイプラインの失敗したジョブを取得する:

    Show me the failed jobs in pipeline 12345 for project gitlab-org/gitlab
  • パイプラインのダウンストリームパイプラインを取得する:

    Show me the downstream pipelines triggered by pipeline 12345 in project gitlab-org/gitlab
  • パイプラインが生成したアーティファクトを取得:

    List the artifacts of pipeline 12345 in project gitlab-org/gitlab

get_pipeline_jobs

特定のGitLab CI/CDパイプラインのジョブを取得します。ジョブをパイプラインの他のデータとともに単一の呼び出しで取得するには、代わりにinclude: jobsを指定してget_pipelineツールを使用します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはフルパス。
pipeline_id整数はいパイプラインのID。
per_page整数いいえページあたりのジョブ数。
page整数いいえ現在のページ番号。

例:

Show me all jobs in pipeline 12345 for project gitlab-org/gitlab

get_job

CI/CDジョブのメタデータ、およびオプションでそのトレース/ログまたは生成されたアーティファクトを取得します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはフルパス。
job_id整数はいジョブのID。
include配列いいえジョブと共に含めるファセット(呼び出しごとに1つ): logまたはartifacts。
byte_offset整数いいえジョブのログの読み取りを開始するバイトオフセット。includeがlogの場合にのみ適用されます。デフォルトは0です。
byte_limit整数いいえジョブのログで返すバイトの最大数。includeがlogの場合にのみ適用されます。デフォルトおよび最大値は512000です。

ログがbyte_limitより長い場合、レスポンスは合計サイズを報告し、次のウィンドウで使用するbyte_offset(オフセット)を通知します。

artifactsファセットは、ジョブが生成したすべてのアーティファクトを、そのname、size、file_type、および有効期限情報と共に一覧表示します。

例:

  • ジョブのメタデータを取得する:

    Get the status of job 88 in project gitlab-org/gitlab
  • ジョブのログを取得する:

    Show me the log output for job 88 in project gitlab-org/gitlab
  • ジョブのアーティファクトを取得:

    What artifacts did job 88 in project gitlab-org/gitlab produce?

get_artifact_file

CI/CDジョブのアーティファクトアーカイブ内のファイルをテキストとして読み取ります。ジョブまたはパイプラインが何を生み出したかを発見するには、get_jobまたはget_pipelineツールをinclude: artifactsと共に使用します。

パラメータタイプ必須説明
url文字列いいえジョブのURL。これ、またはproject_idとjob_idを指定します。
project_id文字列いいえプロジェクトのIDまたはフルパス。urlが提供されない場合に必要です。
job_id整数いいえジョブのID。urlが提供されない場合に必要です。
artifact_path文字列はいアーティファクトアーカイブ内のファイルのパス。例: coverage/index.html。
byte_offset整数いいえファイルを読み取る開始バイトオフセット。デフォルトは0です。
byte_limit整数いいえ返すバイトの最大数。デフォルトおよび最大は1048576(1 MB)です。

このツールはアーカイブアーティファクトからのみ読み取ります。junitやdotenvアーティファクトのように個別のファイルとして保存されたレポートアーティファクトは、アーカイブの一部ではないため、このツールでは読み取れません。

ファイルがbyte_limitより長い場合、応答は合計サイズを報告し、次のウィンドウに使用するbyte_offsetを通知します。バイナリファイルは返されません。エラーはファイル名、サイズ、タイプ、およびブラウザで表示する場所を示します。

例:

  • ジョブのアーティファクトからテストレポートを読み取る:

    Read coverage/index.html from the artifacts of job 88 in project gitlab-org/gitlab
  • 失敗したエンドツーエンドテストを調査:

    Find the JUnit report in the artifacts of job 88 in gitlab-org/gitlab and summarize the failures

list_pipelines

GitLabプロジェクト内のパイプラインを、オプションのフィルターでリスト表示します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはフルパス。
ref文字列いいえブランチまたはタグ名。パイプラインをrefでフィルタリングします。
status文字列いいえパイプラインをステータスでフィルタリングします(例: running、success、failed)。
source文字列いいえパイプラインをソースでフィルタリングします(例: push、web、schedule)。
created_after文字列いいえ指定された日付時刻(ISO 8601形式)以降に作成されたパイプラインを返します。
created_before文字列いいえ指定された日付時刻(ISO 8601形式)より前に作成されたパイプラインを返します。
order_by文字列いいえパイプラインをid、status、ref、updated_at、またはuser_idで並べ替えます。デフォルトはidです。
sort文字列いいえソート方向。ascまたはdesc。デフォルトはdescです。
page整数いいえ現在のページ番号。デフォルトは1です。
per_page整数いいえ1ページあたりのアイテム数。デフォルトは20です。

子パイプラインはデフォルトで結果から除外されます。子パイプラインのみを返すには、sourceをparent_pipelineに設定します。

デフォルトの順序(id、desc)では、IDが最も大きいパイプラインが最初に返されます。IDの順序は通常作成順序と一致しますが、両者が一致することは保証されません。明示的な時間境界でフィルタリングするには、created_afterまたはcreated_beforeを使用します。呼び出し元は結果をページングし、対象範囲外の最初のパイプラインで停止できます。

例:

List all failed pipelines on the main branch for project gitlab-org/gitlab

save_pipeline

GitLabプロジェクトでCI/CDパイプラインを実行、再試行、キャンセル、または名前変更します。パイプラインを削除するには、代わりにmanage_pipelineツールを使用します。パイプラインをリスト表示するには、代わりにlist_pipelinesツールを使用します。

パラメータタイプ必須説明
url文字列いいえGitLabのプロジェクトのURL。パイプラインの作成にのみ使用されます。これ、またはproject_idを指定します。
project_id文字列いいえプロジェクトのIDまたはフルパス。パイプラインの作成にのみ使用されます。これ、またはurlを指定します。
pipeline_id整数いいえターゲットとする既存のパイプラインのID。設定されている場合、actionが必要です。新しいパイプラインを作成するには省略します。
action文字列いいえpipeline_idに対して実行するライフサイクルアクション: retry、cancel、またはupdate。pipeline_idが設定されている場合、必須です。
ref文字列いいえブランチまたはタグ名。パイプラインを作成する際に必要です(pipeline_idが存在しない場合)。
name文字列いいえ新しいパイプライン名。action: "update"に必須です。
variables配列いいえ配列形式のパイプライン変数([{key, value, variable_type}])。
inputsハッシュいいえキー/バリューペアで指定するパイプラインインプットパラメータ。

例:

  • パイプラインを作成:

    Create a pipeline on the main branch for project gitlab-org/gitlab
  • パイプラインを再試行:

    Retry failed jobs in pipeline 12345 for project gitlab-org/gitlab
  • パイプラインをキャンセル:

    Cancel pipeline 12345 in project gitlab-org/gitlab
  • パイプラインの名前を変更:

    Rename pipeline 12345 to "Nightly security scan" in project gitlab-org/gitlab

manage_pipeline

GitLabプロジェクト内のパイプラインのメタデータを更新するか、パイプラインを削除します。パイプラインを作成、再試行、またはキャンセルするには、代わりにsave_pipelineツールを使用します。パイプラインをリスト表示するには、代わりにlist_pipelinesツールを使用します。

パラメータタイプ必須説明
id文字列はいプロジェクトのIDまたはフルパス。
pipeline_id整数はいパイプラインのID。このパラメータのみが設定されている場合、パイプラインおよびすべての関連データを削除します。
name文字列いいえパイプラインの名前。このパラメータとpipeline_idが設定されている場合、パイプラインのメタデータを更新します。

例:

  • パイプラインを更新:

    Rename pipeline 12345 to "My deploy pipeline" in project gitlab-org/gitlab
  • パイプラインを削除:

    Delete pipeline 12345 in project gitlab-org/gitlab

get_work_item

タイプ、日付、担当者、ラベル、マイルストーン、および親を含む単一の作業アイテム(イシュー、エピック、タスク、インシデント、目標、または主な成果)を取得します。オプションで、そのノートまたはそれに関連するマージリクエストを含みます。作業アイテムタイプがサポートしないウィジェットは省略されます。

パラメータタイプ必須説明
url文字列いいえ作業アイテムのGitLab URL(/-/work_items/、/-/issues/、または/-/epics/ URL)。これを、またはgroup_idまたはproject_idと共にwork_item_iidを提供してください。
group_id文字列いいえグループのIDまたはパス。urlおよびproject_idが指定されていない場合は必須。
project_id文字列いいえプロジェクトのIDまたはパス。urlおよびgroup_idが指定されていない場合は必須。
work_item_iid整数いいえ作業アイテムの内部ID。urlが指定されていない場合は必須。
include配列いいえ返す関連データ。notesまたはrelated_merge_requestsのいずれか1つ(呼び出しごとに1つのファセット)。最新のノートについては、notes_firstまたはnotes_afterなしでnotes_lastを使用します。
notes_first整数いいえカーソル以降に返すノートの数(順方向ページネーション)。デフォルト100、最大100。
notes_after文字列いいえノートの順方向ページネーションのカーソル。前の応答からのpageInfo.endCursorを使用します。
notes_last整数いいえカーソルより前に返すノートの数(逆方向ページネーション)。デフォルト100、最大100。
notes_before文字列いいえノートの逆方向ページネーション用のカーソル。前の応答からのpageInfo.startCursorを使用します。
related_merge_requests_first整数いいえ関連するマージリクエストの数。デフォルト20、最大100。
related_merge_requests_after文字列いいえ関連するマージリクエストの順方向ページネーション用のカーソル。
mr_page_size整数いいえ非推奨: 代わりにrelated_merge_requests_firstを使用してください。
mr_pagination_cursor文字列いいえ非推奨: 代わりにrelated_merge_requests_afterを使用してください。

notesファセットは、呼び出しごとに最大100個のノートを返し、notes_*パラメータを使用して両方向にページネーションします。グループレベルの作業アイテム(エピックなど)の場合、related_merge_requestsファセットは空です。

例:

Get issue 42 in project gitlab-org/gitlab with its related merge requests

get_workitem_notes

両方向にノートをページ分割するinclude: ["notes"]を持つget_work_itemに置き換えられました。このツールはtools/listには表示されなくなりましたが、呼び出し元が移行する間は呼び出し可能です。

特定のGitLab作業アイテムのすべてのノート(コメント)を取得します。

パラメータタイプ必須説明
url文字列いいえ作業アイテムのURL。group_idまたはproject_idとwork_item_iidが指定されていない場合は必須。
group_id文字列いいえグループのIDまたはパス。urlおよびproject_idが指定されていない場合は必須。
project_id文字列いいえプロジェクトのIDまたはパス。urlおよびgroup_idが指定されていない場合は必須。
work_item_iid整数いいえ作業アイテムの内部ID。urlが指定されていない場合は必須。
after文字列いいえ順方向ページネーションのカーソル。
before文字列いいえ逆方向ページネーションのカーソル。
first整数いいえ順方向ページネーションで返すノート数。
last整数いいえ逆方向ページネーションで返すノート数。

例:

Show me all comments on work item 42 in project gitlab-org/gitlab

関係タイプを指定して、作業アイテムを1つ以上の他の作業アイテムにリンクします。

パラメータタイプ必須説明
work_items_ids配列はいリンクする作業アイテム: ソースと同じプロジェクトまたはグループで解決されるプレーンなIID、または他のプロジェクトやグループ内の作業アイテムのグローバルID(gid://gitlab/WorkItem/<id>)。最大10アイテム。
url文字列いいえソース作業アイテムのURL。group_idまたはproject_idとwork_item_iidが指定されていない場合は必須。
group_id文字列いいえグループのIDまたはパス。urlおよびproject_idが指定されていない場合は必須。
project_id文字列いいえプロジェクトのIDまたはパス。urlおよびgroup_idが指定されていない場合は必須。
work_item_iid整数いいえソース作業アイテムの内部ID。urlが指定されていない場合は必須。
link_type文字列いいえ関係のタイプ。relates_to、blocks、blocked_byのいずれかです。デフォルトはrelates_toです。blocksおよびblocked_byタイプには、PremiumまたはUltimateが必要です。

例:

Mark work item 42 in project gitlab-org/gitlab as blocked by work item 40

get_saved_view_work_items

ネームスペースから、保存済みのビューとその作業アイテムのリストを取得します。このツールは、保存済みのビューのフィルターと並び順を、返される作業アイテムに適用します。

パラメータタイプ必須説明
saved_view_id文字列はい保存済みのビューのグローバルID(形式はgid://gitlab/WorkItems::SavedViews::SavedView/<id>)。
url文字列いいえネームスペース(プロジェクトまたはグループ)のURL。group_idまたはproject_idが指定されていない場合は必須です。
group_id文字列いいえグループのIDまたはパス。urlおよびproject_idが指定されていない場合は必須。
project_id文字列いいえプロジェクトのIDまたはパス。urlおよびgroup_idが指定されていない場合は必須。
after文字列いいえ順方向ページネーションのカーソル。
first整数いいえ返される作業アイテムの数。最大値は100。

例:

Show me the work items in this saved view: <URL>

list_vulnerabilities

  • プラン: Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GitLabプロジェクト内のセキュリティ脆弱性を、オプションのフィルターとカーソルページネーションで一覧表示します。ページ分割された脆弱性メタデータを返します。単一の脆弱性の詳細を取得するには、get_vulnerabilityを使用します。

セキュリティダッシュボード機能を有効にする必要があります。

パラメータタイプ必須説明
project_full_path文字列はいプロジェクトのフルパス(例: namespace/projectまたはgroup/subgroup/project)。
severity文字列の配列いいえ重大度レベルでフィルタリングします。任意の重大度の脆弱性を含めるには省略します。CRITICAL、HIGH、MEDIUM、LOW、INFO、またはUNKNOWNのいずれか1つ以上。
report_type文字列の配列いいえセキュリティレポートタイプでフィルタリングします。すべてのレポートタイプを含めるには省略します。たとえば、SAST、DAST、DEPENDENCY_SCANNINGなどです。
state文字列の配列いいえ脆弱性ステートでフィルタリングします。任意のステートの脆弱性を含めるには省略します。CONFIRMED、DETECTED、DISMISSED、またはRESOLVEDのいずれか1つ以上。
first整数いいえ順方向ページネーションで返す脆弱性の数。デフォルトは20、最大は100です。
after文字列いいえ順方向ページネーションのカーソル。前の応答からのpageInfo.endCursorを使用します。

例:

List critical and high severity vulnerabilities in project gitlab-org/gitlab

get_vulnerability

  • プラン: Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

単一の脆弱性に関する詳細情報(タイトル、ステート、説明、重大度、および識別子を含む)を返します。

パラメータタイプ必須説明
vulnerability_id文字列はい脆弱性の数値ID(例: 567)。

例:

Get full details for vulnerability 567

save_vulnerability

  • プラン: Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GitLabプロジェクトの脆弱性に対して書き込み操作を実行します。

パラメータタイプ必須説明
action文字列はい実行する操作。dismiss、confirm、revert_to_detected、update_severity、create_issueのいずれか。
vulnerability_id文字列はい脆弱性の数値ID(例: 567)。
comment文字列いいえアクションの説明。actionがupdate_severityの場合に必須です。
dismissal_reason文字列いいえ無視する理由。ACCEPTABLE_RISK、FALSE_POSITIVE、MITIGATING_CONTROL、USED_IN_TESTS、NOT_APPLICABLEのいずれか。actionがdismissの場合にのみ使用してください。
severity文字列いいえ新しい重大度レベル。INFO、UNKNOWN、LOW、MEDIUM、HIGH、CRITICALのいずれか。actionがupdate_severityの場合に必須です。
project_full_path文字列いいえプロジェクトのフルパス(例: namespace/project)。actionがcreate_issueの場合に必須です。

例:

  • 脆弱性を無視する:

    Dismiss vulnerability 123 with reason FALSE_POSITIVE
  • 脆弱性を確認する:

    Mark vulnerability 456 as confirmed
  • 検出された状態に戻す:

    Revert vulnerability 789 back to detected state
  • 重大度を更新:

    Change severity of vulnerability 321 to CRITICAL with comment "Reassessed based on new intel"
  • イシューを作成:

    Create an issue for vulnerability 654 in project gitlab-org/gitlab

save_work_item

GitLab作業アイテム(イシュー、タスク、エピックなど)を作成または更新します。新しい作業アイテムを作成するにはwork_item_iidを省略します。既存の作業アイテムを更新するには、work_item_iidまたは作業アイテムのURLを指定します。設定する意図のあるフィールドのみを送信し、残りは省略してください。ツール名create_work_itemとupdate_work_itemは、このツールのエイリアスです。

パラメータタイプ必須説明
url文字列いいえプロジェクト、グループ、または作業アイテムのGitLab URL。url、project_id、またはgroup_idのいずれか一方のみを指定してください。
group_id文字列いいえグループのIDまたはパス。urlおよびproject_idが指定されていない場合は必須。
project_id文字列いいえプロジェクトのIDまたはパス。urlおよびgroup_idが指定されていない場合は必須。
work_item_iid整数いいえ更新する作業アイテムの正の内部ID。新しい作業アイテムを作成するには省略します。
title文字列いいえ作業アイテムのタイトル。作業アイテムを作成する際に必要です。
type_name文字列いいえ作業アイテムのタイプ名。Issue、Task、またはEpicなど。作業アイテムを作成する際に必要です。有効なタイプは、ネームスペースとライセンスによって異なります。
description文字列いいえGitLab Flavored Markdownでの説明。最大1,048,576文字。
assignee_ids整数の配列いいえ作業アイテムに割り当てるユーザーID。最大100アイテム。
label_ids文字列の配列いいえラベルIDまたはグローバルID。作成のみ。更新時にはadd_label_idsまたはremove_label_idsを使用します。最大100アイテム。
labels文字列の配列いいえプロジェクトまたはグループとその祖先グループで解決される、設定するラベルの名前。作成のみ。更新時にはadd_labelsまたはremove_labelsを使用します。最大100アイテム。
add_label_ids文字列の配列いいえ更新のみ。追加するラベルIDまたはグローバルID。最大100アイテム。
add_labels文字列の配列いいえ更新のみ。追加するラベルの名前。最大100アイテム。
remove_label_ids文字列の配列いいえ更新のみ。削除するラベルIDまたはグローバルID。最大100アイテム。
remove_labels文字列の配列いいえ更新のみ。削除するラベルの名前。最大100アイテム。
milestone_id文字列いいえプロジェクトまたはグループとその祖先グループに対して検証される、割り当てるマイルストーンのIDまたはグローバルID。両方が指定された場合、milestoneよりも優先されます。
milestone文字列いいえプロジェクトまたはグループとその祖先グループのマイルストーンの中から解決される、割り当てるマイルストーンのタイトル。
confidentialブール値いいえ作業アイテムの機密性を設定します。
start_date文字列いいえ開始日(YYYY-MM-DD形式)。
due_date文字列いいえ期日(YYYY-MM-DD形式)。
state文字列いいえ更新のみ。closedは作業アイテムを閉じ、openedは再オープンします。
parent_id文字列いいえ親作業アイテムのグローバルIDまたは数値ID。
todo_action文字列いいえ更新のみ。addは現在のユーザーのTo-Doを追加し、mark_as_doneはTo-Doを完了としてマークします。
todo_id文字列いいえ更新のみ。To-DoのグローバルIDまたは数値ID。作業アイテム上のすべてのTo-Doを更新するには省略します。
health_status文字列いいえヘルスステータス。onTrack、needsAttention、atRiskのいずれかです。Ultimateのみです。
weight整数いいえ作業アイテムのウェイト。0以上である必要があります。PremiumおよびUltimateのみです。
clear_weightブール値いいえ更新のみ。ウェイトを削除します。weightよりも優先されます。PremiumおよびUltimateのみです。
status_id文字列いいえ設定するステータスのグローバルID。PremiumおよびUltimateのみです。
is_fixedブール値いいえ開始日と期日が固定されているかどうか。falseの場合、日付は子アイテムから繰り上がり、start_dateとdue_dateは無視されます。PremiumおよびUltimateのみです。
agent_plan文字列いいえエージェントプランのMarkdownコンテンツ。Ultimateのみです。ワークプラン機能が必要です。
readiness_score整数いいえエージェントプランの準備スコア(0~100)。Ultimateのみです。workplan_score機能フラグが必要です。フラグが無効な場合、エラーを返します。

例:

Create a task "Update the onboarding guide" in project gitlab-org/gitlab and assign it to me

list_work_items

グループまたはプロジェクト内の作業アイテム(イシュー、インシデント、テストケース、要件、タスク、チケット、目標、主な成果、エピック)をリストまたは検索します。グループスコープには、子孫プロジェクトおよびサブグループの作業アイテムが含まれます。各結果には、ID、IID、タイトル、ステート、ウェブURL、完全な参照、作成および更新タイムスタンプ、および作業アイテムタイプのみが含まれ、カーソルページネーションが適用されます。1つの作業アイテムを詳細に読み取るにはget_work_itemを使用します。

パラメータタイプ必須説明
url文字列いいえプロジェクトまたはグループのGitLab URL。url、group_id、またはproject_idのいずれか一方のみを指定してください。
group_id文字列いいえグループのIDまたはパス。urlおよびproject_idが指定されていない場合は必須。
project_id文字列いいえプロジェクトのIDまたはパス。urlおよびgroup_idが指定されていない場合は必須。
state文字列いいえステートでフィルタリング: opened、closed、またはall(デフォルト)。
search文字列いいえタイトルと説明のフリーテキスト検索。
author_username文字列いいえ作成者のユーザー名。
assignee_usernames配列いいえ担当者のユーザー名。作業アイテムはこれらすべてに一致する必要があります。最大100個の値。
label_name配列いいえラベル名。作業アイテムはこれらすべてを持っている必要があります。最大100個の値。
milestone_title配列いいえマイルストーンのタイトル。milestone_wildcard_idと組み合わせることはできません。最大100個の値。
milestone_wildcard_id文字列いいえNONE、ANY、STARTED、またはUPCOMING。milestone_titleと組み合わせることはできません。
types配列いいえ含める作業アイテムタイプ。例: ["ISSUE", "TASK"]。
created_after文字列いいえこの時刻以降に作成(ISO 8601; 日付のみの場合は日初めを意味し、オフセットを考慮)。
created_before文字列いいえこの時刻より前に作成(ISO 8601; 日付のみの場合は日初めを意味し、オフセットを考慮)。
updated_after文字列いいえこの時刻以降に更新(ISO 8601; 日付のみの場合は日初めを意味し、オフセットを考慮)。
updated_before文字列いいえこの時刻より前に更新(ISO 8601; 日付のみの場合は日初めを意味し、オフセットを考慮)。
due_after文字列いいえこの時刻以降が期日(ISO 8601; 日付のみの場合は日初めを意味し、オフセットを考慮)。
due_before文字列いいえこの時刻より前が期日(ISO 8601; 日付のみの場合は日初めを意味し、オフセットを考慮)。
sort文字列いいえソート順。例: UPDATED_DESC。デフォルトはCREATED_DESCです。
first整数いいえ返される作業アイテムの数。デフォルト20、最大100。
after文字列いいえ順方向ページネーションのカーソル。
health_status_filter文字列いいえUltimateのみ。onTrack、needsAttention、またはatRisk。
statusオブジェクトいいえUltimateのみです。カスタムステータス名でフィルタリング。例: {"name": "In progress"}。

例:

List my open tasks in the gitlab-org group updated this month.

get_work_item_types

ネームスペース(グループまたはプロジェクト)で利用可能な作業アイテムタイプ(イシュー、エピック、タスクなどのシステム定義タイプおよびカスタムタイプを含む)を一覧表示します。返される各タイプには、そのグローバルID、名前、アイコン、および有効になっているウィジェットタイプが含まれるため、タイプがサポートしないフィールドを設定することを回避できます。

パラメータタイプ必須説明
url文字列いいえネームスペース(プロジェクトまたはグループ)のGitLab URL。group_idおよびproject_idが指定されていない場合は必須。
group_id文字列いいえグループのIDまたはパス。urlおよびproject_idが指定されていない場合は必須。
project_id文字列いいえプロジェクトのIDまたはパス。urlおよびgroup_idが指定されていない場合は必須。

例:

List the work item types available in the gitlab-org group

list_projects

group_idがない場合、デフォルトでゲストロール以上の権限を持つプロジェクトを一覧表示します。min_access_levelを渡してしきい値を上げることができます。group_idがある場合、そのグループとそのサブグループ内のすべてのプロジェクトをアクセスレベルに関係なく一覧表示します。min_access_levelまたはvisibilityを追加すると、サブグループのトラバーサルとこれらのフィルターをグループのプロジェクトリストと組み合わせることがGitLabでサポートされていないため、そのグループのみにリストが絞り込まれます。

パラメータタイプ必須説明
group_id文字列いいえグループのIDまたはフルパス。インスタンス全体をリストするには省略します。デフォルトでは、ゲストロール以上の権限を持つプロジェクトが対象となります。
min_access_level文字列いいえプロジェクトが含まれるために必要な最小アクセスレベル。guest、planner、reporter、developer、maintainer、ownerのいずれか。
search文字列いいえ名前、パス、または説明でプロジェクトを検索します。
visibility文字列いいえ表示レベルでフィルタリング: public、internal、またはprivate。
archived文字列いいえアーカイブ状態でフィルタリング: only、include、またはexclude(デフォルト)。
after文字列いいえ順方向ページネーションのカーソル。
first整数いいえ順方向ページネーションで返すプロジェクト数。デフォルトは20、最大は100です。

group_idを提供すると、応答にはsubgroupsIncludedが含まれます: リストがグループのサブグループをカバーする場合はtrue、min_access_levelまたはvisibilityがリストをそのグループのみに絞り込んだ場合はfalse。

例:

List my projects

list_groups

グループを一覧表示し、グループ階層をナビゲートし、他のツールで使用するグループIDとフルパスを発見できるようにします。group_idがない場合、このツールはあなたがメンバーであるトップレベルグループを一覧表示します。group_idがある場合、メンバーシップに関係なく、そのグループの直接のサブグループを一覧表示します。すべての子孫サブグループを再帰的に探すには、include_subgroupsをtrueに設定します。group_idがない場合、あらゆる深さであなたのグループを一覧表示します。アーカイブされたグループおよび削除保留中のグループは除外されます。

パラメータタイプ必須説明
group_id文字列いいえサブグループをリストする親グループのIDまたはフルパス。あなたがメンバーであるトップレベルグループをリストするには省略します。
search文字列いいえ名前またはフルパスでグループを検索します。
visibility文字列いいえ表示レベルでフィルタリング: public、internal、またはprivate。
include_subgroupsブール値いいえ直接の子のみではなく、すべての子孫サブグループを再帰的に含めます。
after文字列いいえ順方向ページネーションのカーソル。
first整数いいえ順方向ページネーションで返すグループの数。デフォルトは20、最大は100です。

例:

List the subgroups of gitlab-org

検索APIを使用して、GitLabインスタンス全体で用語を検索します。このツールは、グローバル、グループ、プロジェクトの検索に使用できます。利用可能なスコープは、検索タイプによって異なります。

パラメータタイプ必須説明
scope文字列はい検索スコープ(work_items、merge_requests、projectsなど)。
search文字列はい検索語句。
group_id文字列いいえ検索したいグループのIDまたはフルパス。
project_id文字列いいえ検索したいプロジェクトのIDまたはフルパス。
state文字列いいえ検索結果のステータス(work_items、merge_requestsの場合)。
confidentialブール値いいえ(work_itemsの場合)機密性で結果をフィルタリングします。デフォルトはfalseです。
fields文字列の配列いいえ検索するフィールドの配列(work_items、merge_requestsの場合)。
order_by文字列いいえ結果の並び替えに使用する属性。デフォルトは、基本的な検索の場合はcreated_at、高度な検索の場合はrelevance(関連度)です。
sort文字列いいえ結果の並び替え方向。デフォルトはdescです。
per_page整数いいえページあたりの結果数。デフォルトは20です。
page整数いいえ現在のページ番号。デフォルトは1です。

例:

Search issues for "flaky test" across GitLab

search_labels

GitLabプロジェクトまたはグループ内のラベルを検索します。

パラメータタイプ必須説明
full_path文字列はいプロジェクトまたはグループのフルパス(例: group/project)。
is_projectブール値はいプロジェクト(true)またはグループ(false)で検索するかどうか。
search文字列いいえラベルをタイトルでフィルタリングするための検索語句。

グループラベルを検索すると、祖先グループおよび子孫グループにあるラベルが結果に含まれます。

例:

Show me all labels in project gitlab-org/gitlab

list_wiki_pages

GitLabプロジェクトまたはグループ内のWikiページをリスト表示します。

パラメータタイプ必須説明
project_id文字列いいえプロジェクトのフルパスまたは数値ID(例: gitlab-org/gitlabまたは278964)。
group_id文字列いいえグループのフルパスまたは数値ID(例: gitlab-orgまたは9970)。
first整数いいえ順方向ページネーションで返すWikiページの数(最大100)。
after文字列いいえ順方向ページネーションのカーソル。

project_idまたはgroup_idのいずれか一方のみを指定してください。呼び出しごとに結果の単一ページが返されます。さらにページが存在する場合、レスポンスにはend_cursorが含まれており、これをafterとして渡して次のページをフェッチできます。

例:

List the wiki pages in gitlab-org/gitlab
  • アドオン: GitLab Duo Core、Pro、またはEnterprise
  • 提供形態: GitLab.com、GitLab Self-Managed

この機能の利用可否は、機能フラグによって制御されます。詳細については、履歴を参照してください。

キーワードではなく意味によってGitLabプロジェクト内の関連コンテンツを検索します。正確なシンボル名やファイル名がわからない場合、またはコードベース全体で動作がどのように実装されているかを発見するために、このツールを使用してください。セットアップおよびイネーブルメントを含む詳細については、セマンティックコード検索を参照してください。

パラメータタイプ必須説明
scope文字列はい検索するコンテンツのタイプ。codeのみがサポートされています。
q文字列はい自然言語検索クエリ。
project_id文字列はいプロジェクトのIDまたはフルパス。
directory_path文字列いいえ検索をこのディレクトリパス(例: app/services/)下のファイルに制限します。先頭のスラッシュや..セグメントを含まない相対パスである必要があります。scopeがcodeの場合にのみ適用されます。
knn整数いいえ内部的に取得される最近傍の数。デフォルトは64、最大は100です。値が高いほど、レイテンシーを犠牲にしてリコールが向上します。scopeがcodeの場合にのみ適用されます。
limit整数いいえ返す結果の最大数。デフォルトは20、最大は100です。scopeがcodeの場合にのみ適用されます。

結果はファイル単位でグループ化されます。各ファイルには、コンテンツと関連性スコアを持つマージされた行範囲が含まれます。最良の結果を得るには、一般的なキーワードや特定の関数名または変数名を使用するのではなく、関心のある機能または動作について記述してください。

例:

How are authorizations managed in this project?

attach_scan_profile

指定したセキュリティスキャンプロファイルを、指定したプロジェクト、または指定したグループ配下のすべてのプロジェクトに関連付けます。

パラメータタイプ必須説明
security_scan_profile_id文字列はいセキュリティスキャンプロファイルのグローバルID(例: gid://gitlab/Security::ScanProfile/1)。
project_ids文字列の配列いいえプロジェクトのグローバルIDの配列(例: [gid://gitlab/Project/1])。group_idsが指定されていない限り、これは必須です。
group_ids文字列の配列いいえグループのグローバルIDの配列(例: [gid://gitlab/Group/1])。project_idsが指定されていない限り、これは必須です。

例:

Attach `gid://gitlab/Security::ScanProfile/1` to all projects under `gid://gitlab/Group/1`.