Bamboo Plan automatically run Python program
Asked by Vineesh:

I have plan with two task.

One is check-out source code from Git-hub and second task is to run the python program using script.

Check out from the Git is working fine.

For run the python script I given like the below code using 'script task'

```
C:\Users\username\AppData\Local\Programs\Python\Python37-32\python C:\Users\userna\bamboo-home\xml-data\build-dir\GP-GIT-GIT\AppName\app.py

```

I want to run the entire plan once I commit the code to git-hub. I have configured my project as per the [Bamboo-documentation](https://confluence.atlassian.com/bamboo/repository-triggers-the-build-when-changes-are-committed-289276902.html)

and it is working only when the plan is stopped( ie, Only when all plans are stopped and commit the code in git, it is automatically check-out the source code running the python file.)

In the git repository folder couldn't find the '.git/hooks/post-receive' , 'post-receive' file.


Answers:
author: Daniel Santos
body: Hi [@Vineesh](/t5/user/viewprofilepage/user-id/3214093),

I'm not sure if I understood your problem.

Can you explain better this part?
> (...) it is working only when the plan is stopped( ie, Only when all plans are stopped and commit the code in git, it is automatically check-out the source code running the python file.)

I guess you are following the configuration for git from [Repository triggers the build when changes are committed](https://confluence.atlassian.com/bamboo/repository-triggers-the-build-when-changes-are-committed-289276902.html?_ga=2.69318800.1439836867.1563055331-1655730220.1552917293) and that is not the same thing you should do for GitHub. There are two ways to configure a repository for GitHub:

**Repository polling**

Just add the repository polling trigger and Bamboo will check the **GitHub** repository for changes with the configured interval.

**Webhooks**

In this case, the GitHub will be the one triggering a Bamboo build. For that we need:

1. The Bamboo instance should be reachable through the internet.
2. Bamboo needs to have a **remote trigger** configured in the plan you want GitHub to trigger.
3. Add the list of addresses that can trigger builds in Bamboo. You should include both your proxy address and the IPs from webhook of GitHub (you can find a reference to them in this page: [About GitHub's IP addresses - GitHub Help](https://help.github.com/en/articles/about-githubs-ip-addresses))
4. Make sure the anonymous user can trigger builds:Admin \>\> Security settings\>\> \[x\] Allow anonymous users to trigger remote repository change detection and Bamboo Specs detection
5. GitHub needs to be configured to call the following Bamboo REST API:  

   ```
   https://<BAMBOO_URL>/rest/triggers/latest/remote/changeDetection?planKey=<PLAN-KEY>
   ```

Those options should allow you to run builds in Bamboo from GitHub commit updates.

Please let me know your findings.

comments: author: Vineesh
body: [@Daniel](/t5/user/viewprofilepage/user-id/68477): How do I configure the Bamboo REST API in GitHub?


author: Daniel Santos
body: In my test I just configured the **Repository settings \>\> Webhooks \>\>** **Payload URL** field with the URL above, of course, with the right plan and server address.  
You need to be admin of the GitHub repository for that.


Tags: git

python