Skip to content

Commit 78dfc53

Browse files
author
Pablo Perez Schroder
committed
Add DeleteDeployment for Repositories
1 parent dbeb049 commit 78dfc53

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

github/repos_deployments.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,18 @@ func (s *RepositoriesService) CreateDeployment(ctx context.Context, owner, repo
129129
return d, resp, nil
130130
}
131131

132+
// DeleteDeployment deletes an existing deployment for a repository.
133+
//
134+
// GitHub API docs: https://developer.github.com/v3/repos/deployments/#delete-a-deployment
135+
func (s *RepositoriesService) DeleteDeployment(ctx context.Context, owner, repo string, deploymentID int64) (*Response, error) {
136+
u := fmt.Sprintf("repos/%v/%v/deployments/%v", owner, repo, deploymentID)
137+
req, err := s.client.NewRequest("DELETE", u, nil)
138+
if err != nil {
139+
return nil, err
140+
}
141+
return s.client.Do(ctx, req, nil)
142+
}
143+
132144
// DeploymentStatus represents the status of a
133145
// particular deployment.
134146
type DeploymentStatus struct {

github/repos_deployments_test.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,20 @@ func TestRepositoriesService_CreateDeployment(t *testing.T) {
8989
}
9090
}
9191

92+
func TestRepositoriesService_DeleteDeployment(t *testing.T) {
93+
client, mux, _, teardown := setup()
94+
defer teardown()
95+
96+
mux.HandleFunc("/repos/o/r/deployments/1", func(w http.ResponseWriter, r *http.Request) {
97+
testMethod(t, r, "DELETE")
98+
})
99+
100+
_, err := client.Repositories.DeleteDeployment(context.Background(), "o", "r", 1)
101+
if err != nil {
102+
t.Errorf("Repositories.DeleteDeployment returned error: %v", err)
103+
}
104+
}
105+
92106
func TestRepositoriesService_ListDeploymentStatuses(t *testing.T) {
93107
client, mux, _, teardown := setup()
94108
defer teardown()

0 commit comments

Comments
 (0)