Hi Bojan,
I think I understand now. The issue is that there is a Pipeline (or Pipelines) in GoCD that builds multiple source materials, including this 3rd party library. As a result, because GoCD sees the 3rd party library source as "broken", the Pipeline doesn't trigger or doesn't build properly.
Since GoCD stores state in its database, I think there are a few ways you can deal with this situation:
1. Restore GoCD from a backup taken before the now-missing commit was introduced to the 3rd party library source. The obvious downside here is that you would lose anything that happened in GoCD since the backup was taken. Depending on the specific processes you have implemented this may or may not be a significant concern.
2. Manually trigger each affected Pipeline and specify the older version of the library's material. Keep doing this until a new commit is pushed into the library, which should resolve the current issue.
3. Change the material URL so that GoCD believes it is a new material. (Sounds like you have done this already but are unhappy with the result.)
4. Try to "hack" the GoCD database so that GoCD forgets about any commits that were deleted from the library's repo. I don't have nearly a good enough grasp of the database's structure to know how to do this, or even if it is realistically feasible.
In order to prevent this from recurring, you may want to rethink the way the build solution is architected. Instead of pulling directly from the 3rd party's git repo as part of your own build, could you not build the 3rd party library in its own Pipeline and then consume the output of that in other Pipelines? Alternately, if the nature of the code and the libraries is such that they must both be compiled from source at the same time, it may be worth creating your own fork of the 3rd party library on github and then building from that instead of directly from the 3rd party's repo. You would then be responsible for syncing the 3rd party's updates into your fork, but you would also have (almost) full control over your own source, which helps avoid this problem of "Someone on the internet did something and now my build(s) is (are) broken."
Hope this helps,
Jason