How to run a sequential job even if above one is skipped?

I have build,deploy,test stages.
In build stage I have job1,job2,job3
To make them sequential I kept needs in job2 as job1 and needs in job3 as job2.
Now they are sequential.

But, now I got a scenario where if user provides a value for a parameter. say package_url, then job1 need to be skipped.
But now, it is skipping all the three as job2 won’t run as job1 is skipped.

How to set job2 to run even job1 is skipped and if job1 ran, job2 should run only after job1.