Transcript for:
Triggering Workflows in GitHub Actions

[Music] hello everyone welcome to let's  devops myself sumit and today we are going   to discuss about how to trigger github  actions workflow from another workflow   and for all the demo and description  i will be following this article   and the link of this article is  available in the video description now let's start so first is the introduction so  from the title itself you are aware that we are   going to talk about how to trigger workflow from  another workflow and this will help in multiple   use cases when you are required to trigger other  workflow on same or a different repository okay talking about the architecture basically  we will have one or more workflow   where one workflow can be triggered from the  another workflow and this can be achieved through   the repository dispatch as well as a python script  talking about the use case so basically this   method we can use in a multiple use cases uh one  example if i can say assume that i want to trigger   workflow 2 whenever the workflow one fails right  so that is the one use case you can assume second   is like maybe you have a multiple workflow  and you want it to have a dependency like   you wanted to make sure the workflow to complete  before workflow one right so that that kind of   use case or technique you can use with the help  of this particular demo and the description okay so talking about the method of trigger so  we already discussed today like we can use   repository dispatch right uh which  will help to trigger the workflow   but we can also uh add some more  limitation or maybe you can say that   assume that you have a five workflow right and all  of them has a repository display so when whenever   the workflow one will understand which repository  dispatch it needs to pick up so for that basically   we need to add event type so here if you see  we are adding the event type as a workflow too   so whenever there is a payload request with the  type of workflow 2 then only this particular   workflow will get triggered so we will discuss  that more in the demo also i will show some of   the basic example so that you can understand  more on it talking about the setup so as part   of this process uh we will set up to workflow  workflow one and workflow two in the workflow   one basically we use to trigger the workflow tool  right so we'll have some setup on the workflow one   which helps to trigger the workflow too so  here if you see here we have mentioned the   workflow one is a triggering workflow and the  workflow two will be the trigger workflow okay now let's see the workflow one setup so here is  i have one sample workflow which i have created   uh it is a publicly available so you can just  click on it and it will open this particular   page so let's try to review this workflow and how  basically this is the workflow one if i mention   how we have made a configuration of  workflow 2 so that it will trigger   trigger that workflow of the workflow tool  right so first of all if you see uh yeah this   is the name of the workflow one right and  uh we are passing some of the information   because we need to trigger workflow two right so  what is the name of the workflow so in our case   uh it is a workflow tool what is the account  uh where this particular workflow exists and   third what is the repository right so that is  also very important because the workflow can be   on a same repository or it can be on a different  repository as well so one more important uh part   is that uh the pad token right so that also you  need to configure in the sense of this is like   the pack token of the workflow tool right so that  configuration you need to make in the workflow one   so here if you see and if you see we are  basically using a python script this python   script can be found in this particular repository  itself like under the deployment script we have   workflow trigger and whenever we are calling this  particular or python script we are passing some   information of workflow 2 okay so let's go here  and see the deployment right so here we have uh   the trigger the python script so it's it's  doing nothing it's just kind of picking the   information like a token owner name repo name  uh and there are some payload uh which you are   we we have configured here like uh this is  just for information like if you want to   send some information from one workflow to another  like workflow one i want to pass the baseline   number i want to pass the baseline revision  number if those thing i wanted to pass i can   send that as a payload right so we are basically  here we are making a rest api call where we are   passing um the workflow name and uh the  baseline number and the division number   so one thing here if you noticed we are uh  providing the event type as a workflow name   so it means that wherever there is a repository  dispatch with the event type workflow name in   our case we are passing workflow to right that uh  workflow will get triggered with this particular   rest api call okay so let's go back to the tower  article now and talk about the configuration   so here if you see uh yeah in this workflow one  we need to provide this particular detail of   workflow 2 like what is the workflow to name what  is the github account repo what is the pack token   and then the payload details so right now i am  passing only two maybe as per your requirement   if you want to pass some more details you  can pass through the payload right so payload   basically is the data which can  be sent through the rest api call   and this is the trigger the workflow ticker  python script and that is available in this   location this location is also publicly  available so you can have a look to it   talking about this uh yeah this is the workflow  the workflow one example which i have added so   these are the some of the sample which  i have given for my own github account   right so this is the workflow tool which is  already created just for the demo purpose   so you can just have a look to it and here  you can see we are passing two uh two payload   details one is the baseline number and another  is the baseline revision as per your requirement   you may pass multiple payload uh detail or data  so assume that i have a workflow too and i want to   pass some some information before i trigger the  workflow right like assume that i wanted to uh   gives a parameterized value to that particular  ah workflow then you can pass as a payload   okay and these are some the method  which we are using it so basically   as part of this uh this workflow we are  calling this particular python script and   we are passing some information which is  relevant or to trigger that workflow too okay now let's talk about the workflow setup so  as part of the workflow one we understood okay   what are the setup we need to do for workflow 2  setup also i have created a sample we can quickly   review that as well so this link is available  publicly so you can have a look so here if you   see one important uh configuration that we made  it is uh the repository dispatch right with that   with the help of this only it will it will accept  that particular call to trigger that particular   workflow so here we are giving the type as  a workflow tool right so this particular   event will get triggered whenever there is a rest  api call from the workflow 1 and the type of that   repository dispatch is workflow too talking about  the payload right so we also discussed about   through the workflow one we are passing some  payload data right and here you can read those   data from this particular command like github  event dot client payload and baseline tag and   baseline number or division number so that's all  right and then here if you see i have given some   sample information just a psycho  okay so let's go back to that our article so coming back here under the  configuration if you see yeah definitely   the repository dispatch you need to make sure you  you have to add it in the the workflow to which   you are going to trigger from the workflow online  and some of the payload value so as i mentioned   before you may add some more payload data also  just for example i have given some baseline tag   and visa number okay and again this workflow is  already available here so you can have a look   and just it is for a demo purpose i have  configured and here if you see um like as   part of this particular step or the task i'm  trying to read basically i am trying to print   those baseline tag and baseline revision number  which i have received from the workflow one ok now talking about the the workflow right  how we can basically trigger the workflow   so that uh the other workflow can be  triggered so as for the example since   we i have created two workflow workflow one and  workflow two and workflow whenever you trigger   workflow one it will automatically trigger  the workflow tool right so we will see that   particular so for that uh basically you need to  click on this url this this uh this is a public uh   repository you can have a look to it  and if i if you go to the action right   here there are two workflow which i have created  so now for a testing purpose since that all the   configuration we already have made we'll try to  uh trigger this workflow one and see whether it is   automatically trigger triggering workflow two or  not okay so i'll just click on run workflow right and just fill it uh wait for a few seconds   meanwhile we can also come here so i think  that's all we have information so here i have   given some detail like how basically you can  trigger the workflow okay so workflow one is   running currently you can come here and also  see the details so i think it's almost completed right so now let's see whether the second  workflow is got together so now you see   the workflow t's got uh workflow to got  automatically triggered and it also succeeded   so now if you try and come and see what are  the value we have so if you see here uh these   are the value also it is getting getting  printed right and this value we have passed   through the workflow one okay  so that's all from the demo so that's all for this particular demo uh  thanks for watching and if you have any issue   while setting up this particular configuration  you can write in your in the comment section   i will be responding to that and the last  thing is like yeah if you like this video   kindly share it uh subscribe it and don't forget  to like the video as well so thanks for watching [Music] you