Hi and welcome to LinuxQuestions!
The system crontab /etc/crontab uses the run-parts
command to run all the executable files inside the specified directory
. You cannot put a file as argument to run-parts. Most likely the cron daemon has sent an error to root's mail, as
Not a directory: /etc/cron.hourly/urls.sh
Leave the /etc/crontab file untouched and simply put the script inside the /etc/cron.hourly directory. Be sure it has executable permissions.
In alternative you can use the user's (or root's) specific crontab, using crontab -e