From 78dfc53095e6d08ed5e980795c789a285ed37b89 Mon Sep 17 00:00:00 2001 From: Pablo Perez Schroder Date: Tue, 9 Jun 2020 16:20:11 +0200 Subject: [PATCH] Add DeleteDeployment for Repositories --- github/repos_deployments.go | 12 ++++++++++++ github/repos_deployments_test.go | 14 ++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/github/repos_deployments.go b/github/repos_deployments.go index 57de0a2269..3caa9730e8 100644 --- a/github/repos_deployments.go +++ b/github/repos_deployments.go @@ -129,6 +129,18 @@ func (s *RepositoriesService) CreateDeployment(ctx context.Context, owner, repo return d, resp, nil } +// DeleteDeployment deletes an existing deployment for a repository. +// +// GitHub API docs: https://developer.github.com/v3/repos/deployments/#delete-a-deployment +func (s *RepositoriesService) DeleteDeployment(ctx context.Context, owner, repo string, deploymentID int64) (*Response, error) { + u := fmt.Sprintf("repos/%v/%v/deployments/%v", owner, repo, deploymentID) + req, err := s.client.NewRequest("DELETE", u, nil) + if err != nil { + return nil, err + } + return s.client.Do(ctx, req, nil) +} + // DeploymentStatus represents the status of a // particular deployment. type DeploymentStatus struct { diff --git a/github/repos_deployments_test.go b/github/repos_deployments_test.go index fdbfdd3a9f..587e2d8f88 100644 --- a/github/repos_deployments_test.go +++ b/github/repos_deployments_test.go @@ -89,6 +89,20 @@ func TestRepositoriesService_CreateDeployment(t *testing.T) { } } +func TestRepositoriesService_DeleteDeployment(t *testing.T) { + client, mux, _, teardown := setup() + defer teardown() + + mux.HandleFunc("/repos/o/r/deployments/1", func(w http.ResponseWriter, r *http.Request) { + testMethod(t, r, "DELETE") + }) + + _, err := client.Repositories.DeleteDeployment(context.Background(), "o", "r", 1) + if err != nil { + t.Errorf("Repositories.DeleteDeployment returned error: %v", err) + } +} + func TestRepositoriesService_ListDeploymentStatuses(t *testing.T) { client, mux, _, teardown := setup() defer teardown()