CreateWorkspaceBuild queues a new build to occur for a workspace.
(ctx context.Context, workspace uuid.UUID, request CreateWorkspaceBuildRequest)
| 205 | |
| 206 | // CreateWorkspaceBuild queues a new build to occur for a workspace. |
| 207 | func (c *Client) CreateWorkspaceBuild(ctx context.Context, workspace uuid.UUID, request CreateWorkspaceBuildRequest) (WorkspaceBuild, error) { |
| 208 | res, err := c.Request(ctx, http.MethodPost, fmt.Sprintf("/api/v2/workspaces/%s/builds", workspace), request) |
| 209 | if err != nil { |
| 210 | return WorkspaceBuild{}, err |
| 211 | } |
| 212 | defer res.Body.Close() |
| 213 | if res.StatusCode != http.StatusCreated { |
| 214 | return WorkspaceBuild{}, ReadBodyAsError(res) |
| 215 | } |
| 216 | var workspaceBuild WorkspaceBuild |
| 217 | return workspaceBuild, json.NewDecoder(res.Body).Decode(&workspaceBuild) |
| 218 | } |
| 219 | |
| 220 | func (c *Client) WatchWorkspace(ctx context.Context, id uuid.UUID) (<-chan Workspace, error) { |
| 221 | ctx, span := tracing.StartSpan(ctx) |