Install
openclaw skills install gitflowAutomatically monitor CI/CD pipeline status of new push across GitHub and GitLab in one place. Auto DevOps this is the way 🦞!
openclaw skills install gitflowGitFlow is an OpenClaw skill that automates code pushes and provides real-time CI/CD pipeline status monitoring for GitHub and GitLab repositories. It streamlines developer workflows by reducing context switching between repositories and pipeline dashboards.
The skill can automatically push changes and report pipeline results, enabling faster feedback and smoother deployments.
GitFlow can:
Use the gh CLI tool to fetch workflow status after pushing:
gh run list
Lists recent workflow runs for the repository.
gh run list --branch $(git branch --show-current) --limit 1
Shows the most recent workflow run for the current branch.
gh run view <run-id>
Displays detailed information about a specific workflow run.
gh run watch
Watches the most recent run until completion, streaming status updates.
gh run view <run-id> --log
Displays the full logs for a workflow run.
gh run view <run-id> --log-failed
Shows only the logs from failed jobs.
gh run rerun <run-id> --failed
Reruns only the failed jobs from a workflow run.
Use the glab CLI tool to fetch pipeline status after pushing:
glab ci status
Shows the status of the most recent pipeline on the current branch.
glab ci view
Opens an interactive view of the current pipeline with job details.
glab ci list
Lists recent pipelines for the repository.
glab ci view <pipeline-id>
View details of a specific pipeline by ID.
glab ci status --live
Continuously monitors the pipeline status until completion.
glab ci trace <job-id>
Streams the logs of a specific job.
Git doesn't have a native post-push hook, but you can create a git alias to automatically monitor pipeline status after pushing.
Add this to your ~/.gitconfig:
[alias]
pushflow = "!f() { \
git push \"${1:-origin}\" \"${2:-$(git branch --show-current)}\"; \
url=$(git remote get-url \"${1:-origin}\"); \
if echo \"$url\" | grep -q 'github.com'; then \
sleep 3 && gh run watch; \
elif echo \"$url\" | grep -q 'gitlab'; then \
sleep 3 && glab ci status --live; \
fi; \
}; f"
git pushflow
git pushflow origin main