示例#1
0
def main():
    args = parse_args()
    utils = CDKUtils()
    scrum_boards = utils.get_scrum_boards()
    roadmap = utils.get_product_roadmap(args.release)
    roadmap_features = roadmap.get_features()
    for board in scrum_boards:
        board.create_release(args.release)
        board.tag_release(roadmap_features)
示例#2
0
def main():
    logger = Logger()
    logger.set_level("debug")
    args = parse_args()
    utils = CDKUtils(dry_run=args.dry_run)
    for team in args.teams:
        logger.info(f"Processing team {team}")
        repo_group = utils.get_repo_group(team)
        prs = repo_group.get_external_prs()
        if not prs:
            continue
        jira_project = utils.get_jira_project(team)
        jira_project.import_external_prs(prs)
def main():
    utils = CDKUtils()
    args = parse_args()
    # Product Teams
    if args.teams:
        teams = args.teams
    else:
        teams = ["CDK", "Kubeflow", "MicroK8s"]
    for team in teams:
        backlog_board = utils.get_backlog_board(team)
        feedback = utils.get_product_feedback(team)
        feedback.add_titles()
        backlog_board.logger.set_level("debug")
        backlog_board.add_feedback_cards(feedback.get_features())
示例#4
0
def main():
    utils = CDKUtils()
    teams = [
        "CDK",
        "Kubeflow",
        "MicroK8s",
    ]
    for team in teams:
        board = utils.get_scrum_board(team)
        board.setup_board()
        board = utils.get_backlog_board(team)
        board.setup_board()
        board = utils.get_sizing_board(team)
        board.setup_board()
def main():
    utils = CDKUtils()
    args = parse_args()
    # Product Teams
    if args.teams:
        teams = args.teams
    else:
        teams = ["CDK", "Kubeflow", "MicroK8s"]
    if args.skip:
        skip = args.skip
    else:
        skip = [
            "Reference Materials",
            "Misc",
            "Icebox",
            "In Review",
            "Product Feedback",
            "In progress",
            "Blocked",
        ]
    if args.board:
        boards = args.board
    else:
        boards = ["Backlog", "Scrum"]
    for team in teams:
        sizing_board = utils.get_sizing_board(team)
        sizing_board.logger.set_level("debug")
        if args.clean:
            print(f"Clearing Sizing board for {team}")
            sizing_board.clear_board()
        if "Scrum" in boards:
            print(f"Gathering from Scrum board for {team}")
            scrum_board = utils.get_scrum_board(team)
            features = scrum_board.get_features(attachments=True, skip=skip)
            filtered = filter(lambda x: not x.name.startswith("PR Review"),
                              features)
            sizing_board.add_feature_cards(filtered)
        if "Backlog" in boards:
            print(f"Gathring from Backlog board for {team}")
            backlog_board = utils.get_backlog_board(team)
            backlog_board.logger.set_level("debug")
            sizing_board.add_feature_cards(
                backlog_board.get_features(attachments=True, skip=skip))
def main():
    utils = CDKUtils()
    args = parse_args()
    # Product Teams
    team = args.team
    board = args.board
    list = args.list

    if args.board == "Sizing":
        board = utils.get_sizing_board(team)
    elif args.board == "Backlog":
        board = utils.get_backlog_board(team)
    elif args.board == "Scrum":
        board = utils.get_scrum_board(team)

    for info in card_generator(args.bundle):
        print(f"Adding card: {info['title']}")
        board.add_card(name=info["title"],
                       description=info["body"],
                       list=args.list)
def main():
    utils = CDKUtils()
    args = parse_args()
    # Product Teams
    if args.teams:
        teams = args.teams
    else:
        teams = ["CDK", "Kubeflow", "MicroK8s"]
    if args.skip:
        skip = args.skip
    else:
        skip = [
            "Reference Materials",
            "Misc",
            "Icebox",
            "In Review",
            "Product Feedback",
            # "In progress",
            # "Blocked",
        ]
    if args.board:
        boards = args.board
    else:
        boards = ["Scrum"]
        # boards = ["Backlog", "Scrum"]
    for team in teams:
        project = utils.get_jira_project(team)
        project.logger.set_level("debug")
        # print(jira_board.jira.search_issues('project=CK'))
        print(f"Team: {team}" f"Issues: {project.all_issues}")
        if "Scrum" in boards:
            print(f"Gathering from Scrum board for {team}")
            scrum_board = utils.get_scrum_board(team)
            features = scrum_board.get_features(attachments=True, skip=skip)
            # filtered = filter(lambda x: not x.name.startswith("PR Review"), features)
            # project.import_trello_issues(filtered)
            project.import_trello_issues(features)
示例#8
0
def main():
    utils = CDKUtils()
    teams = [
        "CDK",
        "MicroK8s",
        "Kubeflow",
    ]
    for team in teams:
        # Scrum board: label stale cards and move inactive+stale cards to backlog
        scrum_board = utils.get_scrum_board(team)
        scrum_board.logger.set_level("info")
        scrum_board.label_stale_cards()
        scrum_board.logger.set_level("warning")
        move_delta = datetime.timedelta(days=10)
        inactive_cards = scrum_board.get_stale_cards(
            lists=scrum_board.IN_PROGRESS_LISTS, delta=move_delta)
        backlog_board = utils.get_backlog_board(team)
        for list in backlog_board.lists:
            if list.name == "Backlog":
                inactive_list = list
        for card in inactive_cards:
            try:
                next(
                    filter(
                        lambda x: x.name == scrum_board.STALE_LABEL_NAME and x.
                        color == scrum_board.STALE_LABEL_COLOR,
                        card.labels,
                    ))
                # Card has the stale label
                print(
                    f"Found inactive and stale card moving: {team}:{card.name}"
                )
                card.change_board(backlog_board.id, inactive_list.id)
            except (StopIteration, TypeError):
                # No lables, or no stale label
                pass
示例#9
0
def main():
    args = parse_args()
    utils = CDKUtils()
    roadmap = utils.get_product_roadmap(args.release)
    teams = [
        "CDK",
        "MicroK8s",
    ]
    scrum_features = []
    for team in teams:
        board = utils.get_scrum_board(team)
        scrum_features.extend(board.get_release_features(args.release))
        roadmap.update_features(scrum_features)

    team = "Kubeflow"
    roadmap = utils.get_product_roadmap(args.release, team=team)
    scrum_board = utils.get_scrum_board(team)
    roadmap.update_features(scrum_board.get_release_features(args.release))
示例#10
0
def main():
    utils = CDKUtils()
    args = parse_args()
    # Product Teams
    if args.teams:
        teams = args.teams
    else:
        teams = ["CDK", "Kubeflow", "MicroK8s"]
    if args.board:
        boards = args.board
    else:
        boards = ["Backlog", "Scrum", "Product"]
    if args.list:
        new_list = args.list
    else:
        new_list = None
    for team in teams:
        print(f"Updating Sizes for {team}")
        print("Getting sizes from Sizing Board")
        sizing_board = utils.get_sizing_board(team)
        sizing_board.logger.set_level("debug")
        sized_features = sizing_board.get_features(attachments=True)
        if "Backlog" in boards:
            # Update backlog board
            print("Updating Backlog")
            backlog_board = utils.get_backlog_board(team)
            backlog_board.update_features(sized_features, new_list=new_list)
            backlog_board.update_sizes(sized_features)
        if "Scrum" in boards:
            # Update scrum board
            print("Updating Scrum Board")
            scrum_board = utils.get_scrum_board(team)
            scrum_board.logger.set_level("debug")
            scrum_board.update_features(sized_features, new_list=new_list)
            scrum_board.update_sizes(sized_features)
        if "Product" in boards:
            # Update product feedback
            print("Updating Product Feedback")
            feedback = utils.get_product_feedback(team)
            feature_sizes = backlog_board.get_features()
            feature_sizes.extend(scrum_board.get_features())
            feedback.update_features(feature_sizes)
def main():
    args = parse_args()
    utils = CDKUtils()
    roadmap = utils.get_product_roadmap(args.release)
    roadmap_features = roadmap.get_features()
    teams = [
        "CDK",
        "MicroK8s",
    ]
    for team in teams:
        board = utils.get_scrum_board(team)
        board.create_release(args.release)
        board.create_cards(roadmap_features)
        board.tag_release(roadmap_features)

    team = "Kubeflow"
    roadmap = utils.get_product_roadmap(args.release, team=team)
    roadmap_features = roadmap.get_features()
    board = utils.get_scrum_board(team)
    board.create_release(args.release)
    board.create_cards(roadmap_features)
    board.tag_release(roadmap_features)