...
Abaixo, alguns itens sobre servicos remotos no Jira, como usa-los e estende-los:
Como estender o servico RPC SOAP do Jira?
Veja o tutorial [http://www.j-tricks.com/1/post/2010/10/soap-rpc-plugin.html|http://www.j-tricks.com/1/post/2010/10/soap-rpc-plugin.html]
Automacao de operacoes e integracoes externas
Como executar operacoes no Jira
...
Duas opcoes:
...
usando linha de comando?
...
studio.plugins.atlassian.com/wiki/display/
...
...
...
...
...
Como executar operacoes no Jira usando Wget e Curl (muito util para testes de carga e profiling)?
http://confluence.atlassian.com/
...
...
Permissoes
h4 Como aplicar permissoes sobre o Jira em determinado passo do workflow?
Automacao de campos e telas
| Dica | ||
|---|---|---|
| ||
Todo movimento da Atlassian em relacao a automacao de campos e telas em seus sistemas (Jira, Confluence, Crowd, etc.) esta focada no framework AUI (Atlassian User Interface). Algum links muito importantes antes de prosseguir: |
Como estender as acoes de tela do Jira?
Vide o tutorial: http://www.j-tricks.com/1/post/2010/10/extending-jira-actions.html
Como mostrar e ocultar campos das telas do Jira baseado em dependencias de tela?
Da para usar javascript e jquery para isso. Um exemplo bem interessante, onde se selecionado um Checkbox outro campo eh mostrado pode ser encontrado aqui http://confluence.atlassian.com/display/JIRACOM/Using+Javascript+to+set+custom+field+values
Quais os plugins mais indicados para trabalhar com automacoes de campos e telas no Jira?
Alguns:
- Jira Behaviors (essencial), bem interessante em https://studio.plugins.atlassian.com/wiki/display/JBHV/JIRA+Behaviours+Plugin
Como posso utilizar Javascripts nas telas do Jira?
Um link bem interessante sobre isso eh este http://confluence.atlassian.com/display/JIRACOM/Using+Javascript+to+set+custom+field+values
Como inserir um script que vai rodar em todas paginas do Jira?
Olhe http://confluence.atlassian.com/display/JIRA/Adding+JavaScript+to+all+pages+for+Google+Analytics
POREM, nos testes iniciais parece que isso nao funcionou muito bem. Tem que explorar mais.
Como utilizar JQuery no Jira?
Essa eh bem complexa, e entao vao algumas dicas:
...
JIRACOM/Automating+JIRA+operations+via+wget
E aqui, um exemplo de criacao de option dentro de um customfield:
| Bloco de código |
|---|
curl -X POST "http://3layer.com.br/jira/secure/admin/EditCustomFieldOptions!add.jspa?os_username=AAA&os_password=BBB&addValue=XXX&fieldConfigSchemeId=10251&fieldConfigId=10251&customFieldId=10231"
|
Onde:
- AAA: Login do usuario com permissoes de adminsitrador
- BBB: Senha
- XXX: Nova option a ser criada
Como executar operacoes no Jira a partir de commits no Subversion?
Duas opcoes:
- Use o Jira Studio, em http://confluence.atlassian.com/display/JIRASTUDIO/Actioning+Issues+via+Commit+Messages
- Implemente voce mesmo. Leia o post http://blogs.atlassian.com/developer/2009/10/dragon_slayer_supplement_action_issues_with_commit_commands.html
Permissoes
h4 Como aplicar permissoes sobre o Jira em determinado passo do workflow?
Automacao de campos e telas
| Dica | ||
|---|---|---|
| ||
Todo movimento da Atlassian em relacao a automacao de campos e telas em seus sistemas (Jira, Confluence, Crowd, etc.) esta focada no framework AUI (Atlassian User Interface). Algum links muito importantes antes de prosseguir: |
Como estender as acoes de tela do Jira?
Vide o tutorial: http://www.j-tricks.com/1/post/2010/10/extending-jira-actions.html
Como mostrar e ocultar campos das telas do Jira baseado em dependencias de tela?
Da para usar javascript e jquery para isso. Um exemplo bem interessante, onde se selecionado um Checkbox outro campo eh mostrado pode ser encontrado aqui http://confluence.atlassian.com/display/JIRACOM/Using+Javascript+to+set+custom+field+values
Quais os plugins mais indicados para trabalhar com automacoes de campos e telas no Jira?
Alguns:
- Jira Behaviors (essencial), bem interessante em https://studio.plugins.atlassian.com/wiki/display/JBHV/JIRA+Behaviours+Plugin
Como posso utilizar Javascripts nas telas do Jira?
Um link bem interessante sobre isso eh este http://confluence.atlassian.com/display/JIRACOM/Using+Javascript+to+set+custom+field+values
Como inserir um script que vai rodar em todas paginas do Jira?
Olhe http://confluence.atlassian.com/display/JIRA/Adding+JavaScript+to+all+pages+for+Google+Analytics
POREM, nos testes iniciais parece que isso nao funcionou muito bem. Tem que explorar mais.
Como utilizar JQuery no Jira?
Essa eh bem complexa, e entao vao algumas dicas:
- Primeiro leia este post para "abrir sua mente"
- http://www.suddenelfilio.net/2010/09/06/using-jquery-and-custom-fields-to-enforce-issue-type-security-in-jira/
...
Como alterar o valor de um customfield via script groovy em uma postfunction?
| Bloco de código |
|---|
import java.util.Arrays; import java.util.Collection; import java.util.Map; import webwork.dispatcher.ActionResult; import com.atlassian.core.ofbiz.CoreFactory; import com.atlassian.core.util.map.EasyMap; import com.atlassian.jira.action.ActionNames; import org.ofbiz.core.entity.GenericValue; import com.atlassian.core.ofbiz.CoreFactory; import com.atlassian.core.util.map.EasyMap; import com.atlassian.jira.ComponentManager; import com.atlassian.jira.project.ProjectManager; import com.atlassian.jira.issue.CustomFieldManager; import com.atlassian.jira.issue.fields.CustomField; import com.atlassian.jira.issue.MutableIssue; import com.atlassian.jira.util.ImportUtils; import com.atlassian.jira.issue.index.IssueIndexManager; import com.atlassian.jira.issue.fields.layout.field.FieldLayoutItem; import com.atlassian.jira.issue.*; import com.atlassian.jira.issue.util.*; import com.atlassian.jira.config.SubTaskManager; import com.atlassian.jira.security.JiraAuthenticationContext; import com.atlassian.jira.security.roles.*; import com.atlassian.jira.issue.fields.layout.field.*; import com.atlassian.jira.issue.fields.*; import com.atlassian.jira.issue.util.DefaultIssueChangeHolder; import com.atlassian.jira.issue.comments.*; import com.atlassian.mail.Email import com.atlassian.mail.server.MailServerManager import com.atlassian.mail.server.SMTPMailServer import com.opensymphony.workflow.InvalidInputException; import org.apache.log4j.Category; import com.opensymphony.user.*; import groovy.net.xmlrpc.*; import com.atlassian.jira.ComponentManager; import com.atlassian.jira.issue.comments.CommentManager; import com.atlassian.jira.user.util.*; import com.atlassian.jira.issue.util.IssueChangeHolder; //Instancia objetos genericos ComponentManager componentManager = ComponentManager.getInstance(); CommentManager commentManager = (CommentManager) ComponentManager.getComponentInstanceOfType(CommentManager.class) IssueManager issueManager = componentManager.getIssueManager() SubTaskManager subTaskManager = componentManager.getSubTaskManager(); JiraAuthenticationContext authenticationContext = componentManager.getJiraAuthenticationContext(); IssueFactory issueFactory = componentManager.getIssueFactory(); ProjectRoleManager projectRoleManager = componentManager.getComponentInstanceOfType(com.atlassian.jira.security.roles.ProjectRoleManager.class); ProjectManager projectManager = componentManager.getProjectManager(); CustomFieldManager customFieldManager = componentManager.getCustomFieldManager() FieldLayoutManager fieldLayoutManager = componentManager.getFieldLayoutManager() CustomFieldManager customFieldManage = componentManager.getCustomFieldManager() FieldManager fieldManager = componentManager.getFieldManager() //Exemplo para ser executado via Groovy Runner Issue issue = issueManager.getIssueObject("T-472") MutableIssue mIssue = (MutableIssue) issue String cfkey = "customfield_10406" def cf = ComponentManager.getInstance().getCustomFieldManager().getCustomFieldObject(cfkey) String cfvalue = (String) mIssue.getCustomFieldValue( cf ) ?: ""; def novoValor = "4h - um turno" IssueChangeHolder changeHolder = new DefaultIssueChangeHolder(); transacaoSapCustomField.updateValue(null, mIssue, new ModifiedValue(issue.getCustomFieldValue(transacaoSapCustomField), novoValor),changeHolder); |
Vide os links
...
) mIssue.getCustomFieldValue( cf ) ?: "";
def novoValor = "4h - um turno"
IssueChangeHolder changeHolder = new DefaultIssueChangeHolder();
transacaoSapCustomField.updateValue(null, mIssue, new ModifiedValue(issue.getCustomFieldValue(transacaoSapCustomField), novoValor),changeHolder);
|
Vide os links
- http://confluence.atlassian.com/display/JIRA/Creating+and+Editing+an+Issue
- http://confluence.atlassian.com/pages/viewpage.action?pageId=160835
Desabilitar abas de visualizacao do Jira
Para desabilitar aba "Histórico de Mudanças"
Plugin:Issue Tab Panels Plugin 1.0
Opção: Issue Tab Panels Plugin 1.0 | Disable/Enable
Para desabilitar aba "Atividade"
Plugin: JIRA Activity Stream Plugin 5.1.0
Opção: Activity Stream Issue Tab Panel
Para desabilitar aba de "Transição"
Plugin: JIRA Suite Utilities 1.2.4
Opção: Transitions Summary Tab Panel
Worfkflows
Como criar um validador ou uma condition no Jira?
...