Deploying recipe artifacts in Moderne DX

Deploy using the Moderne GraphQL API

To deploy recipe artifacts using Moderne DX's GraphQL API, you can make a GraphQL mutation using https://<moderne-dx-host>:8080/graphql similar to the following (or issue the request through the UI at https://<moderne-dx-host>:8080/graphiql).

mutation loadRecipes {
  loadRecipes(
    groupId: "org.openrewrite.recipe"
    artifactId: "rewrite-spring"
    version: "LATEST"
  ) {
    id
  }
}

In order to execute GraphQL mutations, it is required that an Authorization HTTP header be included in the request. You can set the header value in GraphiQL's Headers tab as a JSON object:

{"Authorization": "Bearer <access token used to configure DX>"}

Postman has a brief primer on how to issue GraphQL requests here.

Deploy using the Moderne CLI

To deploy recipe artifacts into Moderne DX, you must first install the recipe artifacts into the local CLI recipe marketplace. The following command downloads OpenRewrite's rewrite-spring recipes artifact from a pre-configured list of aritifact repositories such as https://repo.maven.apache.org/maven2.

mod config recipes jar install org.openrewrite.recipe.rewrite-spring.LATEST

Next, upload all recipe artifacts from the local CLI marketplace to Moderne DX using the command:

mod config recipes moderne push

Last updated