Teamscale
Author: g | 2025-04-24
To try out Teamscale, the first step is of course to set up a Teamscale server. You can host Teamscale on-premise, or you can use the Teamscale cloud . Every Teamscale license Changed permissions when running Teamscale in Docker. As of Teamscale 6.3, Teamscale is no longer executed as the root user in the Docker container, but as user teamscale (UID=1000).
Teamscale CLI for Developers (teamscale-dev)
With the configuration ID you have chosen in the previous step and the connection details with your Teamscale URL and technical user and access token. If you are using an application server like WebSphere, JBoss, Wildfly etc. please have look at the specific instructions in the agent's documentation.You'll need to set this environment variable in your Docker orchestration tooling (e.g. Docker Compose).Now you can restart your container and the agent will record coverage and upload it to Teamscale in regular intervals. You should also see the running profiler under Project Configuration > Coverage Profilers.Debugging Setup ProblemsThe agent by default logs to /tmp/teamscale-java-profiler--/logs/ inside your Docker container. If the setup does not work as expected, please have a look at the problems reported in this log file, e.g., by running:bashdocker exec -it YOUR_CONTAINER_ID sh -c "cat /tmp/teamscale-java-profiler-*/logs/*"You can also make the profiler log debug information to stdout by appending ,debug=true to the JAVA_TOOL_OPTIONS.Example: Docker Compose yaml# Add a volume that will hold the profiler files.# It can be shared between profiler's and your app's container.volumes: teamscale-java-profiler: services: # On start, the container will copy the profiler files to /transfer, # which is mounted to the previously defined volume, and exit. teamscale-java-profiler: image: cqse/teamscale-jacoco-agent:v34.0.1 volumes: - teamscale-java-profiler:/transfer:rw yourapp: image: your/image # Wait for the agent container to have copied the agent jar depends_on: teamscale-java-profiler: condition: service_completed_successfully # Use the profiler's volume. volumes: - teamscale-java-profiler:/teamscale-java-profiler:ro # Enable the profiler. # Replace with your Teamscale instance's URL, username and access token # as well as the profiler configuration ID from the previous step. environment: JAVA_TOOL_OPTIONS: "-javaagent:/teamscale-java-profiler/teamscale-jacoco-agent.jar=teamscale-server-url= How To Install Teamscale as a Linux Service You might want to install Teamscale as a Linux service to allow for more consistent management with other services on the same machine and to ensure that Teamscale is automatically started after a reboot. Additionally, this allows Teamscale to automatically restart in case of a crash.NoteBefore installing Teamscale as a service, ensure that the basic configuration was completed and that Teamscale can be started manually.The required files are located in the folder linux in the Teamscale installation directory. You can choose between a systemd-based installation or an init.d-based one.systemdInstalling Teamscale as a systemd ServiceUninstalling the Teamscale systemd Serviceinit.dInstalling Teamscale as a init.d ServiceUninstalling the Teamscale init.d Servicesystemd Most modern Linux distributions support systemd. To see if your system supports, check for the existence of the directory /lib/systemd or the command systemctl. (This procedure was tested on Ubuntu 20.04.)Installing Teamscale as a systemd Service Modify the file linux/systemd/teamscale.service according to the TODO comments inside.Copy the file to /etc/systemd/system.Reload the systemd daemon to register the new service by running:bashsudo systemctl daemon-reloadEnable the service to start at boot time by running the following command:bashsudo systemctl enable teamscale.serviceTo start the service manually use the following command:bashsudo systemctl start teamscale.serviceUninstalling the Teamscale systemd Service To uninstall the systemd service, run the following commands:bashsudo systemctl stop teamscale.servicesudo systemctl disable teamscale.serviceremove the file you copied to /etc/systemd/system/teamscale.serviceinit.d The following guide for init.d is deprecated (this procedure was tested with Ubuntu 12.04). If possible use systemd or docker instead.Installing Teamscale as a init.d Service Edit the file teamscale.init:Enter or edit the correct path to the Teamscale root directory. For example: TEAMSCALE_HOME=/opt/teamscaleEnter or edit the correct path to the Java installation directory. For example:bashexport JAVA_HOME=/opt/jdkOptionally uncomment and fill the EXTRA_START_ARGS line to run the services as a different user.Install the serviceTeamscale CLI for Build (teamscale-build)
SAP® Integration Teamscale can integrate with SAP® systems in order to use the analyses provided by Teamscale in the area of ABAP® custom code development. The following is relevant for ABAP developers, quality engineers for ABAP, and SAP NetWeaver® system administrators who want to configure Teamscale, or those of them who want to connect to Teamscale from an SAP system. It covers the SAP and ABAP specific configuration steps and usage scenarios, especially those tasks, which are done within an SAP system. This chapter is irrelevant for all who have nothing to do with custom code development for SAP.The required configuration steps on the SAP system are independent of clients on the SAP system (in German »mandantenunabhängig«). Therefore, it is not required to transport our add-on to specific clients.SAP Java Connector (SAP JCo)A prerequisite for Teamscale to communicate with SAP systems is the SAP Java Connector (SAP JCo) library. SAP's licensing restrictions do not permit redistribution of this library with Teamscale. However, SAP JCo is licensed without additional fees as part of a licensed SAP solution or component license. To connect Teamscale to your SAP system, you need to manually download the library from SAP and put it into Teamscale's library folder. For detailed information on the installation process, please refer to Installation of the SAP Java Connector (JCo)Installation of the SAP Java ConnectorTeamscale Connector for SAP NetWeaver® AS ABAP®Installation of the SAP ConnectorRemoval of the SAP ConnectorUser and Role for RFC AccessRole and Required Access RightsRFC User for TeamscaleSAP Connection Configuration in TeamscaleConfiguring Repository Clone DirectoryConfiguring SAP ABAP System ConnectionConnecting a Teamscale Project with SAPBackground Full SyncSecure Network Communication (optional)SNC Configuration of the SAP SystemSNC Configuration on the Teamscale ServerAdditional Analysis Configuration for SAPGrouping Changes by Transport Request or TaskIntegrating SAP Code Inspector / ATCSelecting/Defining a Code Inspector Check VariantCode Inspector Settings in SAP ABAP System ConnectionTest Gap Analysis Set Up For SAPTroubleshooting: No Coverage InformationUsing SCOV Lite for Teamscale and UPLIntegration with ABAP Development Tools for Eclipse (ADT)Integration with ATCConfiguring HTTPS Connection to TeamscaleConfiguring HTTP(S) Proxy in the SAP SystemTest ActivationDefinition of a Check VariantExecute the Check Variant.Integration with SAP Transport Management SystemTeamscale Features for SAP ABAPProperties of ABAP Code ObjectsInstallation of the SAP Java Connector Download the SAP Java Connector (SAP JCo). SAP JCo is available through the SAP Service Marketplace for registered SAP customers. Download the most recent version (>= 3.1) for the platform running Teamscale. When SAP JCo is needed for deploying our docker container, use the version for Linux for Intel compatible processors.Uncompress the contained library files into a temporary directory.Copy the Java library sapjco3.jar and the native library file for the specific platform (sapjco3.dll for Windows, libsapjco3.so for Linux, or libsapjco3.dylib for macOS) to a directory named lib-ext.For Teamscale zip distributions, the lib-ext directory must be inside the Teamscale installation directory.For Teamscale Docker distributions, the lib-ext directory must be mounted directly in the volumes section of the docker-compose.yml file to the directory /opt/teamscale/lib-ext, see below. Please consider setting the appropriate access rights (see. To try out Teamscale, the first step is of course to set up a Teamscale server. You can host Teamscale on-premise, or you can use the Teamscale cloud . Every Teamscale license Changed permissions when running Teamscale in Docker. As of Teamscale 6.3, Teamscale is no longer executed as the root user in the Docker container, but as user teamscale (UID=1000).cqse/teamscale-profiler-dotnet: Teamscale Ephemeral .NET
To 908:PFS:HIGH:MEDIUM:+e3DES.Save and activate the changed profile (respective dialogs will appear).Restart the SAP application server.Further information can be found in the SAP Community.Configuring HTTP(S) Proxy in the SAP System The Code Inspector test Teamscale Findings uses the global HTTP(S) client settings configured in transaction SM59. If your SAP System requires an HTTP(S) proxy in order to connect to the Teamscale server, please make sure the system's global proxy settings in SM59 > Extras > HTTP Proxy Configuration (»Shift+F1«) are configured accordingly. The relevant settings are on the Global Settings and HTTPS Protocol tabs.Test Activation First, Code Inspector test Teamscale Findings must be activated:In transaction SCI, select the action Code Inspector > Management of > Tests (or »Ctrl+Alt+F5«).Mark the checkboxes at the check classes /CQSE/CL_CI_CATEGORY_TEAMSCALE (category for Teamscale) and /CQSE/CL_CI_TEST_TS_FINDINGS (Teamscale findings test).Save your changes.Definition of a Check Variant Second, a check variant which contains the Teamscale Findings test must be defined. In transaction SCI, add a new check variant and select the Teamscale Findings test:Also, the required parameters of this test must be specified:Teamscale Findings Parameters Teamscale server URLURL of the Teamscale instanceTeamscale user nameName of the Teamscale user which should be used to retrieve the findingsUser’s access keyThe access key of this user (must be generated in the user preferences of the Teamscale Web UI)Teamscale project idThe identifier of the project in Teamscale for which findings should be retrieved. If no project ID is provided, the check will query Teamscale for projects that are associated with the respective system ID.Only new findings since (label)Optional. If set, only findings which were introduced after the given baseline label are included. Baselines are managed in the Teamscale Web UI under Quality Control > Baselines)Only new findings since (date)Optional. If set, only findings introduced after the specified date are included.Also finds. in changed codeIf enabled and also one of the Only new findings since parameters or Filter old transport findings is set, not only new findings but also findings in code changed since the baseline are includedFilter old transport findingsIf enabled, only findings that were introduced in a still-open transport request will be included. This setting should only be active in check variants used for ATC checks on transport release. Note that the creation date of the oldest relevant transport request is used.Baseline parameters are mutually exclusiveThe three check parameters Only new findings since (label), Only new findings since (date), and Filter old transport findings all affect to which degree old findings should be returned. In order to have consistent information in all cases, only one of these parameters may be used. If you need different baseline settings for different use cases, e.g. one for on-demand checks and one for check on transport release, different check variants must be used.Execute the Check Variant. After the variant is saved, it can be executed like any other Code Inspector variant, e.g. by transaction SCI or from the ABAP Workbench (SE80) using the commands Check > Code Inspector or Check > ABAP Test Cockpit (ATC). Note How to install Teamscale with Docker).yaml volumes: - /path-on-host/lib-ext:/opt/teamscale/lib-extOn Windows systems, please make sure the prerequisite Microsoft Visual Studio C/C++ Runtime is installed. The architecture (x86 or x64) must match your JVM's architecture. If in doubt, consult the System > System Information view. For details, see SAP Note 2786882.(Re-)start Teamscale to load the SAP JCo library. You can confirm that the JCo library has been successfully loaded on the System > System Information view.Teamscale Connector for SAP NetWeaver® AS ABAP® The Teamscale Connector for SAP NetWeaver® AS ABAP® provides the connection between Teamscale and SAP NetWeaver AS ABAP based systems. The connector has to be transported to the SAP NetWeaver system and provides the following main functions:An RFC-based interface, which is used by Teamscale to poll the SAP system for custom code changes, so they can be analyzed within TeamscaleExecution of SAP Code Inspector (SCI) and export of the inspection results to TeamscaleExtraction of test coverage and usage data for Teamscale to support Test Gap analysis and usage analysisA plug-in for the ABAP Workbench and the Change and Transport System to access Teamscale results from the SAP system. This is realized by a custom SAP Code Inspector test case which shows messages for findings identified in Teamscale.The Teamscale Connector for SAP NetWeaver® AS ABAP® is compatible with SAP NetWeaver AS ABAP 7.0 EHP2 and later versions.Installation of the SAP Connector An archive file containing the latest release of the Teamscale Connector for SAP NetWeaver® AS ABAP® can be downloaded via Download either the .zip or .tar.gz source code file.For transport, place the K* and R* files from the archive in the cofiles and data directories of the transport directory of your host machine (typically /usr/sap/trans on Unix/Linux or C:\usr\sap\trans on Windows) and import the transport (transaction STMS ). Enable special conditions Overwrite Originals and Ignore Invalid Component Version:Basically, no further configuration in the SAP system is required. One exception is the use of Secure Network Communications (SNC).Removal of the SAP Connector To remove the Teamscale Connector for SAP NetWeaver® AS ABAP® from your system, a deletion transport is provided upon request. Please contact us, attaching a Teamscale support request and mention the System ID the connector should be removed from. We will then provide the deletion transport for the correct version.User and Role for RFC Access Teamscale connects to the SAP application server via RFC (remote function call) to retrieve the source code, which should be analyzed as well as some metadata (for example test coverage). The called functions are in function group /CQSE/TEAMSCALE_CONNCT_RFC . Additional functions reside in /CQSE/TEAMSCALE_TIA_RFC . Hence, a (technical) SAP user is required, which will be used by Teamscale to connect to the SAP system.Role and Required Access Rights The SAP user for Teamscale must have an appropriate role assigned. The required authorizations are listed here:Authorization ObjectFieldValueS_RFCRFC_TYPEFUGR (Function Group) RFC_NAMERFC_METADATA, /CQSE/TEAMSCALE_CONNCT_RFC, /CQSE/TEAMSCALE_TIA_RFCS_RFCRFC_TYPEFUNC (Function Module) RFC_NAMEDDIF_FIELDINFO_GET, RFCPING, RFC_GET_FUNCTION_INTERFACES_BTCH_JOBJOBACTIONRELE (Release Jobs)JOBGROUP*S_COV_ADMACTVT02 (Change)S_DEVELOPDEVCLASS*OBJTYPE*OBJNAME*P_GROUP*ACTVT03 (Display)The authorizations are required for basic RFC access, read access to development objects (source code),Download file teamscale-v4.2.1.zip - Teamscale 9.7.0
, which will be used on the Teamscale server, must be created from the client PSE file. For both steps, again the command line tool sapgenpse is used, see the following examples:sapgenpse maintain_pk -v -a SNC.crt -p teamscale.psesapgenpse seclogin -p teamscale.pse -O rootThe Access Control List (ACL) for SNC restrictions must allow RFC communication with the client: In view VSNCSYSACL (transaction SM30 ), an entry for work area external (E) with the SCN name of the client (Teamscale), e.g. p:CN=TEAMSCALE, O=ACompany, C=EN, must be added.If you want to use the client X.509 certificate also for logon instead of username and password, the certificate must be mapped to the SAPTeamscale user. To do so, an entry in view VUSREXTID (transaction SM30 ) must be added, again for the SNC name of the client.SNC Configuration on the Teamscale Server On the Teamscale server, the following configuration steps are required:The library files from SAP Cryptographic Library must be saved on the Teamscale server. SAP Cryptographic Library can be downloaded from SAP for Me (requires login) for the required operating system, search for COMMONCRYPTOLIB 8.The cred_v2 file must be moved to a directory on the Teamscale server. The file should be only accessible for the operating system user running Teamscale.The environment variable SECUDIR must have been defined pointing to the directory containing cred_v2 .If the X.509 client certificate should be used for logon (SSO mechanism), the client certificate file (e.g. TEAMSCALE.crt ) must be saved on the Teamscale server.SNC Configuration in Teamscale On the Admin > Settings view, you have to specify the path to the directory containing the library files of SAP Cryptographic Library under SAP > [SAP ABAP System Connections - Global Settings].Under SAP ABAP System Connection, SNC must be enabled and the SNC options must be specified:SNC Parameters for SAP Connection Overview Use Secure Network Communications (SNC)Tick to enable SNCSNC name of the communication partner serverThe SNC name of the SAP system, something like p:CN=SNC, O=ACompany, C=ENOwn SNC name of the callerThe client SNC name of Teamscale, something like p:CN=TEAMSCALE, O=ACompany, C=ENUse SNC Single sign-on (SSO)Enable logon by X.509 certificate instead of username/passwordPath to X.509 certificatePath to *.crt file holding the X.509 client certificate, only required if SSO mechanism is enabledAdditional Analysis Configuration for SAP This section describes additional configuration steps required for specific analyses in Teamscale, namely the upload of SAP Code Inspector findings and the usage of coverage results for test gap analysis.Grouping Changes by Transport Request or Task If your development workflow is centered around transports and tasks, you can use Teamscale to easily group all changes belonging to the same transport into one view. To do that, add a connector or type Issue Tracker > Commit Message Issues in the project creation / edit dialog with the following configuration:Issue ID pattern: Request ([A-Z0-9]{10})[ :]|Task ([A-Z0-9]{10}):Issue subject pattern: [^:]+:(.*)These patterns will extract all requests and tasks. If you are only interested in one of these types, you may remove the other from the Issue ID pattern.After project creationGitHub - cqse/teamscale-cli: A Teamscale command line
Have multiple updates per day, as long as one of them always runs shortly before the UPL extraction job.Teamscale analyses can be integrated into Eclipse-based development workflows, displaying findings directly in the IDE. Thus, users will get most of the relevant information in their usual development environment, not needing to switch to Teamscale's web interface.For installation and configuration of the Eclipse plugin, please see this guide.Integration with ATC Teamscale findings can be also shown within classical SAP development tools like ABAP Test Cockpit (ATC) and SAP Code Inspector (SCI). Thus, Teamscale findings can be handled within the ABAP Workbench in the same way as any other Code Inspector messages, e.g. by using the check functions available in SE80.To achieve this, the Teamscale Connector for SAP NetWeaver® AS ABAP® contains an implementation of a custom SAP Code Inspector test which allows to retrieve findings from Teamscale. To be able to execute the respective Code Inspector test Teamscale Findings, the following configuration steps are required.Configuring HTTPS Connection to Teamscale If Teamscale is accessible via HTTPS (see section Configuring HTTPS), some configuration steps might be necessary in the SAP system.General HTTPS configurationThis section assumes that your SAP system is already configured to establish HTTPS connections, and focuses on importing the correct root certificate only. For a more detailed description of general prerequisites, cipher suite settings, or how to obtain the root certificate, please refer to the SSL Setup section of the abapGit documentation. It covers all these topics, and is not specific to abapGit for most of them.In order to check whether your SAP system can already connect to Teamscale, you may download and use the report zabapgit_test_ssl. Just enter the Teamscale server's URL into the URL field. You can ignore the fact that it refers to Git server, it works just fine with any other HTTPS URL. If the report shows ok, no further steps are necessary. In case the output mentions SSSLERR_PEER_CERT_UNTRUSTED, a required root certificate is likely missing.Importing TLS Root Certificates Only import the CA Root CertificateHTTPS server certificates are relatively short-lived and therefore re-issued frequently. In order to connect to an HTTPS server like Teamscale, you only need to explicitly add the Certificate Authority's (much longer-lived) root certificate to your SAP system's trust store. Importing individual server certificates is not required.To import the root certificate, perform the following steps in transaction STRUST:Enter edit mode using the Display Change button.Select SSL client SSL Client (Anonymous) on the left.In the Certificate section, click on the bottom-left button Import certificate.Choose the root certificate to import into the system.Select Add to certificate list.Save.Cipher Suite Configuration If your Teamscale server has restrictions with respect to accepted TLS ciphers, you may need some additional modifications. For example, if only TLSv1.2 with perfect forward security (ECDHE ciphers) is allowed, on some SAP systems you may need to enable this with profile parameters in the SAP system first:Use transaction RZ10, select the DEFAULT profile and extended maintenance > change.Create or modify the parameter ssl/client_ciphersuites and set it. To try out Teamscale, the first step is of course to set up a Teamscale server. You can host Teamscale on-premise, or you can use the Teamscale cloud . Every Teamscale licenseTeamscale 8.2.5 - TaiMienPhi.VN
Scheduling and releasing (own) batch jobs for background processing, and for enabling test coverage analysis.The role can be defined manually, e.g. using transaction PFCG, or the predefined role /CQSE/RFC_TEAMSCALE can be used.RFC User for Teamscale The SAP user for Teamscale can be created in the usual way users are crated in the SAP system, e.g. using transaction SU01.WARNINGUse a system user, not a dialog user. The role described before (e.g., /CQSE/RFC_TEAMSCALE) must be assigned to this user.Using a dialog user might result in connection timeouts as dialog connections are by default terminated after 10 minutes without user interaction. The initial extraction of the source as well as the retrieval of SAP Code Inspector results might take longerTime Zone SettingsIt is highly recommended that the user time zone of the SAP user for Teamscale is the same as the SAP system time zone. If the user time zone differs from the system time zone, the continuous polling for code changes might not work correctly, and code changes might not be visible or only with a longer delay. The time zone setting of the user can be checked / edited in transaction SU01 .Additionally, it is highly recommended that the system time zone in SAP NetWeaver is the same as the time zone of the operating system.SAP Connection Configuration in Teamscale This section describes the basic configuration to configure a SAP connection. The settings need to be done in the web interface of Teamscale. For configuration, switch to the Admin > Settings view.Configuring Repository Clone Directory First, you should check if a suiting directory is specified in section Git > Repository Clone Directory. Teamscale will save the (historized) code exports in subdirectories of this directory and access them for analysis there. Under the hood, this is realized by a local Git repository which is managed by Teamscale automatically. Usually, the Teamscale repository clone directory will be specified by the system administrator of the Teamscale server, you should check with them to define the proper location. It can be specified as absolute or relative path and defaults to a folder named repo within the JVM process working directory. In case of a relative path, the location is relative to the parent of the Teamscale storage directory (parameter database.directory of the teamscale.properties configuration file.)Configuring SAP ABAP System Connection Under SAP > SAP ABAP System Connection, the parameters to connect to an SAP NetWeaver system must be specified. For every SAP system, a separate connection configuration must be added. To add a new connection, press the Add button. In the opening dialog, a unique connection ID must be specified, for example the three letter SAP system ID could be used. After this, a new configuration section is added, in which the parameters must be specified.The first options are the parameters for the RFC connection. The required parameters mainly depend on the connection type, i.e. if the connection to the SAP system is direct or via logon balancing. Further options specify the logon data (client, user,Comments
With the configuration ID you have chosen in the previous step and the connection details with your Teamscale URL and technical user and access token. If you are using an application server like WebSphere, JBoss, Wildfly etc. please have look at the specific instructions in the agent's documentation.You'll need to set this environment variable in your Docker orchestration tooling (e.g. Docker Compose).Now you can restart your container and the agent will record coverage and upload it to Teamscale in regular intervals. You should also see the running profiler under Project Configuration > Coverage Profilers.Debugging Setup ProblemsThe agent by default logs to /tmp/teamscale-java-profiler--/logs/ inside your Docker container. If the setup does not work as expected, please have a look at the problems reported in this log file, e.g., by running:bashdocker exec -it YOUR_CONTAINER_ID sh -c "cat /tmp/teamscale-java-profiler-*/logs/*"You can also make the profiler log debug information to stdout by appending ,debug=true to the JAVA_TOOL_OPTIONS.Example: Docker Compose yaml# Add a volume that will hold the profiler files.# It can be shared between profiler's and your app's container.volumes: teamscale-java-profiler: services: # On start, the container will copy the profiler files to /transfer, # which is mounted to the previously defined volume, and exit. teamscale-java-profiler: image: cqse/teamscale-jacoco-agent:v34.0.1 volumes: - teamscale-java-profiler:/transfer:rw yourapp: image: your/image # Wait for the agent container to have copied the agent jar depends_on: teamscale-java-profiler: condition: service_completed_successfully # Use the profiler's volume. volumes: - teamscale-java-profiler:/teamscale-java-profiler:ro # Enable the profiler. # Replace with your Teamscale instance's URL, username and access token # as well as the profiler configuration ID from the previous step. environment: JAVA_TOOL_OPTIONS: "-javaagent:/teamscale-java-profiler/teamscale-jacoco-agent.jar=teamscale-server-url=
2025-04-12How To Install Teamscale as a Linux Service You might want to install Teamscale as a Linux service to allow for more consistent management with other services on the same machine and to ensure that Teamscale is automatically started after a reboot. Additionally, this allows Teamscale to automatically restart in case of a crash.NoteBefore installing Teamscale as a service, ensure that the basic configuration was completed and that Teamscale can be started manually.The required files are located in the folder linux in the Teamscale installation directory. You can choose between a systemd-based installation or an init.d-based one.systemdInstalling Teamscale as a systemd ServiceUninstalling the Teamscale systemd Serviceinit.dInstalling Teamscale as a init.d ServiceUninstalling the Teamscale init.d Servicesystemd Most modern Linux distributions support systemd. To see if your system supports, check for the existence of the directory /lib/systemd or the command systemctl. (This procedure was tested on Ubuntu 20.04.)Installing Teamscale as a systemd Service Modify the file linux/systemd/teamscale.service according to the TODO comments inside.Copy the file to /etc/systemd/system.Reload the systemd daemon to register the new service by running:bashsudo systemctl daemon-reloadEnable the service to start at boot time by running the following command:bashsudo systemctl enable teamscale.serviceTo start the service manually use the following command:bashsudo systemctl start teamscale.serviceUninstalling the Teamscale systemd Service To uninstall the systemd service, run the following commands:bashsudo systemctl stop teamscale.servicesudo systemctl disable teamscale.serviceremove the file you copied to /etc/systemd/system/teamscale.serviceinit.d The following guide for init.d is deprecated (this procedure was tested with Ubuntu 12.04). If possible use systemd or docker instead.Installing Teamscale as a init.d Service Edit the file teamscale.init:Enter or edit the correct path to the Teamscale root directory. For example: TEAMSCALE_HOME=/opt/teamscaleEnter or edit the correct path to the Java installation directory. For example:bashexport JAVA_HOME=/opt/jdkOptionally uncomment and fill the EXTRA_START_ARGS line to run the services as a different user.Install the service
2025-04-09SAP® Integration Teamscale can integrate with SAP® systems in order to use the analyses provided by Teamscale in the area of ABAP® custom code development. The following is relevant for ABAP developers, quality engineers for ABAP, and SAP NetWeaver® system administrators who want to configure Teamscale, or those of them who want to connect to Teamscale from an SAP system. It covers the SAP and ABAP specific configuration steps and usage scenarios, especially those tasks, which are done within an SAP system. This chapter is irrelevant for all who have nothing to do with custom code development for SAP.The required configuration steps on the SAP system are independent of clients on the SAP system (in German »mandantenunabhängig«). Therefore, it is not required to transport our add-on to specific clients.SAP Java Connector (SAP JCo)A prerequisite for Teamscale to communicate with SAP systems is the SAP Java Connector (SAP JCo) library. SAP's licensing restrictions do not permit redistribution of this library with Teamscale. However, SAP JCo is licensed without additional fees as part of a licensed SAP solution or component license. To connect Teamscale to your SAP system, you need to manually download the library from SAP and put it into Teamscale's library folder. For detailed information on the installation process, please refer to Installation of the SAP Java Connector (JCo)Installation of the SAP Java ConnectorTeamscale Connector for SAP NetWeaver® AS ABAP®Installation of the SAP ConnectorRemoval of the SAP ConnectorUser and Role for RFC AccessRole and Required Access RightsRFC User for TeamscaleSAP Connection Configuration in TeamscaleConfiguring Repository Clone DirectoryConfiguring SAP ABAP System ConnectionConnecting a Teamscale Project with SAPBackground Full SyncSecure Network Communication (optional)SNC Configuration of the SAP SystemSNC Configuration on the Teamscale ServerAdditional Analysis Configuration for SAPGrouping Changes by Transport Request or TaskIntegrating SAP Code Inspector / ATCSelecting/Defining a Code Inspector Check VariantCode Inspector Settings in SAP ABAP System ConnectionTest Gap Analysis Set Up For SAPTroubleshooting: No Coverage InformationUsing SCOV Lite for Teamscale and UPLIntegration with ABAP Development Tools for Eclipse (ADT)Integration with ATCConfiguring HTTPS Connection to TeamscaleConfiguring HTTP(S) Proxy in the SAP SystemTest ActivationDefinition of a Check VariantExecute the Check Variant.Integration with SAP Transport Management SystemTeamscale Features for SAP ABAPProperties of ABAP Code ObjectsInstallation of the SAP Java Connector Download the SAP Java Connector (SAP JCo). SAP JCo is available through the SAP Service Marketplace for registered SAP customers. Download the most recent version (>= 3.1) for the platform running Teamscale. When SAP JCo is needed for deploying our docker container, use the version for Linux for Intel compatible processors.Uncompress the contained library files into a temporary directory.Copy the Java library sapjco3.jar and the native library file for the specific platform (sapjco3.dll for Windows, libsapjco3.so for Linux, or libsapjco3.dylib for macOS) to a directory named lib-ext.For Teamscale zip distributions, the lib-ext directory must be inside the Teamscale installation directory.For Teamscale Docker distributions, the lib-ext directory must be mounted directly in the volumes section of the docker-compose.yml file to the directory /opt/teamscale/lib-ext, see below. Please consider setting the appropriate access rights (see
2025-03-26To 908:PFS:HIGH:MEDIUM:+e3DES.Save and activate the changed profile (respective dialogs will appear).Restart the SAP application server.Further information can be found in the SAP Community.Configuring HTTP(S) Proxy in the SAP System The Code Inspector test Teamscale Findings uses the global HTTP(S) client settings configured in transaction SM59. If your SAP System requires an HTTP(S) proxy in order to connect to the Teamscale server, please make sure the system's global proxy settings in SM59 > Extras > HTTP Proxy Configuration (»Shift+F1«) are configured accordingly. The relevant settings are on the Global Settings and HTTPS Protocol tabs.Test Activation First, Code Inspector test Teamscale Findings must be activated:In transaction SCI, select the action Code Inspector > Management of > Tests (or »Ctrl+Alt+F5«).Mark the checkboxes at the check classes /CQSE/CL_CI_CATEGORY_TEAMSCALE (category for Teamscale) and /CQSE/CL_CI_TEST_TS_FINDINGS (Teamscale findings test).Save your changes.Definition of a Check Variant Second, a check variant which contains the Teamscale Findings test must be defined. In transaction SCI, add a new check variant and select the Teamscale Findings test:Also, the required parameters of this test must be specified:Teamscale Findings Parameters Teamscale server URLURL of the Teamscale instanceTeamscale user nameName of the Teamscale user which should be used to retrieve the findingsUser’s access keyThe access key of this user (must be generated in the user preferences of the Teamscale Web UI)Teamscale project idThe identifier of the project in Teamscale for which findings should be retrieved. If no project ID is provided, the check will query Teamscale for projects that are associated with the respective system ID.Only new findings since (label)Optional. If set, only findings which were introduced after the given baseline label are included. Baselines are managed in the Teamscale Web UI under Quality Control > Baselines)Only new findings since (date)Optional. If set, only findings introduced after the specified date are included.Also finds. in changed codeIf enabled and also one of the Only new findings since parameters or Filter old transport findings is set, not only new findings but also findings in code changed since the baseline are includedFilter old transport findingsIf enabled, only findings that were introduced in a still-open transport request will be included. This setting should only be active in check variants used for ATC checks on transport release. Note that the creation date of the oldest relevant transport request is used.Baseline parameters are mutually exclusiveThe three check parameters Only new findings since (label), Only new findings since (date), and Filter old transport findings all affect to which degree old findings should be returned. In order to have consistent information in all cases, only one of these parameters may be used. If you need different baseline settings for different use cases, e.g. one for on-demand checks and one for check on transport release, different check variants must be used.Execute the Check Variant. After the variant is saved, it can be executed like any other Code Inspector variant, e.g. by transaction SCI or from the ABAP Workbench (SE80) using the commands Check > Code Inspector or Check > ABAP Test Cockpit (ATC). Note
2025-04-05How to install Teamscale with Docker).yaml volumes: - /path-on-host/lib-ext:/opt/teamscale/lib-extOn Windows systems, please make sure the prerequisite Microsoft Visual Studio C/C++ Runtime is installed. The architecture (x86 or x64) must match your JVM's architecture. If in doubt, consult the System > System Information view. For details, see SAP Note 2786882.(Re-)start Teamscale to load the SAP JCo library. You can confirm that the JCo library has been successfully loaded on the System > System Information view.Teamscale Connector for SAP NetWeaver® AS ABAP® The Teamscale Connector for SAP NetWeaver® AS ABAP® provides the connection between Teamscale and SAP NetWeaver AS ABAP based systems. The connector has to be transported to the SAP NetWeaver system and provides the following main functions:An RFC-based interface, which is used by Teamscale to poll the SAP system for custom code changes, so they can be analyzed within TeamscaleExecution of SAP Code Inspector (SCI) and export of the inspection results to TeamscaleExtraction of test coverage and usage data for Teamscale to support Test Gap analysis and usage analysisA plug-in for the ABAP Workbench and the Change and Transport System to access Teamscale results from the SAP system. This is realized by a custom SAP Code Inspector test case which shows messages for findings identified in Teamscale.The Teamscale Connector for SAP NetWeaver® AS ABAP® is compatible with SAP NetWeaver AS ABAP 7.0 EHP2 and later versions.Installation of the SAP Connector An archive file containing the latest release of the Teamscale Connector for SAP NetWeaver® AS ABAP® can be downloaded via Download either the .zip or .tar.gz source code file.For transport, place the K* and R* files from the archive in the cofiles and data directories of the transport directory of your host machine (typically /usr/sap/trans on Unix/Linux or C:\usr\sap\trans on Windows) and import the transport (transaction STMS ). Enable special conditions Overwrite Originals and Ignore Invalid Component Version:Basically, no further configuration in the SAP system is required. One exception is the use of Secure Network Communications (SNC).Removal of the SAP Connector To remove the Teamscale Connector for SAP NetWeaver® AS ABAP® from your system, a deletion transport is provided upon request. Please contact us, attaching a Teamscale support request and mention the System ID the connector should be removed from. We will then provide the deletion transport for the correct version.User and Role for RFC Access Teamscale connects to the SAP application server via RFC (remote function call) to retrieve the source code, which should be analyzed as well as some metadata (for example test coverage). The called functions are in function group /CQSE/TEAMSCALE_CONNCT_RFC . Additional functions reside in /CQSE/TEAMSCALE_TIA_RFC . Hence, a (technical) SAP user is required, which will be used by Teamscale to connect to the SAP system.Role and Required Access Rights The SAP user for Teamscale must have an appropriate role assigned. The required authorizations are listed here:Authorization ObjectFieldValueS_RFCRFC_TYPEFUGR (Function Group) RFC_NAMERFC_METADATA, /CQSE/TEAMSCALE_CONNCT_RFC, /CQSE/TEAMSCALE_TIA_RFCS_RFCRFC_TYPEFUNC (Function Module) RFC_NAMEDDIF_FIELDINFO_GET, RFCPING, RFC_GET_FUNCTION_INTERFACES_BTCH_JOBJOBACTIONRELE (Release Jobs)JOBGROUP*S_COV_ADMACTVT02 (Change)S_DEVELOPDEVCLASS*OBJTYPE*OBJNAME*P_GROUP*ACTVT03 (Display)The authorizations are required for basic RFC access, read access to development objects (source code),
2025-04-07