Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Developping a new rest api

Karim Belhadj
Contributor
June 29, 2019

Hello
Im new in developping with jira , so i had a sample code that works , but when i try to test it by myself it seems that there are something wrongs , I do not find my developped rest api (path = personne ) in the rest browser : Please find below my code , if someone can help me .

RESTAPI:
****************************
package fr.spectrum.panel.rest;
import javax.inject.Inject;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.exception.ParseException;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.template.TemplateManager;
import com.atlassian.jira.util.I18nHelper;
import fr.spectrumgroupe.panel.dao.personnedao;
import fr.spectrumgroupe.panel.entity.personne;
@Produces({ MediaType.APPLICATION_JSON })
@Consumes({ MediaType.APPLICATION_JSON })
@Path("/personne")
public class personnerestservices {
personnedao personnedao ;
PluginSettingsDao pluginSettingsDao;
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager();
TemplateManager templateManager = ComponentAccessor.getComponentOfType(TemplateManager.class);
I18nHelper i18nHelper = ComponentAccessor.getComponentOfType(I18nHelper.class);

@Inject
public void personnerestservices(personnedao personnedao) {
this.personnedao = personnedao;
//this.pluginSettingsDao=pluginSettingsDao;

}
@get
@Path("/{id}/{nom}/{prenom}")
public Response Getpersonne(@PathParam(value = "id") String id,@PathParam(value = "nom") String nom, @PathParam(value = "prenom") String prenom) throws ParseException {


personne personne = personnedao.Getpersonne (id,nom,prenom);

if(personne != null) {

return Response.ok(i18nHelper.getText("sp-ideation-sponsor-enregistré")).build();

}else {
return Response.status(500).entity(i18nHelper.getText("ssp-ideation-sponsor-non-existe")).build();
}
}
}
***************************************************
PersonneDao
package fr.spectrumgroupe.panel.dao;

import fr.spectrumgroupe.panel.entity.personne;

public interface personnedao {


public personne addpersonne (String id , String nom , String prenom);

public personne Getpersonne(String id,String nom , String prenom);


}
********************************************************

PersonnedaoImpl

package fr.spectrumgroupe.panel.DaoImpl;

import javax.inject.Inject;
import javax.inject.Named;

import com.atlassian.activeobjects.external.ActiveObjects;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.util.I18nHelper;
import com.atlassian.plugin.spring.scanner.annotation.component.Scanned;
import com.atlassian.plugin.spring.scanner.annotation.imports.ComponentImport;

import fr.spectrumgroupe.panel.dao.personnedao;
import fr.spectrumgroupe.panel.entity.personne;
import net.java.ao.DBParam;

@Scanned
@Named
public class PersonneDaoImpl implements personnedao {

@ComponentImport
private final ActiveObjects ao;
I18nHelper i18nHelper = ComponentAccessor.getComponentOfType(I18nHelper.class);
@Inject
public PersonneDaoImpl(ActiveObjects ao)
{
this.ao = ao;
}
@Override

public personne Getpersonne (String id ,String nom, String prenom) {
personne[] personne = ao.find(personne.class, "ID = ? NOM = ? AND PRENOM = ?", new Object[] { id.toString().trim(),nom.toString().trim(), prenom.toString().trim() });
if (personne.length > 0) {
return personne[0];

}
else {
return null;
}
}

}
****************************************************************

The class is added to jira , i see it in plugin storage
But i do not find my restapi (personne) in restapi browser.

Alo the error is always at this two line :
PluginSettingsDao pluginSettingsDao;
TemplateManager templateManager = ComponentAccessor.getComponentOfType(TemplateManager.class);

Please i need help

Regards

 

 

 

 

 

 

 

 

 

1 answer

0 votes
Dario B
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
July 3, 2019

Hi @Karim Belhadj ,

You may want to either ask this question in the developers' community or open a development support request in order to get help with this issue:

 

I hope this helps.

 

Cheers,
Dario

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events