override def commentPullRequest()

in modules/core/src/main/scala/org/scalasteward/core/forge/bitbucketserver/BitbucketServerApiAlg.scala [47:87]


  override def commentPullRequest(
      repo: Repo,
      number: PullRequestNumber,
      comment: String
  ): F[Comment] =
    client
      .postWithBody[Json.Comment, Json.Comment](
        url.comments(repo, number),
        Json.Comment(comment),
        modify
      )
      .map(comment => Comment(comment.text))

  override def createFork(repo: Repo): F[RepoOut] =
    F.raiseError(new NotImplementedError(s"createFork($repo)"))

  override def createPullRequest(repo: Repo, data: NewPullRequestData): F[PullRequestOut] = {
    val fromRef =
      Json.Ref("refs/heads/" + data.head, Json.Repository(repo.repo, Json.Project(repo.owner)))
    val toRef =
      Json.Ref("refs/heads/" + data.base.name, Json.Repository(repo.repo, Json.Project(repo.owner)))

    for {
      reviewers <- useDefaultReviewers(repo)
      _ <- F.whenA(data.assignees.nonEmpty)(warnIfAssigneesAreUsed)
      _ <- F.whenA(data.reviewers.nonEmpty)(warnIfReviewersAreUsed)
      _ <- F.whenA(data.labels.nonEmpty)(warnIfLabelsAreUsed)
      req = Json.NewPR(
        title = data.title,
        description = data.body,
        state = Open,
        open = true,
        closed = false,
        fromRef = fromRef,
        toRef = toRef,
        locked = false,
        reviewers = reviewers
      )
      pr <- client.postWithBody[Json.PR, Json.NewPR](url.pullRequests(repo), req, modify)
    } yield pr.toPullRequestOut
  }