How to show a string the center of a cell in a wiki style table

Mouna Hammoudi
Contributor
October 31, 2023

I am using the following code to show table in Jira. You can notice that the text is not centered. For example, the cross and the checkmark are not centered. How can I make them centered? Here is my code below: 

 

Capture.PNG

 
package SuperFeature

import com.atlassian.jira.issue.Issue

import org.apache.log4j.Logger

import com.atlassian.jira.project.version.Version

import com.atlassian.jira.bc.project.component.ProjectComponent

import com.atlassian.jira.bc.project.component.ProjectComponentManager

import com.atlassian.jira.security.JiraAuthenticationContext

import com.atlassian.jira.component.ComponentAccessor

import com.atlassian.jira.issue.label.LabelManager

import SuperFeature.Configuration_SuperFeature

   

def log = Logger.getLogger('atlassian-jira.log')

List < String > componentList = new ArrayList < String > ()

if (issue.getComponents().size() == 0) {

    issue.update {

         String text = "*(x){color:red} Sub issue features cannot be generated given that the super feature "+issue+" has 0 components.{color}*\n"+

        "(on) *If you want to generate sub features, you should specify at least 1 component for the super feature "+issue+" and retry.* "

         

       

        setCustomFieldValue('Execution Summary', text )

    }

} else if (issue.getFixVersions().size() == 0) {

    issue.update {

        String text = "Issue does not have any fix versions\n"

        setCustomFieldValue('Execution Summary', text)

    }

} else {

    int componentSize = issue.getComponents().size()

   

    int generatedIssuesCounter= 0

    int nonGeneratedIssuesCounter= 0

    componentList.add("||COMPONENT NAME||EXECUTION INFORMATION||EXPLANATION||")

     for (ProjectComponent component: issue.getComponents()) {

                      String componentName = component.getName()

                       

                      if (!componentName.contains("-") || componentName.startsWith("-")) {

                            componentList.add("|*"+componentName+"*|   (x) |A valid component should be under the form *PROJ-COMP* "+

                            "where *PROJ* is the project name and *COMP* is an existing component name within *PROJ*.|")

                            nonGeneratedIssuesCounter++

                        } else{

                       

                    def shortenedComponentName = componentName.substring(componentName.indexOf("-") + 1)

                    def projectName = componentName.substring(0, componentName.indexOf("-"))

               

                       

                        if(Configuration_SuperFeature.projectNames.contains(projectName)){

                       

                       

                        def newIssueproject = ComponentAccessor.projectManager.getProjectObjByKey(projectName)

                        List < ProjectComponent > newList = new ArrayList < > (newIssueproject.getComponents());

                        def found = newList.any {

                            it.getName().equals(shortenedComponentName)

                        }

                        if (found) {

                            componentList.add("|*"+componentName+"* |  (/) |"+" "+"|")

                            generatedIssuesCounter++

                        } else{

                            componentList.add("|*"+componentName+"* |  (x) | The component *" +shortenedComponentName+ "* is not present within the project *"+projectName+"*.|")

                            nonGeneratedIssuesCounter++

                        }

                        }

                        }

           

     }

     

    issue.update {

        String text = " *The super feature* " + issue + " *will be split as follows:*\n"+

        "* (/) " + generatedIssuesCounter + " sub feature(s) will be generated - 1 sub feature for each component.\n"+

        "* (x) "+nonGeneratedIssuesCounter+" sub feature(s) cannot be generated.\n"+

        " (on) More detailed information is displayed below: \n"

       

       text = text + componentList.join("\n")    ;

       

        setCustomFieldValue('Execution Summary', text)

    }

}

   

0 answers

Suggest an answer

Log in or Sign up to answer