This page contains information related to upcoming products, features, and functionality. It is important to note that the information presented is for informational purposes only. Please do not rely on this information for purchasing or planning purposes. As with all projects, the items mentioned on this page are subject to change or delay. The development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.
In this proposal we want to create separate files for each group of events. We can define events in the following format:
# .gitlab/ci/events/package-published.yml spec: events: - name: package/published --- include: - local: .gitlab-ci.yml with: event: $[[ gitlab.event.name ]]
And in the
.gitlab-ci.yml file, we can use the input;
# .gitlab-ci.yml spec: inputs: event: default: push --- job1: script: echo "Hello World" job2: script: echo "Hello World" job-for-package-published: script: echo "Hello World" rules: - if: $[[ inputs.event ]] == "package/published"
When an event happens;
- We’ll enqueue a new job for the event.
- The job will search for the event file in the
- The job will run
Ci::CreatePipelineServicefor the event file.
- For every defined event run, we need to enqueue a new job.
- Every event-job will need to search for files.
- This would be only for the project-scope events.
- This will not work for GitLab.com scale.