google.devtools.sourcerepo.v1 软件包

索引

SourceRepo

Source Repo API 服务。

CreateRepo

rpc CreateRepo(CreateRepoRequest) returns (Repo)

使用给定名称在给定项目中创建一个代码库。

如果指定的代码库已存在,则 CreateRepo 返回 ALREADY_EXISTS

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

DeleteRepo

rpc DeleteRepo(DeleteRepoRequest) returns (Empty)

删除代码库。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

GetIamPolicy

rpc GetIamPolicy(GetIamPolicyRequest) returns (Policy)

获取资源的访问权限控制政策。如果资源存在但没有政策集,则返回空政策。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

GetProjectConfig

rpc GetProjectConfig(GetProjectConfigRequest) returns (ProjectConfig)

返回项目的 Cloud Source Repositories 配置。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

GetRepo

rpc GetRepo(GetRepoRequest) returns (Repo)

返回关于代码库的信息。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

ListRepos

rpc ListRepos(ListReposRequest) returns (ListReposResponse)

返回属于某个项目的所有代码库。代码库的大小并非由 ListRepos 设置。要获取代码库的大小,请使用 GetRepo。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

SetIamPolicy

rpc SetIamPolicy(SetIamPolicyRequest) returns (Policy)

设置对指定资源的访问权限控制政策。替换任何现有政策。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

TestIamPermissions

rpc TestIamPermissions(TestIamPermissionsRequest) returns (TestIamPermissionsResponse)

返回调用者对指定资源拥有的权限。如果资源不存在,则返回一个空权限集,而非返回 NOT_FOUND 错误。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

UpdateProjectConfig

rpc UpdateProjectConfig(UpdateProjectConfigRequest) returns (ProjectConfig)

更新项目的 Cloud Source Repositories 配置。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

UpdateRepo

rpc UpdateRepo(UpdateRepoRequest) returns (Repo)

更新关于代码库的信息。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅身份验证概览

CreateRepoRequest

请求 CreateRepo

字段
parent

string

要创建的代码库所属的项目,值的格式为 projects/<project>

必须对指定的资源 parent 具有以下 Google IAM 权限才能进行授权:

  • source.repos.create

repo

Repo

要创建的代码库。您应仅设置名称;设置其他字段会导致错误。项目名称应与父字段匹配。

DeleteRepoRequest

请求 DeleteRepo。

字段
name

string

要删除的代码库的名称,值的格式为 projects/<project>/repos/<repo>

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • source.repos.delete

GetProjectConfigRequest

请求 GetProjectConfig。

字段
name

string

所请求项目的名称,值的格式为 projects/<project>

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • source.repos.getProjectConfig

GetRepoRequest

请求 GetRepo。

字段
name

string

所请求的代码库的名称,值的格式为 projects/<project>/repos/<repo>

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • source.repos.get

ListReposRequest

请求 ListRepos。

字段
name

string

应列出其代码库的项目 ID,值的格式为 projects/<project>

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • source.repos.list

page_size

int32

要返回的最大代码库数量,值介于 1 到 500 之间。如果该值未设置或为零,则服务器上默认改为 100。

page_token

string

从前一个 ListReposResponse 中断处继续列出代码库。这是一个不透明的令牌,必须从前一个 ListReposResponse 的 next_page_token 字段中获取。

ListReposResponse

ListRepose 的响应,大小并非在返回的代码库中设置。

字段
repos[]

Repo

列出的代码库。

next_page_token

string

如果不为空,则表示项目中存在其他代码库。可通过将该值包含在下一个 ListReposRequest 的 page_token 字段中来检索这些代码库。

MirrorConfig

用来从另一个托管服务(例如 GitHub 或 Bitbucket)自动镜像代码库的配置。

字段
url

string

位于其他托管服务的主代码库的网址。

webhook_id

string

侦听更新以触发镜像操作的 Webhook 的 ID。若从其他托管服务中移除此 Webhook,Google Cloud Source Repositories 将无法接收通知,因而停用镜像。

deploy_key_id

string

位于另一托管服务的 SSH 部署密钥的 ID。若从另一服务中移除此密钥,Google Cloud Source Repositories 将失去执行镜像操作的权限。

ProjectConfig

项目的 Cloud Source Repositories 配置。

字段
name

string

项目名称,值的格式为 projects/<project>

pubsub_configs

map<string, PubsubConfig>

该项目如何通过 Cloud Pub/Sub 发布代码库中的更改。以主题名称为键。

enable_private_key_check

bool

拒绝包含私钥的 Git 推送。

PubsubConfig

用于发布 Cloud Pub/Sub 消息的配置。

字段
topic

string

Cloud Pub/Sub 的主题,值的格式为 projects/<project>/topics/<topic>,其中的项目需要是此配置所属的项目。

message_format

MessageFormat

Cloud Pub/Sub 消息的格式。

service_account_email

string

用于发布 Cloud Pub/Sub 消息的服务帐号的电子邮件地址。该服务帐号需要与 PubsubConfig 属于同一项目。添加该服务帐号时,调用者需要拥有其 iam.serviceAccounts.actAs 权限。如果未指定,则默认为 Compute Engine 默认服务帐号。

MessageFormat

Cloud Pub/Sub 消息的格式。

枚举
MESSAGE_FORMAT_UNSPECIFIED 未指定。
PROTOBUF 消息负载是 SourceRepoEvent 的序列化 Protocol Buffers。
JSON 消息负载是 SourceRepoEvent 的 JSON 字符串。

Repo

代码库是存储版本化源代码内容的 Git 代码库。

字段
name

string

代码库的资源名称,格式为 projects/<project>/repos/<repo>。代码库名称可以包含斜杠,例如 projects/myproject/repos/name/with/slash

size

int64

代码库的磁盘使用情况,以字节为单位。只读字段。其大小只能由 GetRepo 返回。

url

string

从 Google Cloud Source Repositories 克隆代码库的网址。只读字段。

mirror_config

MirrorConfig

此代码库如何镜像由另一个服务管理的代码库。只读字段。

pubsub_configs

map<string, PubsubConfig>

此代码库如何通过 Cloud Pub/Sub 在该库中发布更改。以主题名称为键。

UpdateProjectConfigRequest

请求 UpdateProjectConfig。

字段
name

string

所请求项目的名称,值的格式为 projects/<project>

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • source.repos.updateProjectConfig

project_config

ProjectConfig

项目的新配置。

update_mask

FieldMask

指定要修改 project_config 的哪些字段的 FieldMask。只有掩码中的字段会被修改。如果未提供掩码,则此请求是一个空操作。

UpdateRepoRequest

请求 UpdateRepo。

字段
name

string

所请求的代码库的名称,值的格式为 projects/<project>/repos/<repo>

必须对指定的资源 name 具有以下 Google IAM 权限才能进行授权:

  • source.repos.updateRepoConfig

repo

Repo

代码库的新配置。

update_mask

FieldMask

指定要修改代码库的哪些字段的 FieldMask。只有掩码中的字段会被修改。如果未提供掩码,则此请求是一个空操作。