{"id":31392,"date":"2024-03-06T10:32:28","date_gmt":"2024-03-06T09:32:28","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=31392"},"modified":"2024-03-06T10:32:31","modified_gmt":"2024-03-06T09:32:31","slug":"trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/","title":{"rendered":"Trigger a Red Hat Ansible Automation Platform job\/workflow from GitLab CI\/CD Pipeline"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"678\" height=\"424\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/03\/GitLab-pipeline-to-AAP-1-edited.png\" alt=\"\" class=\"wp-image-31601\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/03\/GitLab-pipeline-to-AAP-1-edited.png 678w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/03\/GitLab-pipeline-to-AAP-1-edited-300x188.png 300w\" sizes=\"auto, (max-width: 678px) 100vw, 678px\" \/><\/figure>\n<\/div>\n\n\n<p>Are you utilizing Red Hat Ansible Automation Platform or its open-source version, AWX, to streamline your Ansible playbooks? If so, and you want to trigger a job template or a workflow template from a GitLab CI\/CD pipeline, you&#8217;ve come to the right place.<\/p>\n\n\n\n<p>While exploring the documentation of Red Hat Ansible Automation Platform, you might have read <a href=\"https:\/\/access.redhat.com\/documentation\/en-us\/red_hat_ansible_automation_platform\/2.4\/html\/automation_controller_user_guide\/controller-work-with-webhooks#controller-set-up-gitlab-webhook\" target=\"_blank\" rel=\"noreferrer noopener\">the section to trigger these templates using GitLab Webhooks<\/a>. However, this method requires configuring GitLab to send the Webhook request based on various <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/project\/integrations\/webhook_events.html\" target=\"_blank\" rel=\"noreferrer noopener\">GitLab events<\/a>, such as git push, tag creation, issue updates, or pipeline events. For the latter, there is one point to bear in mind: GitLab sends the request every time the state of the project pipelines changes. Consequently, it&#8217;s not directly integrated into your pipeline workflow, and you&#8217;ll need to tailor your Ansible playbook to accommodate the Webhook payload sent by GitLab. This approach might suffice in certain scenarios. Still, consider this: what if you need to execute an existing playbook that dynamically deploys a server on your infrastructure, with the server&#8217;s name determined by your GitLab pipeline? How would you manage that?<\/p>\n\n\n\n<p>In this article, we will go through the process of configuring Ansible Automation Platform and GitLab to seamlessly deploy an AWS instance directly from your GitLab pipeline using <a href=\"https:\/\/www.dbi-services.com\/products\/yak\/\" target=\"_blank\" rel=\"noreferrer noopener\">YaK<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-enabling-webhook-in-your-template\">Enabling Webhook in your template<\/h2>\n\n\n\n<p>In Ansible Automation Platform (or AWX), edit the job or workflow you want to trigger from a pipeline and make these changes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Options<\/strong>: Check &#8220;Enable Webhook&#8221;<\/li>\n\n\n\n<li><strong>Webhook Service<\/strong>: GitLab<\/li>\n\n\n\n<li><strong>Webhook Credential<\/strong>: (optional, we won&#8217;t use it here)<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"259\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-72-1024x259.png\" alt=\"\" class=\"wp-image-31395\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-72-1024x259.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-72-300x76.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-72-768x194.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-72.png 1417w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>After saving this configuration, the <strong>Webhook URL<\/strong> and <strong>Webhook Key<\/strong> will be generated:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"469\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-76-1024x469.png\" alt=\"\" class=\"wp-image-31399\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-76-1024x469.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-76-300x137.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-76-768x352.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-76.png 1379w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Keep this page open, we will need these values for the next steps.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-declare-the-ci-cd-variables\">Declare the CI\/CD variables<\/h2>\n\n\n\n<p>To use the previous Webhook URL and key in a GitLab pipeline, we will need to set them in the project&#8217;s CI\/CD variables.<\/p>\n\n\n\n<p>Go to your GitLab project <strong>Settings<\/strong>, then to <strong>CI\/CD<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"308\" height=\"471\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-78.png\" alt=\"\" class=\"wp-image-31401\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-78.png 308w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-78-196x300.png 196w\" sizes=\"auto, (max-width: 308px) 100vw, 308px\" \/><\/figure>\n\n\n\n<p>Expand the <strong>Variables<\/strong> section and click on <strong>Add variable<\/strong><br>First one will be the Webhook URL:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Type<\/strong>: Variable<\/li>\n\n\n\n<li><strong>Flags<\/strong>: None<\/li>\n\n\n\n<li><strong>Key<\/strong>: AWX_WEBHOOK_DEPLOY_SERVER_URL<\/li>\n\n\n\n<li><strong>Value<\/strong>: &lt;The Webhook URL value generated in step &#8220;<a href=\"#h-enabling-webhook-in-your-template\">Enabling Webhook in your template<\/a>&#8220;&gt;<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"391\" height=\"805\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-79.png\" alt=\"\" class=\"wp-image-31402\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-79.png 391w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-79-146x300.png 146w\" sizes=\"auto, (max-width: 391px) 100vw, 391px\" \/><\/figure>\n\n\n\n<p>The second variable is the Webhook key:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Type<\/strong>: Variable<\/li>\n\n\n\n<li><strong>Flags<\/strong>: Mask variable<\/li>\n\n\n\n<li><strong>Key<\/strong>: AWX_WEBHOOK_DEPLOY_SERVER_KEY<\/li>\n\n\n\n<li><strong>Value<\/strong>: &lt;The Webhook key value generated in step &#8220;<a href=\"#h-enabling-webhook-in-your-template\">Enabling Webhook in your template<\/a>&#8220;&gt;<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"391\" height=\"809\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-80.png\" alt=\"\" class=\"wp-image-31403\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-80.png 391w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-80-145x300.png 145w\" sizes=\"auto, (max-width: 391px) 100vw, 391px\" \/><\/figure>\n\n\n\n<p>Once created, variables should be listed as follows:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"208\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-81-1024x208.png\" alt=\"\" class=\"wp-image-31405\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-81-1024x208.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-81-300x61.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-81-768x156.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-81.png 1150w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-create-the-gitlab-ci-cd-pipeline\">Create the GitLab CI\/CD pipeline<\/h2>\n\n\n\n<p>For this example, we will create a pipeline with a deploy stage that we will trigger manually from GitLab GUI and send the Webhook to AWX containing the server name to deploy.<\/p>\n\n\n\n<p>Go to the GitLab project pipeline editor, in left menu, go to <strong>Build<\/strong>, then <strong>Pipeline editor<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"233\" height=\"358\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-82.png\" alt=\"\" class=\"wp-image-31406\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-82.png 233w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-82-195x300.png 195w\" sizes=\"auto, (max-width: 233px) 100vw, 233px\" \/><\/figure>\n\n\n\n<p>We will add this pipeline definition:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>stages:\n- deploy\n\ndeploy-aws-server:\n  stage: deploy\n  tags:\n    - awx-webhook # Optional, to use if you need to run the pipeline on a specific GitLab runner \n                  # In my case, AWX is available on a private network, so my runner need to be on the same one\n  variables:\n    SERVER_NAME: \"TEST\" # Set the default server name\n  before_script:\n    - apk add --no-cache curl # Install curl at pipeline initialisation\n  script:\n    # Create the payload json that need:\n    #    - A variable that will change each time the webhook is send, here the CI_JOB_ID value\n    #    - Optionally variables we want to send to the job template, here the key \"server_name\" that contain the server name we want to deploy.\n    - echo \"{\\\"ci_job_id\\\":\\\"$CI_JOB_ID\\\",\\\"server_name\\\":\\\"$SERVER_NAME\\\"}\" &gt; \/tmp\/webhook-payload.json\n    # Print the webhook payload to see it in pipeline logs\n    - cat \/tmp\/webhook-payload.json\n    # Send the Webhook request\n    - \"curl -X POST -k \\\"$AWX_WEBHOOK_DEPLOY_SERVER_URL\\\" -H \\\"X-Gitlab-Token: $AWX_WEBHOOK_DEPLOY_SERVER_KEY\\\" -H 'Content-Type: application\/json' --data-binary '@\/tmp\/webhook-payload.json'\"\n\n  # For the example, we will trigger the GitLab pipeline manually and give the variable \"deploy\" that will set the server name\n  # and don't run this stage in other case\n  rules:\n    - if: '$CI_PIPELINE_SOURCE == \"web\" &amp;&amp; $deploy =~ \"\/.*\/\"'\n      variables:\n        SERVER_NAME: $deploy\n      when: always\n    - when: never<\/code><\/pre>\n\n\n\n<p>Commit your changes:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"663\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-87-1024x663.png\" alt=\"\" class=\"wp-image-31412\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-87-1024x663.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-87-300x194.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-87-768x498.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-87.png 1417w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-optional-use-the-variables-from-gitlab-pipeline-in-the-job-template\">Optional: Use the variables from GitLab pipeline in the job template<\/h2>\n\n\n\n<p>If you only need to trigger an Ansible Automation Platform job without providing any variables from your GitLab pipeline, this chapter is optional for you.<\/p>\n\n\n\n<p>As you have seen in the pipeline definition, we add the variable <strong>server_name<\/strong> to the Webhook payload to define the server name to deploy. Now it&#8217;s time to use it in the job template definition.<\/p>\n\n\n\n<p>The Webhook  payload is directly added to the playbook extra_vars under the <strong>awx_webhook_payload<\/strong> key.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"701\" height=\"198\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-97.png\" alt=\"\" class=\"wp-image-31422\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-97.png 701w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-97-300x85.png 300w\" sizes=\"auto, (max-width: 701px) 100vw, 701px\" \/><\/figure>\n\n\n\n<p>So to use it in a required Ansible variable without redeveloping the playbook:<\/p>\n\n\n\n<p>Edit your job\/workflow template definition.<br>In the &#8220;<strong>Variables<\/strong>&#8221; section:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Optionally check <strong>Prompt on launch<\/strong>, to ask the values to set when the template is triggered manually from  Ansible Automation Platform<\/li>\n\n\n\n<li>Add the variable definition like this:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"174\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-88-1024x174.png\" alt=\"\" class=\"wp-image-31413\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-88-1024x174.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-88-300x51.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-88-768x131.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-88.png 1340w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>By doing this, the playbook will define the variable <strong>target<\/strong> by getting the value <strong>server_name<\/strong> from the Webhook payload.<\/p>\n\n\n\n<p>Save the changes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-run-the-gitlab-pipeline-and-see-the-magic-appear\">Run the GitLab pipeline and see the magic appear<\/h2>\n\n\n\n<p>Before running the GitLab pipeline, we have defined a new server definition named <strong>server-from-gitlab<\/strong> in yak<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"79\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-92-1024x79.png\" alt=\"\" class=\"wp-image-31417\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-92-1024x79.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-92-300x23.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-92-768x60.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-92.png 1392w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>We can see that this server is in declared state in YaK.<\/p>\n\n\n\n<p>Go to your <strong>GitLab<\/strong> project that contains the pipeline. In, the left menu, go to <strong>Build<\/strong>, then <strong>Pipelines<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"233\" height=\"288\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-90.png\" alt=\"\" class=\"wp-image-31415\" \/><\/figure>\n\n\n\n<p>Click on <strong>Run pipeline<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"106\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-91-1024x106.png\" alt=\"\" class=\"wp-image-31416\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-91-1024x106.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-91-300x31.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-91-768x79.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-91.png 1281w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Set a new variable<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>key<\/strong>: deploy<\/li>\n\n\n\n<li><strong>value<\/strong>: server-from-gitlab<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"328\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-93-1024x328.png\" alt=\"\" class=\"wp-image-31418\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-93-1024x328.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-93-300x96.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-93-768x246.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-93.png 1304w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Click on <strong>Run pipeline<\/strong>.<\/p>\n\n\n\n<p>Wait until the pipeline run has\u00a0<strong>succeeded<\/strong> (Marked as &#8220;<strong>Passed<\/strong>&#8220;)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"670\" height=\"362\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-94.png\" alt=\"\" class=\"wp-image-31419\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-94.png 670w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-94-300x162.png 300w\" sizes=\"auto, (max-width: 670px) 100vw, 670px\" \/><\/figure>\n\n\n\n<p>If we check the <strong>pipeline job logs<\/strong>, we can see that the Webhook payload is taking the CI job ID and the server name value that we gave before (server-from-gitlab):<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"257\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-101-1024x257.png\" alt=\"\" class=\"wp-image-31427\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-101-1024x257.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-101-300x75.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-101-768x193.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-101.png 1068w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Now we can return in <strong>Ansible Automation Platform<\/strong><br>In the left menu, go to <strong>View\/Jobs<\/strong>, we can see at the top that a new <strong>playbook is running<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"61\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-95-1024x61.png\" alt=\"\" class=\"wp-image-31420\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-95-1024x61.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-95-300x18.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-95-768x45.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-95.png 1351w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>While the playbook is running, we can check the variables by <strong>clicking on the job<\/strong>, then <strong>Details tab<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"373\" height=\"117\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-102.png\" alt=\"\" class=\"wp-image-31428\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-102.png 373w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-102-300x94.png 300w\" sizes=\"auto, (max-width: 373px) 100vw, 373px\" \/><\/figure>\n\n\n\n<p>In the <strong>Variables<\/strong> section, the variables <strong>target<\/strong> and <strong>awx_webhook_payload<\/strong> are correctly set:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"376\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-96-1024x376.png\" alt=\"\" class=\"wp-image-31421\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-96-1024x376.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-96-300x110.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-96-768x282.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-96-1536x564.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-96.png 1666w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Now the <strong>playbook<\/strong> has ended with the status <strong>Successful<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"223\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-99-1024x223.png\" alt=\"\" class=\"wp-image-31424\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-99-1024x223.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-99-300x65.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-99-768x167.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-99.png 1385w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>In <strong>YaK<\/strong>, the server is now in <strong>running<\/strong> state:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"79\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-103-1024x79.png\" alt=\"\" class=\"wp-image-31429\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-103-1024x79.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-103-300x23.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-103-768x60.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-103.png 1380w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Finally, let confirm that the AWS instance is well deployed by connecting to <strong>AWS Management Console<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"66\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-100.png\" alt=\"\" class=\"wp-image-31425\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-100.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-100-300x19.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/image-100-768x50.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2>\n\n\n\n<p>Congratulations ! We correctly set a GitLab CI\/CD pipeline to trigger a Red Hat Ansible Automation Platform job template \ud83c\udf89<br>Now you can simply adapt these steps to your specific needs.<br>During this article, I didn&#8217;t explain in details how to use <a href=\"https:\/\/www.dbi-services.com\/products\/yak\">YaK<\/a> with Ansible Automation Platform, but stay tuned, some other blogs will come soon \ud83e\udd73<br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Are you utilizing Red Hat Ansible Automation Platform or its open-source version, AWX, to streamline your Ansible playbooks? If so, and you want to trigger a job template or a workflow template from a GitLab CI\/CD pipeline, you&#8217;ve come to the right place. While exploring the documentation of Red Hat Ansible Automation Platform, you might [&hellip;]<\/p>\n","protected":false},"author":107,"featured_media":31431,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1320],"tags":[3274,2431,2432,2983,2648,3028,2981,3275,2717],"type_dbi":[],"class_list":["post-31392","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","tag-ansible-automation-platform","tag-ansible-tower","tag-awx","tag-ci-cd","tag-gitlab","tag-gitlabci-cd","tag-pipeline","tag-red-hat-ansible-automation-platform","tag-yak-2"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Trigger a Red Hat Ansible Automation Platform job\/workflow from GitLab CI\/CD Pipeline - dbi Blog<\/title>\n<meta name=\"description\" content=\"In this article, we will go through the process of configuring Ansible Automation Platform and GitLab to seamlessly deploy an AWS instance directly from your GitLab pipeline using YaK.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Trigger a Red Hat Ansible Automation Platform job\/workflow from GitLab CI\/CD Pipeline\" \/>\n<meta property=\"og:description\" content=\"In this article, we will go through the process of configuring Ansible Automation Platform and GitLab to seamlessly deploy an AWS instance directly from your GitLab pipeline using YaK.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-06T09:32:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-06T09:32:31+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/GitLab-pipeline-to-AAP-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"678\" \/>\n\t<meta property=\"og:image:height\" content=\"678\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Donovan Winter\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Donovan Winter\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/\"},\"author\":{\"name\":\"Donovan Winter\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/e0f67a930d31485dd7adef9081496560\"},\"headline\":\"Trigger a Red Hat Ansible Automation Platform job\/workflow from GitLab CI\/CD Pipeline\",\"datePublished\":\"2024-03-06T09:32:28+00:00\",\"dateModified\":\"2024-03-06T09:32:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/\"},\"wordCount\":910,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/GitLab-pipeline-to-AAP-1.png\",\"keywords\":[\"Ansible Automation Platform\",\"ansible tower\",\"awx\",\"CI\/CD\",\"GitLab\",\"GitlabCI\/CD\",\"Pipeline\",\"Red Hat Ansible Automation Platform\",\"yak\"],\"articleSection\":[\"DevOps\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/\",\"name\":\"Trigger a Red Hat Ansible Automation Platform job\/workflow from GitLab CI\/CD Pipeline - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/GitLab-pipeline-to-AAP-1.png\",\"datePublished\":\"2024-03-06T09:32:28+00:00\",\"dateModified\":\"2024-03-06T09:32:31+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/e0f67a930d31485dd7adef9081496560\"},\"description\":\"In this article, we will go through the process of configuring Ansible Automation Platform and GitLab to seamlessly deploy an AWS instance directly from your GitLab pipeline using YaK.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/GitLab-pipeline-to-AAP-1.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/GitLab-pipeline-to-AAP-1.png\",\"width\":678,\"height\":678},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Trigger a Red Hat Ansible Automation Platform job\/workflow from GitLab CI\/CD Pipeline\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/e0f67a930d31485dd7adef9081496560\",\"name\":\"Donovan Winter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/84afe8f5c9c68d608f6a5308ec644228931454d5360cfc771256d3cb602b6614?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/84afe8f5c9c68d608f6a5308ec644228931454d5360cfc771256d3cb602b6614?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/84afe8f5c9c68d608f6a5308ec644228931454d5360cfc771256d3cb602b6614?s=96&d=mm&r=g\",\"caption\":\"Donovan Winter\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/donovanwinter\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Trigger a Red Hat Ansible Automation Platform job\/workflow from GitLab CI\/CD Pipeline - dbi Blog","description":"In this article, we will go through the process of configuring Ansible Automation Platform and GitLab to seamlessly deploy an AWS instance directly from your GitLab pipeline using YaK.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/","og_locale":"en_US","og_type":"article","og_title":"Trigger a Red Hat Ansible Automation Platform job\/workflow from GitLab CI\/CD Pipeline","og_description":"In this article, we will go through the process of configuring Ansible Automation Platform and GitLab to seamlessly deploy an AWS instance directly from your GitLab pipeline using YaK.","og_url":"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/","og_site_name":"dbi Blog","article_published_time":"2024-03-06T09:32:28+00:00","article_modified_time":"2024-03-06T09:32:31+00:00","og_image":[{"width":678,"height":678,"url":"http:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/GitLab-pipeline-to-AAP-1.png","type":"image\/png"}],"author":"Donovan Winter","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Donovan Winter","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/"},"author":{"name":"Donovan Winter","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/e0f67a930d31485dd7adef9081496560"},"headline":"Trigger a Red Hat Ansible Automation Platform job\/workflow from GitLab CI\/CD Pipeline","datePublished":"2024-03-06T09:32:28+00:00","dateModified":"2024-03-06T09:32:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/"},"wordCount":910,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/GitLab-pipeline-to-AAP-1.png","keywords":["Ansible Automation Platform","ansible tower","awx","CI\/CD","GitLab","GitlabCI\/CD","Pipeline","Red Hat Ansible Automation Platform","yak"],"articleSection":["DevOps"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/","url":"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/","name":"Trigger a Red Hat Ansible Automation Platform job\/workflow from GitLab CI\/CD Pipeline - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/GitLab-pipeline-to-AAP-1.png","datePublished":"2024-03-06T09:32:28+00:00","dateModified":"2024-03-06T09:32:31+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/e0f67a930d31485dd7adef9081496560"},"description":"In this article, we will go through the process of configuring Ansible Automation Platform and GitLab to seamlessly deploy an AWS instance directly from your GitLab pipeline using YaK.","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/GitLab-pipeline-to-AAP-1.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/02\/GitLab-pipeline-to-AAP-1.png","width":678,"height":678},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/trigger-a-red-hat-ansible-automation-platform-job-workflow-from-gitlab-ci-cd-pipeline\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Trigger a Red Hat Ansible Automation Platform job\/workflow from GitLab CI\/CD Pipeline"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/e0f67a930d31485dd7adef9081496560","name":"Donovan Winter","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/84afe8f5c9c68d608f6a5308ec644228931454d5360cfc771256d3cb602b6614?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/84afe8f5c9c68d608f6a5308ec644228931454d5360cfc771256d3cb602b6614?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/84afe8f5c9c68d608f6a5308ec644228931454d5360cfc771256d3cb602b6614?s=96&d=mm&r=g","caption":"Donovan Winter"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/donovanwinter\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/31392","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/107"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=31392"}],"version-history":[{"count":16,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/31392\/revisions"}],"predecessor-version":[{"id":31628,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/31392\/revisions\/31628"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/31431"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=31392"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=31392"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=31392"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=31392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}