README

Go Trello API

Trello Logo

GoDoc Build Status Coverage Status

A #golang package to access the Trello API. Nearly 100% of the read-only surface area of the API is covered, as is creation and modification of Cards. Low-level infrastructure for features to modify Lists and Boards are easy to add... just not done yet.

Pull requests are welcome for missing features.

My current development focus is documentation, especially enhancing this README.md with more example use cases.

Installation

The Go Trello API has been Tested compatible with Go 1.7 on up. Its only dependency is the github.com/pkg/errors package. It otherwise relies only on the Go standard library.

go get github.com/adlio/trello

Basic Usage

All interaction starts with a trello.Client. Create one with your appKey and token:

client := trello.NewClient(appKey, token)

All API requests accept a trello.Arguments object. This object is a simple map[string]string, converted to query string arguments in the API call. Trello has sane defaults on API calls. We have a trello.Defaults() utility function which can be used when you desire the default Trello arguments. Internally, trello.Defaults() is an empty map, which translates to an empty query string.

board, err := client.GetBoard("bOaRdID", trello.Defaults())
if err != nil {
  // Handle error
}

Client Longevity

When getting Lists from Boards or Cards from Lists, the original trello.Client pointer is carried along in returned child objects. It's important to realize that this enables you to make additional API calls via functions invoked on the objects you receive:

client := trello.NewClient(appKey, token)
board, err := client.GetBoard("ID", trello.Defaults())

// GetLists makes an API call to /boards/:id/lists using credentials from `client`
lists, err := board.GetLists(trello.Defaults())

for _, list := range lists {
  // GetCards makes an API call to /lists/:id/cards using credentials from `client`
  cards, err := list.GetCards(trello.Defaults())
}

Get Trello Boards for a User

Boards can be retrieved directly by their ID (see example above), or by asking for all boards for a member:

member, err := client.GetMember("usernameOrId", trello.Defaults())
if err != nil {
  // Handle error
}

boards, err := member.GetBoards(trello.Defaults())
if err != nil {
  // Handle error
}

Get Trello Lists on a Board

board, err := client.GetBoard("bOaRdID", trello.Defaults())
if err != nil {
  // Handle error
}

lists, err := board.GetLists(trello.Defaults())
if err != nil {
  // Handle error
}

Get Trello Cards on a Board

board, err := client.GetBoard("bOaRdID", trello.Defaults())
if err != nil {
  // Handle error
}

cards, err := board.GetCards(trello.Defaults())
if err != nil {
  // Handle error
}

Get Trello Cards on a List

list, err := client.GetList("lIsTID", trello.Defaults())
if err != nil {
  // Handle error
}

cards, err := list.GetCards(trello.Defaults())
if err != nil {
  // Handle error
}

Creating and deleting a Board

A board can be created or deleted on the Board struct for the user whose credentials are being used.

  board := trello.NewBoard("My bucket list")

  // POST
  err := client.CreateBoard(&board, trello.Defaults())

  // DELETE
  err := board.Delete(trello.Defaults())
  if err != nil {
    fmt.Println(err)
  }
}

Adding a new Member to the Board

  board, err := client.GetBoard("bOaRdID", trello.Defaults())
  if err != nil {
    // Handle error
  }

  member := Member{Email: "user@example.com"}
  _, err := board.AddMember(&member, trello.Defaults()) 

  if err != nil {
    // Handle error
  }

Archiving, Unarchiving & Deleting a Card

// archive
err := card.Archive()

// unarchive
err := card.Unarchive()

// delete
err := card.Delete()

Creating a Card

The API provides several mechanisms for creating new cards.

Creating Cards from Scratch on the Client

This approach requires the most input data on the card:

card := trello.Card{
  Name: "Card Name",
  Desc: "Card description",
  Pos: 12345.678,
  IDList: "iDOfaLiSt",
  IDLabels: []string{"labelID1", "labelID2"},
}
err := client.CreateCard(card, trello.Defaults())
Creating Cards On a List
list, err := client.GetList("lIsTID", trello.Defaults())
list.AddCard(&trello.Card{ Name: "Card Name", Desc: "Card description" }, trello.Defaults())
Creating a Card by Copying Another Card
err := card.CopyToList("listIdNUmber", trello.Defaults())

Get Actions on a Board

board, err := client.GetBoard("bOaRdID", trello.Defaults())
if err != nil {
  // Handle error
}

actions, err := board.GetActions(trello.Defaults())
if err != nil {
  // Handle error
}

Get Actions on a Card

card, err := client.GetCard("cArDID", trello.Defaults())
if err != nil {
  // Handle error
}

actions, err := card.GetActions(trello.Defaults())
if err != nil {
  // Handle error
}

Rearrange Cards Within a List

err := card.MoveToTopOfList()
err = card.MoveToBottomOfList()
err = card.SetPos(12345.6789)

Moving a Card to Another List

err := card.MoveToList("listIdNUmber", trello.Defaults())

Card Ancestry

Trello provides ancestry tracking when cards are created as copies of other cards. This package provides functions for working with this data:


// ancestors will hold a slice of *trello.Cards, with the first
// being the card's parent, and the last being parent's parent's parent...
ancestors, err := card.GetAncestorCards(trello.Defaults())

// GetOriginatingCard() is an alias for the last element in the slice
// of ancestor cards.
ultimateParentCard, err := card.GetOriginatingCard(trello.Defaults())

Debug Logging

If you'd like to see all API calls logged, you can attach a .Logger (implementing Debugf(string, ...interface{})) to your client. The interface for the logger mimics logrus. Example usage:

logger := logrus.New()
logger.SetLevel(logrus.DebugLevel)
client := trello.NewClient(appKey, token)
client.Logger = logger
Expand ▾ Collapse ▴

Documentation

Index

Constants

View Source
const DefaultBaseURL = "https://api.trello.com/1"

    DefaultBaseURL is the default API base url used by Client to send requests to Trello.

    Variables

    This section is empty.

    Functions

    func IDToTime

    func IDToTime(id string) (t time.Time, err error)

      IDToTime is a convenience function. It takes a Trello ID string and extracts the encoded create time as time.Time or an error.

      func IsNotFound

      func IsNotFound(err error) bool

        IsNotFound takes an error and returns true exactly if the error is a not-found error.

        func IsPermissionDenied

        func IsPermissionDenied(err error) bool

          IsPermissionDenied takes an error and returns true exactly if the error is a permission-denied error.

          func IsRateLimit

          func IsRateLimit(err error) bool

            IsRateLimit takes an error and returns true exactly if the error is a rate-limit error.

            Types

            type Action

            type Action struct {
            	ID              string      `json:"id"`
            	IDMemberCreator string      `json:"idMemberCreator"`
            	Type            string      `json:"type"`
            	Date            time.Time   `json:"date"`
            	Data            *ActionData `json:"data,omitempty"`
            	MemberCreator   *Member     `json:"memberCreator,omitempty"`
            	Member          *Member     `json:"member,omitempty"`
            }

              Action represents Trello API actions Actions are immutable event traces generated whenever an action occurs in Trello. See https://developers.trello.com/reference/#actions.

              func (*Action) DidArchiveCard

              func (a *Action) DidArchiveCard() bool

                DidArchiveCard returns true if the card was updated

                func (*Action) DidChangeCardMembership

                func (a *Action) DidChangeCardMembership() bool

                  DidChangeCardMembership returns true if card's membership was changed

                  func (*Action) DidChangeListForCard

                  func (a *Action) DidChangeListForCard() bool

                    DidChangeListForCard returns true if this action created the card (in which case it caused it to enter its first list), archived the card (in which case it caused it to leave its last List), or was an updateCard action involving a change to the list. This is supporting functionality for ListDuration.

                    func (*Action) DidCommentCard

                    func (a *Action) DidCommentCard() bool

                      DidCommentCard returns true if card was commented

                      func (*Action) DidCreateCard

                      func (a *Action) DidCreateCard() bool

                        DidCreateCard returns true if this action created a card, false otherwise.

                        func (*Action) DidUnarchiveCard

                        func (a *Action) DidUnarchiveCard() bool

                          DidUnarchiveCard returns true if the card was unarchived

                          type ActionCollection

                          type ActionCollection []*Action

                            ActionCollection is an alias of []*Action, which sorts by the Action's ID. Which is the same as sorting by the Action's time of occurrence

                            func (ActionCollection) ContainsCardCreation

                            func (c ActionCollection) ContainsCardCreation() bool

                              ContainsCardCreation returns true if collection contains a card-create action

                              func (ActionCollection) FilterToCardCreationActions

                              func (c ActionCollection) FilterToCardCreationActions() ActionCollection

                                FilterToCardCreationActions returns this collection's card-create actions

                                func (ActionCollection) FilterToCardMembershipChangeActions

                                func (c ActionCollection) FilterToCardMembershipChangeActions() ActionCollection

                                  FilterToCardMembershipChangeActions returns the collection's card-change, archive and unarchive actions

                                  func (ActionCollection) FilterToListChangeActions

                                  func (c ActionCollection) FilterToListChangeActions() ActionCollection

                                    FilterToListChangeActions returns card-change-list actions

                                    func (ActionCollection) FirstCardCreateAction

                                    func (c ActionCollection) FirstCardCreateAction() *Action

                                      FirstCardCreateAction returns first card-create action

                                      func (ActionCollection) GetListDurations

                                      func (actions ActionCollection) GetListDurations() (durations []*ListDuration, err error)

                                        GetListDurations returns a slice of ListDurations based on the receiver Actions.

                                        func (ActionCollection) GetMemberDurations

                                        func (actions ActionCollection) GetMemberDurations() (durations []*MemberDuration, err error)

                                          GetMemberDurations is similar to GetListDurations. It returns a slice of MemberDuration objects, which describes the length of time each member was attached to this card. Durations are calculated such that being added to a card starts a timer for that member, and being removed starts it again (so that if a person is added and removed multiple times, the duration captures only the times which they were attached). Archiving the card also stops the timer.

                                          func (ActionCollection) LastCommentAction

                                          func (c ActionCollection) LastCommentAction() *Action

                                            LastCommentAction returns last comment action

                                            func (ActionCollection) Len

                                            func (c ActionCollection) Len() int

                                            func (ActionCollection) Less

                                            func (c ActionCollection) Less(i, j int) bool

                                            func (ActionCollection) Swap

                                            func (c ActionCollection) Swap(i, j int)

                                            type ActionData

                                            type ActionData struct {
                                            	Text           string          `json:"text,omitempty"`
                                            	List           *List           `json:"list,omitempty"`
                                            	Card           *ActionDataCard `json:"card,omitempty"`
                                            	CardSource     *ActionDataCard `json:"cardSource,omitempty"`
                                            	Board          *Board          `json:"board,omitempty"`
                                            	Old            *ActionDataCard `json:"old,omitempty"`
                                            	ListBefore     *List           `json:"listBefore,omitempty"`
                                            	ListAfter      *List           `json:"listAfter,omitempty"`
                                            	DateLastEdited time.Time       `json:"dateLastEdited"`
                                            
                                            	CheckItem *CheckItem `json:"checkItem"`
                                            	Checklist *Checklist `json:"checklist"`
                                            }

                                              ActionData represent the nested data of actions

                                              type ActionDataCard

                                              type ActionDataCard struct {
                                              	ID        string  `json:"id"`
                                              	Name      string  `json:"name"`
                                              	IDShort   int     `json:"idShort"`
                                              	ShortLink string  `json:"shortLink"`
                                              	Pos       float64 `json:"pos"`
                                              	Closed    bool    `json:"closed"`
                                              }

                                                ActionDataCard represent the nested 'card' data attribute of actions

                                                type AddedMembersResponse

                                                type AddedMembersResponse struct {
                                                	ID          string        `json:"id"`
                                                	Members     []*Member     `json:"members"`
                                                	Memberships []*Membership `json:"memberships"`
                                                }

                                                  AddedMembersResponse represents a response after adding a new member.

                                                  type Arguments

                                                  type Arguments map[string]string

                                                    Arguments are used for passing URL parameters to the client for making API calls.

                                                    func Defaults

                                                    func Defaults() Arguments

                                                      Defaults is a constructor for default Arguments.

                                                      func (Arguments) ToURLValues

                                                      func (args Arguments) ToURLValues() url.Values

                                                        ToURLValues returns the argument's URL value representation.

                                                        type Attachment

                                                        type Attachment struct {
                                                        	ID        string              `json:"id"`
                                                        	Name      string              `json:"name"`
                                                        	Pos       float32             `json:"pos"`
                                                        	Bytes     int                 `json:"int"`
                                                        	Date      string              `json:"date"`
                                                        	EdgeColor string              `json:"edgeColor"`
                                                        	IDMember  string              `json:"idMember"`
                                                        	IsUpload  bool                `json:"isUpload"`
                                                        	MimeType  string              `json:"mimeType"`
                                                        	Previews  []AttachmentPreview `json:"previews"`
                                                        	URL       string              `json:"url"`
                                                        }

                                                          Attachment represent the attachments of cards. This is a nested resource of Card. https://developers.trello.com/reference/#attachments

                                                          type AttachmentPreview

                                                          type AttachmentPreview struct {
                                                          	ID     string `json:"_id"`
                                                          	URL    string `json:"url"`
                                                          	Width  int    `json:"width"`
                                                          	Height int    `json:"height"`
                                                          	Bytes  int    `json:"bytes"`
                                                          	Scaled bool   `json:"scaled"`
                                                          }

                                                            AttachmentPreview is a nested attribute of Attachment.

                                                            type BackgroundImage

                                                            type BackgroundImage struct {
                                                            	Width  int    `json:"width"`
                                                            	Height int    `json:"height"`
                                                            	URL    string `json:"url"`
                                                            }

                                                              BackgroundImage is a nested resource of Board.

                                                              type Board

                                                              type Board struct {
                                                              	ID             string `json:"id"`
                                                              	Name           string `json:"name"`
                                                              	Desc           string `json:"desc"`
                                                              	Closed         bool   `json:"closed"`
                                                              	IDOrganization string `json:"idOrganization"`
                                                              	Pinned         bool   `json:"pinned"`
                                                              	Starred        bool   `json:"starred"`
                                                              	URL            string `json:"url"`
                                                              	ShortURL       string `json:"shortUrl"`
                                                              	Prefs          struct {
                                                              		PermissionLevel       string            `json:"permissionLevel"`
                                                              		Voting                string            `json:"voting"`
                                                              		Comments              string            `json:"comments"`
                                                              		Invitations           string            `json:"invitations"`
                                                              		SelfJoin              bool              `json:"selfjoin"`
                                                              		CardCovers            bool              `json:"cardCovers"`
                                                              		CardAging             string            `json:"cardAging"`
                                                              		CalendarFeedEnabled   bool              `json:"calendarFeedEnabled"`
                                                              		Background            string            `json:"background"`
                                                              		BackgroundColor       string            `json:"backgroundColor"`
                                                              		BackgroundImage       string            `json:"backgroundImage"`
                                                              		BackgroundImageScaled []BackgroundImage `json:"backgroundImageScaled"`
                                                              		BackgroundTile        bool              `json:"backgroundTile"`
                                                              		BackgroundBrightness  string            `json:"backgroundBrightness"`
                                                              		CanBePublic           bool              `json:"canBePublic"`
                                                              		CanBeOrg              bool              `json:"canBeOrg"`
                                                              		CanBePrivate          bool              `json:"canBePrivate"`
                                                              		CanInvite             bool              `json:"canInvite"`
                                                              	} `json:"prefs"`
                                                              	Subscribed bool `json:"subscribed"`
                                                              	LabelNames struct {
                                                              		Black  string `json:"black,omitempty"`
                                                              		Blue   string `json:"blue,omitempty"`
                                                              		Green  string `json:"green,omitempty"`
                                                              		Lime   string `json:"lime,omitempty"`
                                                              		Orange string `json:"orange,omitempty"`
                                                              		Pink   string `json:"pink,omitempty"`
                                                              		Purple string `json:"purple,omitempty"`
                                                              		Red    string `json:"red,omitempty"`
                                                              		Sky    string `json:"sky,omitempty"`
                                                              		Yellow string `json:"yellow,omitempty"`
                                                              	} `json:"labelNames"`
                                                              	Lists        []*List      `json:"lists"`
                                                              	Actions      []*Action    `json:"actions"`
                                                              	Organization Organization `json:"organization"`
                                                              	// contains filtered or unexported fields
                                                              }

                                                                Board represents a Trello Board. https://developers.trello.com/reference/#boardsid

                                                                func NewBoard

                                                                func NewBoard(name string) Board

                                                                  NewBoard is a constructor that sets the default values for Prefs.SelfJoin and Prefs.CardCovers also set by the API.

                                                                  func (*Board) AddMember

                                                                  func (b *Board) AddMember(member *Member, extraArgs ...Arguments) (response *AddedMembersResponse, err error)

                                                                    AddMember adds a new member to the board. https://developers.trello.com/reference#boardsidlabelnamesmembers

                                                                    func (*Board) ContainsCopyOfCard

                                                                    func (b *Board) ContainsCopyOfCard(cardID string, extraArgs ...Arguments) (bool, error)

                                                                      ContainsCopyOfCard accepts a card id and Arguments and returns true if the receiver Board contains a Card with the id.

                                                                      func (*Board) CreateList

                                                                      func (b *Board) CreateList(name string, extraArgs ...Arguments) (list *List, err error)

                                                                        CreateList creates a list. Attribute currently supported as extra argument: pos. Attributes currently known to be unsupported: idListSource.

                                                                        API Docs: https://developers.trello.com/reference/#lists-1

                                                                        func (*Board) CreatedAt

                                                                        func (b *Board) CreatedAt() time.Time

                                                                          CreatedAt returns a board's created-at attribute as time.Time.

                                                                          func (*Board) Delete

                                                                          func (b *Board) Delete(extraArgs ...Arguments) error

                                                                            Delete makes a DELETE call for the receiver Board.

                                                                            func (*Board) GetActions

                                                                            func (b *Board) GetActions(extraArgs ...Arguments) (actions ActionCollection, err error)

                                                                              GetActions make a GET call for a board's actions

                                                                              func (*Board) GetCards

                                                                              func (b *Board) GetCards(extraArgs ...Arguments) (cards []*Card, err error)

                                                                                GetCards takes Arguments and retrieves all Cards on a Board as slice or returns error.

                                                                                func (*Board) GetCustomFields

                                                                                func (b *Board) GetCustomFields(extraArgs ...Arguments) (customFields []*CustomField, err error)

                                                                                  GetCustomFields returns a slice of all receiver board's custom fields.

                                                                                  func (*Board) GetLabels

                                                                                  func (b *Board) GetLabels(extraArgs ...Arguments) (labels []*Label, err error)

                                                                                    GetLabels takes Arguments and returns a slice containing all labels of the receiver board or an error.

                                                                                    func (*Board) GetLists

                                                                                    func (b *Board) GetLists(extraArgs ...Arguments) (lists []*List, err error)

                                                                                      GetLists takes Arguments and returns the lists of the receiver Board.

                                                                                      func (*Board) GetMembers

                                                                                      func (b *Board) GetMembers(extraArgs ...Arguments) (members []*Member, err error)

                                                                                        GetMembers takes Arguments and returns a slice of all members of the Board or an error.

                                                                                        func (*Board) SetClient

                                                                                        func (b *Board) SetClient(newClient *Client)

                                                                                          SetClient can be used to override this Board's internal connection to the Trello API. Normally, this is set automatically after calls to GetBoard() from the Client. This method exists for special cases where functions which need a Client need to be called on Board structs which weren't created from a Client in the first place.

                                                                                          func (*Board) Update

                                                                                          func (b *Board) Update(extraArgs ...Arguments) error

                                                                                            Update PUTs the supported board attributes remote and updates the struct from the returned values.

                                                                                            type BoardWebhookRequest

                                                                                            type BoardWebhookRequest struct {
                                                                                            	Model  *Board
                                                                                            	Action *Action
                                                                                            }

                                                                                              BoardWebhookRequest is the object sent by Trello to a Webhook for Board-triggered webhooks.

                                                                                              func GetBoardWebhookRequest

                                                                                              func GetBoardWebhookRequest(r *http.Request) (whr *BoardWebhookRequest, err error)

                                                                                                GetBoardWebhookRequest takes a http.Request and returns the decoded body as BoardWebhookRequest or an error.

                                                                                                type ByFirstEntered

                                                                                                type ByFirstEntered []*ListDuration

                                                                                                  ByFirstEntered is a slice of ListDurations

                                                                                                  func (ByFirstEntered) Len

                                                                                                  func (durs ByFirstEntered) Len() int

                                                                                                    ByFirstEntered returns the length of the receiver.

                                                                                                    func (ByFirstEntered) Less

                                                                                                    func (durs ByFirstEntered) Less(i, j int) bool

                                                                                                      Less takes two indexes i and j and returns true exactly if the ListDuration at i was entered before j.

                                                                                                      func (ByFirstEntered) Swap

                                                                                                      func (durs ByFirstEntered) Swap(i, j int)

                                                                                                        Swap takes two indexes i and j and swaps the ListDurations at the indexes.

                                                                                                        type ByLongestDuration

                                                                                                        type ByLongestDuration []*MemberDuration

                                                                                                          ByLongestDuration is a slice of *MemberDuration

                                                                                                          func (ByLongestDuration) Len

                                                                                                          func (d ByLongestDuration) Len() int

                                                                                                            Len returns the length of the ByLongestDuration slice.

                                                                                                            func (ByLongestDuration) Less

                                                                                                            func (d ByLongestDuration) Less(i, j int) bool

                                                                                                              Less takes two indexes i and j and returns true exactly if the Duration at i is larger than the Duration at j.

                                                                                                              func (ByLongestDuration) Swap

                                                                                                              func (d ByLongestDuration) Swap(i, j int)

                                                                                                              type Card

                                                                                                              type Card struct {
                                                                                                              
                                                                                                              	// Key metadata
                                                                                                              	ID               string     `json:"id"`
                                                                                                              	IDShort          int        `json:"idShort"`
                                                                                                              	Name             string     `json:"name"`
                                                                                                              	Pos              float64    `json:"pos"`
                                                                                                              	Email            string     `json:"email"`
                                                                                                              	ShortLink        string     `json:"shortLink"`
                                                                                                              	ShortURL         string     `json:"shortUrl"`
                                                                                                              	URL              string     `json:"url"`
                                                                                                              	Desc             string     `json:"desc"`
                                                                                                              	Due              *time.Time `json:"due"`
                                                                                                              	DueComplete      bool       `json:"dueComplete"`
                                                                                                              	Closed           bool       `json:"closed"`
                                                                                                              	Subscribed       bool       `json:"subscribed"`
                                                                                                              	DateLastActivity *time.Time `json:"dateLastActivity"`
                                                                                                              
                                                                                                              	// Board
                                                                                                              	Board   *Board
                                                                                                              	IDBoard string `json:"idBoard"`
                                                                                                              
                                                                                                              	// List
                                                                                                              	List   *List
                                                                                                              	IDList string `json:"idList"`
                                                                                                              
                                                                                                              	// Badges
                                                                                                              	Badges struct {
                                                                                                              		Votes              int        `json:"votes"`
                                                                                                              		ViewingMemberVoted bool       `json:"viewingMemberVoted"`
                                                                                                              		Subscribed         bool       `json:"subscribed"`
                                                                                                              		Fogbugz            string     `json:"fogbugz,omitempty"`
                                                                                                              		CheckItems         int        `json:"checkItems"`
                                                                                                              		CheckItemsChecked  int        `json:"checkItemsChecked"`
                                                                                                              		Comments           int        `json:"comments"`
                                                                                                              		Attachments        int        `json:"attachments"`
                                                                                                              		Description        bool       `json:"description"`
                                                                                                              		Due                *time.Time `json:"due,omitempty"`
                                                                                                              	} `json:"badges"`
                                                                                                              
                                                                                                              	// Actions
                                                                                                              	Actions ActionCollection `json:"actions,omitempty"`
                                                                                                              
                                                                                                              	// Checklists
                                                                                                              	IDCheckLists    []string          `json:"idCheckLists"`
                                                                                                              	Checklists      []*Checklist      `json:"checklists,omitempty"`
                                                                                                              	CheckItemStates []*CheckItemState `json:"checkItemStates,omitempty"`
                                                                                                              
                                                                                                              	// Members
                                                                                                              	IDMembers      []string  `json:"idMembers,omitempty"`
                                                                                                              	IDMembersVoted []string  `json:"idMembersVoted,omitempty"`
                                                                                                              	Members        []*Member `json:"members,omitempty"`
                                                                                                              
                                                                                                              	// Attachments
                                                                                                              	IDAttachmentCover     string        `json:"idAttachmentCover"`
                                                                                                              	ManualCoverAttachment bool          `json:"manualCoverAttachment"`
                                                                                                              	Attachments           []*Attachment `json:"attachments,omitempty"`
                                                                                                              
                                                                                                              	// Labels
                                                                                                              	IDLabels []string `json:"idLabels,omitempty"`
                                                                                                              	Labels   []*Label `json:"labels,omitempty"`
                                                                                                              
                                                                                                              	// Custom Fields
                                                                                                              	CustomFieldItems []*CustomFieldItem `json:"customFieldItems,omitempty"`
                                                                                                              	// contains filtered or unexported fields
                                                                                                              }

                                                                                                                Card represents the card resource. https://developers.trello.com/reference/#card-object

                                                                                                                func (*Card) AddComment

                                                                                                                func (c *Card) AddComment(comment string, extraArgs ...Arguments) (*Action, error)

                                                                                                                  AddComment takes a comment string and Arguments and adds the comment to the card.

                                                                                                                  func (*Card) AddIDLabel

                                                                                                                  func (c *Card) AddIDLabel(labelID string) error

                                                                                                                    AddIDLabel receives a label id and adds the corresponding label or returns an error.

                                                                                                                    func (*Card) AddMemberID

                                                                                                                    func (c *Card) AddMemberID(memberID string) (member []*Member, err error)

                                                                                                                      AddMemberID receives a member id and adds the corresponding member to the card. Returns a list of the card's members or an error.

                                                                                                                      func (*Card) AddURLAttachment

                                                                                                                      func (c *Card) AddURLAttachment(attachment *Attachment, extraArgs ...Arguments) error

                                                                                                                        AddURLAttachment takes an Attachment and adds it to the card.

                                                                                                                        func (*Card) Archive

                                                                                                                        func (c *Card) Archive() error

                                                                                                                          Archive archives the card.

                                                                                                                          func (*Card) CopyToList

                                                                                                                          func (c *Card) CopyToList(listID string, extraArgs ...Arguments) (*Card, error)

                                                                                                                            CopyToList takes a list id and Arguments and returns the matching Card. The following Arguments are supported.

                                                                                                                            	Arguments["keepFromSource"] = "all"
                                                                                                                             Arguments["keepFromSource"] = "none"
                                                                                                                            	Arguments["keepFromSource"] = "attachments,checklists,comments"
                                                                                                                            

                                                                                                                            func (*Card) CreatedAt

                                                                                                                            func (c *Card) CreatedAt() time.Time

                                                                                                                              CreatedAt returns the receiver card's created-at attribute as time.Time.

                                                                                                                              func (*Card) CreatorMember

                                                                                                                              func (c *Card) CreatorMember() (*Member, error)

                                                                                                                                CreatorMember returns the member of the card who created it or and error. The creator is the member who is associated with the card's first action.

                                                                                                                                func (*Card) CreatorMemberID

                                                                                                                                func (c *Card) CreatorMemberID() (string, error)

                                                                                                                                  CreatorMemberID returns as string the id of the member who created the card or an error. The creator is the member who is associated with the card's first action.

                                                                                                                                  func (*Card) CustomFields

                                                                                                                                  func (c *Card) CustomFields(boardCustomFields []*CustomField) map[string]interface{}

                                                                                                                                    CustomFields returns the card's custom fields.

                                                                                                                                    func (*Card) Delete

                                                                                                                                    func (c *Card) Delete() error

                                                                                                                                      Delete deletes the card.

                                                                                                                                      func (*Card) GetActions

                                                                                                                                      func (c *Card) GetActions(extraArgs ...Arguments) (actions ActionCollection, err error)

                                                                                                                                        GetActions makes a GET for a card's actions

                                                                                                                                        func (*Card) GetAncestorCards

                                                                                                                                        func (c *Card) GetAncestorCards(extraArgs ...Arguments) (ancestors []*Card, err error)

                                                                                                                                          GetAncestorCards takes Arguments, GETs the card's ancestors and returns them as a slice.

                                                                                                                                          func (*Card) GetCommentActions

                                                                                                                                          func (c *Card) GetCommentActions() (actions ActionCollection, err error)

                                                                                                                                            GetCommentActions return only comment actions

                                                                                                                                            func (*Card) GetLastCommentAction

                                                                                                                                            func (c *Card) GetLastCommentAction() (*Action, error)

                                                                                                                                              GetLastCommentAction return only last comment action

                                                                                                                                              func (*Card) GetListChangeActions

                                                                                                                                              func (c *Card) GetListChangeActions() (actions ActionCollection, err error)

                                                                                                                                                GetListChangeActions retrieves a slice of Actions which resulted in changes to the card's active List. This includes the createCard and copyCard action (which place the card in its first list), and the updateCard:closed action (which remove it from its last list).

                                                                                                                                                This function is just an alias for:

                                                                                                                                                card.GetActions(Arguments{"filter": "createCard,copyCard,updateCard:idList,updateCard:closed", "limit": "1000"})
                                                                                                                                                

                                                                                                                                                func (*Card) GetListDurations

                                                                                                                                                func (c *Card) GetListDurations() (durations []*ListDuration, err error)

                                                                                                                                                  GetListDurations analyses a Card's actions to figure out how long it was in each List. It returns a slice of the ListDurations, one Duration per list, or an error.

                                                                                                                                                  func (*Card) GetMemberDurations

                                                                                                                                                  func (c *Card) GetMemberDurations() (durations []*MemberDuration, err error)

                                                                                                                                                    GetMemberDurations returns a slice containing all durations of a card.

                                                                                                                                                    func (*Card) GetMembers

                                                                                                                                                    func (c *Card) GetMembers(extraArgs ...Arguments) (members []*Member, err error)

                                                                                                                                                      GetMembers takes Arguments and returns a slice of all members of the Card or an error.

                                                                                                                                                      func (*Card) GetMembershipChangeActions

                                                                                                                                                      func (c *Card) GetMembershipChangeActions() (actions ActionCollection, err error)

                                                                                                                                                        GetMembershipChangeActions makes a GET call for a card's membership-change actions

                                                                                                                                                        func (*Card) GetOriginatingCard

                                                                                                                                                        func (c *Card) GetOriginatingCard(extraArgs ...Arguments) (*Card, error)

                                                                                                                                                          GetOriginatingCard takes Arguments, GETs ancestors and returns most recent ancestor card of the Card.

                                                                                                                                                          func (*Card) GetParentCard

                                                                                                                                                          func (c *Card) GetParentCard(extraArgs ...Arguments) (*Card, error)

                                                                                                                                                            GetParentCard retrieves the originating Card if the Card was created from a copy of another Card. Returns an error only when a low-level failure occurred. If this Card has no parent, a nil card and nil error are returned. In other words, the non-existence of a parent is not treated as an error.

                                                                                                                                                            func (*Card) MoveToBottomOfList

                                                                                                                                                            func (c *Card) MoveToBottomOfList() error

                                                                                                                                                              MoveToBottomOfList moves the card to the bottom of its list.

                                                                                                                                                              func (*Card) MoveToList

                                                                                                                                                              func (c *Card) MoveToList(listID string, extraArgs ...Arguments) error

                                                                                                                                                                MoveToList moves a card to a list given by listID.

                                                                                                                                                                func (*Card) MoveToTopOfList

                                                                                                                                                                func (c *Card) MoveToTopOfList() error

                                                                                                                                                                  MoveToTopOfList moves the card to the top of it's list.

                                                                                                                                                                  func (*Card) RemoveIDLabel

                                                                                                                                                                  func (c *Card) RemoveIDLabel(labelID string, label *Label) error

                                                                                                                                                                    RemoveIDLabel removes a label id from the card.

                                                                                                                                                                    func (*Card) RemoveMember

                                                                                                                                                                    func (c *Card) RemoveMember(memberID string) error

                                                                                                                                                                      RemoveMember receives the id of a member and removes the corresponding member from the card.

                                                                                                                                                                      func (*Card) SetClient

                                                                                                                                                                      func (c *Card) SetClient(newClient *Client)

                                                                                                                                                                        SetClient can be used to override this Card's internal connection to the Trello API. Normally, this is set automatically after calls to GetCard() from the Client or a List. This method exists for special cases where functions which need a Client need to be called on Card structs which weren't created from a Client in the first place.

                                                                                                                                                                        func (*Card) SetPos

                                                                                                                                                                        func (c *Card) SetPos(newPos float64) error

                                                                                                                                                                          SetPos sets a card's new position.

                                                                                                                                                                          func (*Card) Unarchive

                                                                                                                                                                          func (c *Card) Unarchive() error

                                                                                                                                                                            Unarchive unarchives the card.

                                                                                                                                                                            func (*Card) Update

                                                                                                                                                                            func (c *Card) Update(extraArgs ...Arguments) error

                                                                                                                                                                              Update UPDATEs the card's attributes.

                                                                                                                                                                              type CardWebhookRequest

                                                                                                                                                                              type CardWebhookRequest struct {
                                                                                                                                                                              	Model  *Card
                                                                                                                                                                              	Action *Action
                                                                                                                                                                              }

                                                                                                                                                                                CardWebhookRequest is the object sent by Trello to a Webhook for Card-triggered webhooks.

                                                                                                                                                                                func GetCardWebhookRequest

                                                                                                                                                                                func GetCardWebhookRequest(r *http.Request) (whr *CardWebhookRequest, err error)

                                                                                                                                                                                  GetCardWebhookRequest takes a http.Request and returns the decoded Body as CardWebhookRequest or an error.

                                                                                                                                                                                  type CheckItem

                                                                                                                                                                                  type CheckItem struct {
                                                                                                                                                                                  	ID          string  `json:"id"`
                                                                                                                                                                                  	Name        string  `json:"name"`
                                                                                                                                                                                  	State       string  `json:"state"`
                                                                                                                                                                                  	IDChecklist string  `json:"idChecklist,omitempty"`
                                                                                                                                                                                  	Pos         float64 `json:"pos,omitempty"`
                                                                                                                                                                                  }

                                                                                                                                                                                    CheckItem is a nested resource representing an item in Checklist.

                                                                                                                                                                                    type CheckItemState

                                                                                                                                                                                    type CheckItemState struct {
                                                                                                                                                                                    	IDCheckItem string `json:"idCheckItem"`
                                                                                                                                                                                    	State       string `json:"state"`
                                                                                                                                                                                    }

                                                                                                                                                                                      CheckItemState represents a CheckItem when it appears in CheckItemStates on a Card.

                                                                                                                                                                                      type Checklist

                                                                                                                                                                                      type Checklist struct {
                                                                                                                                                                                      	ID         string      `json:"id"`
                                                                                                                                                                                      	Name       string      `json:"name"`
                                                                                                                                                                                      	IDBoard    string      `json:"idBoard,omitempty"`
                                                                                                                                                                                      	IDCard     string      `json:"idCard,omitempty"`
                                                                                                                                                                                      	Pos        float64     `json:"pos,omitempty"`
                                                                                                                                                                                      	CheckItems []CheckItem `json:"checkItems,omitempty"`
                                                                                                                                                                                      	// contains filtered or unexported fields
                                                                                                                                                                                      }

                                                                                                                                                                                        Checklist represents Trello card's checklists. A card can have one zero or more checklists. https://developers.trello.com/reference/#checklist-object

                                                                                                                                                                                        func (*Checklist) CreateCheckItem

                                                                                                                                                                                        func (cl *Checklist) CreateCheckItem(name string, extraArgs ...Arguments) (item *CheckItem, err error)

                                                                                                                                                                                          CreateCheckItem creates a checkitem inside the checklist. Attribute currently supported as extra argument: pos. Attributes currently known to be unsupported: checked.

                                                                                                                                                                                          API Docs: https://developers.trello.com/reference#checklistsidcheckitems

                                                                                                                                                                                          type Client

                                                                                                                                                                                          type Client struct {
                                                                                                                                                                                          	Client  *http.Client
                                                                                                                                                                                          	Logger  logger
                                                                                                                                                                                          	BaseURL string
                                                                                                                                                                                          	Key     string
                                                                                                                                                                                          	Token   string
                                                                                                                                                                                          	// contains filtered or unexported fields
                                                                                                                                                                                          }

                                                                                                                                                                                            Client is the central object for making API calls. It wraps a http client, context, logger and identity configuration (Key and Token) of the Trello member.

                                                                                                                                                                                            func NewClient

                                                                                                                                                                                            func NewClient(key, token string) *Client

                                                                                                                                                                                              NewClient is a constructor for the Client. It takes the key and token credentials of a Trello member to authenticate and authorise requests with.

                                                                                                                                                                                              func (*Client) CreateBoard

                                                                                                                                                                                              func (c *Client) CreateBoard(board *Board, extraArgs ...Arguments) error

                                                                                                                                                                                                CreateBoard creates a board remote. Attribute currently supported as extra argument: defaultLists, powerUps. Attributes currently known to be unsupported: idBoardSource, keepFromSource.

                                                                                                                                                                                                API Docs: https://developers.trello.com/reference/#boardsid

                                                                                                                                                                                                func (*Client) CreateCard

                                                                                                                                                                                                func (c *Client) CreateCard(card *Card, extraArgs ...Arguments) error

                                                                                                                                                                                                  CreateCard takes a Card and Arguments and POSTs the card.

                                                                                                                                                                                                  func (*Client) CreateCheckItem

                                                                                                                                                                                                  func (c *Client) CreateCheckItem(checklist *Checklist, name string, extraArgs ...Arguments) (item *CheckItem, err error)

                                                                                                                                                                                                    CreateCheckItem creates a checkitem inside the given checklist. Attribute currently supported as extra argument: pos. Attributes currently known to be unsupported: checked.

                                                                                                                                                                                                    API Docs: https://developers.trello.com/reference#checklistsidcheckitems

                                                                                                                                                                                                    func (*Client) CreateChecklist

                                                                                                                                                                                                    func (c *Client) CreateChecklist(card *Card, name string, extraArgs ...Arguments) (checklist *Checklist, err error)

                                                                                                                                                                                                      CreateChecklist creates a checklist. Attribute currently supported as extra argument: pos. Attributes currently known to be unsupported: idChecklistSource.

                                                                                                                                                                                                      API Docs: https://developers.trello.com/reference#cardsidchecklists-1

                                                                                                                                                                                                      func (*Client) CreateList

                                                                                                                                                                                                      func (c *Client) CreateList(onBoard *Board, name string, extraArgs ...Arguments) (list *List, err error)

                                                                                                                                                                                                        CreateList creates a list. Attribute currently supported as extra argument: pos. Attributes currently known to be unsupported: idListSource.

                                                                                                                                                                                                        API Docs: https://developers.trello.com/reference/#lists-1

                                                                                                                                                                                                        func (*Client) CreateWebhook

                                                                                                                                                                                                        func (c *Client) CreateWebhook(webhook *Webhook) error

                                                                                                                                                                                                          CreateWebhook takes a Webhook, POSTs it and returns an error object.

                                                                                                                                                                                                          func (*Client) Delete

                                                                                                                                                                                                          func (c *Client) Delete(path string, args Arguments, target interface{}) error

                                                                                                                                                                                                            Delete takes a path, Arguments, and a target interface (e.g. Board or Card). It runs a DELETE request on the Trello API endpoint with the path and uses the Arguments as URL parameters. Then it returns either the target interface updated from the response or an error.

                                                                                                                                                                                                            func (*Client) Get

                                                                                                                                                                                                            func (c *Client) Get(path string, args Arguments, target interface{}) error

                                                                                                                                                                                                              Get takes a path, Arguments, and a target interface (e.g. Board or Card). It runs a GET request on the Trello API endpoint and the path and uses the Arguments as URL parameters. Then it returns either the target interface updated from the response or an error.

                                                                                                                                                                                                              func (*Client) GetBoard

                                                                                                                                                                                                              func (c *Client) GetBoard(boardID string, extraArgs ...Arguments) (board *Board, err error)

                                                                                                                                                                                                                GetBoard retrieves a Trello board by its ID.

                                                                                                                                                                                                                func (*Client) GetCard

                                                                                                                                                                                                                func (c *Client) GetCard(cardID string, extraArgs ...Arguments) (card *Card, err error)

                                                                                                                                                                                                                  GetCard receives a card id and Arguments and returns the card if found with the credentials given for the receiver Client. Returns an error otherwise.

                                                                                                                                                                                                                  func (*Client) GetChecklist

                                                                                                                                                                                                                  func (c *Client) GetChecklist(checklistID string, args Arguments) (checklist *Checklist, err error)

                                                                                                                                                                                                                    GetChecklist receives a checklist id and Arguments and returns the checklist if found with the credentials given for the receiver Client. Returns an error otherwise.

                                                                                                                                                                                                                    func (*Client) GetCustomField

                                                                                                                                                                                                                    func (c *Client) GetCustomField(fieldID string, extraArgs ...Arguments) (customField *CustomField, err error)

                                                                                                                                                                                                                      GetCustomField takes a field id string and Arguments and returns the matching custom Field.

                                                                                                                                                                                                                      func (*Client) GetLabel

                                                                                                                                                                                                                      func (c *Client) GetLabel(labelID string, extraArgs ...Arguments) (label *Label, err error)

                                                                                                                                                                                                                        GetLabel takes a label id and Arguments and returns the matching label (per Trello member) or an error.

                                                                                                                                                                                                                        func (*Client) GetList

                                                                                                                                                                                                                        func (c *Client) GetList(listID string, extraArgs ...Arguments) (list *List, err error)

                                                                                                                                                                                                                          GetList takes a list's id and Arguments and returns the matching list.

                                                                                                                                                                                                                          func (*Client) GetMember

                                                                                                                                                                                                                          func (c *Client) GetMember(memberID string, extraArgs ...Arguments) (member *Member, err error)

                                                                                                                                                                                                                            GetMember takes a member id and Arguments and returns a Member or an error.

                                                                                                                                                                                                                            func (*Client) GetMyBoards

                                                                                                                                                                                                                            func (c *Client) GetMyBoards(extraArgs ...Arguments) (boards []*Board, err error)

                                                                                                                                                                                                                              GetMyBoards returns a slice of all boards associated with the credentials set on the client.

                                                                                                                                                                                                                              func (*Client) GetMyMember

                                                                                                                                                                                                                              func (c *Client) GetMyMember(args Arguments) (member *Member, err error)

                                                                                                                                                                                                                                GetMyMember returns Member for the user authenticating the API call

                                                                                                                                                                                                                                func (*Client) GetMyNotifications

                                                                                                                                                                                                                                func (c *Client) GetMyNotifications(extraArgs ...Arguments) (notifications []*Notification, err error)

                                                                                                                                                                                                                                  GetMyNotifications returns the notifications of the authenticated user

                                                                                                                                                                                                                                  func (*Client) GetOrganization

                                                                                                                                                                                                                                  func (c *Client) GetOrganization(orgID string, extraArgs ...Arguments) (organization *Organization, err error)

                                                                                                                                                                                                                                    GetOrganization takes an organization id and Arguments and either GETs returns an Organization, or an error.

                                                                                                                                                                                                                                    func (*Client) GetToken

                                                                                                                                                                                                                                    func (c *Client) GetToken(tokenID string, extraArgs ...Arguments) (token *Token, err error)

                                                                                                                                                                                                                                      GetToken takes a token id and Arguments and GETs and returns the Token or an error.

                                                                                                                                                                                                                                      func (*Client) GetWebhook

                                                                                                                                                                                                                                      func (c *Client) GetWebhook(webhookID string, extraArgs ...Arguments) (webhook *Webhook, err error)

                                                                                                                                                                                                                                        GetWebhook takes a webhook id and Arguments, GETs the matching Webhook and returns it or an error.

                                                                                                                                                                                                                                        func (*Client) Post

                                                                                                                                                                                                                                        func (c *Client) Post(path string, args Arguments, target interface{}) error

                                                                                                                                                                                                                                          Post takes a path, Arguments, and a target interface (e.g. Board or Card). It runs a POST request on the Trello API endpoint with the path and uses the Arguments as URL parameters. Then it returns either the target interface updated from the response or an error.

                                                                                                                                                                                                                                          func (*Client) Put

                                                                                                                                                                                                                                          func (c *Client) Put(path string, args Arguments, target interface{}) error

                                                                                                                                                                                                                                            Put takes a path, Arguments, and a target interface (e.g. Board or Card). It runs a PUT request on the Trello API endpoint with the path and uses the Arguments as URL parameters. Then it returns either the target interface updated from the response or an error.

                                                                                                                                                                                                                                            func (*Client) PutBoard

                                                                                                                                                                                                                                            func (c *Client) PutBoard(board *Board, extraArgs ...Arguments) error

                                                                                                                                                                                                                                              PutBoard PUTs a board remote. Extra arguments are currently unsupported.

                                                                                                                                                                                                                                              API Docs: https://developers.trello.com/reference#idnext

                                                                                                                                                                                                                                              func (*Client) SearchBoards

                                                                                                                                                                                                                                              func (c *Client) SearchBoards(query string, extraArgs ...Arguments) (boards []*Board, err error)

                                                                                                                                                                                                                                                SearchBoards takes a query string and Arguments and returns a slice of Boards or an error.

                                                                                                                                                                                                                                                func (*Client) SearchCards

                                                                                                                                                                                                                                                func (c *Client) SearchCards(query string, extraArgs ...Arguments) (cards []*Card, err error)

                                                                                                                                                                                                                                                  SearchCards takes a query string and Arguments and returns a slice of Cards or an error.

                                                                                                                                                                                                                                                  func (*Client) SearchMembers

                                                                                                                                                                                                                                                  func (c *Client) SearchMembers(query string, extraArgs ...Arguments) (members []*Member, err error)

                                                                                                                                                                                                                                                    SearchMembers takes a query string and Arguments and returns a slice of Members or an error.

                                                                                                                                                                                                                                                    func (*Client) Throttle

                                                                                                                                                                                                                                                    func (c *Client) Throttle()

                                                                                                                                                                                                                                                      Throttle starts receiving throttles from throttle channel each ticker period.

                                                                                                                                                                                                                                                      func (*Client) WithContext

                                                                                                                                                                                                                                                      func (c *Client) WithContext(ctx context.Context) *Client

                                                                                                                                                                                                                                                        WithContext takes a context.Context, sets it as context on the client and returns a Client pointer.

                                                                                                                                                                                                                                                        type CustomField

                                                                                                                                                                                                                                                        type CustomField struct {
                                                                                                                                                                                                                                                        	ID          string `json:"id"`
                                                                                                                                                                                                                                                        	IDModel     string `json:"idModel"`
                                                                                                                                                                                                                                                        	IDModelType string `json:"modelType,omitempty"`
                                                                                                                                                                                                                                                        	FieldGroup  string `json:"fieldGroup"`
                                                                                                                                                                                                                                                        	Name        string `json:"name"`
                                                                                                                                                                                                                                                        	Pos         int    `json:"pos"`
                                                                                                                                                                                                                                                        	Display     struct {
                                                                                                                                                                                                                                                        		CardFront bool `json:"cardfront"`
                                                                                                                                                                                                                                                        	} `json:"display"`
                                                                                                                                                                                                                                                        	Type    string               `json:"type"`
                                                                                                                                                                                                                                                        	Options []*CustomFieldOption `json:"options"`
                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                          CustomField represents Trello's custom fields: "extra bits of structured data attached to cards when our users need a bit more than what Trello provides." https://developers.trello.com/reference/#custom-fields

                                                                                                                                                                                                                                                          type CustomFieldItem

                                                                                                                                                                                                                                                          type CustomFieldItem struct {
                                                                                                                                                                                                                                                          	ID            string           `json:"id,omitempty"`
                                                                                                                                                                                                                                                          	Value         CustomFieldValue `json:"value,omitempty"`
                                                                                                                                                                                                                                                          	IDValue       string           `json:"idValue,omitempty"`
                                                                                                                                                                                                                                                          	IDCustomField string           `json:"idCustomField,omitempty"`
                                                                                                                                                                                                                                                          	IDModel       string           `json:"idModel,omitempty"`
                                                                                                                                                                                                                                                          	IDModelType   string           `json:"modelType,omitempty"`
                                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                                            CustomFieldItem represents the custom field items of Trello a trello card.

                                                                                                                                                                                                                                                            type CustomFieldOption

                                                                                                                                                                                                                                                            type CustomFieldOption struct {
                                                                                                                                                                                                                                                            	ID            string `json:"id"`
                                                                                                                                                                                                                                                            	IDCustomField string `json:"idCustomField"`
                                                                                                                                                                                                                                                            	Value         struct {
                                                                                                                                                                                                                                                            		Text string `json:"text"`
                                                                                                                                                                                                                                                            	} `json:"value"`
                                                                                                                                                                                                                                                            	Color string `json:"color,omitempty"`
                                                                                                                                                                                                                                                            	Pos   int    `json:"pos"`
                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                              CustomFieldOption are nested resources of CustomFields

                                                                                                                                                                                                                                                              type CustomFieldValue

                                                                                                                                                                                                                                                              type CustomFieldValue struct {
                                                                                                                                                                                                                                                              	// contains filtered or unexported fields
                                                                                                                                                                                                                                                              }

                                                                                                                                                                                                                                                                CustomFieldValue represents the custom field value struct

                                                                                                                                                                                                                                                                func NewCustomFieldValue

                                                                                                                                                                                                                                                                func NewCustomFieldValue(val interface{}) CustomFieldValue

                                                                                                                                                                                                                                                                  NewCustomFieldValue the custom field constructor

                                                                                                                                                                                                                                                                  func (CustomFieldValue) Get

                                                                                                                                                                                                                                                                  func (v CustomFieldValue) Get() interface{}

                                                                                                                                                                                                                                                                    Get the custom field value getter

                                                                                                                                                                                                                                                                    func (CustomFieldValue) MarshalJSON

                                                                                                                                                                                                                                                                    func (v CustomFieldValue) MarshalJSON() ([]byte, error)

                                                                                                                                                                                                                                                                      MarshalJSON the custom field marchaller

                                                                                                                                                                                                                                                                      func (CustomFieldValue) String

                                                                                                                                                                                                                                                                      func (v CustomFieldValue) String() string

                                                                                                                                                                                                                                                                        String the custom field String method

                                                                                                                                                                                                                                                                        func (*CustomFieldValue) UnmarshalJSON

                                                                                                                                                                                                                                                                        func (v *CustomFieldValue) UnmarshalJSON(b []byte) error

                                                                                                                                                                                                                                                                          UnmarshalJSON the custom field umarshaller

                                                                                                                                                                                                                                                                          type Label

                                                                                                                                                                                                                                                                          type Label struct {
                                                                                                                                                                                                                                                                          	ID      string `json:"id"`
                                                                                                                                                                                                                                                                          	IDBoard string `json:"idBoard"`
                                                                                                                                                                                                                                                                          	Name    string `json:"name"`
                                                                                                                                                                                                                                                                          	Color   string `json:"color"`
                                                                                                                                                                                                                                                                          	Uses    int    `json:"uses"`
                                                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                                                            Label represents a Trello label. Labels are defined per board, and can be applied to the cards on that board. https://developers.trello.com/reference/#label-object

                                                                                                                                                                                                                                                                            type List

                                                                                                                                                                                                                                                                            type List struct {
                                                                                                                                                                                                                                                                            	ID         string  `json:"id"`
                                                                                                                                                                                                                                                                            	Name       string  `json:"name"`
                                                                                                                                                                                                                                                                            	IDBoard    string  `json:"idBoard,omitempty"`
                                                                                                                                                                                                                                                                            	Closed     bool    `json:"closed"`
                                                                                                                                                                                                                                                                            	Pos        float32 `json:"pos,omitempty"`
                                                                                                                                                                                                                                                                            	Subscribed bool    `json:"subscribed"`
                                                                                                                                                                                                                                                                            	Board      *Board  `json:"board,omitempty"`
                                                                                                                                                                                                                                                                            	Cards      []*Card `json:"cards,omitempty"`
                                                                                                                                                                                                                                                                            	// contains filtered or unexported fields
                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                              List represents Trello lists. https://developers.trello.com/reference/#list-object

                                                                                                                                                                                                                                                                              func ListAfterAction

                                                                                                                                                                                                                                                                              func ListAfterAction(a *Action) *List

                                                                                                                                                                                                                                                                                ListAfterAction calculates which List the card ended up in after this action completed. Returns nil when the action resulted in the card being archived (in which case we consider it to not be in a list anymore), or when the action isn't related to a list at all (in which case this is a nonsensical question to ask).

                                                                                                                                                                                                                                                                                func (*List) AddCard

                                                                                                                                                                                                                                                                                func (l *List) AddCard(card *Card, extraArgs ...Arguments) error

                                                                                                                                                                                                                                                                                  AddCard takes a Card and Arguments and adds the card to the receiver list.

                                                                                                                                                                                                                                                                                  func (*List) CreatedAt

                                                                                                                                                                                                                                                                                  func (l *List) CreatedAt() time.Time

                                                                                                                                                                                                                                                                                    CreatedAt returns the time.Time from the list's id.

                                                                                                                                                                                                                                                                                    func (*List) GetActions

                                                                                                                                                                                                                                                                                    func (l *List) GetActions(extraArgs ...Arguments) (actions ActionCollection, err error)

                                                                                                                                                                                                                                                                                      GetActions makes a GET call for a list's actions

                                                                                                                                                                                                                                                                                      func (*List) GetCards

                                                                                                                                                                                                                                                                                      func (l *List) GetCards(extraArgs ...Arguments) (cards []*Card, err error)

                                                                                                                                                                                                                                                                                        GetCards retrieves all Cards in a List or an error if something goes wrong.

                                                                                                                                                                                                                                                                                        func (*List) SetClient

                                                                                                                                                                                                                                                                                        func (l *List) SetClient(newClient *Client)

                                                                                                                                                                                                                                                                                          SetClient can be used to override this List's internal connection to the Trello API. Normally, this is set automatically after calls to GetList() from the Client. This method exists for special cases where functions which need a Client need to be called on List structs which weren't created from a Client in the first place.

                                                                                                                                                                                                                                                                                          func (*List) Update

                                                                                                                                                                                                                                                                                          func (l *List) Update(extraArgs ...Arguments) error

                                                                                                                                                                                                                                                                                            Update UPDATEs the list's attributes. API Docs: https://developers.trello.com/reference/#listsid-1

                                                                                                                                                                                                                                                                                            type ListDuration

                                                                                                                                                                                                                                                                                            type ListDuration struct {
                                                                                                                                                                                                                                                                                            	ListID       string
                                                                                                                                                                                                                                                                                            	ListName     string
                                                                                                                                                                                                                                                                                            	Duration     time.Duration
                                                                                                                                                                                                                                                                                            	FirstEntered time.Time
                                                                                                                                                                                                                                                                                            	TimesInList  int
                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                              ListDuration represents the time a Card has been or was in list.

                                                                                                                                                                                                                                                                                              func (*ListDuration) AddDuration

                                                                                                                                                                                                                                                                                              func (l *ListDuration) AddDuration(d time.Duration)

                                                                                                                                                                                                                                                                                                AddDuration takes a duration and adds it to the ListDuration's Duration. Also increments TimesInList.

                                                                                                                                                                                                                                                                                                type ListWebhookRequest

                                                                                                                                                                                                                                                                                                type ListWebhookRequest struct {
                                                                                                                                                                                                                                                                                                	Model  *List
                                                                                                                                                                                                                                                                                                	Action *Action
                                                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                                                  ListWebhookRequest is the object sent by Trello to a Webhook for List-triggered webhooks.

                                                                                                                                                                                                                                                                                                  func GetListWebhookRequest

                                                                                                                                                                                                                                                                                                  func GetListWebhookRequest(r *http.Request) (whr *ListWebhookRequest, err error)

                                                                                                                                                                                                                                                                                                    GetListWebhookRequest takes a http.Request and returns the decoded Body as ListWebhookRequest or an error.

                                                                                                                                                                                                                                                                                                    type Member

                                                                                                                                                                                                                                                                                                    type Member struct {
                                                                                                                                                                                                                                                                                                    	ID              string   `json:"id"`
                                                                                                                                                                                                                                                                                                    	Username        string   `json:"username"`
                                                                                                                                                                                                                                                                                                    	FullName        string   `json:"fullName"`
                                                                                                                                                                                                                                                                                                    	Initials        string   `json:"initials"`
                                                                                                                                                                                                                                                                                                    	AvatarHash      string   `json:"avatarHash"`
                                                                                                                                                                                                                                                                                                    	Email           string   `json:"email"`
                                                                                                                                                                                                                                                                                                    	IDBoards        []string `json:"idBoards"`
                                                                                                                                                                                                                                                                                                    	IDOrganizations []string `json:"idOrganizations"`
                                                                                                                                                                                                                                                                                                    	// contains filtered or unexported fields
                                                                                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                                                                                      Member represents a Trello member. https://developers.trello.com/reference/#member-object

                                                                                                                                                                                                                                                                                                      func (*Member) GetBoards

                                                                                                                                                                                                                                                                                                      func (m *Member) GetBoards(extraArgs ...Arguments) (boards []*Board, err error)

                                                                                                                                                                                                                                                                                                        GetBoards returns a slice of all public boards of the receiver Member.

                                                                                                                                                                                                                                                                                                        type MemberDuration

                                                                                                                                                                                                                                                                                                        type MemberDuration struct {
                                                                                                                                                                                                                                                                                                        	MemberID   string
                                                                                                                                                                                                                                                                                                        	MemberName string
                                                                                                                                                                                                                                                                                                        	FirstAdded time.Time
                                                                                                                                                                                                                                                                                                        	Duration   time.Duration
                                                                                                                                                                                                                                                                                                        	// contains filtered or unexported fields
                                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                                          MemberDuration is used to track the periods of time which a user (member) is attached to a card.

                                                                                                                                                                                                                                                                                                          type Membership

                                                                                                                                                                                                                                                                                                          type Membership struct {
                                                                                                                                                                                                                                                                                                          	ID          string `json:"id"`
                                                                                                                                                                                                                                                                                                          	MemberID    string `json:"idMember"`
                                                                                                                                                                                                                                                                                                          	Type        string `json:"memberType"`
                                                                                                                                                                                                                                                                                                          	Unconfirmed bool   `json:"unconfirmed"`
                                                                                                                                                                                                                                                                                                          	Deactivated bool   `json:"deactivated"`
                                                                                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                                                                                            Membership represents a Trello membership. https://developers.trello.com/reference#memberships-nested-resource

                                                                                                                                                                                                                                                                                                            type Notification

                                                                                                                                                                                                                                                                                                            type Notification struct {
                                                                                                                                                                                                                                                                                                            	ID              string           `json:"id"`
                                                                                                                                                                                                                                                                                                            	IDAction        string           `json:"idAction"`
                                                                                                                                                                                                                                                                                                            	Unread          bool             `json:"unread"`
                                                                                                                                                                                                                                                                                                            	Type            string           `json:"type"`
                                                                                                                                                                                                                                                                                                            	IDMemberCreator string           `json:"idMemberCreator"`
                                                                                                                                                                                                                                                                                                            	Date            time.Time        `json:"date"`
                                                                                                                                                                                                                                                                                                            	DateRead        time.Time        `json:"dataRead"`
                                                                                                                                                                                                                                                                                                            	Data            NotificationData `json:"data,omitempty"`
                                                                                                                                                                                                                                                                                                            	MemberCreator   *Member          `json:"memberCreator,omitempty"`
                                                                                                                                                                                                                                                                                                            	// contains filtered or unexported fields
                                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                                              Notification represents a Trello Notification. https://developers.trello.com/reference/#notifications

                                                                                                                                                                                                                                                                                                              type NotificationData

                                                                                                                                                                                                                                                                                                              type NotificationData struct {
                                                                                                                                                                                                                                                                                                              	Text  string                 `json:"text"`
                                                                                                                                                                                                                                                                                                              	Card  *NotificationDataCard  `json:"card,omitempty"`
                                                                                                                                                                                                                                                                                                              	Board *NotificationDataBoard `json:"board,omitempty"`
                                                                                                                                                                                                                                                                                                              }

                                                                                                                                                                                                                                                                                                                NotificationData represents the 'notificaiton.data'

                                                                                                                                                                                                                                                                                                                type NotificationDataBoard

                                                                                                                                                                                                                                                                                                                type NotificationDataBoard struct {
                                                                                                                                                                                                                                                                                                                	ID        string `json:"id"`
                                                                                                                                                                                                                                                                                                                	ShortLink string `json:"shortLink"`
                                                                                                                                                                                                                                                                                                                	Name      string `json:"name"`
                                                                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                                                                  NotificationDataBoard represents the 'notification.data.board'

                                                                                                                                                                                                                                                                                                                  type NotificationDataCard

                                                                                                                                                                                                                                                                                                                  type NotificationDataCard struct {
                                                                                                                                                                                                                                                                                                                  	ID        string `json:"id"`
                                                                                                                                                                                                                                                                                                                  	IDShort   int    `json:"idShort"`
                                                                                                                                                                                                                                                                                                                  	Name      string `json:"name"`
                                                                                                                                                                                                                                                                                                                  	ShortLink string `json:"shortLink"`
                                                                                                                                                                                                                                                                                                                  }

                                                                                                                                                                                                                                                                                                                    NotificationDataCard represents the 'notification.data.card'

                                                                                                                                                                                                                                                                                                                    type Organization

                                                                                                                                                                                                                                                                                                                    type Organization struct {
                                                                                                                                                                                                                                                                                                                    	ID          string   `json:"id"`
                                                                                                                                                                                                                                                                                                                    	Name        string   `json:"name"`
                                                                                                                                                                                                                                                                                                                    	DisplayName string   `json:"displayName"`
                                                                                                                                                                                                                                                                                                                    	Desc        string   `json:"desc"`
                                                                                                                                                                                                                                                                                                                    	URL         string   `json:"url"`
                                                                                                                                                                                                                                                                                                                    	Website     string   `json:"website"`
                                                                                                                                                                                                                                                                                                                    	Products    []string `json:"products"`
                                                                                                                                                                                                                                                                                                                    	PowerUps    []string `json:"powerUps"`
                                                                                                                                                                                                                                                                                                                    	// contains filtered or unexported fields
                                                                                                                                                                                                                                                                                                                    }

                                                                                                                                                                                                                                                                                                                      Organization represents a Trello organization or team, i.e. a collection of members and boards. https://developers.trello.com/reference/#organizations

                                                                                                                                                                                                                                                                                                                      func (*Organization) GetMembers

                                                                                                                                                                                                                                                                                                                      func (o *Organization) GetMembers(extraArgs ...Arguments) (members []*Member, err error)

                                                                                                                                                                                                                                                                                                                        GetMembers takes Arguments and returns a slice of all members of the organization or an error.

                                                                                                                                                                                                                                                                                                                        type Permission

                                                                                                                                                                                                                                                                                                                        type Permission struct {
                                                                                                                                                                                                                                                                                                                        	IDModel   string `json:"idModel"`
                                                                                                                                                                                                                                                                                                                        	ModelType string `json:"modelType"`
                                                                                                                                                                                                                                                                                                                        	Read      bool   `json:"read"`
                                                                                                                                                                                                                                                                                                                        	Write     bool   `json:"write"`
                                                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                                                          Permission represent a Token's permissions.

                                                                                                                                                                                                                                                                                                                          type SearchModifier

                                                                                                                                                                                                                                                                                                                          type SearchModifier struct {
                                                                                                                                                                                                                                                                                                                          	Text string `json:"text"`
                                                                                                                                                                                                                                                                                                                          }

                                                                                                                                                                                                                                                                                                                            SearchModifier is wrapper for a search string.

                                                                                                                                                                                                                                                                                                                            type SearchOptions

                                                                                                                                                                                                                                                                                                                            type SearchOptions struct {
                                                                                                                                                                                                                                                                                                                            	Terms      []SearchTerm     `json:"terms"`
                                                                                                                                                                                                                                                                                                                            	Modifiers  []SearchModifier `json:"modifiers,omitempty"`
                                                                                                                                                                                                                                                                                                                            	ModelTypes []string         `json:"modelTypes,omitempty"`
                                                                                                                                                                                                                                                                                                                            	Partial    bool             `json:"partial"`
                                                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                                                              SearchOptions contains options for search requests.

                                                                                                                                                                                                                                                                                                                              type SearchResult

                                                                                                                                                                                                                                                                                                                              type SearchResult struct {
                                                                                                                                                                                                                                                                                                                              	Options SearchOptions `json:"options"`
                                                                                                                                                                                                                                                                                                                              	Actions []*Action     `json:"actions,omitempty"`
                                                                                                                                                                                                                                                                                                                              	Cards   []*Card       `json:"cards,omitempty"`
                                                                                                                                                                                                                                                                                                                              	Boards  []*Board      `json:"boards,omitempty"`
                                                                                                                                                                                                                                                                                                                              	Members []*Member     `json:"members,omitempty"`
                                                                                                                                                                                                                                                                                                                              }

                                                                                                                                                                                                                                                                                                                                SearchResult represents a search result as collections of various types returned by a search, e.g. Cards or Boards.

                                                                                                                                                                                                                                                                                                                                type SearchTerm

                                                                                                                                                                                                                                                                                                                                type SearchTerm struct {
                                                                                                                                                                                                                                                                                                                                	Text    string `json:"text"`
                                                                                                                                                                                                                                                                                                                                	Negated bool   `json:"negated,omitempty"`
                                                                                                                                                                                                                                                                                                                                }

                                                                                                                                                                                                                                                                                                                                  SearchTerm is a string that may be negated in a search query.

                                                                                                                                                                                                                                                                                                                                  type Token

                                                                                                                                                                                                                                                                                                                                  type Token struct {
                                                                                                                                                                                                                                                                                                                                  	ID          string       `json:"id"`
                                                                                                                                                                                                                                                                                                                                  	DateCreated time.Time    `json:"dateCreated"`
                                                                                                                                                                                                                                                                                                                                  	DateExpires *time.Time   `json:"dateExpires"`
                                                                                                                                                                                                                                                                                                                                  	IDMember    string       `json:"idMember"`
                                                                                                                                                                                                                                                                                                                                  	Identifier  string       `json:"identifier"`
                                                                                                                                                                                                                                                                                                                                  	Permissions []Permission `json:"permissions"`
                                                                                                                                                                                                                                                                                                                                  	// contains filtered or unexported fields
                                                                                                                                                                                                                                                                                                                                  }

                                                                                                                                                                                                                                                                                                                                    Token represents Trello tokens. Tokens can be used for setting up Webhooks among other things. https://developers.trello.com/reference/#tokens

                                                                                                                                                                                                                                                                                                                                    func (*Token) GetWebhooks

                                                                                                                                                                                                                                                                                                                                    func (t *Token) GetWebhooks(extraArgs ...Arguments) (webhooks []*Webhook, err error)

                                                                                                                                                                                                                                                                                                                                      GetWebhooks takes Arguments and returns a list of all Webhooks for the receiver Token or an error.

                                                                                                                                                                                                                                                                                                                                      type Webhook

                                                                                                                                                                                                                                                                                                                                      type Webhook struct {
                                                                                                                                                                                                                                                                                                                                      	ID          string `json:"id,omitempty"`
                                                                                                                                                                                                                                                                                                                                      	IDModel     string `json:"idModel"`
                                                                                                                                                                                                                                                                                                                                      	Description string `json:"description"`
                                                                                                                                                                                                                                                                                                                                      	CallbackURL string `json:"callbackURL"`
                                                                                                                                                                                                                                                                                                                                      	Active      bool   `json:"active"`
                                                                                                                                                                                                                                                                                                                                      	// contains filtered or unexported fields
                                                                                                                                                                                                                                                                                                                                      }

                                                                                                                                                                                                                                                                                                                                        Webhook is the Go representation of a webhook registered in Trello's systems. Used when creating, modifying or deleting webhooks. https://developers.trello.com/reference/#webhook-object

                                                                                                                                                                                                                                                                                                                                        func (*Webhook) Delete

                                                                                                                                                                                                                                                                                                                                        func (w *Webhook) Delete(extraArgs ...Arguments) error

                                                                                                                                                                                                                                                                                                                                          Delete takes a webhook and deletes it