{"id":19816246,"url":"https://github.com/comodal/pagerduty-client","last_synced_at":"2025-05-01T10:32:29.432Z","repository":{"id":194797081,"uuid":"143167517","full_name":"comodal/pagerduty-client","owner":"comodal","description":"PagerDuty Event Client","archived":false,"fork":false,"pushed_at":"2024-08-09T00:39:15.000Z","size":656,"stargazers_count":5,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-09T02:09:28.089Z","etag":null,"topics":["java-library","pagerduty"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/comodal.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-08-01T14:30:39.000Z","updated_at":"2024-08-09T00:38:22.000Z","dependencies_parsed_at":"2023-09-26T16:32:50.981Z","dependency_job_id":null,"html_url":"https://github.com/comodal/pagerduty-client","commit_stats":null,"previous_names":["comodal/pagerduty-client"],"tags_count":53,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/comodal%2Fpagerduty-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/comodal%2Fpagerduty-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/comodal%2Fpagerduty-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/comodal%2Fpagerduty-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/comodal","download_url":"https://codeload.github.com/comodal/pagerduty-client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224253481,"owners_count":17280934,"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":["java-library","pagerduty"],"created_at":"2024-11-12T10:08:48.239Z","updated_at":"2024-11-12T10:08:48.518Z","avatar_url":"https://github.com/comodal.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PagerDuty Event Client  [![Gradle Check](https://github.com/comodal/pagerduty-client/actions/workflows/gradle-check.yml/badge.svg)](https://github.com/comodal/pagerduty-client/actions/workflows/gradle-check.yml)\n\nThis client aims to be compliant with the latest version of\nthe [PagerDuty Event API](https://v2.developer.pagerduty.com/docs/events-api-v2), currently V2. It also only aims to be\nsupported against the latest GA OpenJDK release.\n\n## Hello Event Trigger\n\n```java\nvar client=PagerDutyEventClient.build()\n    .defaultClientName(\"CLIENT_NAME\")\n    .defaultRoutingKey(\"INTEGRATION_KEY\")\n    .authToken(\"AUTH_TOKEN\")\n    .create();\n\nvar bigInteger = new BigInteger(\"20988936657440586486151264256610222593863921\");\nvar payload = PagerDutyEventPayload.build()\n    .summary(\"test-summary\")\n    .source(\"test-source\")\n    .severity(PagerDutySeverity.critical)\n    .timestamp(ZonedDateTime.now(UTC))\n    .component(\"test-component\")\n    .group(\"test-group\")\n    .type(\"test-class\")\n    .customDetails(\"test-num-metric\", 1)\n    .customDetails(\"test-boolean\", true)\n    .customDetails(\"test-string\", \"val\")\n    .customDetails(\"test-nested-json\", \"\"\"\n        {\"test\": \"json\"}\"\"\")\n    .customDetails(\"test-big-decimal\", new BigDecimal(bigInteger).add(BigDecimal.valueOf(0.123456789)))\n    .customDetails(\"test-big-integer\", bigInteger)\n    .link(PagerDutyLinkRef.build()\n        .href(\"https://github.com/comodal/pagerduty-client\")\n        .text(\"Github pagerduty-client\")\n        .create())\n    .image(PagerDutyImageRef.build()\n        .src(\"https://www.pagerduty.com/wp-content/uploads/2016/05/pagerduty-logo-green.png\")\n        .href(\"https://www.pagerduty.com/\")\n        .alt(\"pagerduty\")\n        .create())\n    .create();\n\nvar triggerResponse = client.triggerDefaultRouteEvent(payload).join();\nSystem.out.println(triggerResponse);\n\nvar resolveResponse = client.resolveEvent(triggerResponse.getDedupeKey()).join();\nSystem.out.println(resolveResponse);\n```\n\n## Hello Change Event\n\n```java\nvar client = PagerDutyEventClient.build()\n    .defaultClientName(\"CLIENT_NAME\")\n    .defaultRoutingKey(\"INTEGRATION_KEY\")\n    .authToken(\"AUTH_TOKEN\")\n    .create();\n\nvar bigInteger = new BigInteger(\"20988936657440586486151264256610222593863921\");\nvar payload = PagerDutyChangeEventPayload.build()\n    .summary(\"test-summary\")\n    .source(\"test-source\")\n    .timestamp(ZonedDateTime.now(UTC))\n    .customDetails(\"test-num-metric\", 1)\n    .customDetails(\"test-boolean\", true)\n    .customDetails(\"test-string\", \"val\")\n    .customDetails(\"test-nested-json\", \"\"\"\n        {\"test\": \"json\"}\"\"\")\n    .customDetails(\"test-big-decimal\", new BigDecimal(bigInteger).add(BigDecimal.valueOf(0.123456789)))\n    .customDetails(\"test-big-integer\", bigInteger)\n    .link(PagerDutyLinkRef.build()\n        .href(\"https://github.com/comodal/pagerduty-client\")\n        .text(\"Github pagerduty-client\")\n        .create())\n    .create();\n\n\nvar changeEventResponse = client.defaultRouteChangeEvent(payload).join();\nSystem.out.println(changeEventResponse);\n```\n\n## Library Layout\n\nThe core\nmodule [systems.comodal.pagerduty_event_client](systems.comodal.pagerduty_event_client/src/main/java/module-info.java)\nhas direct dependencies on `java.base`, `java.net.http` and\na [PagerDutyEventAdapterFactory](systems.comodal.pagerduty_event_client/src/main/java/systems/comodal/pagerduty/event/data/adapters/PagerDutyEventAdapterFactory.java).\n\nThe [systems.comodal.pagerduty_event_json_iterator_adapter](systems.comodal.pagerduty_event_json_iterator_adapter/src/main/java/module-info.java)\nmodule provides this factory and has a dependency\non [systems.comodal.json_iterator](https://github.com/comodal/json-iterator).\nThis separation is intended to make it easy for you to provide your own json parser (dependency) if desired. If not,\njust use it, it is minimal and has no further transitive dependencies.\n\n```bash\n\u003e ./gradlew pagerduty-event-json-iterator-adapter:dependencies\n\n+--- project :pagerduty-event-client\n\\--- systems.comodal:json-iterator:+\n```\n\n## Example Gradle Configuration\n\n```groovy\next {\n  pagerDutyClient = \"+\"\n}\n\ndependencies {\n  implementation \"systems.comodal:pagerduty-event-json-iterator-adapter:$pagerDutyClient\"\n  implementation \"systems.comodal:pagerduty-event-client:$pagerDutyClient\"\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomodal%2Fpagerduty-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcomodal%2Fpagerduty-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomodal%2Fpagerduty-client/lists"}