Skip to content

Add latest_pipeline endpoint (#656)#737

Open
mvanhorn wants to merge 1 commit intoNARKOZ:masterfrom
mvanhorn:osc/656-latest-pipeline
Open

Add latest_pipeline endpoint (#656)#737
mvanhorn wants to merge 1 commit intoNARKOZ:masterfrom
mvanhorn:osc/656-latest-pipeline

Conversation

@mvanhorn
Copy link
Copy Markdown

Closes #656.

Wraps the GitLab REST endpoint `GET /projects/:id/pipelines/latest` (docs).

Usage

```ruby
Gitlab.latest_pipeline(5) # latest pipeline on the project's default branch
Gitlab.latest_pipeline(5, ref: 'develop') # latest pipeline on a specific ref
```

The method follows the same shape as the existing `pipeline` / `pipelines` methods in `lib/gitlab/client/pipelines.rb` and forwards `:ref` (and any other future query params) through `get`'s `query:` argument so callers don't have to remember which params the endpoint supports today.

Tests

`spec/gitlab/client/pipelines_spec.rb` adds two contexts:

  • "without a ref option" — verifies the request URL and that the response is parsed into a `Gitlab::ObjectifiedHash`.
  • "with a ref option" — verifies the `ref` query param is forwarded.

Backed by a new `spec/fixtures/latest_pipeline.json` fixture mirroring the existing `pipeline.json` shape.

I could not run `bundle exec rspec` locally — system Ruby is 2.6 and the gemspec requires Ruby 3.2. `ruby -c` confirms the source and spec parse cleanly. Happy to fix anything CI flags.

Wraps GET /projects/:id/pipelines/latest from the GitLab Pipelines
API. The new method takes an optional :ref to fetch the latest
pipeline for a specific branch or tag (defaults to the project's
default branch when omitted).

Adds an rspec spec covering both the no-ref and explicit-ref paths
and a latest_pipeline.json fixture that mirrors the existing
pipeline.json shape.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Latest pipeline API method

1 participant