What can we help you with?

The GitHub Integration

 

monday-dev-banner (2).png

 

This feature is available on:
This feature is available only on monday dev 

 

 

Hey developers! We understand how crucial it is to have a robust integration between your source code tool and monday.com, so we want to present to you the GitHub Integration.

This one-time installation integration with GitHub offers more flexibility and powerful recipes so your team can work with a seamless software development flow, from planning and tracking sprints on monday dev to executing the perfect code on GitHub!

The integration is an account-level-permission integration. Once the integration is pre-installed in just a few steps, any developer on your team can create new recipes. How easy is that? 

 

Important notes

In order for the GitHub integration to sync successfully, you will first need to install the monday.com application on GitHub. You'll also need to be an Admin of your monday.com account and have Admin permission on the GitHub organization to install the application.

 

Note:  While you can have any type of license in GitHub to integrate, this integration will only be available on our Standard, Pro, and Enterprise plans. 
To start, go to github.com/apps/monday-com-github, and install the monday.com app in GitHub:

Devs Install GitHub.png

 

You'll be asked to choose an organization on your account:

Devs Choose Organization.png

 

You'll then be asked to authorize monday.com on your GitHub account:

Devs monday Permissions.png

Once this is installed, users can add new GitHub recipes and will automatically be authenticated with your GitHub account.

 

Click here to learn what these permissions mean

It’s important to note that monday.com only accesses the necessary data, such as names and locations of your data, to ensure functionality. These permissions include:

  • Access to your code - Specific to the TODO recipe, monday.com reads the changes on the PR, without saving the code, in order to connect it to your monday item. 
  • Issues - monday.com needs to access information regarding issues in order to trigger the relevant monday automation
  • Metadata - monday.com needs access to a collection of read-only endpoints with metadata in order to trigger the relevant monday automation. These endpoints do not provide sensitive, private repository information.
  • Pull requests - monday.com needs to read changes in the PR, as well as access writing permissions regarding pull requests, in order to trigger the relevant monday automation and monday two-way sync recipes

 

Add it to your workflow 

To add the GitHub integration recipes to your desired board, you can go to that board and click on "Integrate" in the upper right corner:Group 64 (54).png

 

Once you're in the Automations Center, search for "GitHub" in the search bar:Group 64 (55).png

 

Click on the "GitHub" banner and you will find the recipes our integration offers:Screenshot 2024-07-07 at 17.46.19 1.png

 

Then you can simply select the recipes you want to add to your board.

 

The integration recipes supported by monday.com are:
  • When an issue is labeled with something in this repository, create an item
  • When a pull request is merged in these repositories, and item id is mentioned in it, change status to something
  • When an issue is created in these repositories, create an item
  • When a pull request is created in these repositories, and item id is mentioned in it, change status to something
  • When a pull request is created in these repositories, and item id is mentioned in it, add pull request link to link column
  • When a branch is created in these repositories, create an item
  • When an issue status changes to something in these repositories, and item id is mentioned in it, set status to something
  • When github user pushes a TODO comment to these repositories, create an item
  • When an issue is created in these repositories, and item id is mentioned in it, add link to this link column
  • When a pull request status changes to something in these repositories, and item id is mentioned in it, set status to something
  • When an issue is labeled with something in this repository, and item id is mentioned in it, set status to something
  • When a pull request status changes to something in these repositories, and item id is mentioned in it, create an update
  • When a pull request is labeled with something in this repository, and item id is mentioned in it, set status to something
  • When an issue is created in these repositories, create an item and sync future changes
  • When an issue is created with these labels in this repository, create an item and sync future changes
  • When a pull request is created or updated in these repositories, create an item and sync future changes
  • when an item is created or updated, create in issue in this repository,with these fields and sync future

 

Create a two-way sync

A two-way sync occurs when data is being both pushed from monday.com into GitHub and pulled from GitHub into monday.com. This makes it so that your data matches within both platforms and remains up-to-date.

The nature of this recipe allows you to choose the direction of your sync in order to create a two-way sync between GitHub and monday.com.Group 64 (56).png

 

Setting up the two-way sync

When you're mapping "these fields", you will select the field in GitHub, the field in monday.com, and the direction that you want the sync to occur. To create a two-way sync, select "both ways".

For example, using the GIF below, if you want to map your item's "Owner" column on monday.com to the "Assignee" field in GitHub, you will select those fields beneath the respective company's logo. Then, under the "Choose direction" dropdown, choose "both ways" to indicate that the information will travel in both directions.

GitHub Two-Way Sync.gif

 

What does the "item ID" mean in some of the recipes?

Great question! Some of the integration recipes need a "unique connection" between monday.com and GitHub in order to sync the two platforms, and the item ID serves as that unique number associated with the item.

 

Note: You must put a "#" symbol in front of the number in GitHub in order for the monday.com Item ID Column to recognize the connection. Ex: It must read "#376479" in GitHub, not "376479". 

Group 64 (57).png

 

For example, let's take the integration recipe: "When a pull request is created in this repository, and item id is mentioned in the pull request name, change status to something." Once the pull request is created in GitHub, the system uses the item ID in monday.com to identify which item it needs to change.

Tip: You can click once on the Item ID column to easily copy the value automatically from your board.

 

GitHub actions

GitHub Actions is a tool built into GitHub that lets you automate tasks within your software development workflow. It will help you eliminate repetitive tasks, in turn streamlining the development process, making it more efficient.Screenshot 2024-07-07 at 17.29.51 1.png

What can GitHub Actions do?

  • Automate CI/CD pipeline: This will allow you to set up automatic processes to build, test, and deploy your code whenever there are changes. This helps catch bugs early on and streamline the release process.
  • Run workflows based on events: GitHub Actions can trigger workflows based on various events in your repository. For instance, you can create a workflow that runs tests automatically whenever a pull request is submitted.
  • Use a large community of actions: There's a vast collection of pre-built actions available that you can use for various tasks. These can be anything from deploying your code to different platforms to creating tickets in project management tools. You can also create your own custom actions.

In monday dev, you'll find the recipe for our GitHub integration that opens an item on specific workflows ending with specific conclusions. The item can be populated with workflow data.

To use the recipe, navigate to the Automations center and search for GitHub. From there, click on the recipe as below. download (19).gif

Note: In order to use GitHub Actions, the GitHub organization admin must allow the "Actions Read Permission" setting. If you encounter any issues with this, please contact us

 

Will the integration work even if I don't install the application in GitHub?

  • No, the integration is not possible without the application being installed in GitHub.

Can I connect my monday.com account to multiple organizations in GitHub? 

  • Yes! You can connect your monday.com accounts to multiple GitHub organizations.

How can I un-sync GitHub from monday.com?

Then, to uninstall the monday.com application from GitHub, you can go to your GitHub account > Settings > Applications and find monday.com. Scroll down to the "Danger zone" and click "Uninstall":Group 64 (59).png

 

If you need help building custom integrations, we also have an option for paid assistance through our network of certified monday.com partners. If you're interested, please fill out this form and someone will be in touch shortly! 

 

If you have any questions, please reach out to our team right here. We’re available 24/7 and happy to help.