This is a plugin for TeamCity that integrates SourceForge as issue tracker.
-
Download the ZIP file from the latest release and place it as-is into the
plugins
directory of your TeamCity data directory. Do not extract the ZIP file.
You can for example- put the ZIP file manually into the data directory, if you know where it is located and how to access it
- go to
Administration -> Plugins List -> Upload plugin zip
and upload the ZIP via web interface - go to
Administration -> Diagnostics -> Browse Data Directory
, pressUpload new file
and upload the ZIP via web interface to theplugins
directory
-
Delete the ZIP file of the old version from the
plugins
directory, if you are updating from a previous version. -
After the ZIP file is placed where it is supposed to be, restart your TeamCity server, as it does not recognize plugin changes until restart.
The plugin adds the issue tracker type SourceForge
to TeamCity.
To configure a connection to SourceForge:
-
Go to
Administration -> <The project where you want to configure the connection> -> Issue Trackers -> Create new connection
-
Choose
SourceForge
as type -
Enter some display name to distinguish this connection instance from others you might configure
-
Enter the unix name of the SourceForge project from which you want to add a ticket tool.
This can be a project prefixed byp/
or a user prefixed withu/
.
If you pressSave
, the project is checked for existence and an error is shown if it does not exist.
Examples:p/jedit
,u/vampire0
-
Enter the mount point of the ticket tool that you want to add.
If you pressSave
, the ticket tool is checked for existence in the given project and the valid ticket tools are listed in the error message if it does not exist.
Examples:bugs
,features
-
Enter a Java-flavour regular expression as issue ID pattern which will be used to find issue IDs in commit messages and whereelse supported by TeamCity.
The pattern is also used to extract the actual issue ID from the match. If the given pattern has at least one match group, the content of the first match group is used as issue ID, otherwise the full match is used. The given pattern is compiled in a case-insensitive manner.
If you pressSave
, the pattern is validated for syntactical correctness and for not matching the empty string.
Examples:bug #(\d+)
,\d+
-
Optionally enter a SourceForge search query that returns all resolved issues.
This query is used to determine whether an issue is to be considered resolved or not. This manifests in the display style of the issue popup. The syntax of the search query is the same as for the search on SourceForge itself.
If you pressSave
, the search query is validated for syntactical correctness.
Examples:status:closed-fixed || status:closed-invalid
-
Optionally enter a SourceForge search query that returns all feature request issues or
true
if all issues from this ticket tool are feature requests.
This query is used to determine whether an issue is a feature request or not. This manifests in the display style of the issue popup. The syntax of the search query is the same as for the search on SourceForge itself.
If you pressSave
, the search query is validated for syntactical correctness.
Examples:true
,label:feature
-
Optionally enter how to determine the type of an issues from the configured ticket tool.
Allowed syntax for the field value:- labels:<regex>[:<default>]
-
The value is defined by one or more labels.
If multiple labels are found, they are joined together with commas.
If no label is found, the default value is used, if one is defined.
The regex must not contain any colons. If you need to match a colon, use '\u003a' instead.- If no regex is given, all labels are used, e. g. 'labels:' or 'labels::bug'
- If a regex without group is given, all labels matching the regex are used completely, e. g. 'labels:.+_bug' or 'labels:.+_bug:general_bug'
- If a regex with groups is given, all labels matching the regex are used, but only their first group, e. g. 'labels:type_(.+)' or 'labels:type_(.+):bug'
<dt><b>custom:<custom field name>[:<default>]</b></dt> <dd> The value is defined by the value of a custom field, e. g. 'custom:_type' or 'custom:_type:bug'<br/> If the custom field is not found, not set or empty, the default value is used, if one is defined. </dd> <dt><b><fixed string></b></dt> <dd>All issues have the same value defined here, e. g. 'bug'</dd>
-
Optionally enter how to determine the priority of an issues from the configured ticket tool.
Allowed syntax for the field value is the same as for type.
If you pressSave
, the value is validated for syntactical correctness and in the labels case with regular expression, that it does not match the empty string.
Examples:labels:"important\u003a .+":important: no
,custom:_priority
,important: no
-
Optionally enter how to determine the severity of an issues from the configured ticket tool.
Allowed syntax for the field value is the same as for type.
If you pressSave
, the value is validated for syntactical correctness and in the labels case with regular expression, that it does not match the empty string.
Examples:labels:severity_(.+)
,custom:_severity:not: severe
,major
After the connection - or connections if you have multiple ticket tools - is configured, the issue tracker integration of TeamCity can be used.
To sum up what you get, here a quick list:
- Issue mentions in commit comments are transformed into links to the issue in the issue tracker
- Next to issue mentions in commit comments is an arrow that triggers a pop-up with further information about the respective issue
- Build results pages get a new Tab
Issues
, that lists the issues that were mentioned in a check-in included in the build, if there were any - Build configuration pages get a new Tab
Issue Log
, that lists all issues that were mentioned in a check-in in a list, together with the builds of that build configuration
You can also filter this list by build number range and whether to show only resolved issues, if you have set up the search query for finding resolved issues in the connection settings
This project is licensed under the Apache License, Version 2.0 (the "License");
you may not use this project except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.