Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

On this page:

Table of Contents

...

App Configuration

TeamCity Integration for JIRA add-on Jira app allows you to configure parameters of build indexation. You can quickly set the appropriate parameters depending on your connectivity, size of TeamCIty instance and number of builds and configurations.

  1. Open the JIRAJira's Administration console.
  2. Navigate to Add-ons Applications > TeamCity Configuration > Global Configuration.
  3. Select the Global Configuration section.
Info

For app versions older than 2.1.0 the configuration section is available at Jira administration console > Apps > TeamCity Configuration.


Modifying Configuration of Indexation

  1. On the Global Configuration page, click Edit.
  2. Configure the appropriate parameters.
  3. Click Update

Image Added

Network Options

...

The network options allow you to configure timeouts for establishing connection to TeamCity server and fetching build data from hosts. You can also define the type of connection direct or via proxy server. The same network settings are applied to all TeamCity servers integrated with your JIRAJira. You cannot set specific configuration for each TeamCity instance.

You can specify the next options:

  • Connection Timeout
  • Socket Timeout
  • Response Timeout
  • Proxy ServerSupport

Connection Timeout

Connection Timeout is timeout (in seconds) before connection to TeamCity server is established after conneciton failure.

Connection timeout is used for establishing connection between JIRA Jira and TeamCity. If the connectivity between two instances is intermittent, you can set the higher connection timeout for the add-on app being able to successfully establish connection to TeamCity.

If you set the lower value, the add-on app will terminate the current connection attempt and start a new one. If the connection is slow or ping is high, the add-on app will require more time for establishing connection to the server. So if you set the lower value, the add-on app may not to be able to successfully connect to TeamCIty and start data indexation.

...

Timeout used for waiting data retireval from TeamCity server.

Once the add-on app has established the connection, it starts waiting for data fetching from TeamCity. Socket timeout is amount time the add-on app waits for completion of packet data retrieval from TeamCity instance before it terminates the session. The higher value you set, the longer the add-on app will wait during transfer of sequential data packets.

...

Response timeout is amount of time the add-on app allocates to completion of the request and data transfer. If your builds are large, you can set the higher value to be sure that all data will be downloaded within this period.

Proxy Support

The add-on app uses the proxy properties loaded by Java Virtual Machine (JVM) on startup of JIRAJira.

If JIRA Jira is configured to use a proxy, it tries to connect to TeamCity via a proxy even if the TeamCity server is in the same network. The proxy server could block this connection as shown below.

...

You can connect JIRА to TeamCity directly by using one of the two following parameters, as follows: Talk

idtalk-191

PropertyValueDescription
disableProxyForTeamcity
true / false

If true, the

add-on

app will try to directly connect to all Teamcity servers without using the proxy server.

If all your TeamCity servers operate within the same network, this parameter will allow Jira to establish direct connection to all TeamCity servers.

http.nonProxyHosts
host name

If specified, the

add-on

app will try to directly connect to the specified TeamCity servers, the proxy server will be used for the rest of hosts.

This parameter allows you to indicate which TeamCity servers Jira can establish direct connection to and which instances operate via a proxy server.

Info
For the details on JIRA Jira startup options, refer to the How to Configure an Outbound HTTP and HTTPS Proxy for JIRAJira page.

Talk
idtalk-187

Indexing Options

Indexing options indicate how deep the add-on indexesTeamCity app indexes TeamCity build data and whether it can skip builds upon error occurrence or should it attempt to fetch them. 

...

Depth of indexing builds depending on the recency of bulds (in days).

By default, the add-on app is configured to fetch all build data builds over the last 365 days from TeamCity server, but you can change this parameter and set the appopriate age the appropriate age of builds in days. For example, if you needn't data for the past two years, and you only need build data for the last 3 months 3 months - set '90'.

Response Size

Size of the maximal response from TeamCity while retrieving information about builds.

By default, the app is allowed to receive responses that do not exceed 32 Mb (32768 kb). If you activate the Skip Builds option, the app will skip all responses that exceed the pre-defined limit. You can disable any response limits by setting '0' as the value for the Response Size option.

Skip Builds

Enables skipping builds that cannot be retrieved due to network or connectivity problems.

This option allows the add-on app to skip builds that cannot be retrieved due to some connectivity issues. Instead of performing continuous attempts to index the build, the add-on app will skip it and proceed to the next build in the queue. It can speed up the indexing procedure, but skipped builds will not be available in JIRAJira.

Issue Resolutions

...

idtalk-189

...

I want to decrease the indexation time, what should I do?

You can use the Index Depth option, which allows you to define age of your builds that should be indexed. This option is useful when you need the indexed build data over the last 3 months, but not all the set of data.

Indexation freezes at a definite moment with no progress for a long period of time

...

You may encounter such an issue when you have a large change set with the merge of up to 5,000 commits. The add-on usually runs out of time to fetch data about this merge in the build.

You need to increase the response timeout up to 600 seconds, which should be enough for complete data retrieval.

Build indexation is reset and cannot be completed

  1. The add-on fetches data from TeamCity in batches with 20 builds in each batch. Batches are fetched sequentially one by one. If the add-on fails to get the next batch with builds, the indexation is reset and the procedure starts from the beginning. You need to increase the socket timeout up to 180 seconds, so the add-on will be able to fetch the last batches in the queue. The connection timeout should be about 10 seconds.
  2. You may encounter this issue if you perform daily backups with further suspension of TeamCity server during data backup. If you have a lot of data, the add-on is not able to index it all before backup creation, that’s why indexation is restarted each time. Disable the daily backup until completion of indexation.

After re-installation of the add-on, indexation starts from the very beginning and lasts for several days

...

.

Open the Troubleshooting page and enable logging of the com.stiltsoft.lib.teamcity.connector.rest package (for the details, refer to the this page).

On the Troubleshooting page, find the error that persists during the indexation.

  1. If you encounter the Read timed out error, increase value of the Socket Timeout option. By default, 180 seconds are set.
  2. If you encounter the com.stiltsoft.lib.teamcity.connector.rest.exception.ResponseTimeoutException: Response time is more than error, increase the value of the Response Timeout option.
  3. If the issue still persists, after increasing values of the above mentioned options, enable the Skip Build option. If timeouts will be exceeded upon the next request, such a request will be skipped and will not be re-tried. Indexation will skip the current build and will proceed to the next build in the queue.

Jira has run out of memory.

If you encounter this issue, follow these steps:

  1. Increase the heap size of JVM (for the details, refer to this page).
  2. Submit a ticket to our HelpDesk system.

What should I do if I use a proxy server?

If the TeamCity and Jira servers do not operate in two different networks separated by the proxy server, you should set either the http.nonProxyHosts or the disableProxyForTeamcity parameter (for the details, refer to the this page).