#macro printChildren(taskID, childMap) #set children = childMap[taskID|string] #if children
| ID | {{ task.id }} |
|---|---|
| Method | {{ task.method }} |
| Parameters |
#for key in params|sort
#if params[key] is not none
{{ key | capitalize |replace('_', ' ') }}: {{ printValue(key, params[key]) }} #endif #endfor {{ printOpts(opts) }} |
| State | {{ state }} #if currentUser and ('admin' in perms or task.owner == currentUser.id) #if task.state in (koji.TASK_STATES.FREE, koji.TASK_STATES.OPEN, koji.TASK_STATES.ASSIGNED) (cancel) #elif task.state in (koji.TASK_STATES.CANCELED, koji.TASK_STATES.FAILED) and (not parent) (resubmit) #endif #endif #if currentUser and 'admin' in perms and task.state in (koji.TASK_STATES.OPEN, koji.TASK_STATES.ASSIGNED) (free) #endif |
| Build | {{ koji.buildLabel(build) }} |
| For request: | ## we only expect one, but if we get more print them all #for req in requests {{ req.id }} #endfor |
| Created | {{ util.formatTimeLong(task.create_ts) }} |
| Started | {{ util.formatTimeLong(task.start_ts) }} | #endif #set end_ts = None #if task.state == koji.TASK_STATES.OPEN #if estCompletion
| Est. Completion | {{ util.formatTimeLong(estCompletion) }} |
| Completed | {{ util.formatTimeLong(task.completion_ts) }} |
| Total time | {{ util.formatTimestampDifference(task.create_ts, end_ts) }} |
| Task time | {{ util.formatTimestampDifference(task.start_ts, end_ts) }} |
| Owner | #if owner #if owner.usertype == koji.USERTYPES['HOST'] {{ owner.name }} #else {{ owner.name }} #endif #endif |
| Channel | #if task.channel_id {{ channelName }} #endif |
| Host | #if task.host_id {{ hostName }} #endif |
| Arch | {{ task.arch }} |
| Buildroot{{ 's' if buildroots|length > 1 else '' }} |
#for buildroot in buildroots
{{ '' if task.method == 'vmExec' else '/var/lib/mock/' }}{{ buildroot.tag_name }}-{{ buildroot.id }}-{{ buildroot.repo_id }} #endfor |
| Parent | #if parent {{ koji.taskLabel(parent) }} #endif |
| Descendants | #if descendents[task.id|string] #set taskState = util.taskState(task.state) {{ util.imageTag(taskState) }} {{ task.method }} #endif {{ printChildren(task.id, descendents) }} |
| Waiting? | {{ 'yes' if task.waiting else 'no' }} |
| Awaited? | {{ 'yes' if task.awaited else 'no' }} |
| Priority | {{ task.priority }} |
| Weight | {{ '%.2f' % task.weight }} |
| Result |
#if abbr_result_text
{{ abbr_result_text }}
{{ full_result_text }}
#else
{{ full_result_text }}
#endif
|
| Output |
#for pair in output
#set volume = pair[0]
#set filename = pair[1]
{{ filename }}
#if filename.endswith('.log')
(tail)
#endif
#endfor #if not output No outputs reported
#endif
{% if task.state not in (koji.TASK_STATES.CLOSED, koji.TASK_STATES.CANCELED, koji.TASK_STATES.FAILED) and
task.method in ('buildSRPMFromSCM', 'buildArch', 'createLiveMedia', 'buildMaven', 'wrapperRPM', 'vmExec', 'createrepo', 'runroot', 'createAppliance', 'createLiveCD') %}
Watch logs {% endif %} |