Downloading your project’s ingredients source code

You can generate a list of all ingredients of a project and download a tar.gz for each ingredient. To download a current list of the ingredients of your project you must:

  1. Download and install the State Tool.
  2. Authenticate your account using the state auth command.
  3. Generate a JSON web token for your project by using the state export jwt command.
  4. Use the GraphQL interface to send a query. See a sample query below.
  5. Use the query output to download your project’s ingredient source code into your working directory.

Using graphQL

Example query:

{
  project(org: "<YOUR-ORG-NAME>", name: "<YOUR-PROJECT-NAME>") {
    __typename
    ... on Project {
      name
      description
      commit {
        commit_id
        sources(limit: 500) {
          name
          url
        }
      }
    }
    ... on NotFound {
      message
    }
    }
}

Replace <YOUR-ORG-NAME> and <YOUR-PROJECT-NAME> with information about your project and run the query. After running this query, replacing the project name and org in the example with the information from your project, you will get an output on the right-hand side of the screen similar to what’s shown below.

alt_text

If you are calling the API directly via cURL or a script, the endpoint is https://platform.activestate.com/sv/mediator/api. For more information about GraphQL check here.

Downloading the ingredient list

You can download any of the tar/zip files using the State Tool CLI using information from the GraphQL output received in step 4.

curl -v -L -O --header "Authorization: Bearer <JWT_TOKEN>" <FILE_URL>

Replace the <JWT_TOKEN> with the JSON web token generated in step 3. Use the URL of the tar/zip file in the GraphQL output as the <FILE_URL> in the above curl command. This will download the requested file to your current working directory.