private def slackHooksFrom()

in app/lib/slack/DeployReporter.scala [29:43]


  private def slackHooksFrom(repoLevelDetails: RepoLevelDetails): Option[NonEmptySeq[Url]] =
    NonEmptySeq.fromSeq(repoLevelDetails.hooks.filter(_.hostOption.exists(_.value == "hooks.slack.com")))

  private def report(checkpointChangeSummary: PullRequestCheckpointsStateChangeSummary, slackHooks: NonEmptySeq[Url]): Option[Future[Unit]] = {
    val pr = checkpointChangeSummary.prCheckpointDetails.pr
    for (changedSnapshots <- checkpointChangeSummary.changedByState.get(Seen)) yield {
      val json = messageJsonFor(pr, changedSnapshots)

      Future.traverse(slackHooks.toSeq) { hook =>
        val responseF = ws.url(hook.toString).post(json)
        responseF.onComplete { r => logger.debug(s"Response from Slack: ${r.map(_.body)}") }
        responseF
      }.map(_ => ())
    }
  }