Closed mikeaintworkin closed 1 year ago
Before I started this issue.
Next:
Today I
Step 1
Assign sizes to PRs
Create InTheSprint count
Create the rest of the sums
Output the results as a flat file
I have the code already for summarizing each column. It will not be hard to get from there to summarizing accross a few columns. The new code will be the tracking down of the attached PRs.
This will have to be dealt with even when the transition is made to the GitHub projectV2 so it's not wasted work.
My thought is that in graphql I can get closingIssuesReferences from a pullrequest
I am going to limit the scope of this issue to what is laid out so far.
It is really tempting to go and parse the labels., etc but I've already done that and if I did it for this code, which is formatted differently it would be eventually thrown away anyway.
It would be easy to join this data with data pulled from the backlog but I can't assume every single item will be in the backlog. Can i?
It's outside the scope of this work to look for exceptions. Those checks can be done as other utilities.
I ended up re-parsing the Labels because I lready had the code so it was just cut/paste.
I left off working on SprintSummaryFrame.
This creates a table "Column, size"
It will get me back to where I was with the java code we had.
After that I will need to do the sizing for the collection of columns that identify active sprint columns.
That's not hard.
The part I haven't played with yet is chasing the PRs back to their issues for sizes.
I left off in: _add_size_column debugging. -I'm using old code and I am running into dumb column header problems. -I'm thinking maybe rather than keep hitting every reference I might define a tuple with all the column names and use them that way. dunno. getting late heading home.
Code that is checked in works. This code is not yet checked in because - well - it doesn't.
I won't be able to look at this again until tomorrow evening.
I'm going to pass in the headers I care about as a list
Basic hacky code is checked in. Each of the sprint columns is summarized. The columns that represent activity included in the points score for the sprint are summarized under "Active Sprint"
370 ▶ SPRINT READY
109 This Sprint 🏃♀️ 🏃
146 IQSS Team - In Progress 💻
56 Ready for Review ⏩
33 Review 🔎
12 Ready for QA ⏩
20 QA ✅
897 Done 🚀
344 ActiveSprint
Does not include the lookup to get the points associated with issues that are off the board, replaced by unsized PRs. The next step is to look for the PR data and add that. After that I need to step back and see where I'm at. I'm getting more and more into the swing of Python coding using ChatGPT as a reference for how or why to do things. I need to go back and make sure I'm not going off the workflow and that I can apply what I am developing directly to the new sprint project.
Technically I think I've actually finished this issue and should open another.
I realized that I have one more piece to do here. I need to output the results to a text file.
I went far afield from simply getting the printing to work. Today
Next:
Today:
next steps:
The flow using the API right now.
df = pdio.LegacyProjectCards(
access_token=auth_token_val,
organization_name=args.organization_name,
project_name=args.proj_name)
df.fetch_data()
df.print_project_cards()
pdio.write_dataframe(df=df.dataframe()) # raw data
df.print_project_cards()
dfsum = pdio.SprintSummaryFrame(df_in=df.dataframe())
The flow using an input file right now
df = pdio.DFFromFile(
in_dir=args.dir_name,
file_name=args.filename)
dfsum = pdio.SprintSummaryFrame(df_in=df.dataframe())
I'm going to close this. I was able to run this workflow tonight:
df = pdio.DFFromFile(
in_dir=args.dir_name,
file_name=args.file_name)
dfSzer = pdio.SprintCardSizer(df_in=df.dataframe())
df =dfSzer.dataframe()
pdio.write_dataframe(df)
spsumrzr = pdio.SprintSizeSummarizer(df_in=df)
print(spsumrzr.sprint_summary_line())
and get this result:
Column Size
▶ SPRINT READY 370
This Sprint 🏃♀️ 🏃 46
IQSS Team - In Progress 💻 159
Ready for Review ⏩ 53
In Review 🔎 36
QA ✅ 6
Done 🚀 623
ActiveSprint 294
▶ SPRINT READY This Sprint 🏃♀️ 🏃 IQSS Team - In Progress 💻 Ready for Review ⏩ In Review 🔎 QA ✅ Done 🚀 ActiveSprint DateTime SprintName
370 46 159 53 36 6 623 294 datetimestamp sprint_name
I'm breaking out the logic to add the pull requests to a new issue.
Create a column summary using pandas on data returned from the legacy sprint project. Display the data in the same way that we measure it for sprints.
Note: If we trim the closed issues column down from around 500 to 100 or so this will run fairly quickly. Right now it takes around 3 minutes to run. We can trim that column by removing older closed issues from the project.
context: This is part of the closeout where I get all the code into python. This functionality will be needed as a bridge between now and when we transition to projectV2 objects for the sprint.