Interface PullRequest
-
- All Superinterfaces:
Serializable
public interface PullRequest extends Serializable
Pull request information
-
-
Field Summary
Fields Modifier and Type Field Description static StringBRANCH_REF_PREFIX
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleanequalsByContent(PullRequest another)Compares pull request information with another one, ignoring ids.Set<String>getBranchMetaInfoIds()StringgetBranchName()StringgetBranchSpec()StringgetContributorRole()StringgetContributorUrl()StringgetContributorUsername()ZonedDateTimegetCreatedTime()DategetCreatedTimeAsDate()StringgetId()ZonedDateTimegetLastRetrievedTime()StringgetMergeBranchName()The method returns a branch name that contains pre-fly merge of the pull request with the current state of its target branch if such a pre-fly merging is supported by a corresponding VCS hosting serviceStringgetMergeBranchSpec()StringgetRequestBranchBranchName()PR Specific Source branch: Branches which are created by VCS hostings over source branch with PR number.StringgetRequestBranchBranchSpec()PR Specific Source branch: Branches which are created by VCS hostings over source branch with PR number.DurationgetRetrievedAge()Utility method returning the amount of tine passed from the moment when the pull request information was retrievedStringgetRevision()StringgetSourceBranchRef()StringgetSourceRepository()StringgetStatus()StringgetTargetBranchRef()StringgetTitle()ZonedDateTimegetUpdatedTime()DategetUpdatedTimeAsDate()StringgetUrl()StringgetVcsHostingType()StringgetVcsRootUrl()booleanisDraft()booleanisFromFork()booleanisFromVcsRoot(VcsRoot vcsRoot)Allows checking if a pull request belongs to a given VCS rootbooleanisOpen()booleanisRetrievalFailure()booleanisRetrieved()booleanisRetrievedWithin(long timeMs)Checks if the pull request info has been retreived within the given time period from nowbooleanisTargetRepositoryPrivate()voidoverrideBranchTimestamp(ZonedDateTime time)Set a fixed value for branch create time stamp returned by getBranchTimestampMsStringserialize()Serialises pull request information into its native format (i.e.voidsetBranchTimestampInState(String branchName, RepositoryState state)Sets branch create timestamp in a repository state.voidsetLastRetrievedTime(ZonedDateTime timeMs)voidsetRetrievalFailure()voidsetUpdatedTime(ZonedDateTime time)Sets pull request last updated timestamp
-
-
-
Field Detail
-
BRANCH_REF_PREFIX
static final String BRANCH_REF_PREFIX
- See Also:
- Constant Field Values
-
-
Method Detail
-
getId
@NotNull String getId()
- Returns:
- pull request id, unique within a VCS root scope, usually pull request number
-
getBranchMetaInfoIds
@NotNull Set<String> getBranchMetaInfoIds()
- Returns:
- globally unique pull request ids
-
getBranchName
@NotNull String getBranchName()
- Returns:
- pull request branch name
-
getMergeBranchName
@Nullable String getMergeBranchName()
The method returns a branch name that contains pre-fly merge of the pull request with the current state of its target branch if such a pre-fly merging is supported by a corresponding VCS hosting service- Returns:
- a branch name, if applicable, null otherwise
-
isRetrieved
boolean isRetrieved()
- Returns:
- true if pull request information is complete, false if it is still to be retrieved from a third party system
-
isRetrievedWithin
boolean isRetrievedWithin(long timeMs)
Checks if the pull request info has been retreived within the given time period from now- Parameters:
timeMs- time period- Returns:
- true if it was retrieved within timeMs milliseconds or if last retrieval attempt failed, false otherwise
-
isOpen
boolean isOpen()
- Returns:
- true if pull request is open
-
getTitle
@Nullable String getTitle()
- Returns:
- pull request title if known, null otherwise
-
getUrl
@Nullable String getUrl()
- Returns:
- URL of a human readable pull request information page on a third party system if known, null otherwise
-
getStatus
@Nullable String getStatus()
- Returns:
- pull request status string if known, null otherwise. Possible values are specific to the third party systems.
-
getBranchSpec
@NotNull String getBranchSpec()
- Returns:
- branch spec that matches the pull request branch
-
getMergeBranchSpec
@Nullable String getMergeBranchSpec()
- Returns:
- branch spec that matches the branch name containing the result of pre-fly merging with a target branch
-
getTargetBranchRef
@Nullable String getTargetBranchRef()
- Returns:
- reference to a target branch for the pull request if known, null otherwise
-
isTargetRepositoryPrivate
boolean isTargetRepositoryPrivate()
- Returns:
- true if target repository is private, false otherwise
-
getSourceRepository
@Nullable String getSourceRepository()
- Returns:
- source repository owner and name if known, null otherwise
-
getSourceBranchRef
@Nullable String getSourceBranchRef()
- Returns:
- reference to a source branch for the pull request if known, null otherwise
-
getRevision
@Nullable String getRevision()
- Returns:
- Last revision relevant to a pull request
-
getContributorUsername
@Nullable String getContributorUsername()
- Returns:
- Contributor's username on a third party system
-
getContributorUrl
@Nullable String getContributorUrl()
- Returns:
- Contributor's profile URL on a third party system
-
getContributorRole
@Nullable String getContributorRole()
- Returns:
- the role of the PR contributor in respect to the target PR repository
-
getLastRetrievedTime
ZonedDateTime getLastRetrievedTime()
- Returns:
- time when the pull request info was retrieved from a third party system
-
setLastRetrievedTime
void setLastRetrievedTime(ZonedDateTime timeMs)
- Parameters:
timeMs- last time when the pull request info was retrieved
-
isRetrievalFailure
boolean isRetrievalFailure()
- Returns:
- if the last attempt to retrieve this pull request information has in fact failed
-
setRetrievalFailure
void setRetrievalFailure()
-
getUpdatedTime
ZonedDateTime getUpdatedTime()
- Returns:
- time when the pull request was changed
-
getUpdatedTimeAsDate
Date getUpdatedTimeAsDate()
- Returns:
- time when the pull request changes as Date object
-
setUpdatedTime
void setUpdatedTime(ZonedDateTime time)
Sets pull request last updated timestamp- Parameters:
time-
-
getCreatedTime
ZonedDateTime getCreatedTime()
- Returns:
- time when the pull request was created
-
getCreatedTimeAsDate
Date getCreatedTimeAsDate()
- Returns:
- time when the pull request was created as Date object
-
setBranchTimestampInState
void setBranchTimestampInState(@NotNull String branchName, @NotNull RepositoryState state)Sets branch create timestamp in a repository state. By default branch created time is used, but overrideBranchTimestamp method can be used to override this- Parameters:
branchName- branch name (as it could be eithre head or merge branch name)state- repository state
-
overrideBranchTimestamp
void overrideBranchTimestamp(@NotNull ZonedDateTime time)Set a fixed value for branch create time stamp returned by getBranchTimestampMs- Parameters:
time-
-
getRetrievedAge
@Nullable Duration getRetrievedAge()
Utility method returning the amount of tine passed from the moment when the pull request information was retrieved- Returns:
- time in seconds
-
serialize
String serialize()
Serialises pull request information into its native format (i.e. as provided by relevant third party system)- Returns:
- serialised pull request information, e.g. in some JSON-based format
-
equalsByContent
boolean equalsByContent(@Nullable PullRequest another)Compares pull request information with another one, ignoring ids.- Parameters:
another-- Returns:
- true if equal, false otherwise
-
getVcsRootUrl
String getVcsRootUrl()
- Returns:
- VCS root fetch URL
-
isFromVcsRoot
boolean isFromVcsRoot(VcsRoot vcsRoot)
Allows checking if a pull request belongs to a given VCS root- Parameters:
vcsRoot-- Returns:
- see above
-
getVcsHostingType
@NotNull String getVcsHostingType()
- Returns:
- type of VCS Hosting: azureDevOps, bitbucketServer, bitbucketCloud, github, gitlab, jetbrainsSpace
-
getRequestBranchBranchSpec
@Nullable String getRequestBranchBranchSpec()
PR Specific Source branch: Branches which are created by VCS hostings over source branch with PR number. E.g: refs/pull/requests/1/from- Returns:
- branch spec of PR specific source branch. E.g: +:refs/(pull-requests/1)/from
-
getRequestBranchBranchName
@Nullable String getRequestBranchBranchName()
PR Specific Source branch: Branches which are created by VCS hostings over source branch with PR number. E.g: refs/pull/requests/1/from- Returns:
- branch name of PR specific source branch. E.g: refs/pull/requests/1/from
-
isDraft
boolean isDraft()
-
isFromFork
boolean isFromFork()
-
-