Let's talk about Jira 8.0

Will Jira Core 8 include some basic agile tools (like Kanban boards) without requiring a Jira Software license?

1 Like

Hey team!
Used 8.0.0-m0030 for testing my Apps and prepare updates for my marketplace listings and I’ve found an issue with no documentation: my App is adding Bulk Operations and it seems like a new Class has been introduced (SpanningOperation) which needs to be used in submitBulkOperationTask method from class com.atlassian.jira.web.action.issue.bulkedit.AbstractBulkOperationDetailsAction (as a new parameter).
Can we have more details about that and how to use it? Would be much appreciated.
Cheers

Hi there!
Thanks for asking. There is no plan to include those in Jira Core.

Hello,
You can read more about it here.
It works as follows:

SpanningOperation.builder().type(“myBulkOperationType”).generatedId().build()

SpanningOperation.builder().type(“myBulkOperationType”).id(“operationId, possibly unique for myBulkOperationType”).build()

Any updates on release candidates for Jira 8?

Hi Reece,
We are working on the final bits and it’s due in the next couple of days.

@mmichalak, would definitely help us plan if we can have an idea of how long you plan to have the RC active? I mean after the Release Candidate, do we have 1, 2 3 weeks before the official Jira 8 release? I don’t need a concrete date, just want to know roughly how much time between the two :slight_smile:

Thanks! Will have a look, didn’t think of trying the maven version in the URL!
Thanks for sharing :slight_smile:

…and here it is: Jira 8.0 has a Release Candidate!.

Hi there,
I completely understand. The RC is out today and the GA is expected in roughly 2 weeks from now (planned for Feb 4th).

1 Like

Can’t install the RC of Jira Software (m0033). During install wizard, the Upgrade Checklist screen, I check the box for “I’ve completed all these steps!”, click Upgrade but get “You can’t proceed with the upgrade without completing these steps.”

2 Likes

Hi there,
just checked out m0033 for development, the logging behavior seems to have changed, I can’t seen the plug-in enablement and also I don’t see any quick reload info any more, though it seems to work.
But if there’s something not ok, I would want to see the error in the log. Are there any advises on how to configure the log?

We’re also seeing this, quickreload logging appears to have disappeared etc.

Missing epic labels on the backlog after reload with show epic labels on.
Jira v8.0.0-m0033
JIRA Agile v8.0.0-DAILY20190121095156

Tested on Chrome and FF.

2 Likes

Hi, thanks for the comment!
You will find all the logs in {jira_home}/log/atlassian-jira.log - quickreload (and plugin management in general) logs they are not being passed to the console any more. I assume you are running Jira using DevKit and check the console logs.
If you want to configure logging by yourself, please check the Logging and profiling | Administering Jira applications Data Center and Server 9.5 | Atlassian Documentation article.

1 Like

Good catch! Thanks for making us aware of this issue. We are currently working to fix this and will follow up with updates.

Hi @karol.jedryka
Thanks for noticing it. Actually, in 7.13 it works just as you described.

As I can see, you’ve created those epics using Jira Data Generator.
Normally, it DOES NOT fill in the ‘Epic Name’ custom field and that’s why you see ‘unlabeled-epic-SCRUM1’.
Such configuration is not possible through the UI of Agile, thus it’s not fully supported :man_shrugging:
However, if you specify the name of the epic (Epic Name custom field), everything should work just fine.

What does this change to the CustomFieldStattable mean?

@PublicSpi
public interface CustomFieldStattable {

    /**
     * Since Jira v8.0 a "stattable" field must have a doc value of type: {@link org.apache.lucene.index.SortedDocValues},
     * {@link org.apache.lucene.index.SortedSetDocValues}, {@link org.apache.lucene.index.BinaryDocValues}, or
     * {@link org.apache.lucene.index.NumericDocValues}.
     * Before Jira v8.0 "stattable" fields were retrieved from a Jira cache build from from Lucene index.
     * Since Jira v8.0 this cache is using Lucene {@link org.apache.lucene.index.DocValues} directly.
     * See {@link org.apache.lucene.index.DocValues} and supported implementations for details.
     */
    StatisticsMapper getStatisticsMapper(CustomField customField);
}

Our CalculatedCFType sub-type is indexed as a StringField. Does the change to CustomFieldStattable mean that we have to do something different in our FieldIndexer? I’m wondering if perhaps we need to store a separate SortedDocValuesField in v8.0.

Here’s what we have so far in our FieldIndexer:

private void addDocumentFields(Document doc, Issue issue, boolean searchable) {
    @Nullable Exposure value = (Exposure) field.getValue(issue);
    if (value == null) {
        return;
    }
    CustomFieldType<Exposure, Exposure> customFieldType = field.getCustomFieldType();
    String stringValue = customFieldType.getStringFromSingularObject(value);
    if (searchable) {
        doc.add(new StringField(getDocumentFieldId(), stringValue, Field.Store.YES));
        // Since we don't need to sort on the IDs of exposures,
        // we don't need to add a SortedDocValuesField to our Lucene document.
    } else {
        doc.add(new StoredField(getDocumentFieldId(), stringValue));
    }
}

Hi @david.pinn,

I’m wondering if perhaps we need to store a separate SortedDocValuesField in v8.0.

Yes, you are right. If your custom field implements CustomFieldStattable you have to create a doc value now.

For a string value you have 3 options depending on your requirements: BinaryDocValuesField, SortedDocValuesField or SortedSetDocValuesField.

The new custom field indexer should look something like this:

if (searchable) {
     doc.add(new StringField(getDocumentFieldId(), stringValue, Field.Store.YES));
     doc.add(new BinaryDocValuesField(getDocumentFieldId(), new BytesRef(stringValue)));
} else {
     doc.add(new StoredField(getDocumentFieldId(), stringValue));
}
2 Likes

Hey, we are able to make our addon work both with Jira 7 and Jira 8, but to do that, right now we need to have two different versions of our addon for each version of Jira (one for 7, one for 8).

This is not ideal since it will make the release process and the development process harder.

There is only one Atlassian library that we use which is creating this incompatibility and we’ve already sent a question in their bit bucket repository: https://bitbucket.org/atlassian/atlassian-pocketknife-querydsl/issues/2/incompatibility-of-pocketknife-jira-7-and

Is there anything else we can do sort this?

2 Likes