app-python-azdoworkitemcsv/README.md

38 lines
1.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Python Azure DevOps Work Item CSV
## Run Example
```bash
# 1 Create and activate an isolated Python environment
python3 -m venv .venv
source .venv/bin/activate
# 2 Install runtime dependencies
python -m pip install --upgrade pip
python -m pip install -r requirements.pip
# 3 Convert the CSV
python reorder_requirements.py "input.csv" "output.csv"
python reorder_requirements.py -v "/Users/jj/Downloads/input.csv" "/Users/jj/Downloads/output.csv"
```
## Execution Logic Summary
1. **build\_level\_map** walks up the `Parent` chain to assign every row its depth (1, 2, 3, …).
1. **depth\_first\_order** produces a depth-first sequence of IDs so that each parent is immediately followed by its children (and grandchildren).
1. **restructure** creates the empty `ID` column plus the mutually-exclusive `Title 1 3` columns and appends every *other* original column (except the old `ID`, `Parent`, and `Title`).
1. The script writes the new CSV; nothing is printed except a final “Wrote … rows” confirmation.
Youll get a file whose first four columns are:
| ID | Title 1 | Title 2 | Title 3 | …other original fields… |
| -- | ------- | ------- | ------- | ----------------------- |
where:
* Top-level items fill **Title 1**.
* Second-level items fill **Title 2**.
* Third-level (and deeper) items fill **Title 3**.
All hierarchy constraints you specified are enforced automatically. Feel free to adapt the column names or add CLI switches if you ever need variations (e.g., different max depth).