class Gitlab::Client
- Gitlab::Client
- Reference
- Object
Overview
Gitlab API Client wrapper
See the Gitlab Offical API Document for more details.
Included Modules
- Gitlab::Client::Branch
- Gitlab::Client::Commit
- Gitlab::Client::DeployKey
- Gitlab::Client::Group
- Gitlab::Client::Issue
- Gitlab::Client::Key
- Gitlab::Client::Label
- Gitlab::Client::MergeRequest
- Gitlab::Client::Milestone
- Gitlab::Client::Note
- Gitlab::Client::Project
- Gitlab::Client::Repository
- Gitlab::Client::RepositoryFile
- Gitlab::Client::Session
- Gitlab::Client::Tag
- Gitlab::Client::User
- Gitlab::Client::Version
Defined in:
gitlab/client.crgitlab/client/branch.cr
gitlab/client/commit.cr
gitlab/client/deploy_key.cr
gitlab/client/group.cr
gitlab/client/issue.cr
gitlab/client/key.cr
gitlab/client/label.cr
gitlab/client/merge_request.cr
gitlab/client/milestone.cr
gitlab/client/note.cr
gitlab/client/project.cr
gitlab/client/repository.cr
gitlab/client/repository_file.cr
gitlab/client/session.cr
gitlab/client/tag.cr
gitlab/client/user.cr
gitlab/client/version.cr
Constructors
- 
        .new(endpoint : String, token : String)
        
          Create a new client 
Instance Method Summary
- 
        #available?
        
          Return a Boolstatus by gitlab api service
- 
        #delete(uri : String, headers : Hash(String, _) | NamedTuple | Nil = nil, params : Hash(String, _) | NamedTuple | Nil = nil, form : Hash(String, _) | NamedTuple | Nil = nil, json : Hash(String, _) | NamedTuple | Nil = nil) : Halite::Response
        
          Return a Halite::Responseby sending a DELETE http request
- 
        #endpoint : String
        
          The endpoint of Gitlab 
- 
        #endpoint=(endpoint : String)
        
          The endpoint of Gitlab 
- 
        #get(uri : String, headers : Hash(String, _) | NamedTuple | Nil = nil, params : Hash(String, _) | NamedTuple | Nil = nil) : Halite::Response
        
          Return a Halite::Response by sending a GET method http request 
- 
        #head(uri : String, headers : Hash(String, _) | NamedTuple | Nil = nil, params : Hash(String, _) | NamedTuple | Nil = nil) : Halite::Response
        
          Return a Halite::Response by sending a HEAD method http request 
- 
        #patch(uri : String, headers : Hash(String, _) | NamedTuple | Nil = nil, params : Hash(String, _) | NamedTuple | Nil = nil, form : Hash(String, _) | NamedTuple | Nil = nil, json : Hash(String, _) | NamedTuple | Nil = nil) : Halite::Response
        
          Return a Halite::Responseby sending a PATCH http request
- 
        #post(uri : String, headers : Hash(String, _) | NamedTuple | Nil = nil, params : Hash(String, _) | NamedTuple | Nil = nil, form : Hash(String, _) | NamedTuple | Nil = nil, json : Hash(String, _) | NamedTuple | Nil = nil) : Halite::Response
        
          Return a Halite::Responseby sending a POST http request
- 
        #put(uri : String, headers : Hash(String, _) | NamedTuple | Nil = nil, params : Hash(String, _) | NamedTuple | Nil = nil, form : Hash(String, _) | NamedTuple | Nil = nil, json : Hash(String, _) | NamedTuple | Nil = nil) : Halite::Response
        
          Return a Halite::Responseby sending a PUT http request
- 
        #token : String
        
          The token(private-token or OAuth2 access token) of Gitlab 
- 
        #token=(token : String)
        
          The token(private-token or OAuth2 access token) of Gitlab 
Instance methods inherited from module Gitlab::Client::Version
  
  
    
      version
    version
    
  
    
    
  
    
  Instance methods inherited from module Gitlab::Client::Key
  
  
    
      key(key_id : Int32) : JSON::Any
    key
    
  
    
    
  
    
  Instance methods inherited from module Gitlab::Client::DeployKey
  
  
    
      create_deploy_key(project_id : Int32, title : String, key : String, form : Hash = {} of String => String) : JSON::Any
    create_deploy_key, 
    
  
    
      deploy_key(project_id : Int32, key_id : Int32) : JSON::Any
    deploy_key, 
    
  
    
      deploy_keys(project_id : Int32, params : Hash | Nil = nil)
    deploy_keys, 
    
  
    
      disable_deploy_key(project_id : Int32, key_id : Int32) : JSON::Any
    disable_deploy_key, 
    
  
    
      enable_deploy_key(project_id : Int32, key_id : Int32) : JSON::Any
    enable_deploy_key, 
    
  
    
      remove_deploy_key(project_id : Int32, key_id : Int32) : JSON::Any
    remove_deploy_key
    
  
    
    
  
    
  Instance methods inherited from module Gitlab::Client::Milestone
  
  
    
      create_milestone(project_id : Int32, title : String, params : Hash = {} of String => String) : JSON::Any
    create_milestone, 
    
  
    
      edit_milestone(project_id : Int32, milestone_id : Int32, title : String, form : Hash = {} of String => String) : JSON::Any
    edit_milestone, 
    
  
    
      milestone(project_id : Int32, milestone_id : Int32) : JSON::Any
    milestone, 
    
  
    
      milestone_issues(project_id : Int32, milestone_id : Int32, params : Hash = {} of String => String) : JSON::Any
    milestone_issues, 
    
  
    
      milestone_merge_requests(project_id : Int32, milestone_id : Int32, params : Hash = {} of String => String)
    milestone_merge_requests, 
    
  
    
      milestones(project_id : Int32, params : Hash | Nil = nil) : JSON::Any
    milestones
    
  
    
    
  
    
  Instance methods inherited from module Gitlab::Client::MergeRequest
  
  
    
      accept_merge_request(project_id : Int32, merge_request_id : Int32, form : Hash | Nil = nil) : JSON::Any
    accept_merge_request, 
    
  
    
      cancel_merge_request_when_build_succeed(project_id : Int32, merge_request_id : Int32) : JSON::Any
    cancel_merge_request_when_build_succeed, 
    
  
    
      create_merge_request(project_id : Int32, source_branch : String, target_branch : String, title : String, params : Hash = {} of String => String) : JSON::Any
    create_merge_request, 
    
  
    
      delete_merge_request(project_id : Int32, merge_request_id : Int32) : JSON::Any
    delete_merge_request, 
    
  
    
      edit_merge_request(project_id : Int32, merge_request_id : Int32, source_branch : String, target_branch : String, title : String, form : Hash = {} of String => String) : JSON::Any
    edit_merge_request, 
    
  
    
      merge_request(project_id : Int32, merge_request_id : Int32) : JSON::Any
    merge_request, 
    
  
    
      merge_request_changes(project_id : Int32, merge_request_id : Int32, params : Hash = {} of String => String) : JSON::Any
    merge_request_changes, 
    
  
    
      merge_request_closes_issues(project_id : Int32, merge_request_id : Int32, params : Hash = {} of String => String) : JSON::Any
    merge_request_closes_issues, 
    
  
    
      merge_request_commits(project_id : Int32, merge_request_id : Int32) : JSON::Any
    merge_request_commits, 
    
  
    
      merge_requests(project_id : Int32, params : Hash | Nil = nil) : JSON::Any
    merge_requests, 
    
  
    
      subscribe_merge_request(project_id : Int32, merge_request_id : Int32) : JSON::Any
    subscribe_merge_request, 
    
  
    
      unsubscribe_merge_request(project_id : Int32, merge_request_id : Int32) : JSON::Any
    unsubscribe_merge_request, 
    
  
    
      update_merge_request(project_id : Int32, merge_request_id, form : Hash | Nil = nil)
    update_merge_request
    
  
    
    
  
    
  Instance methods inherited from module Gitlab::Client::Label
  
  
    
      create_label(project_id : Int32, name : String, color : String, description : String | Nil = nil) : JSON::Any
    create_label, 
    
  
    
      delete_label(project_id : Int32, name : String) : JSON::Any
    delete_label, 
    
  
    
      edit_label(project_id : Int32, name : String, form : Hash = {} of String => String) : JSON::Any
    edit_label, 
    
  
    
      labels(project_id : Int32, params : Hash | Nil = nil) : JSON::Any
    labels, 
    
  
    
      subscribe_label(project_id : Int32, label_id : Int32 | String) : JSON::Any
    subscribe_label, 
    
  
    
      unsubscribe_label(project_id : Int32, label_id : Int32 | String) : JSON::Any
    unsubscribe_label
    
  
    
    
  
    
  Instance methods inherited from module Gitlab::Client::Issue
  
  
    
      close_issue(project_id : Int32, issue_id : Int32) : JSON::Any
    close_issue, 
    
  
    
      create_issue(project_id : Int32, title : String, params : Hash = {} of String => String) : JSON::Any
    create_issue, 
    
  
    
      delete_issue(project_id : Int32, issue_id : Int32) : JSON::Any
    delete_issue, 
    
  
    
      edit_issue(project_id : Int32, issue_id : Int32, form : Hash = {} of String => String) : JSON::Any
    edit_issue, 
    
  
    
      issue(project_id : Int32, issue_id : Int32) : JSON::Any
    issue, 
    
  
    
      issues(params : Hash | Nil = nil) : JSON::Anyissues(project_id : Int32 | String, params : Hash | Nil = nil) : JSON::Any issues, move_issue(project_id : Int32, issue_id : Int32, to_project_id : Int32) : JSON::Any move_issue, reopen_issue(project_id : Int32, issue_id : Int32) : JSON::Any reopen_issue, subscribe_issue(project_id : Int32, issue_id : Int32) : JSON::Any subscribe_issue, unsubscribe_issue(project_id : Int32, issue_id : Int32) : JSON::Any unsubscribe_issue
Instance methods inherited from module Gitlab::Client::Note
  
  
    
      create_issue_note(project_id : Int32, issue_id : Int32, body : String, created_at : String | Nil = nil) : JSON::Any
    create_issue_note, 
    
  
    
      create_merge_request_note(project_id : Int32, merge_request_id : Int32, body : String, created_at : String | Nil = nil) : JSON::Any
    create_merge_request_note, 
    
  
    
      create_snippet_note(project_id : Int32, snippet_id : Int32, body : String) : JSON::Any
    create_snippet_note, 
    
  
    
      delete_issue_note(project_id : Int32, issue_id : Int32, note_id : Int32) : JSON::Any
    delete_issue_note, 
    
  
    
      delete_merge_request_note(project_id : Int32, merge_request_id : Int32, note_id : Int32) : JSON::Any
    delete_merge_request_note, 
    
  
    
      delete_snippet_note(project_id : Int32, snippet_id : Int32, note_id : Int32) : JSON::Any
    delete_snippet_note, 
    
  
    
      edit_issue_note(project_id : Int32, issue_id : Int32, note_id : Int32, body : String) : JSON::Any
    edit_issue_note, 
    
  
    
      edit_merge_request_note(project_id : Int32, merge_requests_id : Int32, note_id : Int32, body : String) : JSON::Any
    edit_merge_request_note, 
    
  
    
      edit_snippet_note(project_id : Int32, snippet_id : Int32, note_id : Int32, body : String) : JSON::Any
    edit_snippet_note, 
    
  
    
      issue_note(project_id : Int32, issue_id : Int32, note_id : Int32) : JSON::Any
    issue_note, 
    
  
    
      issue_notes(project_id : Int32, issue_id : Int32, params : Hash | Nil = nil) : JSON::Any
    issue_notes, 
    
  
    
      merge_request_note(project_id : Int32, merge_request_id : Int32, note_id : Int32) : JSON::Any
    merge_request_note, 
    
  
    
      merge_request_notes(project_id : Int32, merge_request_id : Int32, params : Hash | Nil = nil) : JSON::Any
    merge_request_notes, 
    
  
    
      snippet_note(project_id : Int32, snippet_id : Int32, note_id : Int32) : JSON::Any
    snippet_note, 
    
  
    
      snippet_notes(project_id : Int32, snippet_id : Int32, params : Hash | Nil = nil) : JSON::Any
    snippet_notes
    
  
    
    
  
    
  Instance methods inherited from module Gitlab::Client::Commit
  
  
    
      commit(project_id : Int32, commit : String) : JSON::Any
    commit, 
    
  
    
      commit_comments(project_id : Int32, sha : String, params : Hash = {} of String => String) : JSON::Any
    commit_comments, 
    
  
    
      commit_diff(project_id : Int32, sha : String) : JSON::Any
    commit_diff, 
    
  
    
      commit_status(project_id : Int32, sha : String, params : Hash = {} of String => String) : JSON::Any
    commit_status, 
    
  
    
      commits(project_id : Int32, params : Hash | Nil = nil) : JSON::Any
    commits, 
    
  
    
      create_commit_comment(project_id : Int32, sha : String, note : String, params : Hash = {} of String => String) : JSON::Any
    create_commit_comment, 
    
  
    
      update_commit_status(project_id : Int32, sha : String, state : String, params : Hash = {} of String => String) : JSON::Any
    update_commit_status
    
  
    
    
  
    
  Instance methods inherited from module Gitlab::Client::Tag
  
  
    
      create_release_notes(project_id : Int32, tag : String, description : String) : JSON::Any
    create_release_notes, 
    
  
    
      create_tag(project_id : Int32, tag : String, ref : String, form : Hash = {} of String => String) : JSON::Any
    create_tag, 
    
  
    
      delete_tag(project_id : Int32, tag : String) : JSON::Any
    delete_tag, 
    
  
    
      tag(project_id : Int32, tag : String) : JSON::Any
    tag, 
    
  
    
      tags(project_id : Int32, params : Hash | Nil = nil) : JSON::Any
    tags, 
    
  
    
      update_release_notes(project_id : Int32, tag : String, description : String) : JSON::Any
    update_release_notes
    
  
    
    
  
    
  Instance methods inherited from module Gitlab::Client::Branch
  
  
    
      branch(project_id : Int32, branch : String) : JSON::Any
    branch, 
    
  
    
      branches(project_id : Int32, params : Hash | Nil = nil) : JSON::Any
    branches, 
    
  
    
      create_branch(project_id : Int32, branch : String, ref : String) : JSON::Any
    create_branch, 
    
  
    
      delete_branch(project_id : Int32, branch : String) : JSON::Any
    delete_branch, 
    
  
    
      protect_branch(project_id : Int32, branch : String, form : Hash | Nil = nil) : JSON::Any
    protect_branch, 
    
  
    
      unprotect_branch(project_id : Int32, branch : String) : JSON::Any
    unprotect_branch
    
  
    
    
  
    
  Instance methods inherited from module Gitlab::Client::RepositoryFile
  
  
    
      file_contents(project_id : Int32, filepath : String, sha = "HEAD") : String
    file_contents, 
    
  
    
      get_file(project_id : Int32, filepath : String, ref = "HEAD")
    get_file
    
  
    
    
  
    
  Instance methods inherited from module Gitlab::Client::Repository
  
  
    
      blob(project_id : Int32, sha = "HEAD", params : Hash | Nil = nil) : String
    blob, 
    
  
    
      compare(project_id : Int32, from : String, to : String) : JSON::Any
    compare, 
    
  
    
      contributors(project_id : Int32, params : Hash | Nil = nil) : JSON::Any
    contributors, 
    
  
    
      repo_archive(project_id : Int32, sha = "HEAD") : Gitlab::FileResponse | JSON::Any
    repo_archive, 
    
  
    
      tree(project_id : Int32, params : Hash | Nil = nil) : JSON::Any
    tree
    
  
    
    
  
    
  Instance methods inherited from module Gitlab::Client::Project
  
  
    
      add_project_hook(project : Int32 | String, url : String, form : Hash = {} of String => String) : JSON::Any
    add_project_hook, 
    
  
    
      add_project_member(project : Int32 | String, user_id : Int32, access_level : Int32) : JSON::Any
    add_project_member, 
    
  
    
      all_projects(params : Hash = {} of String => String) : JSON::Any
    all_projects, 
    
  
    
      archive_project(project : Int32 | String) : JSON::Any
    archive_project, 
    
  
    
      create_fork_from(project : Int32 | String, forked_from_id : Int32) : JSON::Any
    create_fork_from, 
    
  
    
      create_project(user_id : Int32, name : String, params : Hash = {} of String => String) : JSON::Anycreate_project(name : String, form : Hash = {} of String => String) : JSON::Any create_project, delete_project(project : Int32 | String) : JSON::Any delete_project, edit_project(project : Int32 | String, form : Hash = {} of String => String) : JSON::Any edit_project, edit_project_hook(project : Int32 | String, hook_id : Int32, url : String, form : Hash = {} of String => String) : JSON::Any edit_project_hook, edit_project_member(project : Int32 | String, user_id, access_level) : JSON::Any edit_project_member, fork_project(project : Int32 | String, form : Hash = {} of String => String) : JSON::Any fork_project, owned_projects(params : Hash | Nil = {} of String => String) : JSON::Any owned_projects, project(project : Int32 | String) : JSON::Any project, project_branch(project : Int32 | String, branch : String) : JSON::Any project_branch, project_branchs(project : Int32 | String, params : Hash = {} of String => String) : JSON::Any project_branchs, project_events(project : Int32 | String, params : Hash | Nil = nil) : JSON::Any project_events, project_hook(project : Int32 | String, hook_id : Int32) : JSON::Any project_hook, project_hooks(project : Int32 | String, params : Hash | Nil = nil) : JSON::Any project_hooks, project_member(project : Int32 | String, user_id : Int32) : JSON::Any project_member, project_members(project : Int32 | String, params : Hash = {} of String => String) : JSON::Any project_members, project_search(query, params : Hash = {} of String => String) : JSON::Any project_search, projects(params : Hash = {} of String => String) : JSON::Any projects, protect_project_branch(project : Int32 | String, branch : String) : JSON::Any protect_project_branch, remove_fork(project : Int32 | String) : JSON::Any remove_fork, remove_project_hook(project : Int32 | String, hook_id : Int32) : JSON::Any | Nil remove_project_hook, remove_project_member(project : Int32 | String, user_id : Int32) : JSON::Any remove_project_member, share_project(project : Int32 | String, group_id : Int32, group_access = nil) : JSON::Any share_project, star_project(project : Int32 | String) : JSON::Any star_project, starred_projects(params : Hash = {} of String => String) : JSON::Any starred_projects, unarchive_project(project : Int32 | String) : JSON::Any unarchive_project, unprotect_project_branch(project : Int32 | String, branch : String) : JSON::Any unprotect_project_branch, unstar_project(project : Int32 | String) : JSON::Any unstar_project, upload_file(project : Int32 | String, file : String) : JSON::Any
upload_file(project : Int32 | String, file : File) : JSON::Any upload_file
Instance methods inherited from module Gitlab::Client::Group
  
  
    
      add_group_member(group_id : Int32, user_id : Int32, access_level) : JSON::Any
    add_group_member, 
    
  
    
      create_group(name : String, path : String, form : Hash | Nil = nil) : JSON::Any
    create_group, 
    
  
    
      delete_group(group_id : Int32) : JSON::Any
    delete_group, 
    
  
    
      edit_group(group_id : Int32, form : Hash | Nil = nil) : JSON::Any
    edit_group, 
    
  
    
      edit_group_member(group_id : Int32, user_id : Int32, access_level) : JSON::Any
    edit_group_member, 
    
  
    
      group(group : Int32 | String) : JSON::Any
    group, 
    
  
    
      group_member(group_id : Int32, user_id : Int32) : JSON::Any
    group_member, 
    
  
    
      group_members(group_id : Int32, params : Hash | Nil = nil) : JSON::Any
    group_members, 
    
  
    
      group_projects(group_id : Int32, params : Hash | Nil = nil) : JSON::Any
    group_projects, 
    
  
    
      group_search(query, params : Hash = {} of String => String) : JSON::Any
    group_search, 
    
  
    
      groups(params : Hash | Nil = nil) : JSON::Any
    groups, 
    
  
    
      remove_group_member(group_id : Int32, user_id : Int32) : JSON::Any
    remove_group_member, 
    
  
    
      transfer_project_to_group(group_id, project_id) : JSON::Any
    transfer_project_to_group
    
  
    
    
  
    
  Instance methods inherited from module Gitlab::Client::Session
  
  
    
      session(login : String, password : String) : JSON::Any
    session
    
  
    
    
  
    
  Instance methods inherited from module Gitlab::Client::User
  
  
    
      add_email(user_id : Int32, email) : JSON::Anyadd_email(email) : JSON::Any add_email, block_user(user_id : Int32) : JSON::Any block_user, create_ssh_key(user_id, title, key) : JSON::Any
create_ssh_key(title, key) : JSON::Any create_ssh_key, create_user(email : String, password : String, username : String, form : Hash = {} of String => String) : JSON::Any create_user, delete_email(email_id : Int32, user_id : Int32) : JSON::Any
delete_email(email_id : Int32) : JSON::Any delete_email, delete_ssh_key(user_id : Int32, ssh_key_id : Int32) : JSON::Any
delete_ssh_key(ssh_key_id : Int32) : JSON::Any delete_ssh_key, delete_user(user_id : Int32) : JSON::Any delete_user, edit_user(user_id : Int32, form : Hash = {} of String => String) : JSON::Any edit_user, email(email_id : Int32) : JSON::Any email, emails(user_id : Int32) : JSON::Any
emails : JSON::Any emails, ssh_key(ssh_key_id : Int32) : JSON::Any ssh_key, ssh_keys(user_id : Int32) : JSON::Any
ssh_keys : JSON::Any ssh_keys, unblock_user(user_id : Int32) : JSON::Any unblock_user, user(user_id : Int32) : JSON::Any
user : JSON::Any user, user_search(query, params : Hash = {} of String => String) : JSON::Any user_search, users(params : Hash | Nil = nil) : JSON::Any users
Constructor Detail
Create a new client
Gitlab::Client.new("<endpoint>", "<token")Instance Method Detail
Return a Halite::Response by sending a DELETE http request
client.delete("/path", form: {
  first_name: "foo",
  last_name:  "bar"
})Return a Halite::Response by sending a GET method http request
client.get("/path", params: {
  first_name: "foo",
  last_name:  "bar"
})Return a Halite::Response by sending a HEAD method http request
client.head("/path", params: {
  first_name: "foo",
  last_name:  "bar"
})Return a Halite::Response by sending a PATCH http request
client.patch("/path", form: {
  first_name: "foo",
  last_name:  "bar"
})Return a Halite::Response by sending a POST http request
client.post("/path", form: {
  first_name: "foo",
  last_name:  "bar"
})Return a Halite::Response by sending a PUT http request
client.put("/path", form: {
  first_name: "foo",
  last_name:  "bar"
})