|
29 | 29 | import org.sourcelab.buildkite.api.client.request.DeleteAccessTokenRequest; |
30 | 30 | import org.sourcelab.buildkite.api.client.request.GetAccessTokenRequest; |
31 | 31 | import org.sourcelab.buildkite.api.client.request.GetMetaRequest; |
| 32 | +import org.sourcelab.buildkite.api.client.request.GetOrganizationRequest; |
| 33 | +import org.sourcelab.buildkite.api.client.request.GetPipelineRequest; |
32 | 34 | import org.sourcelab.buildkite.api.client.request.GetUserRequest; |
33 | 35 | import org.sourcelab.buildkite.api.client.request.ListBuildsRequest; |
34 | 36 | import org.sourcelab.buildkite.api.client.request.ListEmojisRequest; |
35 | 37 | import org.sourcelab.buildkite.api.client.request.ListOrganizationsRequest; |
| 38 | +import org.sourcelab.buildkite.api.client.request.ListPipelinesRequest; |
36 | 39 | import org.sourcelab.buildkite.api.client.request.OrganizationFilters; |
37 | 40 | import org.sourcelab.buildkite.api.client.request.OrganizationFiltersBuilder; |
38 | 41 | import org.sourcelab.buildkite.api.client.request.PageOptions; |
39 | 42 | import org.sourcelab.buildkite.api.client.request.PageableRequest; |
40 | 43 | import org.sourcelab.buildkite.api.client.request.PingRequest; |
| 44 | +import org.sourcelab.buildkite.api.client.request.PipelineFiltersBuilder; |
| 45 | +import org.sourcelab.buildkite.api.client.request.PipelineFilters; |
41 | 46 | import org.sourcelab.buildkite.api.client.request.Request; |
42 | 47 | import org.sourcelab.buildkite.api.client.response.AccessTokenResponse; |
43 | 48 | import org.sourcelab.buildkite.api.client.response.CurrentUserResponse; |
44 | 49 | import org.sourcelab.buildkite.api.client.response.Emoji; |
45 | 50 | import org.sourcelab.buildkite.api.client.response.ErrorResponse; |
46 | 51 | import org.sourcelab.buildkite.api.client.response.ListBuildsResponse; |
47 | 52 | import org.sourcelab.buildkite.api.client.response.ListOrganizationsResponse; |
| 53 | +import org.sourcelab.buildkite.api.client.response.ListPipelinesResponse; |
48 | 54 | import org.sourcelab.buildkite.api.client.response.MetaResponse; |
49 | 55 | import org.sourcelab.buildkite.api.client.response.Organization; |
50 | 56 | import org.sourcelab.buildkite.api.client.response.PageableResponse; |
51 | 57 | import org.sourcelab.buildkite.api.client.response.PagingLinks; |
52 | 58 | import org.sourcelab.buildkite.api.client.response.PingResponse; |
| 59 | +import org.sourcelab.buildkite.api.client.response.Pipeline; |
53 | 60 | import org.sourcelab.buildkite.api.client.response.parser.ErrorResponseParser; |
54 | | -import org.sourcelab.buildkite.api.client.response.parser.ListOrganizationsResponseParser; |
55 | 61 |
|
56 | 62 | import java.io.IOException; |
57 | 63 | import java.util.List; |
@@ -168,10 +174,67 @@ public ListOrganizationsResponse listOrganizations(final OrganizationFilters fil |
168 | 174 | */ |
169 | 175 | public Optional<Organization> getOrganization(final String organizationSlugId) throws BuildkiteException { |
170 | 176 | Objects.requireNonNull(organizationSlugId); |
171 | | - final ListOrganizationsResponse response = listOrganizations(OrganizationFilters.newBuilder() |
172 | | - .withOrganization(organizationSlugId) |
| 177 | + final Organization response = executeRequest(new GetOrganizationRequest(organizationSlugId)); |
| 178 | + return Optional.ofNullable(response); |
| 179 | + } |
| 180 | + |
| 181 | + /** |
| 182 | + * Retrieve all Pipeline accessible to the current user/API access token for the given Organization. |
| 183 | + * Results will be paged. |
| 184 | + * |
| 185 | + * @param filters Filter criteria. |
| 186 | + * @return All Pipelines accessible to the current user/API access token. Results |
| 187 | + * will be paged if the number of results exceeds 30. |
| 188 | + * @throws BuildkiteException if API returns an error response. |
| 189 | + */ |
| 190 | + public ListPipelinesResponse listPipelines(final PipelineFiltersBuilder filters) throws BuildkiteException { |
| 191 | + Objects.requireNonNull(filters); |
| 192 | + return listPipelines(filters.build()); |
| 193 | + } |
| 194 | + |
| 195 | + /** |
| 196 | + * Retrieve all Pipelines accessible to the current user/API access token for the given Organization. |
| 197 | + * Results will be paged. |
| 198 | + * |
| 199 | + * @param filters Filter criteria. |
| 200 | + * @return All Pipelines accessible to the current user/API access token. Results |
| 201 | + * will be paged if the number of results exceeds 30. |
| 202 | + * @throws BuildkiteException if API returns an error response. |
| 203 | + */ |
| 204 | + public ListPipelinesResponse listPipelines(final PipelineFilters filters) throws BuildkiteException { |
| 205 | + Objects.requireNonNull(filters); |
| 206 | + return executeRequest(new ListPipelinesRequest(filters)); |
| 207 | + } |
| 208 | + |
| 209 | + /** |
| 210 | + * Retrieve all Pipelines accessible to the current user/API access token for the given Organization. |
| 211 | + * Results will be paged. |
| 212 | + * |
| 213 | + * @param organizationSlugId Organization Slug Id to retrieve pipelines for. |
| 214 | + * @return All Pipelines accessible to the current user/API access token for the given Organization. Results |
| 215 | + * will be paged if the number of results exceeds 30. |
| 216 | + * @throws BuildkiteException if API returns an error response. |
| 217 | + */ |
| 218 | + public ListPipelinesResponse listPipelines(final String organizationSlugId) throws BuildkiteException { |
| 219 | + Objects.requireNonNull(organizationSlugId); |
| 220 | + return listPipelines(PipelineFilters.newBuilder() |
| 221 | + .withOrganization(organizationSlugId) |
173 | 222 | ); |
174 | | - return response.getOrganizationBySlug(organizationSlugId); |
| 223 | + } |
| 224 | + |
| 225 | + /** |
| 226 | + * Retrieve specific pipeline via its Organization and Pipeline Slug Ids. |
| 227 | + * |
| 228 | + * @param organizationSlugId Slug of the organization to retrieve. |
| 229 | + * @param pipelineSlugId Slug of the pipeline to retrieve. |
| 230 | + * @return Pipeline matching the slug, if found. |
| 231 | + * @throws BuildkiteException if API returns an error response. |
| 232 | + */ |
| 233 | + public Optional<Pipeline> getPipeline(final String organizationSlugId, final String pipelineSlugId) throws BuildkiteException { |
| 234 | + Objects.requireNonNull(organizationSlugId); |
| 235 | + Objects.requireNonNull(pipelineSlugId); |
| 236 | + final Pipeline pipeline = executeRequest(new GetPipelineRequest(organizationSlugId, pipelineSlugId)); |
| 237 | + return Optional.ofNullable(pipeline); |
175 | 238 | } |
176 | 239 |
|
177 | 240 | /** |
|
0 commit comments