工具:modify-repo-pull-request
修改遠端 SCM 存放區中的提取要求。
下列程式碼範例說明如何使用 curl 呼叫 modify-repo-pull-request MCP 工具。
| Curl 要求 |
|---|
curl --location 'https://developerconnect.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "modify-repo-pull-request", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
輸入內容的結構定義
修改 SCM 提取要求的訊息。
ModifyGitRepositoryLinkPullRequestRequest
| JSON 表示法 |
|---|
{
"name": string,
"pullRequestId": string,
"title": string,
"body": string,
"baseRef": string,
"state": enum ( |
| 欄位 | |
|---|---|
name |
這是必要旗標,GitRepositoryLink 資源名稱,格式為 |
pullRequestId |
這是必要旗標,SCM 專屬提取要求 ID (例如「45」)。 |
title |
選用。提取要求的標題。 |
body |
選用。提取要求的主體說明。 |
baseRef |
選用。要合併的目標分支版本。 |
state |
選用。提取要求的狀態。 |
狀態
State 代表提取要求的狀態。
| 列舉 | |
|---|---|
STATE_UNSPECIFIED |
預設值。這個值不會用到。 |
OPEN |
提取要求已開啟。 |
CLOSED |
提取要求已關閉。 |
輸出內容的結構定義
代表 SCM 提取要求的訊息。
PullRequest
| JSON 表示法 |
|---|
{ "id": string, "title": string, "body": string, "headRef": string, "baseRef": string, "author": string, "createTime": string, "updateTime": string, "mergeTime": string, "closeTime": string, "declineTime": string, "state": enum ( |
| 欄位 | |
|---|---|
id |
這是必要旗標,PR 的 ID。 |
title |
這是必要旗標,PR 的標題。 |
body |
選用。PR 的內文說明。 |
headRef |
這是必要旗標,head 分支版本的來源修訂版本 SHA。 |
baseRef |
這是必要旗標,基礎分支版本目標修訂版本的 SHA。 |
author |
僅供輸出。作者的使用者名稱。 |
createTime |
僅供輸出。PR 的建立時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
updateTime |
僅供輸出。PR 的更新時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
mergeTime |
僅供輸出。合併 PR 的時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
closeTime |
僅供輸出。PR 關閉時間。 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
declineTime |
僅供輸出。PR 遭拒時。僅適用於支援拒絕提取要求的 SCM 供應商。請勿為 GitHub、GitHub Enterprise、GitLab 或 GitLab Enterprise 設定,因為在這些平台中,未合併就關閉的提取要求為 使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例: |
state |
僅供輸出。PR 的目前狀態。 |
mergeability |
僅供輸出。提取要求的合併狀態。 |
htmlUrl |
僅供輸出。SCM 供應商提取要求的 HTML 網址。 |
時間戳記
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 欄位 | |
|---|---|
seconds |
代表自 Unix 紀元 1970-01-01T00:00:00Z 起算的世界標準時間秒數。必須介於 -62135596800 和 253402300799 (含) 之間 (對應 0001-01-01T00:00:00Z 至 9999-12-31T23:59:59Z)。 |
nanos |
以奈秒解析度表示的非負分數秒。這個欄位是時間長度的奈秒部分,而非秒數的替代值。含有分數的負秒值仍須有非負奈秒值,以向前計算時間。必須介於 0 至 999,999,999 之間 (含 0 和 999,999,999)。 |
狀態
PR 的狀態。
| 列舉 | |
|---|---|
STATE_UNSPECIFIED |
預設值。 |
OPEN |
PR 處於開啟狀態。 |
CLOSED |
PR 已關閉。 |
MERGED |
PR 已合併。 |
DECLINED |
PR 遭拒。僅適用於支援拒絕提取要求的 SCM 供應商。不適用於 GitHub、GitHub Enterprise、GitLab 或 GitLab Enterprise,因為在這些平台中,未合併就關閉的提取要求會是 CLOSED。 |
可合併性
提取要求的合併狀態。
| 列舉 | |
|---|---|
MERGEABILITY_UNSPECIFIED |
未指定可合併狀態。 |
MERGEABLE |
提取要求可以順利合併,不會發生 Git 衝突。 |
CONFLICTING |
提取要求有合併衝突,無法順利合併。 |
COMPUTING |
上游 SCM 供應商目前正在以非同步方式計算可合併狀態。 |
工具註解
工具註解會傳送至 MCP 用戶端,說明特定工具的基本風險。大多數用戶端會將這些提示視為不受信任,但可用於決定何時向使用者傳送確認提示。
除了標題字串外,下列布林值提示的定義如下:
readOnlyHint:如果設為 true,工具不會修改環境。預設值:false。destructiveHint:如果為 true,工具可以執行破壞性動作。如果為 false,則工具只能執行附加動作。預設值:true。idempotentHint:如果設為 true,則使用相同引數重複呼叫工具,不會對環境造成額外影響。預設值:false。openWorldHint:如果設為 true,工具就能與外部實體的「開放世界」互動。如果設為 false,工具只能與內部實體互動。舉例來說,網頁搜尋工具是開放世界,而記憶工具則不是。
Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌