{"id":25257228,"url":"https://github.com/zowe/jobs","last_synced_at":"2025-06-24T09:32:50.010Z","repository":{"id":34782436,"uuid":"157852345","full_name":"zowe/jobs","owner":"zowe","description":"Repo for the jobs api controller and code","archived":false,"fork":false,"pushed_at":"2025-01-30T10:03:56.000Z","size":1393,"stargazers_count":2,"open_issues_count":2,"forks_count":5,"subscribers_count":12,"default_branch":"v2.x/master","last_synced_at":"2025-01-30T10:32:57.819Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zowe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-16T10:33:17.000Z","updated_at":"2025-01-30T09:59:12.000Z","dependencies_parsed_at":"2023-10-16T22:34:41.236Z","dependency_job_id":"9fdea462-941e-4586-9725-9047c562a19e","html_url":"https://github.com/zowe/jobs","commit_stats":null,"previous_names":[],"tags_count":78,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zowe%2Fjobs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zowe%2Fjobs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zowe%2Fjobs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zowe%2Fjobs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zowe","download_url":"https://codeload.github.com/zowe/jobs/tar.gz/refs/heads/v2.x/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238423749,"owners_count":19469892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-12T06:38:13.495Z","updated_at":"2025-02-12T06:38:14.284Z","avatar_url":"https://github.com/zowe.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Explorer Jobs API\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=zowe_jobs\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=zowe_jobs)\n\n## Development\n\nDevelopment requires an API ML instance. [Quick Start here](https://github.com/zowe/api-layer#quick-start).\n\nAlternatively, you can use docker to run the APIML using the [run-containerized-apiml.sh](./scripts/run-containerized-apiml.sh] script.\nThis script requires a running z/OSMF instance, and the following environment variables to be set:\n* ZOSMF_HOST - the host of your z/OSMF instance\n* ZOSMF_PORT - the port of your z/OSMF instance\n\nThis script has the following optional environment variables:\n* HOST_OS - set to `linux` if you are running on linux\n* JOBS_PORT - port you will run the Jobs API on\n* GATEWAY_PORT - port the Gateway runs on\n* DISCOVERY_PORT - port the discovery service runs on\n\n1. Git clone repo\n2. Import \u003e Gradle \u003e Existing Gradle Project\n3. Generate test certificate\n\n  ```\n  keytool -genkeypair -keystore localhost.keystore.p12 -storetype PKCS12 \\\n      -storepass password -alias localhost -keyalg RSA -keysize 2048 -validity 99999 \\\n      -dname \\\"CN=Zowe Explorer Data Sets API Default Certificate, OU=Zowe API Squad, O=Zowe, L=Hursley, ST=Hampshire, C=UK\\\" \\\n      -ext san=dns:localhost,ip:127.0.0.1\n  ```\n4. Create run configuration with main class `org.zowe.jobs.JesJobsApplication`\n5. Add environement variables to run configuration\n  ```\n  connection.httpsPort : ${GATEWAY_PORT}\n  connection.ipAddress : ${GATEWAY_HOST}\n  server.port : {JOBS_API_PORT}\n  server.ssl.keyAlias : localhost\n  server.ssl.keyStore : localhost.keystore.p12\n  server.ssl.keyStorePassword : password\n  server.ssl.keyStoreType : PKCS12\n  ```\n6. Run and navigate to https://localhost:${GATEWAY_PORT}/swagger-ui.html to see endpoints\n\n## Build\n\n```\n./gradlew build\n```\n\n## Test\n\n### Unit Test\n\n```\n./gradlew test\n```\n\n### Integration Test\n\n1. Ensure you have generated a test certificate as described above.\n2. Ensure you are running the APIML as described above.\n3. Start test server:\n\n  ```\n  java -Xms16m -Xmx512m -Dibm.serversocket.recover=true -Dfile.encoding=UTF-8 \\\n    -Djava.io.tmpdir=/tmp \\\n    -Dserver.port=8443 \\\n    -Dserver.ssl.keyAlias=localhost \\\n    -Dserver.ssl.keyStore=localhost.keystore.p12 \\\n    -Dserver.ssl.keyStorePassword=password \\\n    -Dserver.ssl.keyStoreType=PKCS12 \\\n    -Dconnection.httpsPort=${GATEWAY_PORT} \\\n    -Dconnection.ipAddress=${GATEWAY_HOST} \\\n    -jar $(ls -1 jobs-api-server/build/libs/jobs-api-server-*-boot.jar) \u0026\n  ```\n\n  *Note: Replace the `${GATEWAY_PORT}` and `${GATEWAY_HOST}` variable in above with your API Gateway server information.\n\n4. Run integration tests:\n\n  ```\n  ./gradlew runIntegrationTests \\\n    -Pserver.host=${GATEWAY_HOST} \\\n    -Pserver.port=${GATEWAY_PORT} \\\n    -Pserver.username=${USERNAME} \\\n    -Pserver.password=${PASSWORD} \\\n    -Ptest.version=${VERSION_UNDER_TEST}\n  ```\n  *Note: Replace the `${GATEWAY_HOST}` and `$GATEWAY_PORT}` variables with your API Gateway server information\n\n  *Note: Replace the `${USERNAME}` and `${PASSWORD}` variable in above with your z/OSMF server information.\n\n  *Note: Replace the `${VERSION_UNDER_TEST}` variable with the api version you wish to test (accepted values or 1 or 2)\n\n## Publishing\n\nThe [Publish branch binaries](https://github.com/zowe/jobs/actions/workflows/binary-publish-branch.yml) action in Github Actions\nwill automatically publish remote branches to the [Artifactory repository](https://zowe.jfrog.io/ui/repos/tree/General/libs-snapshot-local/org/zowe/explorer/jobs)\non every push. There is a folder for each module, `jobs-api-server`, `jobs-model`, `jobs-tests`, and `jobs-zowe-server-package`.\n\nThe jar executable will be published to `jobs-api-server/{gradle.properties version}/{branch_name}`.\n\n## Releasing\n\nWhen there is a new minor release of Zowe, there should be a new patch release of the Jobs API from the `master` branch and a new patch snapshot version created.\nThis is done in two steps:\n\n1. Release the binaries with the [binary specific release workflow](https://github.com/zowe/jobs/actions/workflows/binary-specific-release.yml).\n    * `release_version` is the version that will be released. This should be a new patch version. For example, if `master` is currently on version 1.0.13-SNAPSHOT, `release_version` would be 1.0.14.\n    * `new_version` should be a `SNAPSHOT` version with a new patch version. For example, if `master` is currently on version 1.0.13-SNAPSHOT, `new_version` would be 1.0.14-SNAPSHOT.\n\n2. Release the images with the [image specific release workflow](https://github.com/zowe/jobs/actions/workflows/image-specific-release.yml).\n    * `release_version` is the version that will be released. This should be the same value as used in step `1`.\n\nAfter this release is finished the new version must be added to the [release candidate manifest](https://github.com/zowe/zowe-install-packaging/blob/rc/manifest.json.template).\n\nThe following sections of the manifest need to have their version tag updated to the newly released version of the API ML (the value used in `release_version`):\n* `org.zowe.explorer.jobs.jobs-zowe-server-package`\n* `jobs` repository `tag` version under `sourceDependencies`\n* `jobs-api` `tag` version under `imageDependencies`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzowe%2Fjobs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzowe%2Fjobs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzowe%2Fjobs/lists"}