Triggered pipelines don't record that they're being triggered
A customer (ZD https://gitlab.zendesk.com/agent/tickets/104855, internal link) is reporting that, even though the pipeline is being triggered, the upstream/downstream pipelines are not shown in the pipeline graph view.
Here's how the trigger was configured:
prepare-production-release:
stage: deploy-prod
<<: *deploy_template
only:
variables:
- $CI_COMMIT_TAG =~ /^[0-9]{8}[a-z]_release/
script:
- apk add --no-cache curl jq
- curl --request POST --form "token=$CI_JOB_TOKEN" --form variables[PREPARE_PROD_RELEASE]=$CI_COMMIT_REF_SLUG --form ref=master https://gitlab-sandbox.company-test01.net/api/v4/projects/71/trigger/pipeline
Here's the output from that trigger:
Running with gitlab-runner 11.3.1 (0aa5179e)
on company-gitlab-runner-manager 53adede2
Using Docker executor with image docker:stable ...
Starting service docker:dind ...
Pulling docker image docker:dind ...
Using docker image sha256:943cc2194c118472a134b2fee0bb7144c1c62ca415ff030d0cc00d43b81e29f7 for docker:dind ...
Waiting for services to be up and running...
Pulling docker image docker:stable ...
Using docker image sha256:321f2cfcc3432bf7c18ee541c4cc4402d48156c1c7150f76026a2d3772369e89 for docker:stable ...
Running on runner-53adede2-project-89-concurrent-0 via runner-53adede2-gitlab-docker-machine-1538336357-a644d1f9...
Skipping Git repository setup
Skipping Git checkout
Skipping Git submodules setup
$ apk add --no-cache curl jq
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
(1/6) Installing nghttp2-libs (1.32.0-r0)
(2/6) Installing libssh2 (1.8.0-r3)
(3/6) Installing libcurl (7.61.1-r0)
(4/6) Installing curl (7.61.1-r0)
(5/6) Installing oniguruma (6.8.2-r0)
(6/6) Installing jq (1.6_rc1-r1)
Executing busybox-1.28.4-r1.trigger
OK: 7 MiB in 20 packages
$ curl --request POST --form "token=$CI_JOB_TOKEN" --form variables[PREPARE_PROD_RELEASE]=$CI_COMMIT_REF_SLUG --form ref=master https://gitlab-sandbox.company-test01.net/api/v4/projects/71/trigger/pipeline
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 402 0 0 100 402 0 463 --:--:-- --:--:-- --:--:-- 463{"id":8826,"sha":"0b6977cb3335c80e109f6ed26ab5401130a0da42","ref":"master","status":"pending","web_url":"https://gitlab-sandbox.company-test01.net/infrastructure/company-terraform/pipelines/8826","before_sha":"0000000000000000000000000000000000000000","tag":false,"yaml_errors":null,"user":{"id":1,"name":"Company! Gitlab","username":"root","state":"active","avatar_url":"https://gitlab-sandbox.company-test01.net/uploads/-/system/user/avatar/1/avatar.png","web_url":"https://gitlab-sandbox.company-test01.net/root"},"created_at":"2018-09-30T19:56:11.747Z","updated_at":"2018-09-30T19:56:11.850Z","started_at":null,"finished_at":null,"committed_at":null,"duration":null,"coverage":null}
100 1068 100 666 100 402 512 309 0:00:01 0:00:01 --:--:-- 822
Job succeeded
After interacting with support, they've run:
Loading production environment (Rails 4.2.10)
irb(main):001:0> Ci::Pipeline.find(9850).triggered_pipelines
=> #<ActiveRecord::Associations::CollectionProxy []>
irb(main):002:0> Ci::Pipeline.find(9850).triggered_by_pipeline
=> nil
irb(main):003:0> Ci::Pipeline.find(9853).triggered_pipelines
=> #<ActiveRecord::Associations::CollectionProxy []>
irb(main):004:0> Ci::Pipeline.find(9853).triggered_by_pipeline
=> nil
Here's the curl happening:
curl -s -X POST -F token=$CI_JOB_TOKEN -F variables[PREPARE_PROD_RELEASE]=$CI_COMMIT_REF_SLUG -F ref=master https://gitlab-sandbox.company-test01.net/api/v4/projects/71/trigger/pipeline | jq .
{
"id": 9853,
"sha": "f683c79d5f6b85b7f40cb629d8fad76512132715",
"ref": "master",
"status": "pending",
"web_url": "https://gitlab-sandbox.company-test01.net/infrastructure/company-terraform/pipelines/9853",
"before_sha": "0000000000000000000000000000000000000000",
"tag": false,
"yaml_errors": null,
"user": {
"id": 1,
"name": "Company! Gitlab",
"username": "root",
"state": "active",
"avatar_url": "https://gitlab-sandbox.company-test01.net/uploads/-/system/user/avatar/1/avatar.png",
"web_url": "https://gitlab-sandbox.company-test01.net/root"
},
"created_at": "2018-10-05T23:20:15.924Z",
"updated_at": "2018-10-05T23:20:16.702Z",
"started_at": null,
"finished_at": null,
"committed_at": null,
"duration": null,
"coverage": null
}