chobie\Jira\Issues\Walker::push PHP Method

push() public method

Pushes JQL.
public push ( string $jql, string | array | null $fields = null ) : void
$jql string JQL.
$fields string | array | null Fields.
return void
    public function push($jql, $fields = null)
    {
        $this->jql = $jql;
        $this->fields = $fields;
    }

Usage Example

 /**
  * {@inheritDoc}
  **/
 public function getIssues($statuses, $offset = 0, $limit = 500, $sort = 'id')
 {
     $statusIds = $this->convertStatusesToIds($statuses);
     $walker = new Issues\Walker($this->api);
     $statusFilter = implode(' OR ', array_map(function ($id) {
         return 'status = ' . $id;
     }, $statusIds));
     $walker->push("{$statusFilter} ORDER BY {$sort}");
     $result = [];
     foreach ($walker as $issue) {
         $branches = [];
         $date = '20990101';
         foreach ($issue->getFields() as $fieldName => $value) {
             $matches = [];
             if (is_string($fieldName) && preg_match("/Branch \\((.*)\\)/", $fieldName, $matches) && !empty($value)) {
                 $branch = trim($value);
                 $branches[$matches[1]] = $branch;
                 $currentDate = substr($branch, 4, 8);
                 //get date from the branch
                 if ($currentDate < $date) {
                     $date = $currentDate;
                 }
             }
         }
         $result[$issue->getKey()] = ['id' => $issue->getKey(), 'author' => $issue->getReporter()['displayName'], 'asignee' => $issue->getAssignee()['displayName'], 'subject' => $issue->getSummary(), 'status' => $this->statusIdsFlipped[$issue->getStatus()['id']], 'date' => empty($branches) ? null : date('Y-m-d', strtotime($date)), 'branches' => $branches, 'issueTracker' => $this];
     }
     return $result;
 }
All Usage Examples Of chobie\Jira\Issues\Walker::push