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 123save_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 squashUpdate merge request 42 in project gitlab-org/gitlab to add the "bug" label and close itget_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 commitslist_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 parserlist_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/gitlabget_duo_session
GitLab Duo Agent Platformセッションのステータスをチェックします。実行中のセッションには、推奨されるポーリング遅延が含まれます。完了したセッションと完了したチャットのやり取りには、最新のエージェントの回答が含まれます。承認を待っているセッションには、セッションを続行するための指示が含まれます。
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
workflow_id | 整数 | はい | trigger_duo_flowまたはask_duo_agentによって返されるワークフローID。 |
例:
Check the status of Duo session 42send_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 42Reject the plan for Duo session 42 and ask it to also add testslist_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/gitlabget_merge_request_commits
特定のGitLabマージリクエスト内のコミットのリストを取得します。
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
id | 文字列 | はい | プロジェクトのIDまたはフルパス。 |
merge_request_iid | 整数 | はい | マージリクエストの内部ID。 |
per_page | 整数 | いいえ | ページあたりのコミット数。 |
page | 整数 | いいえ | 現在のページ番号。 |
例:
Show me all commits in merge request 42 from project 123get_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/gitlabget_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/gitlabsave_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/gitlabsave_merge_request_review
認証済みユーザーとしてマージリクエストのレビューアーティファクトを書き込みます。各呼び出しは、methodパラメータで選択された1つの操作のみを実行します:
| 方法 | Action |
|---|---|
create_note | トップレベルのコメントを追加します。 |
reply_discussion | 既存のディスカッションに返信します。 |
create_diff_note | 特定の差分行にコメントします。 |
resolve_discussion | ディスカッションを解決するか未解決にするか。 |
submit_review | 複数の差分コメントとオプションの要約を1回の呼び出しで投稿します。 |
post_duo_review | GitLab 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 summarylist_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 branchadd_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/gitlabfork_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 namespacelist_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-projectlist_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 branchget_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 statslist_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 Alexlist_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/gitlablist_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 projectget_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/gitlabget_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/gitlabsave_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 requestsget_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/gitlablink_work_items
関係タイプを指定して、作業アイテムを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 40get_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/gitlabget_vulnerability
- プラン: Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
単一の脆弱性に関する詳細情報(タイトル、ステート、説明、重大度、および識別子を含む)を返します。
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
vulnerability_id | 文字列 | はい | 脆弱性の数値ID(例: 567)。 |
例:
Get full details for vulnerability 567save_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 melist_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 grouplist_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 projectslist_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-orgsearch
検索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 GitLabsearch_labels
GitLabプロジェクトまたはグループ内のラベルを検索します。
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
full_path | 文字列 | はい | プロジェクトまたはグループのフルパス(例: group/project)。 |
is_project | ブール値 | はい | プロジェクト(true)またはグループ(false)で検索するかどうか。 |
search | 文字列 | いいえ | ラベルをタイトルでフィルタリングするための検索語句。 |
グループラベルを検索すると、祖先グループおよび子孫グループにあるラベルが結果に含まれます。
例:
Show me all labels in project gitlab-org/gitlablist_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/gitlabsemantic_search
- アドオン: 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`.