Sha256: b2a52428a875d56be338d1ad09fbefa6c76c9fccea908adeaf872665c1b81788

Contents?: true

Size: 1.39 KB

Versions: 1

Compression:

Stored size: 1.39 KB

Contents

# frozen_string_literal: true

# Defines methods related to todos
# @see https://docs.gitlab.com/ce/api/todos.html
module Todos
  # Gets a list of todos.
  #
  # @example
  #   Gitlab.todos
  #   Gitlab.todos({ action: 'assigned' })
  #   Gitlab.todos({ state: 'pending' })
  #
  # @param  [Hash] options A customizable set of options.
  # @option options [Integer] :action The action to be filtered. Can be `assigned`, `mentioned`, `build_failed`, `marked`, or `approval_required`.
  # @option options [Integer] :author_id The ID of an author
  # @option options [Integer] :project_id The ID of a project
  # @option options [Integer] :state The state of the todo. Can be either `pending` or `done`
  # @option options [Integer] :type The type of a todo. Can be either `Issue` or `MergeRequest`
  # @return [Array<Gitlab::ObjectifiedHash>]
  def todos(options = {})
    get('/todos', query: options)
  end

  # Marks a single pending todo for the current user as done.
  #
  # @example
  #   Gitlab.mark_todo_as_done(42)
  #
  # @param  [Integer] id The ID of the todo.
  # @return [Gitlab::ObjectifiedHash]
  def mark_todo_as_done(id)
    post("/todos/#{id}/mark_as_done")
  end

  # Marks all todos for the current user as done
  #
  # @example
  #   Gitlab.mark_all_todos_as_done
  #
  # @return [void] This API call returns an empty response body.
  def mark_all_todos_as_done
    post('/todos/mark_as_done')
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gitlab-4.6.0 lib/gitlab/client/todos.rb