Extending Rational Team Concert 3.x

When you extend RTC, you programmatically add or change features in the RTC Eclipse Client or the RTC server. Either way, this is accomplished by writing Eclipse plug-ins using the RTC API.

There’s a steep learning curve required to start writing RTC extensions, particularly if you are unfamiliar with Eclipse Plug-ins. Building RTC extensions is the last alternative you should use to customize your process or RTC installation. There are many ways to customize RTC for your environment without getting into the complexity of extensions. Investigate the following areas for potential customizations before building extensions:

Getting Started

This section provides tutorials and setup information that will help you started extending RTC.

Learn the basics of Eclipse Plugin development
All extension development is done as Eclipse Plugin development, including server extensions. Jazz leverages the Eclipse Platform’s extensibility mechanism. The benefit of this architecture is that development of client and server side extensions are implemented in a consistent way.

If you’re new to plug-in development, here are some resources to get you started:

Review the introductory videos on RTC extensibility

Set up Your RTC Extensions Development Environment

Do the Extensibility Workshop to step through setting up different development and testing environments, and to see how client and server-side extensions are written and debugged.

If you’re writing process extensions, start by understanding process pre-conditions and follow-up actions. Then see the example on Server Side Development with Process Preconditions.

Create a Hello World custom operation advisor (process extension).

Leverage the Community
Join the Extending Team Concert forum on Jazz.net.

Writing RTC Extensions

The information in this section will help prepare you to write your actual extensions.

Integrating and Extending Rational Team Concert is a comprehensive guide for day-to-day extensions development. Review this information before building production quality extensions, and use it as an ongoing reference.

Learn the details of how to build extensions as you need them by leveraging existing code samples.

There are several different types of extensions you can write:
  • Client extensions add or modify functionality in the RTC Eclipse client. For example, you might decorate files in the Eclipse Package Explorer with the RTC SCM unique identifier (UUID) for the displayed file version.
  • Process Advisors allow you to add pre-conditions or follow-up actions for tasks such as change set delivery. You can prevent actions from occurring  if certain conditions are not met, or kick off extra behavior after successfully completing an action. Process Advisors can run on the RTC Eclipse client or the RTC server depending on the services needed.

RTC Eclipse Client Extensions

Client extensions are standard Eclipse plug-ins that also leverage the RTC API. They run on the RTC Eclipse client and are often used to enhance the RTC Client UI or automate developer tasks. Client extensions are deployed using the standard Eclipse plug-in deployment methods.

Process Advisors

Use this information to understand how to extend processes:
References for developing process extensions:

How do I…

Get the RTC API documentation?
The RTC API is documented using published JavaDoc. The documentation in the RTC SDK download, which is available at the bottom of the All Downloads page in the RTC Downloads area for the current release.

Know which API is officially supported?
The official API is documented in the published JavaDoc (part of the SDK download). If it’s in the JavaDoc, it’s official. But only part of the RTC API is included in the published JavaDoc. The part that isn’t official can be used but it may change in future releases without warning. The part that’s not official yet is not published in the API documentation. Note that at present, only part of the client-side API is in the API documentation, and none of the server-side API is published there. You can use the server-side part of the API, and any other undocumented part of the API, but be aware that it could change in future releases.

Discover which API I need?
The Yari Eclipse plug-in has the capability to report the API that is called when you click on a UI element in Eclipse. You can sometimes find the API you need directly or indirectly by using Yari to find the API that’s activated from the Eclipse UI. We’ll be providing more tips later on how to determine the APIs you’ll need for your extension.

Other Helpful Links

This section provides references on detailed and day-to-day information you’ll need when developing extensions.

Examples and Developer Information

Best Practices

  • Look for simpler solutions than creating an RTC Extension, such as customizing a process template or work item.
  • Research the API before making promises. It’s not always possible to perform some action (or the API for that action is hidden) due to performance or other internal constraint.
  • … more to come

How to Provide Feedback

Was this information helpful? Yes No 16 people rated this as helpful.