The git tag was firstly pushed to GitHub and the commits are pushed later.
"Fetch Tags" is already enabled, However, Jenkins failed to get updated tag metadata through the GitHub API.
This also happens when we re-tag a tag and force pushed to GitHub to rewrite the commit.
We tried to use cURL with the same credential to get the tag via the GitHub API and which works fine, we got the correct tag response.
However, Jenkins still failed to the tag data. It seems like Jenkins cached the API response and didn't invalidate the cache.