Roblox to Trello Guide

image

Roblox to Trello Guide

Last Updated: July 23, 2018


Table of Contents

  1. Introduction
  2. Needed Resources
  3. Getting Started
  4. Your First Run
  5. Documentation

Introduction

With the recent update with the Roblox HttpService, developers on the Roblox platform are now able to take advantage of all the Trello API services through their game. In this tutorial, we will cover the use cases of Trello and how to connect your Roblox game with Trello. With a ready-to-use module on the Roblox library by @nstrike159, you will be able to use Trello to achieve maximum benefit for your Roblox games.


Needed Resources

Before you can begin with the tutorial, you will need the following resources to successfully follow the tutorial.

  1. A free account on Trello. https://trello.com/
  2. The Trello API Module. https://www.roblox.com/library/214265621/Trello-API-Original
  3. Basic understanding of Lua.

The following link/s can guide you further if needed:

  1. Trello API Reference. https://developers.trello.com/reference/
  2. Roblox Trello API Module Reference. https://getenveloped.com/trelloapi/ [SSL Expired at the moment]

Getting Started

The Trello API module gives you the general instructions to help you start. You can safely follow the instructions from Line 40 to 47 to set up your Trello API key and token. There is a script under the module that shows you an example of how to use the API. However, in this guide, we will not be making use of the example script.

A good practice is to store your Module Script into ServerScriptService as to prevent exploiters accessing your Trello API, should they manage to find a way.

There is a function within the comment section of the API that allows you to view the contents of a table, should it be returned. You can run the function whenever you need to know the contents of the table and view it in your console.

	function printTable(tab)
		local recrlimit=20--Sets recrusive limit so you do not crash studio if u want this off set it to some rediculous value like 10000
		local inarray=false
		local rep=0
		local function printArrInfo(arr)
			if #arr>recrlimit and inarray then
				return
			end
			for i,v in next,arr do
				if	type(v)=="table" then
					print(string.rep("\t",rep)..tostring(i).."={")
					inarray=true
					rep=rep+1
					printArrInfo(v)
				else
					print(string.rep("\t",rep)..tostring(i).."=".."\""..tostring(v).."\"")
				end
			end
			if inarray then
				rep=rep-1
				print(string.rep("\t",rep).."}")
				inarray=false
			end
		end
		printArrInfo(tab)
	end

Please be sure to have HttpService enabled before going further.


Your First Run

To begin using the API (after successfully entering your key and token), you should begin with requiring the module.

local TrelloAPI = require(game.ServerScriptService:WaitForChild("TrelloAPI"))

You have now successfully gained access to your module to which you can run any http requests it supports. To start off, we will need to determine which board you want to access. You can do so by running the GetBoardID function.

local TrelloAPI = require(game.ServerScriptService:WaitForChild("TrelloAPI"))
local BoardID = TrelloAPI:GetBoardID("Board Name Here")

Generally, you want to keep your board names unique as it grabs the board via the name. If you want to use the ShortLink option as they will always be unique, you can change that setting on Line 699 of the Main Module. The line would say

if p=="shortUrl" and it==name then

After successfully grabbing your BoardID, you can now choose what you want to do with the board. For the sake of this guide, we will be adding a card to a specific list on the board called “The List.” To grab the List ID, you need to use the GetListID function.

local TrelloAPI = require(game.ServerScriptService:WaitForChild("TrelloAPI"))
local BoardID = TrelloAPI:GetBoardID("Board Name Here")
local ListID = TrelloAPI:GetListID("The List",BoardID)

You have now successfully gotten the list id and posted it to the variable ListID. To add a card to that specific list, you use the AddCard function. Because it will return a table with the card information, we will assign the return to a variable called NewCard.

local TrelloAPI = require(game.ServerScriptService:WaitForChild("TrelloAPI"))
local BoardID = TrelloAPI:GetBoardID("Board Name Here")
local ListID = TrelloAPI:GetListID("The List",BoardID)

local NewCard = TrelloAPI:AddCard("Card Name","Card Description",ListID)

Now there are more parameters you can add to the NewCard including what position you want it, what labels to assign, but for the sake of this guide, we will keep it simple. You are able to refer to the documentation on adding more specific parameters.

You have successfully added a new card to a specific list on a specific board. You are able to run more functions using the Trello API, to which you can refer to via the documentation.


Documentation

https://getenveloped.com/trelloapi/

You can find the API references in there. At this moment in time, I am actively adding and updating, therefore you may not see the full list until later.


Side note: All functions are currently in progress of being added to the module including PUT and DELETE requests. When the documentation comes out, it will be updated to the latest version every so often.

214 Likes

I’ve been using this for a long time, it’s good that you made a tutorial on it, I’ll make sure to refer to this in the future.

17 Likes

You’re welcome, and I’ve fixed those typos. Thank you!

15 Likes

Very informative. :+1:
However I’m a bit “noob” so I’ll be contacting you on discord for some help from you. :wink:

10 Likes

(post withdrawn by author, will be automatically deleted in 24 hours unless flagged)

6 Likes

I’m a bit unfamiliar with Trello, what would be the use within Roblox? Would it be for update logs?

9 Likes

Several use cases of trello could include, but are not limited to:

  1. Ban List
  2. Admin List
  3. Update Logs
  4. Access List

You can add an update log card that would show everytime a user joins your game, or even create a ban list that’s persistent throughout all servers without actually going into studio.

8 Likes

I’ve linked to the documentation that will be updated for everyone to reference to.

1 Like

You could do this with data stores, of course. The point would be emphasized better by including that by using Trello, you can use the same ban list across multiple games.

2 Likes

Additionally, you don’t have to enter a Roblox game to ban somebody so that it persists on the datastore. This is more useful for group-oriented games whereas administrators can simply ban by going on Trello.

7 Likes

Of course you need to be careful with who you add as members to a board though. It’s a good idea to copy your board frequently even if you trust all the people you give access.

5 Likes

Definitely agreed. I am in multiple groups that take advantage of such a system, and it’s rare to find an abusing member considering they’re all mostly trustworthy. Good thing you mentioned it!

4 Likes

Amazing reference! Thanks for sharing!

3 Likes

This is a cool tutorial and is definitely helpful to those looking to make a system that uses Trello.

However, to all developers using the Trello API, please keep in mind that Trello is not meant to be used for things like data stores, feedback systems, or other mechanics that have a lot of things involved. Trello is meant to be used as a third party that keeps track of project management and development, as well as business productivity.

As someone who used to work at a group who used Trello for a ban system, there are DEFINITELY better options. We had over 5,000 bans on the board and it was practically unusable due to the mass amount of things being loaded onto the page. Imagine having millions of cards for datastores on a board. It wouldn’t even be able to load.

So, in conclusion and TL;DR, be careful what you use the Trello API for.

9 Likes

I’m wondering, what site/system would you recommend?

4 Likes

There are specific sites that are meant for such usage, however some of which are paid. My favorite non-paid one is currently slack, it holds tons of data stores and is efficient and reliable! You can learn more about slack here!

7 Likes

alright,

I heard some people about Slack before but never really got to using it/ I didn’t know that it could function as database.
Thanks for the recommendation!

3 Likes

Amazing tutorial, I’ve been using this API for the longest now, I mostly used it for an auto-ban system it works perfectly for that. Thanks, Enveloped for sharing :slight_smile:

4 Likes

This is EXTREMELY HELPFUL. I was looking all over for tutorials on this, but I didn’t know the creator made one! Not only that, but it teaches you how to get started and each function. Also, I am amazed that it has everything I could think of! Lastly, I am so happy I finally got accepted into the forum after a year of waiting, and this VERY HELPFUL post was the post I found out I got accepted on!

7 Likes

How would I make it so it adds labels and a person to ban list if they leave in a tool called handcuffs and also how would I make itsed if a person has a cert like a list contains there named like IRCFD certification if they have it they can drive a vehicle?

4 Likes