autoboard/src/autoboard/gitlab.cr
2023-01-12 00:17:10 +01:00

36 lines
1,022 B
Crystal

require "http"
module AutoBoard
class Gitlab
private_token : String
endpoint : String
def initialize(private_token : String)
@private_token = private_token
@endpoint = "https://gitlab.com/api/v4"
end
def get_boards(project_id : Int32)
headers = {"Private-Token" => @private_token}
response = HTTP.get("#{@endpoint}/projects/#{project_id}/boards", headers: headers)
JSON.parse(response.body)
end
def create_board(project_id : Int32, name : String)
headers = {"Private-Token" => @private_token}
body = JSON.dump({name: name})
response = HTTP.post("#{@endpoint}/projects/#{project_id}/boards", body: body, headers: headers)
JSON.parse(response.body)
end
def delete_board(project_id : Int32, board_id : Int32)
headers = {"Private-Token" => @private_token}
response = HTTP.delete("#{@endpoint}/projects/#{project_id}/boards/#{board_id}", headers: headers)
end
# autres méthodes selon les besoins
end
end