@@ -643,3 +643,86 @@ except the env var's `key` and `value` are used in place of `name` and `arg`.
643643With the help of this guide and the
644644[ Tapis v3 docs] ( https://tapis.readthedocs.io/en/latest/technical/apps.html ) ,
645645hopefully the migration will not be too difficult.
646+
647+ # Tapis v3 ` curl ` Commands
648+
649+ The following shell environment variables, aliases, and curl commands
650+ can be used to publish v3 app JSON (such as the JSON output above).
651+
652+ ## Set TAPIS_ACCESS_TOKEN and TAPIS_AUTH_HEADER env vars
653+
654+ Assuming the env vars ` CYVERSE_USER ` and ` CYVERSE_PASSWORD ` are set:
655+
656+ export TAPIS_ACCESS_TOKEN=$(curl -H "Content-Type: application/json" -s -d "{\"username\": \"$CYVERSE_USER\", \"password\": \"$CYVERSE_PASSWORD\", \"grant_type\": \"password\" }" https://cyverse.tapis.io/v3/oauth2/tokens | jq -r '.result.access_token')
657+
658+ ---
659+
660+ export TAPIS_AUTH_HEADER="X-Tapis-Token: $(echo $TAPIS_ACCESS_TOKEN | jq -r .access_token)"
661+
662+ ## Set a curl alias that references the $TAPIS_AUTH_HEADER
663+
664+ alias curl-tapis='curl -H "Content-Type: application/json" -H "$TAPIS_AUTH_HEADER"'
665+
666+ ## List Systems
667+
668+ curl-tapis -s "https://cyverse.tapis.io/v3/systems?listType=ALL"
669+
670+ ## Apps
671+
672+ ### Create an App
673+
674+ curl-tapis -s -d @app-wc.json https://cyverse.tapis.io/v3/apps
675+
676+ ### Get App Details
677+
678+ curl-tapis -s "https://cyverse.tapis.io/v3/apps/cyverse-word-count-psarando?select=id,jobAttributes.execSystemId,version,updated,tenant,description,isPublic,owner,enabled"
679+
680+ ### Update an App
681+
682+ curl-tapis -s -X PUT -d @app-wc.json "https://cyverse.tapis.io/v3/apps/cyverse-word-count-psarando/0.1"
683+
684+ ---
685+
686+ curl-tapis -s -X PATCH -d '{"jobAttributes": {"execSystemId": "cyverse-qacondor1-qa-test3"}}' "https://cyverse.tapis.io/v3/apps/cyverse-hello-world-psarando/0.1"
687+
688+ ---
689+
690+ curl-tapis -s -X PATCH -d '{"jobAttributes": {"archiveSystemId": "cyverse-irods-qa"}}' "https://cyverse.tapis.io/v3/apps/cyverse-hello-world-psarando/0.1"
691+
692+ ---
693+
694+ curl-tapis -s -X PATCH -d '{"tags": ["test-tag", "testing"]}' "https://cyverse.tapis.io/v3/apps/cyverse-hello-world-psarando/0.1"
695+
696+ ### Make App Public
697+
698+ curl-tapis -s -X POST "https://cyverse.tapis.io/v3/apps/share_public/cyverse-hello-world-psarando"
699+
700+ ---
701+
702+ curl-tapis -s -X POST "https://cyverse.tapis.io/v3/apps/unshare_public/cyverse-hello-world-psarando"
703+
704+ ## Jobs
705+
706+ ### List Jobs
707+
708+ curl-tapis -s "https://cyverse.tapis.io/v3/jobs/list?limit=2&orderBy=lastUpdated(desc),name(asc)&computeTotal=true" | jq .
709+
710+ ### Submit a Job
711+
712+ curl-tapis -s -d @job.json https://cyverse.tapis.io/v3/jobs/submit | jq .
713+
714+ ### Get Job Status
715+
716+ curl-tapis -s "https://cyverse.tapis.io/v3/jobs/5f660fd9-0718-4935-92ad-a67497d45013-007/status" | jq .
717+
718+ ### List Job History
719+
720+ curl-tapis -s "https://cyverse.tapis.io/v3/jobs/5f660fd9-0718-4935-92ad-a67497d45013-007/history" | jq .
721+
722+ ### List Job Outputs
723+
724+ curl-tapis -s "https://cyverse.tapis.io/v3/jobs/5f660fd9-0718-4935-92ad-a67497d45013-007/output/list/" | jq .
725+
726+ ## List Folder Contents
727+
728+ curl-tapis -s "https://cyverse.tapis.io/v3/files/ops/cyverse-irods-qa/home/psarando/analyses/Tapis_QA_Job" | jq .
0 commit comments