2015-04-04 107 views

回答

2

它不直接提供狀態,但爲您提供了create a status

這意味着CI可以有一個最終版本步驟,出版狀態,以GitHub庫的方式。

POST /repos/:owner/:repo/statuses/:sha 

例如:

{ 
    "state": "success", 
    "target_url": "https://example.com/build/status", 
    "description": "The build succeeded!", 
    "context": "continuous-integration/jenkins" 
} 

(和,對於一個給定的SHA1)


例如,見 「Github Commit Status API with Bamboo from Atlassian」:

添加那些您計劃爲腳本。

  • complete.sh

    # specs and cukes results are stored in JUnit format under test-reports 
    if (grep 'failures="[^0]"' test-reports/* || grep 'errors="[^0]"' test-reports/*); then 
        curl -H "Authorization: token MY_TOKEN" --request POST --data '{"state": "failure", "description": "Failed!", "target_url": "${bamboo.buildResultsUrl}"}' https://api.github.com/repos/USER/REPO/statuses/${bamboo.repository.revision.number} > /dev/null 
    else 
        curl -H "Authorization: token MY_TOKEN" --request POST --data '{"state": "success", "description": "Success!", "target_url": "${bamboo.buildResultsUrl}"}' https://api.github.com/repos/USER/REPO/statuses/${bamboo.repository.revision.number} > /dev/null 
    fi 
    
  • pending.sh

    curl -H "Authorization: token MY_TOKEN" --request POST --data '{"state": "pending", "description": "Build is running", "target_url": "${bamboo.buildResultsUrl}"}' https://api.github.com/repos/USER/REPO/statuses/${bamboo.repository.revision.number} > /dev/null