Commit status publisher is a build feature which allows TeamCity to automatically attach build statuses of your commits in an external system. The feature is implemented as a plugin bundled since TeamCity 10.0; for earlier TeamCity versions the stand-alone plugin is used.
The supported systems are:
- JetBrains Upsource
- GitHub (the build statuses for pull requests are supported as well)
TFS/VSTS-hosted Git (since TeamCity 2017.2)
Atlassian Bitbucket Server (formerly Stash) and Atlassian Bitbucket Cloud
Gerrit Code Review tool.
To use the tool:
- Add the build feature to your build configuration,
- Use the default All attached VCS roots option if you want Commit Status Publisher to attempt publishing statuses for commits in all attached VCS roots or select a single repository for publishing build statuses (since TeamCity 2017.1)
- select your system as the publisher, and specify its connection details and credentials
- Test the connection (since TeamCity 2017.1)
- Save your settings.
See the example below to configure sending the status of builds with changes included in your pull request from TeamCity to GitHub.
- Configure the branch specification in your VCS Root ensuring that it includes pull requests. Detailed information is available in the Branch specification section of this TeamCity blog post.
- Add the build feature:
- Use the default All attached VCS roots option to publish statuses for commits in all attached VCS roots
- Select GitHub as the publisher and specify its connection details and credentials and test the connection:
- Save your settings.
- Commit changes to your source code and create a pull request in GitHub, then run a build with your changes in TeamCity.
The Commit Status Publisher will inform you on the status of the build with your pull request changes:
1) It will show you whether the check is in progress , whether it failed or is successful
2) hovering over the commit status will display the build summary
3) clicking the build status sign or the Details link will open the build results page in TeamCity:
This information is also available on the Commits tab of your pull request details:
Similarly to the previous page, clicking the build status icon opens the build results page in the TeamCity web UI: