{"id":4331,"date":"2015-03-23T23:00:55","date_gmt":"2015-03-23T23:00:55","guid":{"rendered":"http:\/\/www.jitendrazaa.com\/blog\/?p=4331"},"modified":"2015-03-23T04:02:21","modified_gmt":"2015-03-23T04:02:21","slug":"using-cctray-to-monitor-continuous-integration-setup-using-jenkins-for-salesforce-video-tutorial","status":"publish","type":"post","link":"https:\/\/www.jitendrazaa.com\/blog\/uncategorized\/using-cctray-to-monitor-continuous-integration-setup-using-jenkins-for-salesforce-video-tutorial\/","title":{"rendered":"Using CCTray to monitor continuous integration setup using Jenkins for Salesforce | Video Tutorial"},"content":{"rendered":"<p><a title=\"Continuous integration in Salesforce Using Jenkins and Git | Video Tutorial\" href=\"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/continuous-integration-in-salesforce-using-jenkins-and-git-video-tutorial\/\">In previous article<\/a>, I\u00a0have explained that\u00a0how to use Jenkins to setup Continuous integration for Salesforce.<\/p>\n<p>Now, once Jenkins is up and its doing its job to build Salesforce changes. Next task is to monitor build result. We already setup post deployment task by creating chatter message to notify everyone about build result, however there is one more excellent way to be aware about result and its small desktop client named &#8220;CCTray&#8221;.<\/p>\n<p>You can download <a title=\"An automated continuous integration client for the .NET platform\" href=\"http:\/\/sourceforge.net\/projects\/ccnet\/files\/CruiseControl.NET%20Releases\/CruiseControl.NET%201.8.5\/\">CCTray <\/a>from here. Once installed, follow below steps to setup.<\/p>\n<p>Open CCTray and navigate to settings :<\/p>\n<figure id=\"attachment_4332\" aria-describedby=\"caption-attachment-4332\" style=\"width: 259px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/CCTray-Settings.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4332\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/CCTray-Settings.png?resize=259%2C144&#038;ssl=1\" alt=\"CCTray Settings\" width=\"259\" height=\"144\" \/><\/a><figcaption id=\"caption-attachment-4332\" class=\"wp-caption-text\">CCTray Settings<\/figcaption><\/figure>\n<p><!--more-->Now Navigate to &#8220;Build Projects | Add | Add Server | Supply a Custom HTTP URL&#8221;. In text box provide URL of Jenkins as &#8220;http:\/\/localhost:8080\/cc.xml&#8221; assuming Jenkins is running on &#8220;http:\/\/localhost:8080&#8221;.<\/p>\n<figure id=\"attachment_4333\" aria-describedby=\"caption-attachment-4333\" style=\"width: 650px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/CCTray-Build-Server-custom-HTTP-URL.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-4333\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/CCTray-Build-Server-custom-HTTP-URL.png?resize=650%2C426&#038;ssl=1\" alt=\"CCTray Build Server custom HTTP URL\" width=\"650\" height=\"426\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/CCTray-Build-Server-custom-HTTP-URL.png?w=851&amp;ssl=1 851w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/CCTray-Build-Server-custom-HTTP-URL.png?resize=300%2C197&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/CCTray-Build-Server-custom-HTTP-URL.png?resize=624%2C409&amp;ssl=1 624w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/a><figcaption id=\"caption-attachment-4333\" class=\"wp-caption-text\">CCTray Build Server custom HTTP URL<\/figcaption><\/figure>\n<p>After clicking &#8220;Ok&#8221;, below window will open with all available projects setup in that Jenkins instance.<\/p>\n<p>We can see that our project name is already appearing on right side by name &#8220;Cogniforce Jenkins Demo&#8221;. click on OK and you would be able to see your project status in tray. You will be able to see three different colors icon in CCTray with meaning :<\/p>\n<ol>\n<li>Green &#8211; Last build successful<\/li>\n<li>Red &#8211; Last build failed<\/li>\n<li>Orange &#8211; current build under progress<\/li>\n<\/ol>\n<figure id=\"attachment_4334\" aria-describedby=\"caption-attachment-4334\" style=\"width: 625px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/CCTray-Dashboard.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-4334\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/CCTray-Dashboard.png?resize=625%2C186&#038;ssl=1\" alt=\"CCTray Dashboard\" width=\"625\" height=\"186\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/CCTray-Dashboard.png?resize=1024%2C305&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/CCTray-Dashboard.png?resize=300%2C89&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/CCTray-Dashboard.png?resize=624%2C186&amp;ssl=1 624w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/CCTray-Dashboard.png?w=1392&amp;ssl=1 1392w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><figcaption id=\"caption-attachment-4334\" class=\"wp-caption-text\">CCTray Dashboard<\/figcaption><\/figure>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/zsvtMT-L3Xw\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In previous article, I\u00a0have explained that\u00a0how to use Jenkins to setup Continuous integration for Salesforce. Now, once Jenkins is up and its doing its job to build Salesforce changes. Next task is to monitor build result. We already setup post deployment task by creating chatter message to notify everyone about build result, however there is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"jz_research_post":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[9,17,1],"tags":[299,294,293,331,212],"class_list":["post-4331","post","type-post","status-publish","format-standard","hentry","category-salesforce","category-tips","category-uncategorized","tag-cctray","tag-continuous-integration","tag-jenkins","tag-salesforce","tag-video-tutorial"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":4276,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/continuous-integration-in-salesforce-using-jenkins-and-git-video-tutorial\/","url_meta":{"origin":4331,"position":0},"title":"Continuous integration in Salesforce Using Jenkins and Git | Video Tutorial","author":"Jitendra","date":"March 23, 2015","format":false,"excerpt":"As your Salesforce Organization undergoes heavy customization and frequent builds, moving changes from one Sandbox to other sandboxes starts taking longer time and effort. Also, in normal Salesforce project, there are chances that you will have minimum three sandboxes likely Developer Sandbox, QA Sandbox and UAT Sandbox. After some time\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce - Jenkins Git Polling Log","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Salesforce-Jenkins-Git-Polling-Log.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Salesforce-Jenkins-Git-Polling-Log.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Salesforce-Jenkins-Git-Polling-Log.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/03\/Salesforce-Jenkins-Git-Polling-Log.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":5935,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/continuous-integration-ci-in-salesforce-using-team-foundation-server-tfs-video\/","url_meta":{"origin":4331,"position":1},"title":"Continuous Integration (CI) in Salesforce using Team Foundation Server (TFS) &#8211; Video","author":"Jitendra","date":"March 20, 2017","format":false,"excerpt":"Step by step guide to set up Continuous Integration (CI) for Salesforce using Team Foundation Server (TFS) with video tutorial","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Team Foundation Server (TFS) - New Build definition - Select repository","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/03\/Team-Foundation-Server-TFS-New-Build-definition-Select-repository.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/03\/Team-Foundation-Server-TFS-New-Build-definition-Select-repository.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/03\/Team-Foundation-Server-TFS-New-Build-definition-Select-repository.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/03\/Team-Foundation-Server-TFS-New-Build-definition-Select-repository.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":4584,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/continuous-integration-in-salesforce-using-flosum-appexchange\/","url_meta":{"origin":4331,"position":2},"title":"Continuous Integration in Salesforce using Flosum AppExchange","author":"Jitendra","date":"June 22, 2015","format":false,"excerpt":"Native Force.com solution for Continuous Integration using AppExchange product Flosum","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Flosum AppExchange","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/06\/Flosum-AppExchange.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/06\/Flosum-AppExchange.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/06\/Flosum-AppExchange.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2015\/06\/Flosum-AppExchange.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":6341,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/continuous-integration-vs-continuous-delivery-vs-continuous-deployment\/","url_meta":{"origin":4331,"position":3},"title":"Continuous Integration vs. Continuous Delivery vs. Continuous Deployment","author":"Jitendra","date":"November 11, 2017","format":false,"excerpt":"Difference between Continuous Integration vs. Continuous Delivery vs. Continuous Deployment","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Continuous Integration vs. Continuous Delivery vs. Continuous Deployment","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/11\/Continuous-Integration-vs.-Continuous-Delivery-vs.-Continuous-Deployment.png?fit=1002%2C766&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/11\/Continuous-Integration-vs.-Continuous-Delivery-vs.-Continuous-Deployment.png?fit=1002%2C766&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/11\/Continuous-Integration-vs.-Continuous-Delivery-vs.-Continuous-Deployment.png?fit=1002%2C766&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2017\/11\/Continuous-Integration-vs.-Continuous-Delivery-vs.-Continuous-Deployment.png?fit=1002%2C766&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":7286,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/point-click-based-integration-between-facebook-messenger-and-salesforce-in-5-minutes\/","url_meta":{"origin":4331,"position":4},"title":"Point &#038; Click Based Integration Between Facebook Messenger And Salesforce In 5 Minutes","author":"Jitendra","date":"August 29, 2021","format":false,"excerpt":"How to setup Facebook Messenger and Service Cloud in Salesforce within 5 Minutes Using Digital Engagement & No Code Approach","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Salesforce & Facebook Messenger Integration","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2021\/08\/Salesforce-Facebook-Messenger-Integration-scaled.jpg?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2021\/08\/Salesforce-Facebook-Messenger-Integration-scaled.jpg?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2021\/08\/Salesforce-Facebook-Messenger-Integration-scaled.jpg?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2021\/08\/Salesforce-Facebook-Messenger-Integration-scaled.jpg?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2021\/08\/Salesforce-Facebook-Messenger-Integration-scaled.jpg?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":7817,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/automate-and-conquer-how-task-json-can-supercharge-your-salesforce-development\/","url_meta":{"origin":4331,"position":5},"title":"Automate and Conquer: How Task.json Can Supercharge Your Salesforce Development","author":"Jitendra","date":"June 1, 2023","format":false,"excerpt":"Discover the game-changing power of Task.json in Salesforce development with Visual Studio Code (VSCode) and Salesforce DX (SFDX). Streamline your workflow, automate tasks, and boost productivity as you dive into the world of Salesforce development. Explore how Task.json simplifies development with VSCode, accelerates SFDX deployments, and ensures consistency across your\u2026","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"SFDX + Task.json","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/06\/SFDX-Task.json_.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/06\/SFDX-Task.json_.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/06\/SFDX-Task.json_.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/06\/SFDX-Task.json_.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2023\/06\/SFDX-Task.json_.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/4331","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/comments?post=4331"}],"version-history":[{"count":3,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/4331\/revisions"}],"predecessor-version":[{"id":4341,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/4331\/revisions\/4341"}],"wp:attachment":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media?parent=4331"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/categories?post=4331"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/tags?post=4331"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}