Interface Project

All Known Implementing Classes:
ProjectImpl

public interface Project
Framework for manipulating projects
Since:
v3.13
  • Method Details

    • projectWithKeyExists

      boolean projectWithKeyExists(String project)
      Checks whether or not the specified project exists.
      Parameters:
      project - the name of the project to check e.g. "homosapien"
      Returns:
      true if the project already exists; false otherwise
    • addProject

      long addProject(String name, String key, String lead)
      Adds a project, or if a project with that name exists, does almost nothing. Choose a project name that will not clash with operational links on the page such as "View Projects" or "Add".
      Parameters:
      name - the name of the project.
      key - the project key.
      lead - the username of the project lead.
      Returns:
      the project id.
    • editProject

      void editProject(long projectId, String name, String description, String url)
      Change the parameters for the passed project.
      Parameters:
      projectId - the id of the project to change.
      name - the new name of the project. Set to null to keep current setting.
      description - the description of the project. Set to null to keep current setting.
      url - the url for the project. Set to null to keep current setting.
    • deleteProject

      void deleteProject(long projectId)
      Delete a project
      Parameters:
      projectId - the id of the project
    • deleteProject

      void deleteProject(String project)
      Delete project with the given name
      Parameters:
      project - the project name.
    • addVersion

      String addVersion(String projectKey, String versionName, String description, String releaseDate)
      Adds a version to a project.
      Parameters:
      projectKey - the key of the project e.g. "HSP".
      versionName - the name of the version e.g. "New Version 1"
      description - the new description of the version; use null to not provide a description
      releaseDate - the new release date of the version; use null to not provide a release date
      Returns:
      the version id.
    • archiveVersion

      void archiveVersion(String projectKey, String versionName)
      Archives a version of a project.
      Parameters:
      projectKey - the name of the project e.g. "HSP"
      versionName - the name of the version e.g. "New Version 5"
    • releaseVersion

      void releaseVersion(String projectKey, String versionName, String releaseDate)
      Releases a version of a project.
      Parameters:
      projectKey - the name of the project e.g. "HSP". Must not be null.
      versionName - the name of the version e.g. "New Version 5". Must not be null.
      releaseDate - the release date of the version. Use null to ignore setting of this field.
    • unreleaseVersion

      void unreleaseVersion(String projectKey, String versionName, String releaseDate)
      Unreleases a version of a project.
      Parameters:
      projectKey - the name of the project e.g. "HSP". Must not be null.
      versionName - the name of the version e.g. "New Version 5". Must not be null.
      releaseDate - the release date of the version. Use null to ignore setting of this field.
    • deleteVersion

      void deleteVersion(String projectKey, String versionName)
      Deletes a version of a project.
      Parameters:
      projectKey - the name of the project e.g. "HSP". Must not be null.
      versionName - the name of the version e.g. "New Version 5". Must not be null.
    • editVersionDetails

      void editVersionDetails(String projectName, String versionName, String name, String description, String releaseDate)
      Edits a version of a project.
      Parameters:
      projectName - the name of the project e.g. "homosapien".
      versionName - the name of the version e.g. "New Version 1"
      name - the new name of the version; use null to retain previous value
      description - the new description of the version; use null to retain previous value
      releaseDate - the new release date of the version; use null to retain previous value
    • editComponent

      void editComponent(String projectKey, String componentName, String name, String description, String leadUserName)
      Edits a component of a project.
      Parameters:
      projectKey - the key of the project e.g. "HSP".
      componentName - the name of the component e.g. "New Component 1"
      name - the new name of the component; use null to retain previous value
      description - the new description of the component; use null to retain previous value
      leadUserName - the new username of the component lead; use null to retain previous value
    • associateFieldConfigurationScheme

      void associateFieldConfigurationScheme(String projectName, String newFieldConfigurationSchemeName)
      Associates the specified configuration scheme with the project.
      Parameters:
      projectName - the name of the project to alter
      newFieldConfigurationSchemeName - the name of the new field configuration scheme; use null or "None" to restore the System Default Field Configuration Scheme.
    • associateIssueLevelSecurityScheme

      void associateIssueLevelSecurityScheme(String projectName, String newIssueLevelSecuritySchemeName)
      Associates the specified configuration scheme with the project.
      Parameters:
      projectName - the name of the project to alter
      newIssueLevelSecuritySchemeName - the name of the new issue level security scheme; use null or "None" to remove the scheme.
    • removeAssociationOfIssueLevelSecurityScheme

      void removeAssociationOfIssueLevelSecurityScheme(String projectName)
      Removes associations of currently associated schema from project.
      Parameters:
      projectName - the name of the project to alter
    • associateWorkflowScheme

      void associateWorkflowScheme(String projectName, String workflowSchemeName)
      Associates the specified workflow scheme with the project.
      Parameters:
      projectName - the name of the project to alter
      workflowSchemeName - name of the workflow scheme to associate.
    • associateWorkflowScheme

      void associateWorkflowScheme(String projectName, String workflowSchemeName, Map<String,String> statusMapping, boolean wait)
      Associates the specified workflow scheme with the project.
      Parameters:
      projectName - the name of the project to alter
      workflowSchemeName - name of the workflow scheme to associate.
      statusMapping - mapping for statuses
    • createWorkflowSchemeDraft

      void createWorkflowSchemeDraft(String projectKey)
      Creates a draft workflow scheme of the project.
      Parameters:
      projectKey - the key of the project whose draft scheme will be created
    • assignToDraftScheme

      void assignToDraftScheme(String projectKey, String workflowName, String... issueTypeIds)
      Edits the workflow scheme draft of the given project.
      Parameters:
      projectKey - the key of the project whose draft scheme will be edited
      workflowName - name of the workflow to assign issue types to.
      issueTypeIds - issue types to assign.
    • publishWorkflowSchemeDraft

      void publishWorkflowSchemeDraft(String projectName, Long schemeId, Map<String,String> statusMapping, boolean wait)
      Publishes the workflow scheme draft of the specified project.
      Parameters:
      projectName - the name of the project to alter
      schemeId -
      statusMapping - mapping for statuses
    • waitForWorkflowMigration

      void waitForWorkflowMigration(long sleepTime, int retryCount)
      Waits for the asynchronous workflow migration to complete.
      Parameters:
      sleepTime - The time to sleep before refreshing the page again and checking for the operation to be finished.
      retryCount - The number of times we will try to check for the operation to be finished.
    • associateNotificationScheme

      void associateNotificationScheme(String projectName, String notificationSchemeName)
      Associates the specified notification scheme with the project.
      Parameters:
      projectName - the name of the project to alter
      notificationSchemeName - name of the notification scheme to associate.
    • setProjectLead

      void setProjectLead(String projectName, String userName)
      Sets the lead for a project
      Parameters:
      projectName - the project to change
      userName - the new project lead
    • addComponent

      String addComponent(String projectKey, String componentName, String description, String leadUserName)
      Adds a component to the project
      Parameters:
      projectKey - the key of the project
      componentName - the component name
      description - the description; use null to not set one
      leadUserName - the lead user's name; use null to not set one
      Returns:
      the id of the component