Can I use same pipeline for pushing source files from git and pulling translation files from Transifex? or Do I need to create 2 pipelines, one is for pushing source files from git repository to Transifex. and the other one is for pulling translations from Transifex to git repository?
You can also check an example here on how you can configure a CI tool (travis is used as an example but Jenkins can be configured in a similar way) to leverage the transifex-client CLI to exchange translation files between Transifex and a Github repo.
After pushing the source files, how can I check the source files are translated or not? do we need to wait until the files gets translated? if yes, how can we check with commands whether they are translated or not? Then I can pull the translated files.
Transifex supports Webhooks. You can configure a webhook for the translations of your Transifex project so you can get notified, whenever the translation for a file is completed or fully reviewed. You will just need a web server to listen for the webhook calls, and some kind of application to react on those. So the webhook will be triggered when the translation or the review of a specific language reaches 100%.
Usually, I pull all the translations. There are options of how you would like to pull them, e.g. 100% translated - then you can check if they exist - or how the source strings are copied in - if english and the translation is mixed or the source language is empty, … .