Skip to content

MakerXStudio/shared-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MakerX Shared Config

A collection of MakerX reusable workflows and configs.

Versioning and Releases

This repository uses Release Please to automate releases based on Conventional Commits.

Available Tags

When referencing workflows or actions from this repository, you can pin to specific versions using the following tag formats:

Tag Example Description
Full version v1.2.3 Pin to an exact release (recommended for production)
Minor version v1.2 Automatically receive patch updates
Major version v1 Automatically receive minor and patch updates
Latest latest Always points to the most recent release

Usage Examples

# Pin to exact version (most stable)
uses: MakerXStudio/shared-config/.github/workflows/example.yml@v1.2.3

# Pin to minor version (receives patch updates)
uses: MakerXStudio/shared-config/.github/workflows/example.yml@v1.2

# Pin to major version (receives minor and patch updates)
uses: MakerXStudio/shared-config/.github/workflows/example.yml@v1

# Always use latest (not recommended for production)
uses: MakerXStudio/shared-config/.github/workflows/example.yml@latest

Contributing

When contributing to this repository, use Conventional Commits to ensure proper versioning:

  • feat: description - New feature (bumps minor version)
  • fix: description - Bug fix (bumps patch version)
  • feat!: description or BREAKING CHANGE: in body - Breaking change (bumps major version)

Release Please will automatically create a release PR when changes are pushed to main. Merging this PR triggers the release.

For more information, see the Release Please documentation.

GitHub - Zendesk integration

The zendesk github integration consist of 3 github actions.

Issue labelled

Once an issue is assigned a specified label, it is sent to Zendesk, creating (or using) the user <Github UserName> with email <Github UserName>@users.noreply.github.com. This mail adress format is also used by github when a user sets the privacy option that the mail should be hidden. Once the ticket got created a comment to the issue will be added to inform the user about the tech support contact.

Issue commented

Every comment on an issue gets send to zendesk. It will look up the connected ticket and author and attaches the comment to the ticket.

Issue closed

When an issue is closed, it is marked as solved in Zendesk.

Integration

The workflows need to be added to each repository that we want to sync issues to Zendesk. However, to avoid repeat code, they can also be reused via Calling a reusable workflow. Samples can be found here.

Limitations

There are known limitation of GitHub - Zendesk integration:

  • Markdown comments aren't supported due to an issue with Zendesk API.
  • When an issue is created, existing comments aren't synced to Zendesk.
  • Comment updates aren't synced to Zendesk.
  • Removing issue label from GitHub doesn't have an affect, the corresponding Zendesk ticket is still need to be handled manually.
  • The GitHub actions don't have retry logic, if they failed, the data won't be synced.

Zendesk - GitHub integration

Zendesk - GitHub integration is done via webhook and Zendesk events. Zendesk events will trigger GitHub workflows of a GitHub repository (let's call it the entry point). From this entry point, it works out the target repository for dispatching workflows. Currently, there are:

Setup Zendesk webhook

You can find the Postman collection for Zendesk API here. Import the collection and the global variables to your local postman. There are some variables to set:

Steps:

  • Run Create webhook API to create the Zendesk webhook. Remember to take note of the response id and set the zendesk-webhook-id variable.
  • Run Create trigger - ticket solved API
  • Run Create trigger - ticket commented API

Integration

From GitHub side, there are:

They will be invoked by zendesk_github_ticket_commented and zendesk_github_ticket_solved respectively. They need to be added to each repository that we want to sync comments and statuses from Zendesk. However, to avoid repeat code, they can also be reused via Calling a reusable workflow. Samples can be found here.

Zendesk - GitHub integration needs GH_ZENDESK_INVOKE_WORKFLOW_TOKEN secrets to invoke the workflows. It's a personal access token, the only requirement is to have permission contents:write to any repository that we want to sync from Zendesk.

About

A collection of MakerX reusable workflows and configs.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 17