# Tracking content of Gateway Event Scripts in Github

**URL:** <https://forum.inductiveautomation.com/t/tracking-content-of-gateway-event-scripts-in-github/106435>\
**Category:** Ignition\
**Created:** [May 19, 2025, 10:36pm UTC](https://forum.inductiveautomation.com/t/tracking-content-of-gateway-event-scripts-in-github/106435 "2025-05-19T22:36:20Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![clevvi-jdeck](https://avatars.discourse-cdn.com/v4/letter/c/3bc359/32.png) [@clevvi-jdeck](https://forum.inductiveautomation.com/u/clevvi-jdeck)\
**Post date:** [May 19, 2025, 10:36pm UTC](https://forum.inductiveautomation.com/t/tracking-content-of-gateway-event-scripts-in-github/106435/1 "2025-05-19T22:36:20Z")

</div>

We use Github to track projects. Being able to compare different versions of Python scripts under ./script-python/\*.py is awesome.

As far as I can tell, the source code of **Gateway Event Scripts** is stored:

1. within ./event-scripts/data.bin
2. as binary

Hence, to "diff" running vs dev, I must restore the two versions of data.bin and copy/paste from Designer.

Wondering if there is any clever things people are doing to make this more streamlined. For example, I have contemplated manually maintaining the script content in a separate folder. However, I assume this would necessitate an entirely separate Github repo so that the sources don't get pulled into the Project Library.

Many thanks!

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [May 19, 2025, 10:50pm UTC](https://forum.inductiveautomation.com/t/tracking-content-of-gateway-event-scripts-in-github/106435/2 "2025-05-19T22:50:45Z")

</div>

The only reasonable thing to do in 8.1 is to make your actual gateway event scripts one-line callouts to the project library.

In 8.3 event scripts are 'exploded' out into distinct resources and stored in as .py files on disk.

---

<div class="post-metadata">

**Author:** ![Leor\_Fishman](https://avatars.discourse-cdn.com/v4/letter/l/e19adc/32.png) [@Leor\_Fishman](https://forum.inductiveautomation.com/u/Leor_Fishman)\
**Post date:** [May 19, 2025, 11:24pm UTC](https://forum.inductiveautomation.com/t/tracking-content-of-gateway-event-scripts-in-github/106435/3 "2025-05-19T23:24:14Z")

</div>

you can actually probably diff these, if you're careful about it and they're only one-liners. they're gzipped java serialized hashmaps, but the actual 1 line scripts themselves are decodable in ascii.

---

<div class="post-metadata">

**Author:** ![clevvi-jdeck](https://avatars.discourse-cdn.com/v4/letter/c/3bc359/32.png) [@clevvi-jdeck](https://forum.inductiveautomation.com/u/clevvi-jdeck)\
**Post date:** [June 1, 2025, 11:02pm UTC](https://forum.inductiveautomation.com/t/tracking-content-of-gateway-event-scripts-in-github/106435/4 "2025-06-01T23:02:23Z")

</div>

@paul-griffith and @Leor_Fishman, many thanks for your feedback and insights. It's good to know I am not missing something obvious.

Another example of why we are very excited for 8.3!

---

<div class="post-metadata">

**Author:** ![bkarabinchak.psi](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bkarabinchak.psi/32/83567_2.png) [@bkarabinchak.psi](https://forum.inductiveautomation.com/u/bkarabinchak.psi)\
**Post date:** [June 2, 2025, 12:46pm UTC](https://forum.inductiveautomation.com/t/tracking-content-of-gateway-event-scripts-in-github/106435/5 "2025-06-02T12:46:30Z")

</div>

Would still recommend putting your gateway events as one liners for scoping reasons and because it's neater code organization imo.
