mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 20:32:26 +08:00

* exit draft * call exit * linter fix * PRE_CALCULATE_REPO_STATUS docs * settings UI * wire status calculation and repo settings * uppercase * diff rendering fix * adjust docs * adjust docs * Remove settings * more docs adjustments * pass repo meta data into the exit Co-authored-by: Lars Hvam <larshp@hotmail.com>
71 lines
3.5 KiB
Markdown
71 lines
3.5 KiB
Markdown
---
|
||
title: User Exits
|
||
category: reference
|
||
order: 40
|
||
---
|
||
|
||
abapGit contains predefined user exits which can be used to modify the standard behavior.
|
||
|
||
|
||
If the compiled report is installed, create include `ZABAPGIT_USER_EXIT` and add local class `ZCL_ABAPGIT_USER_EXIT` implementing `ZIF_ABAPGIT_EXIT`.
|
||
|
||
If the development version is installed create global class `ZCL_ABAPGIT_USER_EXIT` implementing `ZIF_ABAPGIT_EXIT`.
|
||
|
||
In both cases add the object in a package different from the main abapGit code.
|
||
|
||
The list of user exits can change at any time, make sure to syntax check user exits after upgrade of abapGit.
|
||
|
||
### CHANGE_LOCAL_HOST
|
||
If the hostnames are not properly configured, this exit can be used to modify the settings.
|
||
This is especially useful when running abapGitServer on the local system.
|
||
|
||
### ALLOW_SAP_OBJECTS
|
||
Force allowing serialization of SAP objects.
|
||
|
||
### CHANGE_PROXY_URL
|
||
todo
|
||
|
||
### CHANGE_PROXY_PORT
|
||
todo
|
||
|
||
### CHANGE_PROXY_AUTHENTICATION
|
||
todo
|
||
|
||
### CREATE_HTTP_CLIENT
|
||
Store username and password in RFC connection setup, see [https://github.com/abapGit/abapGit/issues/1841](https://github.com/abapGit/abapGit/issues/1841)
|
||
|
||
### HTTP_CLIENT
|
||
Can be used for setting logon tickets eg. in connection with abapGitServer connections between SAP systems.
|
||
Example: [https://gist.github.com/larshp/71609852a79aa1e877f8c4020d18feac](https://gist.github.com/larshp/71609852a79aa1e877f8c4020d18feac)
|
||
|
||
### CHANGE_TADIR
|
||
Can be used to skip certain objects, or force a different object setup than currently in TADIR.
|
||
Example: [https://gist.github.com/larshp/cca0ce0ba65efcde5dfcae416b0484f7](https://gist.github.com/larshp/cca0ce0ba65efcde5dfcae416b0484f7)
|
||
|
||
### GET_SSL_ID
|
||
Possibility to change the default `ANONYM` ssl id to something system specific
|
||
|
||
### CUSTOM_SERIALIZE_ABAP_CLIF
|
||
Allows for a custom serializer to be used for global classes' CLIF sources. See [#2321](https://github.com/abapGit/abapGit/issues/2321) and [#2491](https://github.com/abapGit/abapGit/pull/2491) for use cases.
|
||
This [example implementation](https://gist.github.com/flaiker/999c8165b89131608b05cd371529fef5) forces the old class serializer to be used for specific packages.
|
||
|
||
### DESERIALIZE_POSTPROCESS
|
||
Can be used for any postprocessing operation for deserialized objects. Since it is a postprocessing step, only logs can be added to II_LOG and one should not terminate the process by raising exception, which may lead to inconsistencies.
|
||
|
||
### ADJUST_DISPLAY_COMMIT_URL
|
||
Can be used to set the URL to display a commit. There are default implementations for some providers:
|
||
|
||
| Provider | Repo URL | Show Commit URL |
|
||
|-----------|----------|-----------------|
|
||
| github | http(s):\/\/github.com/<user\>/\<repo\>.git | http(s):\/\/github.com/<user\>/\<repo\>/commit/<sha1\> |
|
||
| bitbucket | http(s):\/\/bitbucket.org/<user\>/\<repo\>.git | http(s):\/\/bitbucket.org/<user\>/\<repo\>/commits/<sha1\> |
|
||
| gitlab | http(s):\/\/gitlab.com/<user\>/\<repo\>.git | http(s):\/\/gitlab.com/\<user\>/\<repo\>/-/commit/<sha1\> |
|
||
|
||
### PRE_CALCULATE_REPO_STATUS
|
||
|
||
Can be used to modify local and remote files before calculating diff status. Useful to remove diffs which are caused by deployment between different system version. See also: [abapgit xml stripper plugin](https://github.com/sbcgua/abapgit_xml_stripper_plugin)
|
||
|
||

|
||
|
||
The exit also receives a repo meta data snapshot (`zif_abapgit_persistence=>ty_repo`) to identify the repo and it's attributes in the current system (e.g. package). This can be used to enable/disable the exit for specific repos.
|