Gitea's expression parser only supports top-level builtin functions, not method calls (gitea.sha.substring(0, 7) left 5 tokens unparsed). Use the full SHA; there is no substring/slice function to shorten it.