1

在我的班级下面:

class JenkinsDiffEventListener extends PhutilEventListener {

  public function register() {
    $this->listen(ArcanistEventType::TYPE_DIFF_WASCREATED);
  }

  public function handleEvent(PhutilEvent $event) {
    $diff_id = $event->getValue('diffID');

    /* Need to send a get request to jenkins to trigger the job. We pass the
     * diff id to jenkins via its api.
     */
    $workflow = $event->getValue('workflow');
    $jenkins_uri = $workflow->getConfigFromAnySource('jenkins.uri');
    $jenkins_jobs = $workflow->getConfigFromAnySource('jenkins.jobs');

    if (!$jenkins_uri || !$jenkins_jobs) {
      return;
    }

    foreach ($jenkins_jobs as $job) {
        $url = $jenkins_uri."/job/".$job."/buildWithParameters?DIFF_ID=".$diff_id;
        file_get_contents($url);
    }
  }
}

你知道如何从这个类中获取当前 git 分支的名称吗?我想做如下的事情:

$branch = $workflow->getSomething()->getBranch();
$url = $jenkins_uri."/job/".$job."/buildWithParameters?DIFF_ID=".$diff_id."&BRANCH=".$branch;

谢谢

4

1 回答 1

1

我找到了答案:

$branch = $workflow->getRepositoryAPI()->getBranchName();

谢谢

于 2013-12-04T08:31:04.970 回答