Skip to content

Problem: Run Button missing from Task Template's Created via API #3136

@natcoso9955

Description

@natcoso9955

Issue

I have a docker instance of semaphore running, and we have come across a super weird issue. we are using a bootstrap script to make api calls to semaphore once its started and connected to the database etc.

Our bootstrap creates 2 task templates from 2 local ansible playbooks, and then executes one of them. Now the weird thing is, that if we login to semaphore and click on the play button to run the task template. the "Run" button has no label on it, and hence doesnt show.

Looked at the page source to confirm, if i manually put the label in, it shows up. The button can still be clicked if you know its there, thats whats weird. also if we manually create the same task via the ui the button is fine. its only on task templates created via the API.

Impact

Web-Frontend (what users interact with)

Installation method

Docker

Database

Postgres

Browser

Firefox

Semaphore Version

v2.15.0-1e13324-1749881668

Ansible Version

ansible [core 2.18.6]
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/semaphore/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /opt/semaphore/apps/ansible/11.1.0/venv/lib/python3.12/site-packages/ansible
  ansible collection location = /home/semaphore/.ansible/collections:/usr/share/ansible/collections
  executable location = /opt/semaphore/apps/ansible/11.1.0/venv/bin/ansible
  python version = 3.12.11 (main, Jun  9 2025, 08:58:11) [GCC 14.2.0] (/opt/semaphore/apps/ansible/11.1.0/venv/bin/python3)
  jinja version = 3.1.6
  libyaml = True

Logs & errors

Image Image Image

Manual installation - system information

Traefik v3

Configuration

No response

Additional information

Task Template created with the following curl command:

curl -s -k -X POST "$API/project/$PROJECT_ID/templates" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "Authorization: Bearer $TOKEN" \
    -d "{
  \"project_id\": $PROJECT_ID,
  \"inventory_id\": $INVENTORY_ID,
  \"repository_id\": $REPOSITORY_ID,
  \"environment_id\": $VARIABLE_GROUP_ID,
  \"name\": \"Provision Other Services\",
  \"playbook\": \"provisioning/site.yml\",
  \"app\": \"ansible\",
  \"suppress_success_alerts\": false,
  \"type\": \"task\"
}

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions