Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add script to update weekly progress #338

Closed
Danie0918 opened this issue Dec 15, 2023 · 7 comments
Closed

Add script to update weekly progress #338

Danie0918 opened this issue Dec 15, 2023 · 7 comments
Assignees
Labels

Comments

@Danie0918
Copy link
Contributor

Automatically synchronize weekly project progress to the PM channel on discord using a script.

Project:
[Neuron]
[CKB Explorer]

Contents:Issue title and links

  1. New for this week
  2. In Progress (Show Scheduled)
  3. Code Review/Testing (Show by status)
  4. Completed this week (Show by status)
@Danie0918
Copy link
Contributor Author

Danie0918 commented Dec 18, 2023

@WhiteMinds
Copy link

I think we can create a new repository, possibly called 'Weekly Reports' or something similar.

In this repository, we can set up GitHub Actions to take a complete snapshot of the current board data at a specific time each week (e.g., weekends). Once the snapshot is obtained, an automated PR can be created and submitted to this repository itself. The relevant stakeholders can review and make corrections before merging.

Additionally, there will be other GitHub Actions responsible for detecting changes in the snapshots. Based on the latest and previous snapshots, these actions can automatically generate the current weekly report data to be displayed. Another automated PR can be created and submitted to this repository, allowing the relevant stakeholders to review and make corrections before merging.

This repository will also include a backend component (possibly implemented using Vercel + Next.js) that exposes the current weekly report data through various response formats such as JSON and RSS.

The advantage of this approach is that it provides a space for manual intervention through PRs, allowing for content review and corrections. Moreover, it is a separate repository, ensuring complete isolation of the weekly report functionality from other projects.

@Keith-CY What do you think?

@Keith-CY
Copy link
Member

The advantage of this approach is that it provides a space for manual intervention through PRs, allowing for content review and corrections. Moreover, it is a separate repository, ensuring complete isolation of the weekly report functionality from other projects.

@Keith-CY What do you think?

Keep it simple, fetching the latest status of various kanbans and generating a report in the website repo requires less code and fewer steps.

Manual intervention can be introduced by submitting automated PR in https://github.com/Magickbase/websites, and isolation of content is unnecessary because https://github.com/Magickbase/websites is a repo of content(branding, projects, team, vision, etc.), the generated reports could be considered as a part of it.

@WhiteMinds
Copy link

Keep it simple, fetching the latest status of various kanbans and generating a report in the website repo requires less code and fewer steps.

Without (at least one) historical snapshot, it is not possible to obtain a weekly change report. Instead, it will be a complete snapshot of the board.

Manual intervention can be introduced by submitting automated PR in https://github.com/Magickbase/websites, and isolation of content is unnecessary because https://github.com/Magickbase/websites is a repo of content(branding, projects, team, vision, etc.), the generated reports could be considered as a part of it.

Sure, I initially thought that this data might be used in multiple places in the future. However, now it seems that regardless of whether it is used in multiple places, we can consider it as a service under the websites.

@Keith-CY
Copy link
Member

Keith-CY commented Dec 18, 2023

Without (at least one) historical snapshot, it is not possible to obtain a weekly change report. Instead, it will be a complete snapshot of the board.

There are 3 solutions to generate a weekly report:

  1. query issues with since parameter(https://docs.github.com/en/rest/issues/issues?apiVersion=2022-11-28#list-repository-issues) to get issues updated in the past 2 weeks;
  2. each issue has start processing date and actual done date, which can be used in the filter
curl 'https://github.com/memexes/3142018/items?memexProjectItemId=45943610' \
  -H 'authority: github.com' \
  -H 'accept: application/json' \
  --compressed
# {"memexProjectColumnId":33536694,"value":{"value":"2023-12-12T00:00:00+00:00"}

After getting target issues, weekly report can be generated with their status(planning, ..., done)

The 3rd solution is to compare two complete reports(freshly generated, previously generated) to get a diff as the weekly report, e.g.

Report 1

[Done] issue_a
[Done] issue_b
[Test] issue_c
[Review] issue_d
[Planning] issue_e

Report 2

[Done] issue_c
[Test] issue_d
[Review] issue_e
[Planning] issue_f

Get diff as the weekly report

  • [Test][Done] issue_c
  • [Review][Test] issue_d
  • [Planning][Review] issue_d
  • [Planning] issue_f

@WhiteMinds
Copy link

All three options sound feasible, but I am still planning to use the third option because it reduces reliance on manual workflows (updating issues, setting dates, etc.).

@WhiteMinds
Copy link

PR: Magickbase/websites#58

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

No branches or pull requests

3 participants