We use self managed gitlab-ce running in docker container. It has several projects. Let it be proj_A, proj_B and proj_C. proj_A triggers pipeline of proj_B and proj_B triggers proj_C pipeline. proj_B needs artifacts from proj_A and proj_C needs artifacts from both proj_A and proj_B.
I used API to download artifacts but it downloads artifacts of the last successful pipeline. The current multi-roject pipeline is not fixed yet and artifacts are downloaded from the previous fixed pipeline. Means developers commit something and at the end of building they have results of previous commit.
I found this topic Exchange artifacts between parent and child pipelines - #10 by nmr and this Exchange artifacts between parent and child pipelines - #9 by thaoyeager comment promises needs: will solve this.
I checked documentation and it says that in cross project pipelines artifacts are downloaded from the last successful job. Keyword reference for the .gitlab-ci.yml file | GitLab It sounds exactly how it works via API.
So before starting using ultimate version I would like to clarify this moment. If needs: feature allows downstream pipeline to download artifacts from the parent job of current running multiproject pipeline. And the second is artifacts of what job will it take in downstream pipeline when it be started directly and not triggered by parent pipeline. Returning to my example. Developer commits in proj_B which starts proj_C and both projects need proj_A artifacts and proj_C needs proj_B artifacts of current running pipeline