Fix ClickUp field name: Customer -> Client
The ClickUp dropdown is named "Client", not "Customer". Updated field lookups, prompt labels, README docs, and all tests. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>clickup-runner
parent
645b9cfbef
commit
b287d759a1
|
|
@ -86,7 +86,7 @@ These must exist in your ClickUp space:
|
||||||
| Work Category | Dropdown | Task type (Content Creation, Press Release, etc.) |
|
| Work Category | Dropdown | Task type (Content Creation, Press Release, etc.) |
|
||||||
| Keyword | Text | SEO keyword for Cora analysis (required for run_cora stage) |
|
| Keyword | Text | SEO keyword for Cora analysis (required for run_cora stage) |
|
||||||
| IMSURL | URL | Target money-site URL (used in prompts and Cora jobs) |
|
| IMSURL | URL | Target money-site URL (used in prompts and Cora jobs) |
|
||||||
| Customer | Dropdown | Client name (used for NAS file organization) |
|
| Client | Dropdown | Client name (used for NAS file organization and prompts) |
|
||||||
|
|
||||||
## Skill Map
|
## Skill Map
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -493,7 +493,7 @@ def _dispatch_claude(
|
||||||
uploaded += 1
|
uploaded += 1
|
||||||
|
|
||||||
# 7. Copy to NAS (best-effort)
|
# 7. Copy to NAS (best-effort)
|
||||||
customer = task.get_field_value("Customer") or ""
|
customer = task.get_field_value("Client") or ""
|
||||||
if customer and cfg.nas.generated_dir:
|
if customer and cfg.nas.generated_dir:
|
||||||
copy_to_nas(result.output_files, customer, cfg.nas.generated_dir)
|
copy_to_nas(result.output_files, customer, cfg.nas.generated_dir)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -58,9 +58,9 @@ def build_prompt(
|
||||||
"Task: %s" % task.name,
|
"Task: %s" % task.name,
|
||||||
]
|
]
|
||||||
|
|
||||||
customer = task.get_field_value("Customer")
|
client_name = task.get_field_value("Client")
|
||||||
if customer:
|
if client_name:
|
||||||
ctx_lines.append("Customer: %s" % customer)
|
ctx_lines.append("Client: %s" % client_name)
|
||||||
|
|
||||||
ims_url = task.get_field_value("IMSURL")
|
ims_url = task.get_field_value("IMSURL")
|
||||||
if ims_url:
|
if ims_url:
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ def _make_task(**overrides) -> ClickUpTask:
|
||||||
"url": "https://app.clickup.com/t/task_abc",
|
"url": "https://app.clickup.com/t/task_abc",
|
||||||
"list_id": "list_1",
|
"list_id": "list_1",
|
||||||
"custom_fields": {
|
"custom_fields": {
|
||||||
"Customer": "Acme Corp",
|
"Client": "Acme Corp",
|
||||||
"Keyword": "CNC Machining",
|
"Keyword": "CNC Machining",
|
||||||
"IMSURL": "https://acme.com/cnc-machining",
|
"IMSURL": "https://acme.com/cnc-machining",
|
||||||
"Delegate to Claude": True,
|
"Delegate to Claude": True,
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ def _make_task(**overrides) -> ClickUpTask:
|
||||||
"url": "https://app.clickup.com/t/task_123",
|
"url": "https://app.clickup.com/t/task_123",
|
||||||
"list_id": "list_1",
|
"list_id": "list_1",
|
||||||
"custom_fields": {
|
"custom_fields": {
|
||||||
"Customer": "Acme Corp",
|
"Client": "Acme Corp",
|
||||||
"IMSURL": "https://acme.com/widgets",
|
"IMSURL": "https://acme.com/widgets",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
@ -84,7 +84,7 @@ class TestBuildPrompt:
|
||||||
task = _make_task()
|
task = _make_task()
|
||||||
route = _make_route()
|
route = _make_route()
|
||||||
prompt = build_prompt(task, route, "skill content")
|
prompt = build_prompt(task, route, "skill content")
|
||||||
assert "Customer: Acme Corp" in prompt
|
assert "Client: Acme Corp" in prompt
|
||||||
|
|
||||||
def test_includes_target_url(self):
|
def test_includes_target_url(self):
|
||||||
task = _make_task()
|
task = _make_task()
|
||||||
|
|
@ -122,7 +122,7 @@ class TestBuildPrompt:
|
||||||
task = _make_task(custom_fields={})
|
task = _make_task(custom_fields={})
|
||||||
route = _make_route()
|
route = _make_route()
|
||||||
prompt = build_prompt(task, route, "skill")
|
prompt = build_prompt(task, route, "skill")
|
||||||
assert "Customer:" not in prompt
|
assert "Client:" not in prompt
|
||||||
|
|
||||||
def test_output_instructions_present(self):
|
def test_output_instructions_present(self):
|
||||||
task = _make_task()
|
task = _make_task()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue