When your shell creates a child process, it must also add process as a new job with the addjobs provided function.
int addjob(struct job_t *jobs, pid_t pid, int state, char *cmdline);
The state should either be FG (foreground) or BG (background).
For example, if the child is to run as the foreground job:
addjob(jobs, pid, FG, cmdline);
The jobs array is the global array of structs declared for you.
The pid of the child is the return value of fork when the child is created.
The cmdline string is passed to eval from main.
Waring: There is a race condition between the child finishing and the parent adding the child to the job list!