Menu

Path for unix Shell CLI for Workflow Deployment

2025-04-09
2025-04-16
  • Luc konsdes

    Luc konsdes - 2025-04-09

    Hello,

    I am trying to push a workflow on the dailyplan with command line ( to put on a script .sh).

    • I did :
      request_options=(--url=http://localhost:4444 --user=my_user --password=my_pwd --controller-id=id=js7-ctrl-r)

    ./deploy-workflow.sh deploy "${request_options[@]}" \ --path=/BUILD/Test/workflow1 --type=SCHEDULE --date-from=now

    • and I am getting :
      unknown option: --path=/BUILD/Test/workflow1

    Where can I find the exact path of my workflows ?

    regards

     
  • Andreas

    Andreas - 2025-04-09

    Hi Luc,

    the backslash ("\") is a line continuation character in the Unix shell. This means it's applied if your command is splitted across a number of lines. When executing a command from a single line, then omit the backslash.

    Best regards
    Andreas

     
  • Luc konsdes

    Luc konsdes - 2025-04-16

    Hello Andreas

    Sorry my bad , I didn't pay attention to the command. Thanks for your help.
    However, the commands I'm currently testing don't return any errors, but they don't perform any actions either. Do you know where I can find the problem? Here's an example of a command:

    ./deploy-workflow.sh deploy "${request_options[@]}" --url=http://my_server:4446 --controller-id=js7-agent --user=my_user --password=my_pwd --path=/BUILD/Test/my_workflow --type=WORKFLOW --date-from=now

    I added the --verbose option and everything seems to be ok but the workflow is not deployed on js7 :

    {"deliveryDate":"2025-04-16T13:49:59.668Z","ok":true,"surveyDate":"2025-04-16T13:49:59.668Z"}

    Best regards

     

    Last edit: Luc konsdes 2025-04-16
  • Andreas

    Andreas - 2025-04-16

    Hi Luc,

    you want to find the problem? I'd prefer to find the solution.

    The most prominent reason will be that the "/BUILD/Test/my_workflow" workflow path is wrong. Consider that paths in JS7 are case-sensitive. Please double-check.

    Other than that use the -v switch for verbose output when running the script. This gives the request details that are helpful to verify if the API is used in the right way.

     
  • Luc konsdes

    Luc konsdes - 2025-04-16

    hahaha yes you are right I should look for the solution !

    I am sure about the path and in AUDIT LOG on js7 I can see my request and also when using -v option the log indicate that I am connected ("isAuthenticated":true) and that the workflow is deployed ({"deliveryDate":"2025-04-16T14:23:27.928Z","ok":true,"surveyDate":"2025-04-16T14:23:27.928Z"})
    The only thing that makes me doubt is : isPermitted":false

     
  • Andreas

    Andreas - 2025-04-16

    Hi Luc,

    I cannot identify an immediate problem with the deployment script. Can you please share the log output that is created when using the -v switch?

    The REST Web Service will not raise an error if objects are not added to deployment. Instead, they will simply be filtered. There can be more reasons for filtering, for example, objects can be invalid.

    One more point is the asynchronous nature of deployment. When objects are picked up from the inventory and are deployed to the Controller and Agents, then the response is not provided synchronously to the REST API request. Instead, you will find the result in the History->Deployments view. Possible reasons for failed deployment include that your workflow references other objects such as Job Resources, that have not been deployed.

     

Log in to post a comment.

MongoDB Logo MongoDB