Preheat oven to 325° F. Position rack in lower third of oven.
In large shallow roasting pan, place ham flat-side down and score a diamond pattern about 1/8-inch deep into any fat. Season with pepper and bake 1 1/2 hours.
Meanwhile, in small saucepan over medium heat, combine jelly, butter and thyme, whisking occasionally until jelly and butter melt together and mixture comes to gentle boil, 1-2 minutes. Cover and set aside. In medium bowl, combine grapes and shallots. Set aside.
Baste ham with jelly mixture. Continue baking, basting with jelly mixture and/or pan juices about every 15 minutes. When ham’s internal temperature reaches 120° F, add grapes and shallots to roasting pan, stirring to coat with pan juices. Continue baking and basting until internal temperature reaches 140° F, 15-18 minutes per pound. Remove ham from oven, transfer to cutting board and let rest 15-30 minutes. If grapes and shallots aren’t tender yet, return roasting pan to oven.
Slice enough ham to serve and arrange on plates or platter. Season roasted grapes, shallots and pan juice mixture with pepper, and spoon some on top of ham. Serve remaining grape mixture on side.