Skip to content

Instantly share code, notes, and snippets.

@Schnitzel
Created April 6, 2019 00:09
Show Gist options
  • Save Schnitzel/718a5ef6cbc1c5789d26d079dc131656 to your computer and use it in GitHub Desktop.
Save Schnitzel/718a5ef6cbc1c5789d26d079dc131656 to your computer and use it in GitHub Desktop.

1. Get environments

Request:

query getAllEnviornments {
  projectByName(name: "drupal-example") {
    id
    environments {
      id
      name
    }
  }
}

Example Response:

{
  "data": {
    "projectByName": {
      "id": 3,
      "environments": [
        {
          "id": 39717,
          "name": "master"
        },
        {
          "id": 43847,
          "name": "pr-43"
        }
      ]
    }
  }
}

2. Request SQL Dump:

Request with learned ID 39717

mutation taskDrushSqlDump {
  taskDrushSqlDump(environment: 39717) {
    id
    status
  }
}

Example Reponse:

{
  "data": {
    "taskDrushSqlDump": {
      "id": 203,
      "status": "active"
    }
  }
}

3. Check for Status of Dump:

Request:

query getEnvironment {
  environmentByName(name: "master", project: 3) {
    name
    id
    tasks {
      id
      name
      status
      created
      started
      completed
      remoteId
      command
      service
      logs
      files {
        id
        filename
        download
      }
    }
  }
}

Example Response (status is still active):

{
  "data": {
    "environmentByName": {
      "name": "master",
      "id": 39717,
      "tasks": [
        {
          "id": 203,
          "name": "Drush sql-dump",
          "status": "active",
          "created": "2019-04-06 00:06:59",
          "started": "2019-04-06 00:06:59",
          "completed": null,
          "remoteId": "e5dd7d62-57ff-11e9-b905-fa163ee3a988",
          "command": "file=\"/tmp/$LAGOON_SAFE_PROJECT-$LAGOON_GIT_SAFE_BRANCH-$(date --iso-8601=seconds).sql\" && drush sql-dump --result-file=$file --gzip && \\\ncurl -sS \"$TASK_API_HOST\"/graphql \\\n-H \"Authorization: Bearer $TASK_API_AUTH\" \\\n-F operations='{ \"query\": \"mutation ($task: Int!, $files: [Upload!]!) { uploadFilesForTask(input:{task:$task, files:$files}) { id files { filename } } }\", \"variables\": { \"task\": '\"$TASK_DATA_ID\"', \"files\": [null] } }' \\\n-F map='{ \"0\": [\"variables.files.0\"] }' \\\n-F 0=@$file.gz; rm -rf $file.gz\n",
          "service": "cli",
          "logs": null,
          "files": []
        },
        {
          "id": 202,
          "name": "Drush sql-dump",
          "status": "succeeded",
          "created": "2019-04-06 00:05:03",
          "started": "2019-04-06 00:05:03",
          "completed": "2019-04-06 00:05:13",
          "remoteId": "a0d69dad-57ff-11e9-b905-fa163ee3a988",
          "command": "file=\"/tmp/$LAGOON_SAFE_PROJECT-$LAGOON_GIT_SAFE_BRANCH-$(date --iso-8601=seconds).sql\" && drush sql-dump --result-file=$file --gzip && \\\ncurl -sS \"$TASK_API_HOST\"/graphql \\\n-H \"Authorization: Bearer $TASK_API_AUTH\" \\\n-F operations='{ \"query\": \"mutation ($task: Int!, $files: [Upload!]!) { uploadFilesForTask(input:{task:$task, files:$files}) { id files { filename } } }\", \"variables\": { \"task\": '\"$TASK_DATA_ID\"', \"files\": [null] } }' \\\n-F map='{ \"0\": [\"variables.files.0\"] }' \\\n-F 0=@$file.gz; rm -rf $file.gz\n",
          "service": "cli",
          "logs": null,
          "files": [
            {
              "id": 100,
              "filename": "drupal-example-master-2019-04-06T00:05:07+00:00.sql.gz",
              "download": "https://objects.cloudscale.ch/files/tasks/202/drupal-example-master-2019-04-06T00%3A05%3A07%2B00%3A00.sql.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=PU32LTFTVQ317S4247WY%2F20190406%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190406T000713Z&X-Amz-Expires=900&X-Amz-Signature=ad4723db8b7c6079670807591243cb4d91632cee0eab5e740d2190e38df235cf&X-Amz-SignedHeaders=host"
            }
          ]
        }
      ]
    }
  }

Example Response (status is still now succeeded and a file is existing):

{
  "data": {
    "environmentByName": {
      "name": "master",
      "id": 39717,
      "tasks": [
        {
          "id": 203,
          "name": "Drush sql-dump",
          "status": "succeeded",
          "created": "2019-04-06 00:06:59",
          "started": "2019-04-06 00:06:59",
          "completed": "2019-04-06 00:07:12",
          "remoteId": "e5dd7d62-57ff-11e9-b905-fa163ee3a988",
          "command": "file=\"/tmp/$LAGOON_SAFE_PROJECT-$LAGOON_GIT_SAFE_BRANCH-$(date --iso-8601=seconds).sql\" && drush sql-dump --result-file=$file --gzip && \\\ncurl -sS \"$TASK_API_HOST\"/graphql \\\n-H \"Authorization: Bearer $TASK_API_AUTH\" \\\n-F operations='{ \"query\": \"mutation ($task: Int!, $files: [Upload!]!) { uploadFilesForTask(input:{task:$task, files:$files}) { id files { filename } } }\", \"variables\": { \"task\": '\"$TASK_DATA_ID\"', \"files\": [null] } }' \\\n-F map='{ \"0\": [\"variables.files.0\"] }' \\\n-F 0=@$file.gz; rm -rf $file.gz\n",
          "service": "cli",
          "logs": null,
          "files": [
            {
              "id": 101,
              "filename": "drupal-example-master-2019-04-06T00:07:06+00:00.sql.gz",
              "download": "https://objects.cloudscale.ch/files/tasks/203/drupal-example-master-2019-04-06T00%3A07%3A06%2B00%3A00.sql.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=PU32LTFTVQ317S4247WY%2F20190406%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190406T000844Z&X-Amz-Expires=900&X-Amz-Signature=d22eaa0adc974ae2cb11f0a4d16a5731bcca5f6526ee4a3a6e911fdd96c980d9&X-Amz-SignedHeaders=host"
            }
          ]
        },
        {
          "id": 202,
          "name": "Drush sql-dump",
          "status": "succeeded",
          "created": "2019-04-06 00:05:03",
          "started": "2019-04-06 00:05:03",
          "completed": "2019-04-06 00:05:13",
          "remoteId": "a0d69dad-57ff-11e9-b905-fa163ee3a988",
          "command": "file=\"/tmp/$LAGOON_SAFE_PROJECT-$LAGOON_GIT_SAFE_BRANCH-$(date --iso-8601=seconds).sql\" && drush sql-dump --result-file=$file --gzip && \\\ncurl -sS \"$TASK_API_HOST\"/graphql \\\n-H \"Authorization: Bearer $TASK_API_AUTH\" \\\n-F operations='{ \"query\": \"mutation ($task: Int!, $files: [Upload!]!) { uploadFilesForTask(input:{task:$task, files:$files}) { id files { filename } } }\", \"variables\": { \"task\": '\"$TASK_DATA_ID\"', \"files\": [null] } }' \\\n-F map='{ \"0\": [\"variables.files.0\"] }' \\\n-F 0=@$file.gz; rm -rf $file.gz\n",
          "service": "cli",
          "logs": null,
          "files": [
            {
              "id": 100,
              "filename": "drupal-example-master-2019-04-06T00:05:07+00:00.sql.gz",
              "download": "https://objects.cloudscale.ch/files/tasks/202/drupal-example-master-2019-04-06T00%3A05%3A07%2B00%3A00.sql.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=PU32LTFTVQ317S4247WY%2F20190406%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190406T000713Z&X-Amz-Expires=900&X-Amz-Signature=ad4723db8b7c6079670807591243cb4d91632cee0eab5e740d2190e38df235cf&X-Amz-SignedHeaders=host"
            }
          ]
        }
      ]
    }
  }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment