There are 3 ways you can handle this, each of them is just using an OS specific command for the delay,
So first option is to add a 30 minute delay to the first job as the second command in the job. You can use something generic like
ping -n 1800 127.0.0.1 > NULL (the number after the -n is how many seconds basically to do the ping, each one is about a second) or if linux you can use the sleep 1800 command
either option the main command runs and completes, then this command runs and will complete 30 minutes later. The issue might be that the second job will appear to have run as soon as the first job completed, but it is 30 minutes after the first command of the first job actually completed.
Second option is basically like the first one, but you place the delay on the second job as the first command. again, the job will run right after the first one has completed, but then it 'waits' for 30 minutes before actually running the command you want.
the third option is to add a job in between the jobs to do the wait. this will make the history of job 1 and job 2 have the 30 minutes between them, but of course you are now adding another job to the mix. so now job 1 completes, this new wait job is reactive off that, and job two is now reactive off this new delay job.
Let us know if you have any questions.