如何解决“trello::error:找不到标签”?

pbgvytdp  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(340)

我正在开发一个应用程序,它将通过trello板,对于没有特定标签的卡片,如“电子邮件已发送”,发送一封电子邮件。我在一块电路板上实现了完全功能,但当我切换到不同的电路板时,会出现以下错误:

E, [2021-07-26T19:10:07.774909 #313] ERROR -- : [404 POST https://api.trello.com/1/cards/60fb1d96ac68e617ff121cff/idLabels]: label not found
Trello::Error: label not found
from /usr/local/bundle/gems/ruby-trello-2.3.1/lib/trello/client.rb:99:in `invoke_verb'

我认为这与标签被限定在特定的电路板或类似的地方的方式有关。
编辑:正如@engineersmnky指出的,下面的内容可能与此无关,但我将保留它以供参考:
但是,如果您将错误中的url放入chrome浏览器,您将获得以下页面:

这似乎意味着权限问题。
我对这两个帐户具有相同的api权限,因此我不确定问题出在哪里。
下面是底层代码:我从不同的上下文中将它组合在一起,以避免包含不相关的代码,所以希望它有意义。


# Main flow of code

  def iterate_through_boards
    @boards = Trello::Board.all
    boards.each do |board|
      @board = board

      iterate_through_lists
    end
  end

  def iterate_through_lists
    board.lists.each do |list|

      #Ignore list_ac_campaign_id for now. It gets pulled from elsewhere
      email_sent_label = assign_sent_label(list_ac_campaign_id)

      cards = list.cards

      iterate_through_cards(cards, email_sent_label)
    end
  end

  def iterate_through_cards(cards, email_sent_label)
    cards.each do |card|
      next if card.card_labels.include?(email_sent_label.id)

      send_email_if_needed.(card, order_number, email_sent_label)
    end
  end

  def send_email_if_needed

     #if the email sends, then it runs this function
     attach_sent_label if send_email
  end

  #The code that adds the email after everything else, 
  #so that it won't run on that card again

  def attach_sent_label
    card.add_label(email_sent_label)
    #This line above triggers the error
  end

# email_sent_label is assigned by this code:

  @phase_labels = {
      p1_label: Trello::Label.find('60db99d5230c123a1ab808d0'),
      p2_label: Trello::Label.find('60e61ad78f4b51135ba0d547'),
      p3_label: Trello::Label.find('60e61ae7d76c8d0812dde650')
    }

  #list_ac_campaign_id is irrelevant, just know it helps assign email_sent_label
  def assign_sent_label(list_ac_campaign_id)
    case list_ac_campaign_id
    when 147
      phase_labels[:p1_label]
    when 146
      phase_labels[:p2_label]
    when 145
      phase_labels[:p3_label]
    end
  end

正如我在评论中所说,错误由以下行触发: card.add_label(email_sent_label) . 我如何才能访问这些标签并将其分配给多个板上的卡?如果有不清楚的地方,请告诉我。
更新:我已经确认,这是一个问题,不同的标签在不同的板上有不同的id,即使你从另一个板上复制它们。因此,您可能需要一些解决方法,以名称而不是id作为标签的目标,或者找到一些方法来跨板访问或复制标签,或者找到一些其他方法使此机制更灵活,以适应每个板的不同标签。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题