https://github.com/temporalio/graphql-proxy
GraphQL API for Temporal Server
https://github.com/temporalio/graphql-proxy
Last synced: 12 months ago
JSON representation
GraphQL API for Temporal Server
- Host: GitHub
- URL: https://github.com/temporalio/graphql-proxy
- Owner: temporalio
- License: mit
- Created: 2022-03-31T22:58:41.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-02-24T06:32:03.000Z (over 2 years ago)
- Last Synced: 2025-06-08T20:06:50.541Z (about 1 year ago)
- Language: Java
- Size: 179 KB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
*⚠️ This project is in alpha. We welcome feedback and contributions.*
A GraphQL server that proxies to Temporal's gRPC API (see [protos](https://github.com/temporalio/api/) and [server](https://github.com/temporalio/temporal)) using [`google/rejoiner`](https://github.com/google/rejoiner) and [GraphQL Java](https://www.graphql-java.com/).
The current downside to this solution is [how binary data like Payloads are represented](https://github.com/temporalio/graphql-full/issues/14). For a GraphQL server that decodes Payloads, see [`temporalio/graphql`](https://github.com/temporalio/graphql).
## Get started
Build and run the GraphQL server:
```
docker build . -t temporaltest/graphql
docker run -p 8081:8081 temporaltest/graphql
```
Open [localhost:8081](http://localhost:8081/) or point your GraphQL IDE (like [GraphQL Studio](https://studio.apollographql.com/sandbox/explorer)) at `http://localhost:8081/graphql`
Example operation:
```gql
{
listNamespaces(input: { pageSize: 10 }) {
namespaces {
namespaceInfo {
id
name
state
description
ownerEmail
data {
key
value
}
}
isGlobalNamespace
}
}
}
```
## Development
```
git clone https://github.com/temporalio/graphql-full.git
cd graphql-full
git submodule init
git submodule update
./gradlew installDist
TEMPORAL_GRPC_ENDPOINT="localhost:7233" ./build/install/temporal-graphql/bin/temporal-graphql-server
```