Blog

Eric Peterson

December 21, 2017

Spread the word


Share your thoughts

A short one but a good one today. Let's see how we can automate tasks with [CommandBox Githooks.](https://www.forgebox.io/view/commandbox-githooks)

CommandBox Githooks

What are Githooks?

Githooks run on different git actions, like pre-commit and post-checkout. They allow you to hook in to git's lifecycle to execute tasks. Some examples of these tasks are enforcing a commit message format in pre-commit or installing dependencies in post-checkout. This is more useful than it may sound — I know I often forget to install new dependencies when checking out a branch. Automating that step helps me spend less time debugging in the wrong direction.

Running Githooks with CommandBox

CommandBox Githooks lets you use CommandBox, CFML, and your box.json to manage these githooks for your project. You configure it in three steps.

  1. Install commandbox-githooks for CommandBox. This step only needs to be done once per CommandBox installation.
  2. Configure CommandBox Githooks for your repository by running githooks install. This will set up CommandBox to handle the githooks.

    Note: This needs to be done on each user's local repository as githooks are not synced.

  3. Add a githooks struct to your box.json. The keys of this struct are the camel-case names of the githooks (post-checkout => postCheckout). The value is either a single command or an array of commands to run for the githook.

Let's show you what this actually looks like:

Wrap up

CommandBox Githooks can save you mental energy and time debugging by helping you automate githook tasks with CommandBox and CFML. Try it out today!

Add Your Comment

(1)

Dec 21, 2017 08:09:32 UTC

by John Farrar

This is one of the greatest integration points for CFML developers. Remember if you think hooks are missing they are likely hooks that should be run from your origin repository, a.k.a. BitBucket or some other server.

Recent Entries

Ortus June 2024 Newsletter!

Ortus June 2024 Newsletter!

Welcome to the latest edition of the Ortus Newsletter! This month, we're excited to bring you highlights from our sessions at CFCamp and Open South Code, as well as a sneak peek into our upcoming events. Discover the latest developments in BoxLang, our dynamic new JVM language, and catch up on all the insightful presentations by our expert team. Let's dive in!

Maria Jose Herrera
Maria Jose Herrera
June 28, 2024
BoxLang June 2024 Newsletter!

BoxLang June 2024 Newsletter!

We're thrilled to bring you the latest updates and exciting developments from the world of BoxLang. This month, we're diving into the newest beta release, introducing a new podcast series, showcasing innovative integrations, and sharing insights from recent events. Whether you're a seasoned developer or just getting started, there's something here for everyone to explore and enjoy.

Maria Jose Herrera
Maria Jose Herrera
June 28, 2024
BoxLang 1.0.0 Beta 3 Launched

BoxLang 1.0.0 Beta 3 Launched

We are thrilled to announce the release of BoxLang 1.0.0-Beta 3! This latest beta version is packed with exciting new features and essential bug fixes, including robust encryption functionality, enhanced Java interoperability, and more efficient event handling. Key highlights include the introduction of query caching capabilities, seamless coercion of Java Single Abstract Method (SAM) interfaces from BoxLang functions, and support for virtual thread executors. So, let’s dive into the details of what’s new in BoxLang 1.0.0-Beta 3 and how you can start leveraging these updates today!

Luis Majano
Luis Majano
June 28, 2024