MCP Tools Reference: developerconnect.googleapis.com

工具: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 (State)
}
欄位
name

string

這是必要旗標,GitRepositoryLink 資源名稱,格式為 projects/*/locations/*/connections/*/gitRepositoryLinks/*。

pullRequestId

string

這是必要旗標,SCM 專屬提取要求 ID (例如「45」)。

title

string

選用。提取要求的標題。

body

string

選用。提取要求的主體說明。

baseRef

string

選用。要合併的目標分支版本。

state

enum (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 (State),
  "mergeability": enum (Mergeability),
  "htmlUrl": string
}
欄位
id

string

這是必要旗標,PR 的 ID。

title

string

這是必要旗標,PR 的標題。

body

string

選用。PR 的內文說明。

headRef

string

這是必要旗標,head 分支版本的來源修訂版本 SHA。

baseRef

string

這是必要旗標,基礎分支版本目標修訂版本的 SHA。

author

string

僅供輸出。作者的使用者名稱。

createTime

string (Timestamp format)

僅供輸出。PR 的建立時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

updateTime

string (Timestamp format)

僅供輸出。PR 的更新時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

mergeTime

string (Timestamp format)

僅供輸出。合併 PR 的時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

closeTime

string (Timestamp format)

僅供輸出。PR 關閉時間。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

declineTime

string (Timestamp format)

僅供輸出。PR 遭拒時。僅適用於支援拒絕提取要求的 SCM 供應商。請勿為 GitHub、GitHub Enterprise、GitLab 或 GitLab Enterprise 設定,因為在這些平台中,未合併就關閉的提取要求為 CLOSED。

使用 RFC 3339,產生的輸出內容一律會經過 Z 正規化,並使用 0、3、6 或 9 個小數位數,也接受「Z」以外的偏移量。範例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

state

enum (State)

僅供輸出。PR 的目前狀態。

mergeability

enum (Mergeability)

僅供輸出。提取要求的合併狀態。

htmlUrl

string

僅供輸出。SCM 供應商提取要求的 HTML 網址。

時間戳記

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
欄位
seconds

string (int64 format)

代表自 Unix 紀元 1970-01-01T00:00:00Z 起算的世界標準時間秒數。必須介於 -62135596800 和 253402300799 (含) 之間 (對應 0001-01-01T00:00:00Z 至 9999-12-31T23:59:59Z)。

nanos

integer

以奈秒解析度表示的非負分數秒。這個欄位是時間長度的奈秒部分,而非秒數的替代值。含有分數的負秒值仍須有非負奈秒值,以向前計算時間。必須介於 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: ❌