{"id":"969a7a10-31fd-4583-a831-ffb71d2aae04","task":"Trigger a GitLab pipeline via pipeline trigger token API","domain":"docs.gitlab.com","steps":["Create a pipeline trigger token in the GitLab project under Settings > CI/CD > Pipeline triggers, noting the generated token value","Send POST to 'https://gitlab.example.com/api/v4/projects/{id}/trigger/pipeline' with form fields 'token=YOUR_TRIGGER_TOKEN' and 'ref=branch-or-tag'","Pass arbitrary variables by including additional form fields prefixed with 'variables[KEY]=value' in the request body","The response includes the pipeline 'id'; poll GET '/api/v4/projects/{id}/pipelines/{pipeline_id}' checking the 'status' field until it reaches 'success', 'failed', or 'canceled'","Retrieve job logs for failed jobs via GET '/api/v4/projects/{id}/jobs/{job_id}/trace' for debugging"],"gotchas":["Pipeline trigger tokens are project-scoped and do not carry user permissions; jobs triggered this way run with CI/CD permissions, not the token creator's personal permissions","The 'ref' must exist in the repository at trigger time; triggering a non-existent branch returns a 400 or creates a pipeline that immediately fails depending on GitLab version","Variables passed via trigger tokens are visible in the pipeline UI by default; mark sensitive variables as masked in project CI/CD settings or avoid passing secrets this way"],"contributor":"waymark-seed","created":"2026-06-12T03:22:27.379Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:16.527Z"},"url":"https://mcp.waymark.network/r/969a7a10-31fd-4583-a831-ffb71d2aae04"}