How do I move issues from To Do to In Progress automatically


I have been trying to figure out how to move issues between To Do and I_n Progress_ automatically.  I read that this is possible if you use the following format for your branch names.

[issue number]-[issue name]-[branch purpose]

So that would look like this:


But when I create the branch like that and push it to the remote, the issue Initial Setup #1 does not get moved from To Do to In Progress automatically.  I have also tried several other ways of naming my branches:



I have also tried putting the # at the front of the branch name like this


But when I do that, git complains.  So I tried creating the branch _1-initial-setup _and then pushing to remote as initial-setup-#1 and this time git complained because it said the remote did not exist.

I am really confused guys.  I have set my project up to use automation but I can’t get it to work.  Can any of you help me out with the correct way to automatically move issues to the correct project colums, so that I don’t have to login to github every time and do it manually.

Surly there is a way of doing this based upon branches and issue numbers, isnt there?  I have already read all the stuff about configuring automation for project boards and the related content and I have searched Google for the answer - but to no avail.

You guys are my last hope of figuring this out.



1 Like

Thats not how automation works. Branch names should  never contain any special characters like a hashtag.

Automation works by putting (for example)  “Fixed #2 in your commit message. When you push that commit to GH, then make a PR, merge that commit into master the issue will close automatically.

You can’t automate the To Do —> In Progress step, just the … —> Done step.

1 Like

@jaytelford wrote:



I have been trying to figure out how to move issues between To Do and I_n Progress_ automatically.  I read that this is possible if you use the following format for your branch names.


[issue number]-[issue name]-[branch purpose]

This sounds interesting and I would also like to try it. Can you remember where you read it to? I suspect the source where you read about this had their repository set up to use server-side or client-side hooks. (see Git-Hooks).  I’m not sure if GitHub supports server-side hooks, but client-side hooks should be possible. 

Thanks for your reply @mpboom

It seems I have misunderstood how the default project automation works. 

I unfortuatly can’t remember where I read that it worked differently; but reading @vo1stv response and the information at the link the provided, it seems that the person who had posted that tutorial, had specifically extended the defult automation by setting up their repositories to use custom Git Hooks.

It now seems entirely possibly that they were even using custom server side hooks that interacted with their own ticketing/issue tracking system, which performed actions on GitHubs default project tracking system using an API maybe?

Regardless, I now realise that I had missunderstood the capabilities of the technology provided by GitHub  

That begs the question though - why is GitHubs project automation so limited?  They already let you close issues by entering a keyword followed by the issue number in your commit comments and merging the branch that provides the fix back into master.  So why not let you move issues from To Do to In Progress automatically by entering a keyword and the issue number.

Even if you had to start every branch name with issue-[number]_ _so you would name your branches like this 


That would give you all the information you needed right in the branch name and it would_ _(or should anyway) move the referenced issue from To Do to In Progress.  So if this is not a possibility right now, then it is something that should totally be implemented.

In the meantime though, is there anyway that I can accomplish what I want to do using Git Hooks?  Even if its a very hacky way to do it right now, it is going to save a lot of time as my policy is to use issues not just for bugs but as a way of listing the steps that need to be taken for project completion.  So having to constantly login to GitHubs web interface and manually move stuff arround is going to waste a lot of time.



Checkout code tree.  It looks like it does what you want.

Its not free, but it can be installed to your repos at a small charge.

Alternatively, you could try your hand at creating your own Git App.

I’m just getting familiar with how this all works myself, so someone correct me if I’m wrong, but I think the idea is:

  1. Create the app, which is basically a server-side executable
  2. Install the app to your repo, which allows it to receive webhook data
  3. Add a webhook under the settings of your repo to trigger the events to send info to the app.

Hi, thanks for the suggestion of codetree @vo1stv.  I have checked it out and it does indeed do what I want and also provides a much better interface than the typical GitHub one.  I am just a little sad that it is so expensive, but I can see a plan for $9 a month with a 14 day free trial.

That should give me a chance to trial it out and see if it works before going ahead with the more expensive plans.  One and a half months (14 day free trial and one month of the $9 plan) and I should know whether or not the $24 for the small team plan will be worth it or not.)

Again, thanks for the suggestion.  If this works out, it is going to save me a lot of time developing a bespoke solution - since I don’t need something that complex in the first place.

1 Like

You are right!!! I thought that since I am logged in as an admin, I would be able to move it event if it was not assigned to me. Thank You!