# What development environment do you use for building scripts?

**URL:** <https://community.fibery.io/t/what-development-environment-do-you-use-for-building-scripts/3234>\
**Category:** API & Programming\
**Created:** [September 1, 2022, 10:58pm UTC](https://community.fibery.io/t/what-development-environment-do-you-use-for-building-scripts/3234 "2022-09-01T22:58:36Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nicolas](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/nicolas/32/5375_2.png) [@Nicolas](https://community.fibery.io/u/Nicolas)\
**Post date:** [September 1, 2022, 10:58pm UTC](https://community.fibery.io/t/what-development-environment-do-you-use-for-building-scripts/3234/1 "2022-09-01T22:58:36Z")

</div>

I’m curious what everybody is using to develop their scripts within Fibery? I’m starting to get much deeper into it and think the possibilities are amazing. However, the current limits debugging are brutal. Only see to work when triggered through automation, buttons don’t output to the console.

I see a number of scripts posted within the community that are wonderful ways to learn but the limits of debugging feel so crippling presently.

**What is the best process and what are the best tools to use to write these scripts?** I’m going a bit nuts getting generic errors during button execution without being able to get real details about what is wrong.

I admit this is the deepest I’ve ever dove into Javascript and GraphQL and I’m struggling to make consistent progress without some method of output to understand what I’m doing wrong at each iteration.

And here is a vote/request for the feature of git/version control integration into the scripting engine. I would love to be able to have the power of git behind the scripts and templates I’m building giving the ability to have development, test, and production branches (example) of each script would be powerful.

---

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [September 2, 2022, 3:05pm UTC](https://community.fibery.io/t/what-development-environment-do-you-use-for-building-scripts/3234/2 "2022-09-02T15:05:15Z")

</div>

> [@Nicolas](#):
>
> buttons don’t output to the console.

Actually Buttons do output from console.log() to your browser console - but Rules do not.

But you are correct - this is the most painful dev environment I have dealt with in 30+ years. 😭

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [September 2, 2022, 3:08pm UTC](https://community.fibery.io/t/what-development-environment-do-you-use-for-building-scripts/3234/3 "2022-09-02T15:08:22Z")

</div>

To be fair, the intention is that things that are frequently achieved via scripting should become possible using no-code actions, so it makes more sense to devote resources to adding no-code features than to improving the scripting experience.

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [September 2, 2022, 3:12pm UTC](https://community.fibery.io/t/what-development-environment-do-you-use-for-building-scripts/3234/4 "2022-09-02T15:12:10Z")

</div>

> [@Matt\_Blais](#):
>
> Actually Buttons do output from console.log() to your browser console - but Rules do not.

FYI: any console logging in automation rules will show up in the activity log

![image](https://us1.discourse-cdn.com/flex020/uploads/fibery/original/2X/5/5082010b164c06f56e406ebc745fac2f9ad75087.png)

---

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [September 2, 2022, 3:19pm UTC](https://community.fibery.io/t/what-development-environment-do-you-use-for-building-scripts/3234/5 "2022-09-02T15:19:02Z")

</div>

The best advice I received so far was to develop Rule scripts as Buttons first, so you at least have the console output capability.

It would make a huge difference to have the javascript Error object [stack trace](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjYpfqDs_b5AhXgAzQIHbQSCDcQFnoECAcQAQ&url=https%3A%2F%2Fdeveloper.mozilla.org%2Fen%2Fdocs%2FWeb%2FJavaScript%2FReference%2FGlobal_Objects%2FError%2Fstack&usg=AOvVaw1_uJ1JVCP-KbEnpI1zzeZ_), but sadly [it is not available](https://community.fibery.io/t/script-error-executor-terminated-unexpectedly-with-exit-code-1/1977/7).

---

<div class="post-metadata">

**Author:** ![Dimitri\_S](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/dimitri_s/32/1683_2.png) [@Dimitri\_S](https://community.fibery.io/u/Dimitri_S)\
**Post date:** [September 2, 2022, 6:17pm UTC](https://community.fibery.io/t/what-development-environment-do-you-use-for-building-scripts/3234/6 "2022-09-02T18:17:00Z")

</div>

Having worked with [Google Apps Script](https://developers.google.com/apps-script) for a while I’ve gotten used to not being able to run/debug code locally.

Basically my workflow is like this:

- Console log to get sample records and responses specific to Fibery
- Replace the Fibery requests with the sample records/responses
- Open up VS Code with Quokka to write the logical / functional code
- Copy paste back into the Fibery script to do some final debugging (aka console.log all the things)

---

<div class="post-metadata">

**Author:** ![Nicolas](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/nicolas/32/5375_2.png) [@Nicolas](https://community.fibery.io/u/Nicolas)\
**Post date:** [September 2, 2022, 6:51pm UTC](https://community.fibery.io/t/what-development-environment-do-you-use-for-building-scripts/3234/7 "2022-09-02T18:51:06Z")

</div>

Thank you all so much!

---

<div class="post-metadata">

**Author:** ![Nicolas](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/nicolas/32/5375_2.png) [@Nicolas](https://community.fibery.io/u/Nicolas)\
**Post date:** [September 2, 2022, 7:05pm UTC](https://community.fibery.io/t/what-development-environment-do-you-use-for-building-scripts/3234/8 "2022-09-02T19:05:44Z")

</div>

> [@Chr1sG](#):
>
> any console logging in automation rules will show up in the activity

I realized the issue with my logging output problem. Total user error. I now know it works from the script types but not the overwrite rich text type within the javascript.

I also thought the logging was captured to the javascript console not the activity log. It didn’t matter though, neither were outputting because I wasn’t executing the code through the script type. The activity log is great for my needs. Thank you!

---

<div class="post-metadata">

**Author:** ![Nicolas](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/nicolas/32/5375_2.png) [@Nicolas](https://community.fibery.io/u/Nicolas)\
**Post date:** [September 2, 2022, 9:34pm UTC](https://community.fibery.io/t/what-development-environment-do-you-use-for-building-scripts/3234/9 "2022-09-02T21:34:09Z")

</div>

Perhaps I misunderstand but If I have append content to Meeting Notes for example, the console.log(‘hello’); does not output.

 ![CleanShot 2022-09-02 at 17.30.35@2x](https://us1.discourse-cdn.com/flex020/uploads/fibery/original/2X/e/ec800f2a9b305e03ef19f32a964e5046ab3177e1.png)

 ![CleanShot 2022-09-02 at 17.31.29@2x](https://us1.discourse-cdn.com/flex020/uploads/fibery/original/2X/a/a069386ab00066c734775b0a2fbaddcf2522a2e2.jpeg)

A similar button was created but instead of appending content, I selected script and reran it.

 ![CleanShot 2022-09-02 at 17.31.58@2x](https://us1.discourse-cdn.com/flex020/uploads/fibery/original/2X/d/d9af35980b8d547344f2c06fa2e3ac404d8c6e1c.jpeg)

The output is as expected with an entry in the activity log. Note: the failed entry in the picture is because I test to make sure it didn’t require rendering (\<%= %\> to output, but as expected this failed.

Is this the expected behavior or should I see the log entry with appending content also?

Thanks again!
