Merge commit 'cfaf67010017eab368216aded483a64126dbcb2e' as 'bahn/wissensdatenbank'
This commit is contained in:
Executable
+33
@@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env bash
|
||||
# Halb-/Vollautomatik: GitLab-Issue "Neues Wissen" -> tools.yaml-Eintrag -> MR (mit Vorschau).
|
||||
# Voraussetzungen: glab (GitLab CLI) eingeloggt, python-venv aktiv, CONFLUENCE_* gesetzt.
|
||||
#
|
||||
# Aufruf: scripts/issue_to_mr.sh <ISSUE_ID>
|
||||
# Wiring-Optionen: manuell durch Reviewer ODER GitLab-Webhook (Issue-Event) ODER
|
||||
# scheduled Job, der offene Issues mit Label "neues-wissen" abarbeitet.
|
||||
set -euo pipefail
|
||||
|
||||
ISSUE_ID="${1:?Usage: issue_to_mr.sh <ISSUE_ID>}"
|
||||
BRANCH="wissen/issue-${ISSUE_ID}"
|
||||
|
||||
echo "1) Issue ${ISSUE_ID} lesen und Eintrag erzeugen ..."
|
||||
glab issue view "${ISSUE_ID}" --output json | python -c 'import sys,json;print(json.load(sys.stdin).get("description",""))' \
|
||||
| python scripts/issue_to_source.py --append
|
||||
|
||||
echo "2) Branch + Commit ..."
|
||||
git checkout -B "${BRANCH}"
|
||||
git add config/tools.yaml
|
||||
git commit -m "feat(wissen): neue Quelle aus Issue #${ISSUE_ID}"
|
||||
|
||||
echo "3) Vorschau erzeugen (nur die neue Quelle) ..."
|
||||
# Tool-Slug = letzter hinzugefuegter id-Eintrag
|
||||
TOOL=$(grep -E '^\s*- id:' config/tools.yaml | tail -1 | sed 's/.*id:\s*//')
|
||||
python -m src.main --config config/tools.yaml --data preview --only "${TOOL}" || true
|
||||
|
||||
echo "4) MR anlegen (Vorschau-Hinweis im Body) ..."
|
||||
git push -u origin "${BRANCH}"
|
||||
glab mr create --fill --yes \
|
||||
--description "Automatisch aus Issue #${ISSUE_ID}. Vorschau-Markdown siehe CI-Job 'preview' (PREVIEW_ONLY=${TOOL}). Bitte pruefen und mergen = Freigabe." \
|
||||
--label "neues-wissen" || echo "MR-Anlage manuell pruefen (glab nicht verfuegbar?)"
|
||||
|
||||
echo "Fertig. Reviewer prueft Vorschau im MR und merged (= Freigabe)."
|
||||
Reference in New Issue
Block a user