Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions lib/gitlab/client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ def inspect
inspected
end

def url_encode(s)
ERB::Util.url_encode(s)
end

private

def only_show_last_four_chars(token)
Expand Down
24 changes: 12 additions & 12 deletions lib/gitlab/client/branches.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ module Branches
# @example
# Gitlab.branches(42)
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [Hash] options A customizable set of options.
# @option options [Integer] :page The page number.
# @option options [Integer] :per_page The number of results per page.
# @return [Array<Gitlab::ObjectifiedHash>]
def branches(project, options={})
get("/projects/#{project}/repository/branches", query: options)
get("/projects/#{url_encode project}/repository/branches", query: options)
end
alias_method :repo_branches, :branches

Expand All @@ -23,11 +23,11 @@ def branches(project, options={})
# Gitlab.branch(3, 'api')
# Gitlab.repo_branch(5, 'master')
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [String] branch The name of the branch.
# @return [Gitlab::ObjectifiedHash]
def branch(project, branch)
get("/projects/#{project}/repository/branches/#{branch}")
get("/projects/#{url_encode project}/repository/branches/#{branch}")
end
alias_method :repo_branch, :branch

Expand All @@ -37,11 +37,11 @@ def branch(project, branch)
# Gitlab.protect_branch(3, 'api')
# Gitlab.repo_protect_branch(5, 'master')
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [String] branch The name of the branch.
# @return [Gitlab::ObjectifiedHash]
def protect_branch(project, branch)
put("/projects/#{project}/repository/branches/#{branch}/protect")
put("/projects/#{url_encode project}/repository/branches/#{branch}/protect")
end
alias_method :repo_protect_branch, :protect_branch

Expand All @@ -51,11 +51,11 @@ def protect_branch(project, branch)
# Gitlab.unprotect_branch(3, 'api')
# Gitlab.repo_unprotect_branch(5, 'master')
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [String] branch The name of the branch.
# @return [Gitlab::ObjectifiedHash]
def unprotect_branch(project, branch)
put("/projects/#{project}/repository/branches/#{branch}/unprotect")
put("/projects/#{url_encode project}/repository/branches/#{branch}/unprotect")
end
alias_method :repo_unprotect_branch, :unprotect_branch

Expand All @@ -65,12 +65,12 @@ def unprotect_branch(project, branch)
# Gitlab.create_branch(3, 'api')
# Gitlab.repo_create_branch(5, 'master')
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [String] branch The name of the new branch.
# @param [String] ref Create branch from commit sha or existing branch
# @return [Gitlab::ObjectifiedHash]
def create_branch(project, branch, ref)
post("/projects/#{project}/repository/branches", body: { branch_name: branch, ref: ref })
post("/projects/#{url_encode project}/repository/branches", body: { branch_name: branch, ref: ref })
end
alias_method :repo_create_branch, :create_branch

Expand All @@ -80,11 +80,11 @@ def create_branch(project, branch, ref)
# Gitlab.delete_branch(3, 'api')
# Gitlab.repo_delete_branch(5, 'master')
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [String] branch The name of the branch to delete
# @return [Gitlab::ObjectifiedHash]
def delete_branch(project, branch)
delete("/projects/#{project}/repository/branches/#{branch}")
delete("/projects/#{url_encode project}/repository/branches/#{branch}")
end
alias_method :repo_delete_branch, :delete_branch
end
Expand Down
16 changes: 8 additions & 8 deletions lib/gitlab/client/build_triggers.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,45 +7,45 @@ module BuildTriggers
# @example
# Gitlab.triggers(5)
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @return [Array<Gitlab::ObjectifiedHash>] The list of triggers.
def triggers(project)
get("/projects/#{project}/triggers")
get("/projects/#{url_encode project}/triggers")
end

# Gets details of project's build trigger.
#
# @example
# Gitlab.trigger(5, '7b9148c158980bbd9bcea92c17522d')
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [String] token The token of a trigger.
# @return [Gitlab::ObjectifiedHash] The trigger.
def trigger(project, token)
get("/projects/#{project}/triggers/#{token}")
get("/projects/#{url_encode project}/triggers/#{token}")
end

# Create a build trigger for a project.
#
# @example
# Gitlab.create_trigger(5)
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @return [Gitlab::ObjectifiedHash] The trigger.
def create_trigger(project)
post("/projects/#{project}/triggers")
post("/projects/#{url_encode project}/triggers")
end

# Remove a project's build trigger.
#
# @example
# Gitlab.remove_trigger(5, '7b9148c158980bbd9bcea92c17522d')
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [String] token The token of a trigger.
# @return [Gitlab::ObjectifiedHash] The trigger.
def remove_trigger(project, token)
delete("/projects/#{project}/triggers/#{token}")
delete("/projects/#{url_encode project}/triggers/#{token}")
end
end
end
20 changes: 10 additions & 10 deletions lib/gitlab/client/build_variables.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,60 +7,60 @@ module BuildVariables
# @example
# Gitlab.variables(5)
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @return [Array<Gitlab::ObjectifiedHash>] The list of variables.
def variables(project)
get("/projects/#{project}/variables")
get("/projects/#{url_encode project}/variables")
end

# Gets details of a project's specific build variable.
#
# @example
# Gitlab.build(5, "TEST_VARIABLE_1")
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [String] key The key of a variable.
# @return [Gitlab::ObjectifiedHash] The variable.
def variable(project, key)
get("/projects/#{project}/variables/#{key}")
get("/projects/#{url_encode project}/variables/#{key}")
end

# Create a build variable for a project.
#
# @example
# Gitlab.create_variable(5, "NEW_VARIABLE", "new value")
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [String] key The key of a variable; must have no more than 255 characters; only `A-Z`, `a-z`, `0-9` and `_` are allowed
# @param [String] value The value of a variable
# @return [Gitlab::ObjectifiedHash] The variable.
def create_variable(project, key, value)
post("/projects/#{project}/variables", body: { key: key, value: value })
post("/projects/#{url_encode project}/variables", body: { key: key, value: value })
end

# Update a project's build variable.
#
# @example
# Gitlab.create_variable(5, "NEW_VARIABLE", "updated value")
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [String] key The key of a variable
# @param [String] value The value of a variable
# @return [Gitlab::ObjectifiedHash] The variable.
def update_variable(project, key, value)
put("/projects/#{project}/variables/#{key}", body: { value: value })
put("/projects/#{url_encode project}/variables/#{key}", body: { value: value })
end

# Remove a project's build variable.
#
# @example
# Gitlab.remove_variable(5, "VARIABLE_1")
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [String] key The key of a variable.
# @return [Gitlab::ObjectifiedHash] The variable.
def remove_variable(project, key)
delete("/projects/#{project}/variables/#{key}")
delete("/projects/#{url_encode project}/variables/#{key}")
end
end
end
30 changes: 15 additions & 15 deletions lib/gitlab/client/builds.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,38 +8,38 @@ module Builds
# Gitlab.builds(5)
# Gitlab.builds(5, { per_page: 10, page: 2 })
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [Hash] options A customizable set of options.
# @option options [Integer] :page The page number.
# @option options [Integer] :per_page The number of results per page.
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @return [Array<Gitlab::ObjectifiedHash>]
def builds(project, options={})
get("/projects/#{project}/builds", query: options)
get("/projects/#{url_encode project}/builds", query: options)
end

# Gets a single build.
#
# @example
# Gitlab.build(5, 36)
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [Integer] id The ID of a build.
# @return [Gitlab::ObjectifiedHash]
def build(project, id)
get("/projects/#{project}/builds/#{id}")
get("/projects/#{url_encode project}/builds/#{id}")
end

# Gets build artifacts.
#
# @example
# Gitlab.build_artifacts(1, 8)
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [Integer] id The ID of a build.
# @return [Gitlab::FileResponse]
def build_artifacts(project, id)
get("/projects/#{project}/builds/#{id}/artifacts",
get("/projects/#{url_encode project}/builds/#{id}/artifacts",
format: nil,
headers: { Accept: 'application/octet-stream' },
parser: proc { |body, _|
Expand All @@ -57,50 +57,50 @@ def build_artifacts(project, id)
# Gitlab.commit_builds(5, 'asdf')
# Gitlab.commit_builds(5, 'asdf', { per_page: 10, page: 2 })
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [String] sha The SHA checksum of a commit.
# @param [Hash] options A customizable set of options.
# @option options [Integer] :page The page number.
# @option options [Integer] :per_page The number of results per page.
# @return [Array<Gitlab::ObjectifiedHash>] The list of builds.
def commit_builds(project, sha, options={})
get("/projects/#{project}/repository/commits/#{sha}/builds", query: options)
get("/projects/#{url_encode project}/repository/commits/#{sha}/builds", query: options)
end

# Cancels a build.
#
# @example
# Gitlab.build_cancel(5, 1)
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [Integer] id The ID of a build.
# @return [Gitlab::ObjectifiedHash] The builds changes.
def build_cancel(project, id)
post("/projects/#{project}/builds/#{id}/cancel")
post("/projects/#{url_encode project}/builds/#{id}/cancel")
end

# Retry a build.
#
# @example
# Gitlab.build_retry(5, 1)
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [Integer] id The ID of a build.
# @return [Array<Gitlab::ObjectifiedHash>] The builds changes.
def build_retry(project, id)
post("/projects/#{project}/builds/#{id}/retry")
post("/projects/#{url_encode project}/builds/#{id}/retry")
end

# Erase a single build of a project (remove build artifacts and a build trace)
#
# @example
# Gitlab.build_erase(5, 1)
#
# @param [Integer] project The ID of a project.
# @param [Integer, String] project The ID or name of a project.
# @param [Integer] id The ID of a build.
# @return [Gitlab::ObjectifiedHash] The build's changes.
def build_erase(project, id)
post("/projects/#{project}/builds/#{id}/erase")
post("/projects/#{url_encode project}/builds/#{id}/erase")
end
end
end
Loading