A shared library for SSCS projects, providing utilities for interacting with CCD, Idam, and other services.
The SSCS Common Library is part of the SSCS ecosystem, offering reusable components for managing cases, authentication, and service integrations. It includes CCD domain objects, case operations, and token generation utilities.
To build the library locally:
./gradlew publishToMavenLocalThis will create a JAR file in the project's build/libs directory with the version DEV-SNAPSHOT. To use this locally without publishing, add the following to your build.gradle file:
dependencies {
compile group: 'com.github.hmcts', name: 'sscs-common', version: 'DEV-SNAPSHOT'
}To use this library, configure the following properties in your application.yaml:
idam:
s2s-auth:
totp_secret: ${IDAM.S2S-AUTH.TOTP_SECRET:AAAAAAAAAAAAAAAC}
microservice: ${IDAM.S2S-AUTH.MICROSERVICE:sscs}
url: ${IDAM.S2S-AUTH:http://localhost:4502}
oauth2:
user:
email: ${IDAM_SSCS_SYSTEMUPDATE_USER:SSCS_SYSTEM_UPDATE}
password: ${IDAM_SSCS_SYSTEMUPDATE_PASSWORD:SSCS_SYSTEM_UPDATE}
client:
id: ${IDAM_OAUTH2_CLIENT_ID:sscs}
secret: ${IDAM_OAUTH2_CLIENT_SECRET:QM5RQQ53LZFOSIXJ}
url: ${IDAM_URL:http://localhost:4501}
redirectUrl: ${IDAM_SSCS_URL:https://localhost:9000/poc}
core_case_data:
api:
url: ${CORE_CASE_DATA_URL:http://localhost:4452}
caseTypeId: Benefit
jurisdictionId: SSCSDependent projects must implement the Spring annotation @EnableScheduling on the class defined as the @SpringBootApplication.
The PanelCategoryMapParser utility reads data from the JOHTier_PanelMemberComposition_1.2.csv file, converts it into JSON, and overwrites panel-category-map.json. Do not manually edit panel-category-map.json as changes will be overwritten during regeneration.
To generate the panel category map:
./gradlew generatePanelCategoryMapFile locations:
src/main/resources/reference-data/JOHTier_PanelMemberComposition_1.2.csvsrc/main/resources/reference-data/panel-category-map.json
This library is hosted on Azure DevOps Artifacts and can be used in your project by adding the following to your build.gradle file:
repositories {
maven {
url = uri('https://pkgs.dev.azure.com/hmcts/Artifacts/_packaging/hmcts-lib/maven/v1')
}
}
dependencies {
implementation 'com.github.hmcts:sscs-common:LATEST_TAG'
}Each update to this library must be reflected in all dependent projects regardless of the change. The current dependencies are:
- sscs-tribunals-case-api
- sscs-case-loader
- sscs-ccd-case-migration
Any dependant not directly required as part of the change can be updated at the point that sscs-common is released and the required dependents are updated.
Prior to releasing a new version of this library, changes can be tested in dependents across non-prod environments using the build tag that the Jenkins build produces (update the sscs-common version in the dependant build.gradle file).
When ready to release, sscs-common should be released first and all dependants updated with the actual release version