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

42 lines
1.1 KiB
Crystal

require "./gitlab"
require "./list"
module AutoBoard
class Board
property project_id : Int32
property board_id : Int32
property lists : Array(List)
def initialize(@project_id : Int32, @board_id : Int32)
@lists = [] of List
end
def load_lists_from_gitlab
gitlab = Gitlab.client(endpoint: "https://gitlab.com/api/v4", private_token: "your_private_token")
board = gitlab.boards(@project_id, @board_id)
@lists = board.lists.map { |list| List.new(list.name, list.label.name) }
end
def save_lists_to_gitlab
gitlab = Gitlab.client(endpoint: "https://gitlab.com/api/v4", private_token: "your_private_token")
@lists.each do |list|
gitlab.create_list(@project_id, @board_id, list.name, label_id: list.label)
end
end
def apply_template(template : Template)
@lists = template.lists
save_lists_to_gitlab
end
def inspect
puts "Project ID: #{@project_id}"
puts "Board ID: #{@board_id}"
puts "Lists:"
@lists.each do |list|
puts "- #{list.name} (Label: #{list.label})"
end
end
end
end