Quick Info
Description
TeamCity is a build management and continuous integration tool that supports various version control systems and build runners. The TeamCity server manages committed code changes, builds, real-time build information received from build agents, and build artifacts.Compatibility
The TeamCity plug-in supports TeamCity version 9 (2015) and later.Quick Info
launch-teamcitysourceconfig-20.1153959.zip
Uploaded: 22-Mar-2023 12:29
launch-teamcitysourceconfig-19.1131552.zip
Uploaded: 08-Apr-2022 15:15
launch-teamcitysourceconfig-18.1128775.zip
Uploaded: 07-Feb-2022 17:21
launch-teamcitysourceconfig-17.1109011.zip
Uploaded: 11-Jun-2021 06:26
launch-teamcitysourceconfig-16.1100669.zip
Uploaded: 16-Mar-2021 11:58
Overview
TeamCity is a build management and continuous integration server from JetBrains.
The TeamCity plug-in automates downloading artifacts from TeamCity projects.
This plug-in includes one step which has no input properties:
- Import Version
Step palette
To access this plug-in in the palette, click Source and Repositories > TeamCity.
Compatibility
The TeamCity source configuration plug-in supports TeamCity version 5 and later.
This plug-in requires version 7.0.5 or later of HCL Launch.
Installation
This plug-in is installed when installing HCL Launch. When new plug-in versions are available, see Installing plug-ins in HCL Launch to update the plug-in.
History
Version 14
- Update Jackson dependency.
Version 13
- Add support for setting isFinished flag flag when importing versions.
Version 12
- A regression where the user who requested a manual version import was not being tracked.
Version 11
- Now compatible with TeamCity version 10.
- Implemented support for the import of specific and all branches.
- New component version properties: id, buildTypeId, number, status, branchName, defaultBranch, href, and webUrl.
Version 10
- Removed the unused Project and Build Configuration properties.
- Build Type property has been renamed to Build Configuration ID.
- Update the Extensions of files to Convert and Preserve Execution Permissions descriptions.
Version 9
- Repository URLs will no longer have their extra paths removed.
- The NullPointerException error has been resolved on version-already-found imports.
Version 8
- Now uses working directory for temporary artifact storage.
Version 7
- Support property file encryption.
Version 6
- Plug-in now checks the agent settings for acceptance of self signed certificates.
Version 5
- Clean up temp files after import.
Version 4
- Issues With Teamcity plug-in recognizing artifact.zip files due to special characters
Version 3
- Fixed issue causing version imports from builds with special characters to fail.
- Fixed download URL pattern to work with earlier versions of TeamCity 8.0.x
Version 2
- Fixes running a process after creating a version
Version 1
- Initial release of TeamCity source configuration plug-in.
Steps
Process steps in the TeamCity plug-in
Import Version
Create a new component version and imports artifacts from TeamCity.
This step has no input properties.
Roles in the TeamCity plug-in
The plug-in adds these roles automatically to resources. You cannot add these roles
manually.
TeamCityComponentProperties
Name | Type | Description | Property Reference |
---|---|---|---|
Branch | String | The TeamCity branch name to limit build imports by branch. If a value is not specified, artifacts are retrieved from the projects default branch defined in TeamCity. Specifying a value of default:any imports all builds from all TeamCity branches. |
${p:component/TeamCityComponentProperties/branch} |
Build configuration ID | String | The build configuration ID in TeamCity. In TeamCity versions earlier than version 8.0, the build configuration IDs typically have the prefix bt. You must include the prefix when you specify the build configuration ID, for example: bt256. In TeamCity versions 8.0 and later, the build configuration IDs do not include the prefix. For these versions, specify the build configuration ID as it is displayed in TeamCity. This field in previous plug-in versions is called the Build Type ID. |
${p:component/TeamCityComponentProperties/buildType} |
Extensions of files to Convert | String | A list of text file extension to convert to a new charset when imported. Separate each item with a comma, for example: txt,properties,log. |
${p:component/TeamCityComponentProperties/extensions} |
Password | Password | The password associated with the user name to access the TeamCity server. | ${p:component/TeamCityComponentProperties/password} |
Preserve Execute Permissions | Boolean | For Linux and UNIX operating systems, retain the execute permissions for each file. | ${p:component/TeamCityComponentProperties/saveFileExecuteBits} |
Repository URL | String | The base URL of the repository on the TeamCity server. | ${p:component/TeamCityComponentProperties/repoUrl} |
User | String | The user name for the account used to access the TeamCity server. | ${p:component/TeamCityComponentProperties/user} |
TeamCityImportProperties
Name | Type | Description | Reference |
---|---|---|---|
The build ID for the target build. | String | ||
The name of the version. | String |
Usage
You’ll need to define an HCL Launch component which defines the source and processes for the Maven repository. The component contains the information for importing the artifacts and any processes to implement on the artifacts.
When creating the component, you’ll supply information described on the Import Version step. After the component is created, use the Components page in the user interface to import a version of the artifacts if automatic import is not selected.
To create a component, complete the following steps. For more information about creating a component, see Creating components in the product documentation.
- In HCL Launch, click Components and then click Create Component.
- In the Create Component window, specify a name and description for the component.
- In the Teams fields, specify the access information for the new component.
- To use a template for the new component, select a template from the Template list. In this case, the component inherits source configuration, properties, and processes from the template.
- In the Source Config Type list, select Teamcity.
- Specify the properties for the component. See Steps for property descriptions.
- Click Save.
Import a version
When the artifacts are imported, a component version is created using the version of the package. You can specify to import a specific package version or import all versions. If importing all versions, a component version is created for each version.
- Click the Versions tab for the component.
- Click Import New Versions.
- Specify a specific version of the package to import, or leave blank to import the latest version of the package available in the repository. Additionally, enable Import All Versions to import all versions of a package.
- Click Save.
Sample Configuration
The TeamCity Source version 10 plug-in contains a number of changes that affect usage. Specifically, the Build Configuration and Project properties have been removed. The Build Type property is renamed to Build Configuration ID to match the intended functionality and to easily identify the Build Project.
The last build from the default
branch is imported on each run. If the latest version exists as a component version, no import occurs.
Below are a few screenshots that show a simple configuration of the TeamCity plug-in with properties pulled from the TeamCity Server.
Properties
The following two properties must be specified to configure a TeamCity source configuration plug-in.
- Repository URL: The base TeamCity server hostname and port.
- Build Configuration ID: The Build Configuration ID that identifies the build project in TeamCity.
The following four properties are optional.
- Branch: The branch to import artifacts from. Empty value will import default branch. `default-any` will import all artifacts regardless of branch.
- User: The username to authenticate with TeamCity.
- Password: The password to authenticate with TeamCity.
- Preserve Execute Permissions: Select to retain file permissions. Linux and UNIX operating systems only.
- Extensions of files to Convert: Specify extensions to convert files to local charset.
Manual Import Properties
Two optional properties are available on manual import.
- Target Build ID: Specify a build id to import a specific build version. This property can be used to import older builds.
- Version Name: Rename the component version if imported.
Sample Configuration
Repository URL
The Repository URL points the source configuration to the TeamCity server. This property is likely the same hostname specified in the internet browser to reach the TeamCity instance. It is important to note that this Server URL is also configurable (JetBrains Documentation). The URL can be found by either going into TeamCitys Administration > Global Settings
and viewing the Server URL property or using the URL in your browser.
Administration > Global Settings
Internet Browser
Build Configuration ID
The Build Configuration ID specifies the exact build project to import as component versions. At the time of this writing, only the default branch can be imported. Within TeamCitys REST API, this property is referred to as buildType or buildTypeId, but labeled as the the Build Configuration ID in the build configuration settings. The ID referred to as its REST API name can be found as a URL query parameter while viewing the build project in a browser.
Build Configuration Settings > General Settings
Authentication
While some TeamCity servers are open to the public to view, realistically your TeamCity server will be protected with a username and password. Specify any username and password that has access to a particular project build. The same credentials used to login manually are used here.