Module: Brat::Client::MergeRequests

Included in:
Brat::Client
Defined in:
lib/brat/client/merge_requests.rb

Overview

Defines methods related to merge requests.

Instance Method Summary collapse

Instance Method Details

#create_merge_request(project, title, options = {}) ⇒ Brat::ObjectifiedHash

Creates a merge request.

Examples:

Brat.create_merge_request(5, 'New merge request',
  :source_branch => 'source_branch', :target_branch => 'target_branch')
Brat.create_merge_request(5, 'New merge request',
  :source_branch => 'source_branch', :target_branch => 'target_branch', :assignee_id => 42)

Options Hash (options):

  • :source_branch (String) — default: required

    The source branch name.

  • :target_branch (String) — default: required

    The target branch name.

  • :assignee_id (Integer) — default: optional

    The ID of a user to assign merge request.



46
47
48
49
50
51
# File 'lib/brat/client/merge_requests.rb', line 46

def create_merge_request(project, title, options={})
  check_attributes!(options, [:source_branch, :target_branch])

  body = {:title => title}.merge(options)
  post("/projects/#{project}/merge_requests", :body => body)
end

#create_merge_request_comment(project, id, note) ⇒ Brat::ObjectifiedHash

Adds a comment to a merge request.

Examples:

Brat.create_merge_request_comment(5, 1, "Awesome merge!")
Brat.create_merge_request_comment('brat', 1, "Awesome merge!")


81
82
83
# File 'lib/brat/client/merge_requests.rb', line 81

def create_merge_request_comment(project, id, note)
  post("/projects/#{project}/merge_request/#{id}/comments", :body => {:note => note})
end

#merge_request(project, id) ⇒ Brat::ObjectifiedHash

Gets a single merge request.

Examples:

Brat.merge_request(5, 36)


27
28
29
# File 'lib/brat/client/merge_requests.rb', line 27

def merge_request(project, id)
  get("/projects/#{project}/merge_request/#{id}")
end

#merge_request_comments(project, id) ⇒ Brat::ObjectifiedHash

Gets the comments on a merge request.

Examples:

Brat.merge_request_comments(5, 1)


93
94
95
# File 'lib/brat/client/merge_requests.rb', line 93

def merge_request_comments(project, id)
  get("/projects/#{project}/merge_request/#{id}/comments")
end

#merge_requests(project, options = {}) ⇒ Array<Brat::ObjectifiedHash>

Gets a list of project merge requests.

Examples:

Brat.merge_requests(5)
Brat.merge_requests(:per_page => 40)

Options Hash (options):

  • :page (Integer)

    The page number.

  • :per_page (Integer)

    The number of results per page.



15
16
17
# File 'lib/brat/client/merge_requests.rb', line 15

def merge_requests(project, options={})
  get("/projects/#{project}/merge_requests", :query => options)
end

#update_merge_request(project, id, options = {}) ⇒ Brat::ObjectifiedHash

Updates a merge request.

Examples:

Brat.update_merge_request(5, 42, :title => 'New title')

Options Hash (options):

  • :title (String)

    The title of a merge request.

  • :source_branch (String)

    The source branch name.

  • :target_branch (String)

    The target branch name.

  • :assignee_id (Integer)

    The ID of a user to assign merge request.

  • :state_event (String)

    New state (close|reopen|merge).



67
68
69
# File 'lib/brat/client/merge_requests.rb', line 67

def update_merge_request(project, id, options={})
  put("/projects/#{project}/merge_request/#{id}", :body => options)
end