Class WebhooksClient

java.lang.Object
ink.icoding.github4j.GithubClient
ink.icoding.github4j.client.WebhooksClient

public class WebhooksClient extends GithubClient
GitHub Webhooks API 客户端。

提供仓库 Webhook 和组织 Webhook 的 CRUD 操作、Ping 测试、投递记录查询和重发等功能。

对应 GitHub REST API 文档: Webhooks

See Also:
  • Constructor Details

    • WebhooksClient

      public WebhooksClient(GithubClient parent)
  • Method Details

    • listForRepo

      public Page<Webhook> listForRepo(String owner, String repo, PageOptions options)
      列出指定仓库的 Webhook。

      API 端点: GET /repos/{owner}/{repo}/hooks

      Parameters:
      owner - 仓库所有者
      repo - 仓库名称
      options - 分页选项,可为 null
      Returns:
      分页的 Webhook 列表
    • getForRepo

      public GithubResponse<Webhook> getForRepo(String owner, String repo, int hookId)
      获取指定仓库的单个 Webhook。

      API 端点: GET /repos/{owner}/{repo}/hooks/{hook_id}

      Parameters:
      owner - 仓库所有者
      repo - 仓库名称
      hookId - Webhook 的 ID
      Returns:
      Webhook 详细信息
    • createForRepo

      public GithubResponse<Webhook> createForRepo(String owner, String repo, CreateWebhookRequest request)
      为指定仓库创建 Webhook。

      API 端点: POST /repos/{owner}/{repo}/hooks

      Parameters:
      owner - 仓库所有者
      repo - 仓库名称
      request - 创建 Webhook 的请求参数
      Returns:
      创建成功后的 Webhook 信息
    • updateForRepo

      public GithubResponse<Webhook> updateForRepo(String owner, String repo, int hookId, UpdateWebhookRequest request)
      更新指定仓库的 Webhook。

      API 端点: PATCH /repos/{owner}/{repo}/hooks/{hook_id}

      Parameters:
      owner - 仓库所有者
      repo - 仓库名称
      hookId - Webhook 的 ID
      request - 更新 Webhook 的请求参数
      Returns:
      更新后的 Webhook 信息
    • deleteForRepo

      public void deleteForRepo(String owner, String repo, int hookId)
      删除指定仓库的 Webhook。

      API 端点: DELETE /repos/{owner}/{repo}/hooks/{hook_id}

      Parameters:
      owner - 仓库所有者
      repo - 仓库名称
      hookId - Webhook 的 ID
    • pingForRepo

      public void pingForRepo(String owner, String repo, int hookId)
      向指定仓库的 Webhook 发送 Ping 请求。

      API 端点: POST /repos/{owner}/{repo}/hooks/{hook_id}/pings

      Parameters:
      owner - 仓库所有者
      repo - 仓库名称
      hookId - Webhook 的 ID
    • listDeliveriesForRepo

      public Page<WebhookDelivery> listDeliveriesForRepo(String owner, String repo, int hookId, PageOptions options)
      列出指定仓库 Webhook 的投递记录。

      API 端点: GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries

      Parameters:
      owner - 仓库所有者
      repo - 仓库名称
      hookId - Webhook 的 ID
      options - 分页选项,可为 null
      Returns:
      分页的 Webhook 投递记录列表
    • getDeliveryForRepo

      public GithubResponse<WebhookDelivery> getDeliveryForRepo(String owner, String repo, int hookId, long deliveryId)
      获取指定仓库 Webhook 的单条投递记录。

      API 端点: GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}

      Parameters:
      owner - 仓库所有者
      repo - 仓库名称
      hookId - Webhook 的 ID
      deliveryId - 投递记录的 ID
      Returns:
      Webhook 投递记录详情
    • redeliverForRepo

      public void redeliverForRepo(String owner, String repo, int hookId, long deliveryId)
      重新投递指定仓库 Webhook 的某条投递记录。

      API 端点: POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts

      Parameters:
      owner - 仓库所有者
      repo - 仓库名称
      hookId - Webhook 的 ID
      deliveryId - 投递记录的 ID
    • listForOrg

      public Page<Webhook> listForOrg(String org, PageOptions options)
      列出指定组织的 Webhook。

      API 端点: GET /orgs/{org}/hooks

      Parameters:
      org - 组织名称
      options - 分页选项,可为 null
      Returns:
      分页的 Webhook 列表
    • getForOrg

      public GithubResponse<Webhook> getForOrg(String org, int hookId)
      获取指定组织的单个 Webhook。

      API 端点: GET /orgs/{org}/hooks/{hook_id}

      Parameters:
      org - 组织名称
      hookId - Webhook 的 ID
      Returns:
      Webhook 详细信息
    • createForOrg

      public GithubResponse<Webhook> createForOrg(String org, CreateWebhookRequest request)
      为指定组织创建 Webhook。

      API 端点: POST /orgs/{org}/hooks

      Parameters:
      org - 组织名称
      request - 创建 Webhook 的请求参数
      Returns:
      创建成功后的 Webhook 信息
    • updateForOrg

      public GithubResponse<Webhook> updateForOrg(String org, int hookId, UpdateWebhookRequest request)
      更新指定组织的 Webhook。

      API 端点: PATCH /orgs/{org}/hooks/{hook_id}

      Parameters:
      org - 组织名称
      hookId - Webhook 的 ID
      request - 更新 Webhook 的请求参数
      Returns:
      更新后的 Webhook 信息
    • deleteForOrg

      public void deleteForOrg(String org, int hookId)
      删除指定组织的 Webhook。

      API 端点: DELETE /orgs/{org}/hooks/{hook_id}

      Parameters:
      org - 组织名称
      hookId - Webhook 的 ID
    • pingForOrg

      public void pingForOrg(String org, int hookId)
      向指定组织的 Webhook 发送 Ping 请求。

      API 端点: POST /orgs/{org}/hooks/{hook_id}/pings

      Parameters:
      org - 组织名称
      hookId - Webhook 的 ID