Skip to main content

Njinn CLI

Project description

Njinn CLI & Client

Installation

You can install the Njinn CLI from PyPI:

pip install njinn

The client is supported on Python 3.7 and above.

Njinn CLI Usage

  • Pack install

    njinn pack install <repository_url>

Use --help to see available options and defaults.

Njinn Client Usage

  • The client allows interacting with Njinn via its REST API.
  • To see available query string parameters, please refer to official Njinn Documentation.

Summary

api = NjinnAPI(host="https://njinn.io", token="*****")

# GET /workflows
api.workflows(limit=2)

# GET /workflows/1
api.workflows(1)

# POST /workflows
api.create(Workflow(title="Workflow 1"))

# PUT /workflows/1
api.workflows(1).save()

# DELETE /workflows/1
api.workflows(1).delete()

Get running executions

### GET /executions?workflow=1&state=RUNNING
executions = api.executions(workflow=1, state="RUNNING")

Add a label to execution

execution = api.executions(1)
execution.labels["my_label"] = "new"

# PATCH /executions/1 {...}
execution.save(fields="labels")

Cancel execution

# POST /executions/1/cancel {...}
api.executions(1).cancel()

Run Workflow

# POST /workflows/1/run {...}
execution = api.workflows(1).run(input={"variable_1": "value_1"})
print(execution.state)

Create webhook

# POST /hooks {...}
webhook = api.create(Webhook(name="W1", title="W1", workflow=1))

Disable webhook

webhook = api.hooks(1)
webhook.is_active = False

# PUT /hooks/1 {...}
webhook.save()

Delete webhook

# DELETE /hooks/1
api.webhooks(1).delete()

Create config

# POST /configs {...}
api.create(
  Config(
      name="W1",
      title="W1",
      values={"key_1": {"value": "value_1", "is_secret": False}}
  )
)

Update config

config = api.configs(1)
config.values["key_1"] = {"value": "value_1", "is_secret": False}

# PUT /configs/1 {...}
config.save()

Duplicate config

config = api.configs(1)

# POST /configs/1/duplicate {...}
duplicate = config.duplicate(name="new", title="New")
print(duplicate.id)

Get execution log

# GET /executions/1/log
log = api.executions(1).log()
print(log)

Get task execution log

# GET /executions/1/tasks/task_1/log
log = api.executions(1).tasks("task_1").log()
print(log)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

njinn-0.3.1.tar.gz (15.3 kB view hashes)

Uploaded Source

Built Distribution

njinn-0.3.1-py3-none-any.whl (23.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page