This commit is contained in:
kekskurse 2024-03-04 04:13:58 +01:00
parent 603509210c
commit b314b942b9
4 changed files with 77 additions and 1 deletions

View file

@ -12,9 +12,13 @@ Remove cards from the "Done" list which are older than 7 days
## move-backlog-card-with-date ## move-backlog-card-with-date
Move all cards in the Backlog where the due date is in the past to the "ToDo" list and remove the due date Move all cards in the Backlog where the due date is in the past to the "ToDo" list and remove the due date
## unassign-cards
Assign all card with have no assign user to the user how run the script
# Example Cron setup # Example Cron setup
``` ```
*/5 * * * * /home/pi/trello-bot-pi move-backlog-card-with-date */5 * * * * /home/pi/trello-bot-pi move-backlog-card-with-date
0 5 * * * /home/pi/trello-bot-pi reset-daily-tasks 0 5 * * * /home/pi/trello-bot-pi reset-daily-tasks
0 5 * * * /home/pi/trello-bot-pi remove-done-cards 0 5 * * * /home/pi/trello-bot-pi remove-done-cards
*/5 * * * * /home/pi/trello-bot-pi unassign-cards
``` ```

View file

@ -38,6 +38,11 @@ func main() {
Usage: "Move all cards from \"Backlog\" to \"ToDo\" where the End Date is in the past and remove the duedate", Usage: "Move all cards from \"Backlog\" to \"ToDo\" where the End Date is in the past and remove the duedate",
Action: moveBacklogCardWithDate, Action: moveBacklogCardWithDate,
}, },
{
Name: "unassign-cards",
Usage: "Assign all cards without member to current users",
Action: unassignCards,
},
}, },
} }

View file

@ -68,11 +68,32 @@ func moveBacklogCardWithDate(cCtx *cli.Context) error {
if err != nil { if err != nil {
return fmt.Errorf("cant add comment to card: %w", err) return fmt.Errorf("cant add comment to card: %w", err)
} }
card.Due = nil
err = card.Update(trello.Arguments{"due": "null"}) err = card.Update(trello.Arguments{"due": "null"})
if err != nil { if err != nil {
return fmt.Errorf("cant update card to remove due date: %w", err) return fmt.Errorf("cant update card to remove due date: %w", err)
} }
} else {
msg := fmt.Sprintf("Saved for resubmission on %v", card.Due.Format(time.DateTime))
comments, err := card.GetCommentActions()
if err != nil {
return fmt.Errorf("cant get last comments: %w", err)
}
foundComment := false
for _, comment := range comments {
if comment.Data.Text == msg {
foundComment = true
continue
}
}
if !foundComment {
_, err = card.AddComment(msg)
if err != nil {
return fmt.Errorf("cant get comment to card: %w", err)
}
}
} }
} }

46
unassign-cards.go Normal file
View file

@ -0,0 +1,46 @@
package main
import (
"fmt"
"github.com/adlio/trello"
"github.com/rs/zerolog/log"
"github.com/urfave/cli/v2"
)
func unassignCards(cCtx *cli.Context) error {
client := getTrelloClient()
board, err := client.GetBoard(trelloBordID, trello.Defaults())
if err != nil {
return fmt.Errorf("cant get bord: %w", err)
}
log.Debug().Interface("bord", board).Msg("get bord")
me, err := client.GetMyMember(trello.Defaults())
if err != nil {
return fmt.Errorf("cant get member: %w", err)
}
log.Debug().Str("name", me.FullName).Str("id", me.ID).Interface("me", me).Msg("Got User")
cards, err := board.GetCards(trello.Defaults())
if err != nil {
return fmt.Errorf("cant get cards from board: %w", err)
}
for _, card := range cards {
if len(card.IDMembers) > 0 {
continue
}
log.Debug().Interface("card", card).Msg("Add Member to card")
_, err = card.AddMemberID(me.ID)
if err != nil {
return fmt.Errorf("cant add member to card: %w", err)
}
}
return nil
}