iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0

摘要

內容回顧

  • 前幾日在 Asana 的 API 測試頁面上找到合適的工具
  • 陸續將要用到的內容包進自己開發的 Kanban 類別中

開發流程

  • 按照順藤摸瓜的作法,接著會來實作 get_teams_in_workspace 去拿回公司看板裡面的「團隊」列表
  • 我原本設計成,如果呼叫此函式時沒有給 workspace gid 的話,就從先前拿回的資料裡面抓第一項,不過他有缺點:以後如果沒有給參數的時候,也沒有先呼叫取回 workspace 的函式的話,那會發生抓不到數值的狀況
  • 基於防呆,我現在認為,應該要在 config.ini 檔案中,放進預設值,誰要用誰就自己加
def get_teams_in_workspace(self, workspace_gid=None):
    try:
        # create an instance of the API class
        api_instance = asana.TeamsApi(self.client)
        if workspace_gid is None:
            # workspace_gid = self.workspaces[0]
            workspace_gid = self.default['my_workspace_gid']
        # Get multiple teams
        api_response = api_instance.get_teams_for_workspace(workspace_gid)
        data = api_response.to_dict()['data']
        # self.teams = [ d['gid'] for d in data ]
        self.teams = {}
        for d in data:
            self.teams[d['gid']] = d['name']
    except ApiException as e:
        print("Exception when calling TeamsApi->get_teams_for_workspace: %s\n" % e)
  • 類似的概念,繼續開發另外一個 get_projects_in_team
def get_projects_in_team(self, team_gid=None):
    try:
        # create an instance of the API class
        api_instance = asana.ProjectsApi(self.client)
        if team_gid is None:
            team_gid = self.default['my_team_gid']
        # Get multiple projects
        api_response = api_instance.get_projects_for_team(team_gid)
        data = api_response.to_dict()['data']
        # self.projects = [ d['gid'] for d in data ]
        self.projects = {}
        for d in data:
            self.projects[d['gid']] = d['name']
    except ApiException as e:
        print("Exception when calling ProjectsApi->get_projects_in_team: %s\n" % e)

結論

  • Workspace 拿回 Teams,裡面都是只有一項 workspace 和 一項 team 跟我有關
  • Team 拿到 Porjects,裡面好多都是可能同時放進投影片的
  • 因為把預設值放入 config.ini 感覺綁手綁腳的,所以暫時停在這邊
  • 強烈推薦搭配本次 github 異動一起觀看:https://github.com/rita0124/slide-generator/commit/a891c648656c0a8de651e9c8518cedebc2566308#diff-eb563d794c619361e3b45cd998c064d99780bc8f33bbc27383fc3452af8e329c

上一篇
Day 7 - 實作 Kanban 類別、建構子
下一篇
Day 9 - 實作 Kanban 類別、取得 Asaba 詳細工作卡片的方法
系列文
挽救肝指數 x 職場生存術 x 老闆愛看的投影片製造機30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言