Browse Source

Adds method for getting a single Repo Deployment

Andy Hume 9 years ago
parent
commit
747edb5a96
2 changed files with 42 additions and 0 deletions
  1. +21
    -0
      github/repos_deployments.go
  2. +21
    -0
      github/repos_deployments_test.go

+ 21
- 0
github/repos_deployments.go View File

@ -82,6 +82,27 @@ func (s *RepositoriesService) ListDeployments(owner, repo string, opt *Deploymen
return *deployments, resp, err return *deployments, resp, err
} }
// GetDeployment returns a single deployment of a repository.
//
// GitHub API docs: https://developer.github.com/v3/repos/deployments/
// Note: GetDeployment uses the undocumented GitHub API endpoint /repos/:owner/:repo/deployments/:id.
func (s *RepositoriesService) GetDeployment(owner, repo string, deploymentID int) (*Deployment, *Response, error) {
u := fmt.Sprintf("repos/%v/%v/deployments/%v", owner, repo, deploymentID)
req, err := s.client.NewRequest("GET", u, nil)
if err != nil {
return nil, nil, err
}
deployment := new(Deployment)
resp, err := s.client.Do(req, deployment)
if err != nil {
return nil, resp, err
}
return deployment, resp, err
}
// CreateDeployment creates a new deployment for a repository. // CreateDeployment creates a new deployment for a repository.
// //
// GitHub API docs: https://developer.github.com/v3/repos/deployments/#create-a-deployment // GitHub API docs: https://developer.github.com/v3/repos/deployments/#create-a-deployment


+ 21
- 0
github/repos_deployments_test.go View File

@ -35,6 +35,27 @@ func TestRepositoriesService_ListDeployments(t *testing.T) {
} }
} }
func TestRepositoriesService_GetDeployment(t *testing.T) {
setup()
defer teardown()
mux.HandleFunc("/repos/o/r/deployments/3", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, "GET")
fmt.Fprint(w, `{"id":3}`)
})
deployment, _, err := client.Repositories.GetDeployment("o", "r", 3)
if err != nil {
t.Errorf("Repositories.GetDeployment returned error: %v", err)
}
want := &Deployment{ID: Int(3)}
if !reflect.DeepEqual(deployment, want) {
t.Errorf("Repositories.GetDeployment returned %+v, want %+v", deployment, want)
}
}
func TestRepositoriesService_CreateDeployment(t *testing.T) { func TestRepositoriesService_CreateDeployment(t *testing.T) {
setup() setup()
defer teardown() defer teardown()


Loading…
Cancel
Save