Привязать все задачи к этапам разработки
This commit is contained in:
Executable
+39
@@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
issues_file="${1:-.beads/issues.jsonl}"
|
||||
|
||||
if [ ! -f "$issues_file" ]; then
|
||||
echo "Stage assignment audit: missing $issues_file" >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
jq -ers '
|
||||
def stages:
|
||||
[(.labels[]? | select(test("^stage-(10|[0-9])$")))];
|
||||
def primaries:
|
||||
[(.labels[]? | select(test("^primary-stage-(10|[0-9])$")))];
|
||||
def primary_number:
|
||||
(primaries[0] // "" | sub("^primary-stage-"; ""));
|
||||
|
||||
. as $all
|
||||
| [
|
||||
.[]
|
||||
| select(
|
||||
(stages | length) == 0
|
||||
or (primaries | length) != 1
|
||||
or ((.metadata.primary_stage // "") | tostring) != primary_number
|
||||
)
|
||||
| {
|
||||
id,
|
||||
stages: stages,
|
||||
primaries: primaries,
|
||||
metadataPrimary: (.metadata.primary_stage // null)
|
||||
}
|
||||
] as $invalid
|
||||
| if ($invalid | length) == 0 then
|
||||
"Stage assignment audit: OK; issues=\($all | length); unassigned=0; invalidPrimary=0"
|
||||
else
|
||||
error("Stage assignment audit failed: \($invalid | tojson)")
|
||||
end
|
||||
' "$issues_file"
|
||||
Reference in New Issue
Block a user